llvm-project
0df1a528 - [AArch64][FastISel] Fallback on atomic stlr/cas with non-reg operands. (#133987)

Commit
183 days ago
[AArch64][FastISel] Fallback on atomic stlr/cas with non-reg operands. (#133987) This has been a latent bug for almost 10 years, but is relatively hard to trigger, needing an address operand that isn't handled by getRegForValue (in the test here, constexpr casts). When that happens, it returns 0, which FastISel happily uses as a register operand, all the way to asm, where we either get a crash on an invalid register, or a silently corrupt instruction. Unfortunately, FastISel is still enabled at -O0 for at least ILP32/arm64_32.
Author
Parents
Loading