Skip to content

Conversation

AZero13
Copy link
Contributor

@AZero13 AZero13 commented Sep 17, 2025

isSchedulingBoundary has all the logic we need.

@llvmbot
Copy link
Member

llvmbot commented Sep 17, 2025

@llvm/pr-subscribers-backend-arm

Author: AZero13 (AZero13)

Changes

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

1 Files Affected:

  • (modified) llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp (+1-6)
diff --git a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
index 5c35b3327c16d..9d65282b26848 100644
--- a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
+++ b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
@@ -1897,12 +1897,7 @@ bool ARMBaseInstrInfo::isSchedulingBoundary(const MachineInstr &MI,
   if (MI.isDebugInstr())
     return false;
 
-  // Terminators and labels can't be scheduled around.
-  if (MI.isTerminator() || MI.isPosition())
-    return true;
-
-  // INLINEASM_BR can jump to another block
-  if (MI.getOpcode() == TargetOpcode::INLINEASM_BR)
+  if (TargetInstrInfo::isSchedulingBoundary(MI, MBB, MF))
     return true;
 
   if (isSEHInstruction(MI))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants