diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-10-18 06:27:36 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-10-18 06:27:36 +0000 |
commit | 20270c909357e5e501cac1f5393430dfacfc57d8 (patch) | |
tree | 41dfc4d483c999b2d3c23c2cd70f4a60d216055d /lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp | |
parent | c6e200960812992f1124c92f801166bd1b387971 (diff) |
Only fixed stack objects and spill slots should be get FixedStack PseudoSourceValue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84411 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp')
-rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp index adcc532272..9c22202eb9 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp @@ -4196,9 +4196,11 @@ SelectionDAGLowering::visitIntrinsicCall(CallInst &I, unsigned Intrinsic) { SDValue FIN = DAG.getFrameIndex(FI, PtrTy); // Store the stack protector onto the stack. + const Value *SV = MFI->isFixedObjectIndex(FI) + ? PseudoSourceValue::getFixedStack(FI) + : PseudoSourceValue::getStack(); SDValue Result = DAG.getStore(getRoot(), getCurDebugLoc(), Src, FIN, - PseudoSourceValue::getFixedStack(FI), - 0, true); + SV, 0, true); setValue(&I, Result); DAG.setRoot(Result); return 0; |