[llvm] [ARM][Thumb2] Mark BTI-clearing instructions as scheduling region boundaries (PR #79173)

Anatoly Trosinenko via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 31 07:32:46 PST 2024


================
@@ -2088,7 +2088,7 @@ bool ARMBaseInstrInfo::isSchedulingBoundary(const MachineInstr &MI,
   if (!MI.isCall() && MI.definesRegister(ARM::SP))
     return true;
 
-  return false;
+  return TargetInstrInfo::isSchedulingBoundary(MI, MBB, MF);
----------------
atrosinenko wrote:

The existing code duplication in `TargetInstrInfo::isSchedulingBoundary` and `ARMBaseInstrInfo::isSchedulingBoundary` functions seems rather strange to me, but I guess it is worth opening a separate PR for that particular refactoring (at least if this PR does not depend on that change). As far as I can see, calling the base method may change the result returned for call instructions, assuming the above comment ("Calls don't actually change the stack pointer, even if they have imp-defs") is not out-of-date.

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


More information about the llvm-commits mailing list