summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2013-08-01 21:41:02 +0000
committerBill Wendling <isanbard@gmail.com>2013-08-01 21:41:02 +0000
commitd8f4950862aa2efcf0847f7185cdc2af436ff6f8 (patch)
tree11b91d2e4d0ba214c15f266674d207acb9ef1913 /clang/lib/CodeGen
parent4d305dca5240536036a5fe0145afde9807130eb4 (diff)
downloadbcm5719-llvm-d8f4950862aa2efcf0847f7185cdc2af436ff6f8.tar.gz
bcm5719-llvm-d8f4950862aa2efcf0847f7185cdc2af436ff6f8.zip
Use function attributes to indicate if we don't want to realign the stack.
llvm-svn: 187617
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/BackendUtil.cpp1
-rw-r--r--clang/lib/CodeGen/CGCall.cpp3
2 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp
index 1bf49184fcf..79cbc380a54 100644
--- a/clang/lib/CodeGen/BackendUtil.cpp
+++ b/clang/lib/CodeGen/BackendUtil.cpp
@@ -451,7 +451,6 @@ TargetMachine *EmitAssemblyHelper::CreateTargetMachine(bool MustCreateTM) {
Options.UnsafeFPMath = CodeGenOpts.UnsafeFPMath;
Options.UseSoftFloat = CodeGenOpts.SoftFloat;
Options.StackAlignmentOverride = CodeGenOpts.StackAlignment;
- Options.RealignStack = CodeGenOpts.StackRealignment;
Options.DisableTailCalls = CodeGenOpts.DisableTailCalls;
Options.TrapFuncName = CodeGenOpts.TrapFuncName;
Options.PositionIndependentExecutable = LangOpts.PIELevel != 0;
diff --git a/clang/lib/CodeGen/CGCall.cpp b/clang/lib/CodeGen/CGCall.cpp
index b4c710c82c4..11ee3883b30 100644
--- a/clang/lib/CodeGen/CGCall.cpp
+++ b/clang/lib/CodeGen/CGCall.cpp
@@ -1084,6 +1084,9 @@ void CodeGenModule::ConstructAttributeList(const CGFunctionInfo &FI,
FuncAttrs.addAttribute("no-frame-pointer-elim-non-leaf",
llvm::toStringRef(NoFramePointerElimNonLeaf));
+
+ if (!CodeGenOpts.StackRealignment)
+ FuncAttrs.addAttribute("no-realign-stack");
}
QualType RetTy = FI.getReturnType();
OpenPOWER on IntegriCloud