1//===- MipsTargetMachine.cpp ----------------------------------------------===//
2//
3//                     The MCLinker Project
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "MipsTargetMachine.h"
11#include "mcld/Target/TargetMachine.h"
12#include "mcld/Support/TargetRegistry.h"
13#include "mcld/MC/MCLDInfo.h"
14#include "Mips.h"
15
16extern "C" void LLVMInitializeMipsLDTarget() {
17  // Register createTargetMachine function pointer to mcld::Target
18  mcld::RegisterTargetMachine<mcld::MipsBaseTargetMachine>
19        X(mcld::TheMipselTarget);
20}
21
22mcld::MipsBaseTargetMachine::MipsBaseTargetMachine(llvm::TargetMachine& pPM,
23                                                   const mcld::Target &pTarget,
24                                                   const std::string& pTriple)
25  : mcld::LLVMTargetMachine(pPM, pTarget, pTriple) {
26  // arg1 - the number of total attributes
27  // arg2 - the most possible number of input files
28  m_pLDInfo = new MCLDInfo(pTriple, 32, 64);
29}
30
31mcld::MipsBaseTargetMachine::~MipsBaseTargetMachine()
32{
33  delete m_pLDInfo;
34}
35