16f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines//===- HexagonTargetMachine.cpp -------------------------------------------===// 26f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines// 36f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines// The MCLinker Project 46f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines// 56f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines// This file is distributed under the University of Illinois Open Source 66f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines// License. See LICENSE.TXT for details. 76f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines// 86f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines//===----------------------------------------------------------------------===// 96f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines#include "HexagonTargetMachine.h" 106f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines#include "Hexagon.h" 116f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines#include <mcld/Support/TargetRegistry.h> 126f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 136f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hinesextern "C" void MCLDInitializeHexagonLDTarget() { 146f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines // Register createTargetMachine function pointer to mcld::Target 156f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines mcld::RegisterTargetMachine<mcld::HexagonTargetMachine> 166f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines X(mcld::TheHexagonTarget); 176f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines} 186f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 19f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hinesusing namespace mcld; 206f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 21f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines//===----------------------------------------------------------------------===// 22f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines// HexagonTargetMachine 23f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines//===----------------------------------------------------------------------===// 24f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen HinesHexagonTargetMachine::HexagonTargetMachine(llvm::TargetMachine& pPM, 25f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines const llvm::Target& pLLVMTarget, 26f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines const mcld::Target& pMCLDTarget, 27f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines const std::string& pTriple) 28f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines : MCLDTargetMachine(pPM, pLLVMTarget, pMCLDTarget, pTriple) { 296f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines} 30