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 b281138a1b67ca4405b77d774adc3de72742e7a2 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…
x
Reference in New Issue
Block a user