From e8308df0b9b34089bb6040f6902ba121441bdf3e Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Tue, 13 Mar 2007 01:20:42 +0000 Subject: [PATCH] Implement getTargetLowering() or else LSR won't be using ARM specific hooks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35077 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMTargetMachine.cpp | 3 ++- lib/Target/ARM/ARMTargetMachine.h | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp index 0b22c15ba35..3815875b22a 100644 --- a/lib/Target/ARM/ARMTargetMachine.cpp +++ b/lib/Target/ARM/ARMTargetMachine.cpp @@ -62,7 +62,8 @@ ARMTargetMachine::ARMTargetMachine(const Module &M, const std::string &FS, "i16:16:32-i8:8:32-i1:8:32-a:0:32") : std::string("e-p:32:32-f64:64:64-i64:64:64"))), InstrInfo(Subtarget), - FrameInfo(Subtarget) {} + FrameInfo(Subtarget), + TLInfo(*this) {} unsigned ARMTargetMachine::getModuleMatchQuality(const Module &M) { std::string TT = M.getTargetTriple(); diff --git a/lib/Target/ARM/ARMTargetMachine.h b/lib/Target/ARM/ARMTargetMachine.h index 7f45fb6b6c0..a50275c675f 100644 --- a/lib/Target/ARM/ARMTargetMachine.h +++ b/lib/Target/ARM/ARMTargetMachine.h @@ -21,6 +21,7 @@ #include "ARMInstrInfo.h" #include "ARMFrameInfo.h" #include "ARMSubtarget.h" +#include "ARMISelLowering.h" namespace llvm { @@ -31,6 +32,8 @@ class ARMTargetMachine : public LLVMTargetMachine { const TargetData DataLayout; // Calculates type size & alignment ARMInstrInfo InstrInfo; ARMFrameInfo FrameInfo; + ARMTargetLowering TLInfo; + public: ARMTargetMachine(const Module &M, const std::string &FS, bool isThumb = false); @@ -41,6 +44,9 @@ public: } virtual const TargetData *getTargetData() const { return &DataLayout; } virtual const ARMSubtarget *getSubtargetImpl() const { return &Subtarget; } + virtual ARMTargetLowering *getTargetLowering() const { + return const_cast(&TLInfo); + } static unsigned getModuleMatchQuality(const Module &M); virtual const TargetAsmInfo *createTargetAsmInfo() const;