diff options
author | Philip Reames <preames@rivosinc.com> | 2024-09-17 07:38:43 -0700 |
---|---|---|
committer | Philip Reames <listmail@philipreames.com> | 2024-09-17 07:43:28 -0700 |
commit | b153cc5c2bd9f08bf34ec13016f7b436b3e8a1d9 (patch) | |
tree | 493adbd2e43e5b5a6b0957e31f519602c5301994 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 267ad430fc54d6d548cd7d25c7e59c3b6b650097 (diff) | |
download | llvm-b153cc5c2bd9f08bf34ec13016f7b436b3e8a1d9.zip llvm-b153cc5c2bd9f08bf34ec13016f7b436b3e8a1d9.tar.gz llvm-b153cc5c2bd9f08bf34ec13016f7b436b3e8a1d9.tar.bz2 |
[RISCV] Fix boundary error in compress-opt-select.ll
Per the comment, this test is intending to test the first constant which
can't be encoded via a c.addi. However, -32 *can* be encoded as in a
c.addi, and all that's preventing it from doing so is the register
allocators choice to use a difference destination register on the
add than it's source. (Which compressed doesn't support.)
The current LLC codegen for this test looks like:
addi a1, a0, -32
li a0, -99
bnez a1, .LBB0_2
li a0, 42
.LBB0_2:
ret
After https://github.com/llvm/llvm-project/pull/108889, we sink the LI, and
the register allocator picks the same source and dest register for the addi
resulting in the c.addi form being emitted. So, to avoid a confusing diff
let's fix the test to check what was originally intended.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions