[PATCH] D152236: [RISCV] Add special case to selectImm for constants that can be created with (ADD (SLLI C, 32), C).
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 6 17:36:45 PDT 2023
craig.topper added a comment.
In D152236#4401604 <https://reviews.llvm.org/D152236#4401604>, @fmayer wrote:
> /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp:214:43: runtime error: signed integer overflow: 9223372034904144827 - -1950630981 cannot be represented in type 'int64_t' (aka 'long')
> #0 0xaaaae4525208 in selectImm(llvm::SelectionDAG*, llvm::SDLoc const&, llvm::MVT, long, llvm::RISCVSubtarget const&) /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp:214:43
> #1 0xaaaae451fff8 in llvm::RISCVDAGToDAGISel::Select(llvm::SDNode*) /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp:863:23
> #2 0xaaaae6204148 in llvm::SelectionDAGISel::DoInstructionSelection() /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1178:7
> #3 0xaaaae6202418 in llvm::SelectionDAGISel::CodeGenAndEmitDAG() /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:949:5
> #4 0xaaaae61feb54 in llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1700:7
> #5 0xaaaae61fa77c in llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:482:3
> #6 0xaaaae5469750 in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:91:13
> #7 0xaaaae5b2acf0 in llvm::FPPassManager::runOnFunction(llvm::Function&) /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1435:27
> #8 0xaaaae5b34fd0 in llvm::FPPassManager::runOnModule(llvm::Module&) /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1481:16
> #9 0xaaaae5b2b7f0 in runOnModule /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1550:27
> #10 0xaaaae5b2b7f0 in llvm::legacy::PassManagerImpl::run(llvm::Module&) /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:535:44
> #11 0xaaaae31ae314 in compileModule(char**, llvm::LLVMContext&) /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/tools/llc/llc.cpp:756:8
> #12 0xaaaae31ac0b8 in main /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/tools/llc/llc.cpp:420:22
> #13 0xffffbb03777c (/lib/aarch64-linux-gnu/libc.so.6+0x2777c) (BuildId: fe1fc959438108d405a33383d7c3f00762a5bb93)
> #14 0xffffbb037854 in __libc_start_main (/lib/aarch64-linux-gnu/libc.so.6+0x27854) (BuildId: fe1fc959438108d405a33383d7c3f00762a5bb93)
> #15 0xaaaae3180fec in _start (/b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm_build_ubsan/bin/llc+0x5e90fec)
> SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /b/sanitizer-aarch64-linux-bootstrap-ubsan/build/llvm-project/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp:214:43 in
Thanks, I'll take a look.
The revert needs a cleanup of a test that was added after this patch was commit. I'll take care of that too.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D152236/new/
https://reviews.llvm.org/D152236
More information about the llvm-commits
mailing list