summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetMachine.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-03-13 23:20:37 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-03-13 23:20:37 +0000
commit2dd2c652b21f9cbfd67d7524b80bb86c51130b90 (patch)
tree63054a50b9d8a8e7cc2fbc94f5bb2a870f7198df /llvm/lib/Target/X86/X86TargetMachine.cpp
parent60f495100a048cc1a6e50e7e68ee5157b2b6c83c (diff)
downloadbcm5719-llvm-2dd2c652b21f9cbfd67d7524b80bb86c51130b90.tar.gz
bcm5719-llvm-2dd2c652b21f9cbfd67d7524b80bb86c51130b90.zip
Added getTargetLowering() to TargetMachine. Refactored targets to support this.
llvm-svn: 26742
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetMachine.cpp')
-rw-r--r--llvm/lib/Target/X86/X86TargetMachine.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp
index de7004d97a0..2de8cc0b613 100644
--- a/llvm/lib/Target/X86/X86TargetMachine.cpp
+++ b/llvm/lib/Target/X86/X86TargetMachine.cpp
@@ -79,7 +79,7 @@ X86TargetMachine::X86TargetMachine(const Module &M,
Subtarget(M, FS),
FrameInfo(TargetFrameInfo::StackGrowsDown,
Subtarget.getStackAlignment(), -4),
- JITInfo(*this) {
+ JITInfo(*this), TLInfo(*this) {
if (getRelocationModel() == Reloc::Default)
if (Subtarget.isTargetDarwin())
setRelocationModel(Reloc::DynamicNoPIC);
@@ -97,7 +97,7 @@ bool X86TargetMachine::addPassesToEmitFile(PassManager &PM, std::ostream &Out,
FileType != TargetMachine::ObjectFile) return true;
// Run loop strength reduction before anything else.
- if (EnableX86LSR) PM.add(createLoopStrengthReducePass());
+ if (EnableX86LSR) PM.add(createLoopStrengthReducePass(1, &TLInfo));
// FIXME: Implement efficient support for garbage collection intrinsics.
PM.add(createLowerGCPass());
@@ -164,6 +164,10 @@ void X86JITInfo::addPassesToJITCompile(FunctionPassManager &PM) {
// The JIT should use static relocation model.
TM.setRelocationModel(Reloc::Static);
+ // Run loop strength reduction before anything else.
+ if (EnableX86LSR)
+ PM.add(createLoopStrengthReducePass(1, TM.getTargetLowering()));
+
// FIXME: Implement efficient support for garbage collection intrinsics.
PM.add(createLowerGCPass());
OpenPOWER on IntegriCloud