llvm-project/llvm/test/CodeGen
Francis Visoiu Mistrih 9f2b290add [PEI] Don't re-allocate a pre-allocated stack protector slot
The LocalStackSlotPass pre-allocates a stack protector and makes sure
that it comes before the local variables on the stack.

We need to make sure that later during PEI we don't re-allocate a new
stack protector slot. If that happens, the new stack protector slot will
end up being **after** the local variables that it should be protecting.

Therefore, we would have two slots assigned for two different stack
protectors, one at the top of the stack, and one at the bottom. Since
PEI will overwrite the assigned slot for the stack protector, the load
that is used to compare the value of the stack protector will use the
slot assigned by PEI, which is wrong.

For this, we need to check if the object is pre-allocated, and re-use
that pre-allocated slot.

Differential Revision: https://reviews.llvm.org/D64757

llvm-svn: 366371
2019-07-17 20:46:19 +00:00
..
AArch64 [PEI] Don't re-allocate a pre-allocated stack protector slot 2019-07-17 20:46:19 +00:00
AMDGPU GlobalISel: Handle widenScalar of arbitrary G_MERGE_VALUES sources 2019-07-17 20:22:44 +00:00
ARC [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
ARM [PEI] Don't re-allocate a pre-allocated stack protector slot 2019-07-17 20:46:19 +00:00
AVR [AVR] Fix tests after r363757 2019-07-04 06:12:47 +00:00
BPF [BPF] add unit tests for preserve_{array,union,struct}_access_index intrinsics 2019-07-15 04:51:34 +00:00
Generic Revert "r364412 [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline." 2019-06-26 12:13:13 +00:00
Hexagon [Hexagon] Custom-lower UADDO(x, 1) and USUBO(x, 1) 2019-07-01 15:50:09 +00:00
Inputs [CodeGen] Add stack protector tests where the guard gets re-assigned 2019-07-17 20:46:16 +00:00
Lanai [SDAG] commute setcc operands to match a subtract 2019-07-10 23:23:54 +00:00
MIR AMDGPU: Serialize mode from MachineFunctionInfo 2019-07-10 16:09:26 +00:00
MSP430 [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
Mips [MIPS GlobalISel] ClampScalar and select pointer G_ICMP 2019-07-17 12:08:01 +00:00
NVPTX [NVPTX] Use atomicrmw fadd instead of intrinsics 2019-07-11 17:11:25 +00:00
PowerPC [PEI] Don't re-allocate a pre-allocated stack protector slot 2019-07-17 20:46:19 +00:00
RISCV [RISCV][NFC] Remove outdated TODO from test/CodeGen/RISCV/dwarf-eh.ll 2019-07-17 14:04:48 +00:00
SPARC [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
SystemZ [Strict FP] Allow more relaxed scheduling 2019-07-16 15:55:45 +00:00
Thumb [ARM] Favour PL/MI over GE/LT when possible 2019-07-04 08:58:58 +00:00
Thumb2 [ARM] MVE vector for 64bit types 2019-07-15 18:42:54 +00:00
WebAssembly [WebAssembly] Compile all TLS on Emscripten as local-exec 2019-07-16 22:22:08 +00:00
WinCFGuard
WinEH [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
X86 [x86] use more phadd for reductions 2019-07-16 21:30:41 +00:00
XCore [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00