15460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao//===- X86TargetMachine.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#include "X86TargetMachine.h"
105460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao
115460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao#include "X86.h"
1222add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao#include <mcld/Support/TargetRegistry.h>
135460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao
1422add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liaoextern "C" void MCLDInitializeX86LDTarget() {
155460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao  // Register createTargetMachine function pointer to mcld::Target
166f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines  mcld::RegisterTargetMachine<mcld::X86TargetMachine> X(mcld::TheX86_32Target);
176f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines  mcld::RegisterTargetMachine<mcld::X86TargetMachine> Y(mcld::TheX86_64Target);
185460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao}
195460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao
20f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hinesusing namespace mcld;
215460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao
22f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines//===----------------------------------------------------------------------===//
23f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines// X86TargetMachine
24f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines//===----------------------------------------------------------------------===//
25f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen HinesX86TargetMachine::X86TargetMachine(llvm::TargetMachine& pPM,
26f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines                                   const llvm::Target& pLLVMTarget,
27f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines                                   const mcld::Target& pMCLDTarget,
28f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines                                   const std::string& pTriple)
29f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines  : MCLDTargetMachine(pPM, pLLVMTarget, pMCLDTarget, pTriple) {
305460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao}
31affc150dc44fab1911775a49636d0ce85333b634Zonr Chang
32