summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-10-18 06:27:36 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-10-18 06:27:36 +0000
commit0b8db2dab78f101acea99bfe0702d4668a7273e2 (patch)
treeab6730c813b94eca106ddf96f4bb81fc0273ff0b /llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
parentc05471ea5b411cd97b960da88ecea03133a0ad2c (diff)
downloadbcm5719-llvm-0b8db2dab78f101acea99bfe0702d4668a7273e2.tar.gz
bcm5719-llvm-0b8db2dab78f101acea99bfe0702d4668a7273e2.zip
Only fixed stack objects and spill slots should be get FixedStack PseudoSourceValue.
llvm-svn: 84411
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
index adcc5322721..9c22202eb97 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
+++ b/llvm/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;
OpenPOWER on IntegriCloud