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