[llvm-commits] [llvm] r50156 - /llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp

Anton Korobeynikov asl at math.spbu.ru
Wed Apr 23 11:17:11 PDT 2008


Author: asl
Date: Wed Apr 23 13:17:11 2008
New Revision: 50156

URL: http://llvm.org/viewvc/llvm-project?rev=50156&view=rev
Log:
Provide option for enabling-disabling stack realignment

Modified:
    llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp

Modified: llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp?rev=50156&r1=50155&r2=50156&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86RegisterInfo.cpp Wed Apr 23 13:17:11 2008
@@ -29,6 +29,7 @@
 #include "llvm/CodeGen/MachineLocation.h"
 #include "llvm/CodeGen/MachineModuleInfo.h"
 #include "llvm/CodeGen/MachineRegisterInfo.h"
+#include "llvm/Support/CommandLine.h"
 #include "llvm/Target/TargetAsmInfo.h"
 #include "llvm/Target/TargetFrameInfo.h"
 #include "llvm/Target/TargetInstrInfo.h"
@@ -38,6 +39,10 @@
 #include "llvm/ADT/STLExtras.h"
 using namespace llvm;
 
+static cl::opt<bool>
+RealignStack("realign-stack", cl::init(true),
+             cl::desc("Realign stack if needed"));
+
 X86RegisterInfo::X86RegisterInfo(X86TargetMachine &tm,
                                  const TargetInstrInfo &tii)
   : X86GenRegisterInfo(X86::ADJCALLSTACKDOWN, X86::ADJCALLSTACKUP),
@@ -269,8 +274,9 @@
 
   // FIXME: Currently we don't support stack realignment for functions with
   // variable-sized allocas
-  return (MFI->getMaxAlignment() > StackAlign &&
-          !MFI->hasVarSizedObjects());
+  return (RealignStack &&
+          (MFI->getMaxAlignment() > StackAlign &&
+           !MFI->hasVarSizedObjects()));
 }
 
 bool X86RegisterInfo::hasReservedCallFrame(MachineFunction &MF) const {





More information about the llvm-commits mailing list