[llvm] [PeepholeOptimizer] Add REG_SEQUENCE subregister use folding (PR #205795)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 29 04:48:29 PDT 2026
================
@@ -1739,6 +1764,119 @@ bool PeepholeOptimizerLegacy::runOnMachineFunction(MachineFunction &MF) {
return Impl.run(MF);
}
+/// Check if a REG_SEQUENCE subregister use can be safely rewritten to use
+/// the source register directly.
+bool PeepholeOptimizer::canRewriteRegSequenceSubRegUse(MachineOperand &UseMO,
+ RegSubRegPair Src) {
+ if (!Src.Reg.isValid() || !Src.Reg.isVirtual())
+ return false;
+
+ MachineInstr *UseMI = UseMO.getParent();
+ Register DstReg = UseMO.getReg();
+
+ // Instructions, e.g. AMDGPU S_MOVRELS_B32, may require specific
+ // subregister relationships with implicit operands. Replacing the
----------------
arsenm wrote:
This sounds more like a bug than a rule that needs to be followed
https://github.com/llvm/llvm-project/pull/205795
More information about the llvm-commits
mailing list