Skip to content

Commit f4231bf

Browse files
authored
[RISCV] Replace PostRAScheduler with PostMachineScheduler (#68696)
Just like what other targets have done. And this will make DAG mutations like MacroFusion take effect.
1 parent be215e7 commit f4231bf

File tree

3 files changed

+4
-2
lines changed

3 files changed

+4
-2
lines changed

llvm/lib/Target/RISCV/RISCVTargetMachine.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,8 @@ class RISCVPassConfig : public TargetPassConfig {
248248
public:
249249
RISCVPassConfig(RISCVTargetMachine &TM, PassManagerBase &PM)
250250
: TargetPassConfig(TM, PM) {
251+
if (TM.getOptLevel() != CodeGenOptLevel::None)
252+
substitutePass(&PostRASchedulerID, &PostMachineSchedulerID);
251253
setEnableSinkAndFold(EnableSinkFold);
252254
}
253255

llvm/test/CodeGen/RISCV/O3-pipeline.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@
159159
; CHECK-NEXT: Insert KCFI indirect call checks
160160
; CHECK-NEXT: MachineDominator Tree Construction
161161
; CHECK-NEXT: Machine Natural Loop Construction
162-
; CHECK-NEXT: Post RA top-down list latency scheduler
162+
; CHECK-NEXT: PostRA Machine Instruction Scheduler
163163
; CHECK-NEXT: Analyze Machine Code For Garbage Collection
164164
; CHECK-NEXT: Machine Block Frequency Analysis
165165
; CHECK-NEXT: MachinePostDominator Tree Construction

llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ define void @foo(i32 signext %0, i32 signext %1) {
2525
;
2626
; FUSION-POSTRA-LABEL: foo:
2727
; FUSION-POSTRA: # %bb.0:
28-
; FUSION-POSTRA-NEXT: lui a0, %hi(.L.str)
2928
; FUSION-POSTRA-NEXT: fcvt.s.w fa0, a1
29+
; FUSION-POSTRA-NEXT: lui a0, %hi(.L.str)
3030
; FUSION-POSTRA-NEXT: addi a0, a0, %lo(.L.str)
3131
; FUSION-POSTRA-NEXT: tail bar@plt
3232
%3 = sitofp i32 %1 to float

0 commit comments

Comments
 (0)