[llvm-commits] [llvm] r140607 - /llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp

Akira Hatanaka ahatanak at gmail.com
Tue Sep 27 09:58:43 PDT 2011


Author: ahatanak
Date: Tue Sep 27 11:58:43 2011
New Revision: 140607

URL: http://llvm.org/viewvc/llvm-project?rev=140607&view=rev
Log:
Do not add the pass that restores $gp if target is Mips64.

Modified:
    llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp

Modified: llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp?rev=140607&r1=140606&r2=140607&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp (original)
+++ llvm/trunk/lib/Target/Mips/MipsTargetMachine.cpp Tue Sep 27 11:58:43 2011
@@ -96,7 +96,10 @@
 
 bool MipsTargetMachine::
 addPreRegAlloc(PassManagerBase &PM, CodeGenOpt::Level OptLevel) {
-  PM.add(createMipsEmitGPRestorePass(*this));
+  // Do not restore $gp if target is Mips64.
+  // In N32/64, $gp is a callee-saved register.
+  if (!Subtarget.hasMips64())
+    PM.add(createMipsEmitGPRestorePass(*this));
   return true;
 }
 





More information about the llvm-commits mailing list