[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