[llvm] [ARM] Move expand psuedos before load-store opt (PR #199353)

via llvm-commits llvm-commits at lists.llvm.org
Sat May 23 07:35:52 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-arm

Author: LumioseSil (LumioseSil)

<details>
<summary>Changes</summary>

Otherwise expanded code doesn't get those optimizations.

---
Full diff: https://github.com/llvm/llvm-project/pull/199353.diff


1 Files Affected:

- (modified) llvm/lib/Target/ARM/ARMTargetMachine.cpp (+4-4) 


``````````diff
diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.cpp b/llvm/lib/Target/ARM/ARMTargetMachine.cpp
index 0de6f3d16eff4..c75bc9d6afebd 100644
--- a/llvm/lib/Target/ARM/ARMTargetMachine.cpp
+++ b/llvm/lib/Target/ARM/ARMTargetMachine.cpp
@@ -482,6 +482,10 @@ void ARMPassConfig::addPreRegAlloc() {
 }
 
 void ARMPassConfig::addPreSched2() {
+  // Expand some pseudo instructions into multiple instructions to allow
+  // proper scheduling.
+  addPass(createARMExpandPseudoPass());
+
   if (getOptLevel() != CodeGenOptLevel::None) {
     if (EnableARMLoadStoreOpt)
       addPass(createARMLoadStoreOptLegacyPass());
@@ -490,10 +494,6 @@ void ARMPassConfig::addPreSched2() {
     addPass(createBreakFalseDeps());
   }
 
-  // Expand some pseudo instructions into multiple instructions to allow
-  // proper scheduling.
-  addPass(createARMExpandPseudoPass());
-
   // Emit KCFI checks for indirect calls.
   addPass(createKCFIPass());
 

``````````

</details>


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


More information about the llvm-commits mailing list