brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.5 KiB · abdc1ba Raw
87 lines · plain
1; REQUIRES: asserts2;3; Disable all misched clustering4; RUN: llc -mtriple=riscv32 -verify-misched \5; RUN:     -mattr=+disable-misched-load-clustering,+disable-misched-store-clustering \6; RUN:     -debug-only=machine-scheduler -o - 2>&1 < %s \7; RUN:   | FileCheck -check-prefix=NOCLUSTER %s8; RUN: llc -mtriple=riscv64 -verify-misched \9; RUN:     -mattr=+disable-misched-load-clustering,+disable-misched-store-clustering \10; RUN:     -debug-only=machine-scheduler -o - 2>&1 < %s \11; RUN:   | FileCheck -check-prefix=NOCLUSTER %s12;13; ST misched clustering only14; RUN: llc -mtriple=riscv32 -verify-misched \15; RUN:     -mattr=+disable-misched-load-clustering \16; RUN:     -debug-only=machine-scheduler -o - 2>&1 < %s \17; RUN:   | FileCheck -check-prefix=STCLUSTER %s18; RUN: llc -mtriple=riscv64 -verify-misched \19; RUN:     -mattr=+disable-misched-load-clustering \20; RUN:     -debug-only=machine-scheduler -o - 2>&1 < %s \21; RUN:   | FileCheck -check-prefix=STCLUSTER %s22;23; LD misched clustering only24; RUN: llc -mtriple=riscv32 -verify-misched \25; RUN:     -mattr=+disable-misched-store-clustering \26; RUN:     -debug-only=machine-scheduler -o - 2>&1 < %s \27; RUN:   | FileCheck -check-prefix=LDCLUSTER %s28; RUN: llc -mtriple=riscv64 -verify-misched \29; RUN:     -mattr=+disable-misched-store-clustering \30; RUN:     -debug-only=machine-scheduler -o - 2>&1 < %s \31; RUN:   | FileCheck -check-prefix=LDCLUSTER %s32;33; Default misched cluster settings (i.e. both LD and ST clustering)34; RUN: llc -mtriple=riscv32 -verify-misched \35; RUN:     -debug-only=machine-scheduler -o - 2>&1 < %s \36; RUN:   | FileCheck -check-prefix=DEFAULTCLUSTER %s37; RUN: llc -mtriple=riscv64 -verify-misched \38; RUN:     -debug-only=machine-scheduler -o - 2>&1 < %s \39; RUN:   | FileCheck -check-prefix=DEFAULTCLUSTER %s40 41define i32 @load_clustering_1(ptr nocapture %p) {42; NOCLUSTER: ********** MI Scheduling **********43; NOCLUSTER-LABEL: load_clustering_1:%bb.044; NOCLUSTER: *** Final schedule for %bb.0 ***45; NOCLUSTER: SU(1): %1:gpr = LW %0:gpr, 1246; NOCLUSTER: SU(2): %2:gpr = LW %0:gpr, 847; NOCLUSTER: SU(4): %4:gpr = LW %0:gpr, 448; NOCLUSTER: SU(5): %6:gpr = LW %0:gpr, 1649;50; STCLUSTER: ********** MI Scheduling **********51; STCLUSTER-LABEL: load_clustering_1:%bb.052; STCLUSTER: *** Final schedule for %bb.0 ***53; STCLUSTER: SU(1): %1:gpr = LW %0:gpr, 1254; STCLUSTER: SU(2): %2:gpr = LW %0:gpr, 855; STCLUSTER: SU(4): %4:gpr = LW %0:gpr, 456; STCLUSTER: SU(5): %6:gpr = LW %0:gpr, 1657;58; LDCLUSTER: ********** MI Scheduling **********59; LDCLUSTER-LABEL: load_clustering_1:%bb.060; LDCLUSTER: *** Final schedule for %bb.0 ***61; LDCLUSTER: SU(4): %4:gpr = LW %0:gpr, 462; LDCLUSTER: SU(2): %2:gpr = LW %0:gpr, 863; LDCLUSTER: SU(1): %1:gpr = LW %0:gpr, 1264; LDCLUSTER: SU(5): %6:gpr = LW %0:gpr, 1665;66; DEFAULTCLUSTER: ********** MI Scheduling **********67; DEFAULTCLUSTER-LABEL: load_clustering_1:%bb.068; DEFAULTCLUSTER: *** Final schedule for %bb.0 ***69; DEFAULTCLUSTER: SU(4): %4:gpr = LW %0:gpr, 470; DEFAULTCLUSTER: SU(2): %2:gpr = LW %0:gpr, 871; DEFAULTCLUSTER: SU(1): %1:gpr = LW %0:gpr, 1272; DEFAULTCLUSTER: SU(5): %6:gpr = LW %0:gpr, 1673entry:74  %arrayidx0 = getelementptr inbounds i32, ptr %p, i32 375  %val0 = load i32, ptr %arrayidx076  %arrayidx1 = getelementptr inbounds i32, ptr %p, i32 277  %val1 = load i32, ptr %arrayidx178  %tmp0 = add i32 %val0, %val179  %arrayidx2 = getelementptr inbounds i32, ptr %p, i32 180  %val2 = load i32, ptr %arrayidx281  %tmp1 = add i32 %tmp0, %val282  %arrayidx3 = getelementptr inbounds i32, ptr %p, i32 483  %val3 = load i32, ptr %arrayidx384  %tmp2 = add i32 %tmp1, %val385  ret i32 %tmp286}87