From 0b8db2dab78f101acea99bfe0702d4668a7273e2 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Sun, 18 Oct 2009 06:27:36 +0000 Subject: Only fixed stack objects and spill slots should be get FixedStack PseudoSourceValue. llvm-svn: 84411 --- llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp') 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; -- cgit v1.2.3