[llvm] [MachineScheduler] Experimental option to partially disable pre-ra scheduling. (PR #90181)

Michael Maitland via llvm-commits llvm-commits at lists.llvm.org
Mon May 20 13:24:08 PDT 2024


================
@@ -1252,6 +1253,23 @@ void ScheduleDAGMILive::enterRegion(MachineBasicBlock *bb,
          "ShouldTrackLaneMasks requires ShouldTrackPressure");
 }
 
+// EXPERIMENTAL: It seems that GenericScheduler currently often increases
+// spilling heavily with huge regions (like >350 instructions). This option
+// makes any sched region bigger than its value have pre-ra scheduling
+// skipped.
+cl::opt<unsigned> NoSchedAbove("nosched-above", cl::init(~0U));
----------------
michaelmaitland wrote:

Some questions on definition of the option:
1. Should this option name be specific to MachineScheduler (pre-ra)? Maybe `misched-nosched-above`? 
2. Should this option have a `cl::desc`? 
3. Should it be cl::Hidden or not?
4.  Should it have the prefix `experimental` to it `experimental-xxx` so it is clear that it is experimental?

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


More information about the llvm-commits mailing list