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