diff options
-rw-r--r-- | llvm/lib/CodeGen/MachineScheduler.cpp | 3 | ||||
-rw-r--r-- | llvm/test/Feature/optnone-llc.ll | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/MachineScheduler.cpp b/llvm/lib/CodeGen/MachineScheduler.cpp index c266b746e60..81651aadcfd 100644 --- a/llvm/lib/CodeGen/MachineScheduler.cpp +++ b/llvm/lib/CodeGen/MachineScheduler.cpp @@ -314,6 +314,9 @@ ScheduleDAGInstrs *PostMachineScheduler::createPostMachineScheduler() { /// design would be to split blocks at scheduling boundaries, but LLVM has a /// general bias against block splitting purely for implementation simplicity. bool MachineScheduler::runOnMachineFunction(MachineFunction &mf) { + if (skipOptnoneFunction(*mf.getFunction())) + return false; + if (EnableMachineSched.getNumOccurrences()) { if (!EnableMachineSched) return false; diff --git a/llvm/test/Feature/optnone-llc.ll b/llvm/test/Feature/optnone-llc.ll index 94f61efea4a..8abcd09eea5 100644 --- a/llvm/test/Feature/optnone-llc.ll +++ b/llvm/test/Feature/optnone-llc.ll @@ -44,6 +44,7 @@ attributes #0 = { optnone noinline } ; LLC-Ox-DAG: Skipping pass 'Machine code sinking' ; LLC-Ox-DAG: Skipping pass 'Machine Common Subexpression Elimination' ; LLC-Ox-DAG: Skipping pass 'Machine Copy Propagation Pass' +; LLC-Ox-DAG: Skipping pass 'Machine Instruction Scheduler' ; LLC-Ox-DAG: Skipping pass 'Machine Loop Invariant Code Motion' ; LLC-Ox-DAG: Skipping pass 'Merge disjoint stack slots' ; LLC-Ox-DAG: Skipping pass 'Optimize machine instruction PHIs' |