15460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===- MipsTargetMachine.cpp ----------------------------------------------===// 25460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 35460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// The MCLinker Project 45460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 55460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// This file is distributed under the University of Illinois Open Source 65460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// License. See LICENSE.TXT for details. 75460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao// 85460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===----------------------------------------------------------------------===// 95460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 105460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include "MipsTargetMachine.h" 115460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include "mcld/Target/TargetMachine.h" 125460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include "mcld/Support/TargetRegistry.h" 135460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include "mcld/MC/MCLDInfo.h" 145460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include "Mips.h" 155460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 165460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaoextern "C" void LLVMInitializeMipsLDTarget() { 175460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao // Register createTargetMachine function pointer to mcld::Target 185460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao mcld::RegisterTargetMachine<mcld::MipsBaseTargetMachine> 195460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao X(mcld::TheMipselTarget); 205460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 215460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 225460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaomcld::MipsBaseTargetMachine::MipsBaseTargetMachine(llvm::TargetMachine& pPM, 235460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao const mcld::Target &pTarget, 245460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao const std::string& pTriple) 255460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao : mcld::LLVMTargetMachine(pPM, pTarget, pTriple) { 265460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao // arg1 - the number of total attributes 275460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao // arg2 - the most possible number of input files 285460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao m_pLDInfo = new MCLDInfo(pTriple, 32, 64); 295460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 305460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 315460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaomcld::MipsBaseTargetMachine::~MipsBaseTargetMachine() 325460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 335460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao delete m_pLDInfo; 345460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 35