forked from OSchip/llvm-project
Use FrameIndexTy for stack protector
Using getValueType() is not correct for architectures extended with CHERI since
we need a pointer type and not the value that is loaded. While stack
protector is useless when you have CHERI (since CHERI provides much
stronger security guarantees), we still have a test to check that we can
generate correct code for checks. Merging b281138a1b
into our tree broke this test. Fix by using TLI.getFrameIndexTy().
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D77785
This commit is contained in:
parent
12224162a1
commit
bbcfce4bad
|
@ -6360,7 +6360,7 @@ void SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I,
|
|||
|
||||
int FI = FuncInfo.StaticAllocaMap[Slot];
|
||||
MFI.setStackProtectorIndex(FI);
|
||||
EVT PtrTy = Src.getValueType();
|
||||
EVT PtrTy = TLI.getFrameIndexTy(DAG.getDataLayout());
|
||||
|
||||
SDValue FIN = DAG.getFrameIndex(FI, PtrTy);
|
||||
|
||||
|
|
Loading…
Reference in New Issue