[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCTargetMachine.cpp PPCTargetMachine.h
Dale Johannesen
dalej at apple.com
Tue May 22 10:15:18 PDT 2007
Changes in directory llvm/lib/Target/PowerPC:
PPCTargetMachine.cpp updated: 1.117 -> 1.118
PPCTargetMachine.h updated: 1.29 -> 1.30
---
Log message:
Make tail merging the default, except on powerPC. There was no prior art
for a target-dependent default with a command-line override; this way
should be generally usable.
---
Diffs of the changes: (+5 -0)
PPCTargetMachine.cpp | 4 ++++
PPCTargetMachine.h | 1 +
2 files changed, 5 insertions(+)
Index: llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
diff -u llvm/lib/Target/PowerPC/PPCTargetMachine.cpp:1.117 llvm/lib/Target/PowerPC/PPCTargetMachine.cpp:1.118
--- llvm/lib/Target/PowerPC/PPCTargetMachine.cpp:1.117 Sat Feb 24 23:04:13 2007
+++ llvm/lib/Target/PowerPC/PPCTargetMachine.cpp Tue May 22 12:14:46 2007
@@ -96,6 +96,10 @@
setRelocationModel(Reloc::Static);
}
+/// Override this for PowerPC. Tail merging happily breaks up instruction issue
+/// groups, which typically degrades performance.
+const bool PPCTargetMachine::DoTailMergeDefault() const { return false; }
+
PPC32TargetMachine::PPC32TargetMachine(const Module &M, const std::string &FS)
: PPCTargetMachine(M, FS, false) {
}
Index: llvm/lib/Target/PowerPC/PPCTargetMachine.h
diff -u llvm/lib/Target/PowerPC/PPCTargetMachine.h:1.29 llvm/lib/Target/PowerPC/PPCTargetMachine.h:1.30
--- llvm/lib/Target/PowerPC/PPCTargetMachine.h:1.29 Wed Feb 7 19:39:44 2007
+++ llvm/lib/Target/PowerPC/PPCTargetMachine.h Tue May 22 12:14:46 2007
@@ -73,6 +73,7 @@
MachineCodeEmitter &MCE);
virtual bool addSimpleCodeEmitter(FunctionPassManager &PM, bool Fast,
MachineCodeEmitter &MCE);
+ virtual const bool DoTailMergeDefault() const;
};
/// PPC32TargetMachine - PowerPC 32-bit target machine.
More information about the llvm-commits
mailing list