[llvm] [RISCV][GlobalISel] Fold large constant offsets in selectAddrRegImm (PR #219161)

via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 8 04:06:54 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/GISel/RISCVInstructionSelector.cpp.o</summary>

```
FAILED: lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/GISel/RISCVInstructionSelector.cpp.o
sccache /opt/llvm/bin/clang++ -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/lib/Target/RISCV -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/RISCV -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17 -fvisibility=hidden -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/GISel/RISCVInstructionSelector.cpp.o -MF lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/GISel/RISCVInstructionSelector.cpp.o.d -o lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/GISel/RISCVInstructionSelector.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp:1718:11: error: variable 'LdSt' with type 'auto *' has incompatible initializer of type 'const llvm::GLoadStore'
1718 |     auto *LdSt = dyn_cast<GLoadStore>(User);
|           ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp:1727:31: error: member reference type 'const MachineInstr' is not a pointer; did you mean to use '.'?
1727 |     LLT Ty = MRI->getType(User->getOperand(0).getReg());
|                           ~~~~^~
|                               .
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp:16:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/RISCV/RISCVSubtarget.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Target/RISCV/RISCVFrameLowering.h:16:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/CodeGen/TargetFrameLowering.h:17:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/CodeGen/MachineBasicBlock.h:21:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/CodeGen/MachineFunctionAnalysisManager.h:16:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/IR/PassManager.h:44:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/TinyPtrVector.h:13:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/PointerUnion.h:21:
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:490:54: error: functional-style cast from rvalue to reference type 'CastReturnType' (aka 'const llvm::GLoadStore &')
490 |   static inline CastReturnType castFailed() { return CastReturnType(nullptr); }
|                                                      ^~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:494:14: note: in instantiation of member function 'llvm::CastInfo<llvm::GLoadStore, const llvm::MachineInstr>::castFailed' requested here
494 |       return castFailed();
|              ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:645:36: note: in instantiation of member function 'llvm::CastInfo<llvm::GLoadStore, const llvm::MachineInstr>::doCastIfPossible' requested here
645 |   return CastInfo<To, const From>::doCastIfPossible(Val);
|                                    ^
3 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/219161


More information about the llvm-commits mailing list