[PATCH] D87557: [AArch64][MachineScheduler] Fix operand scheduling for pre/post-increment loads
Eugene Leviant via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 12 06:01:34 PDT 2020
evgeny777 updated this revision to Diff 291386.
evgeny777 retitled this revision from "[AArch64][MachineScheduler] Fix operand scheduling for pre/post-increment loads and stores" to "[AArch64][MachineScheduler] Fix operand scheduling for pre/post-increment loads".
evgeny777 edited the summary of this revision.
evgeny777 added a comment.
@dmgreen Thx, I've updated the diff.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D87557/new/
https://reviews.llvm.org/D87557
Files:
llvm/lib/Target/AArch64/AArch64InstrFormats.td
llvm/test/tools/llvm-mca/AArch64/Exynos/load.s
Index: llvm/test/tools/llvm-mca/AArch64/Exynos/load.s
===================================================================
--- llvm/test/tools/llvm-mca/AArch64/Exynos/load.s
+++ llvm/test/tools/llvm-mca/AArch64/Exynos/load.s
@@ -20,7 +20,7 @@
# ALL: Iterations: 100
# ALL-NEXT: Instructions: 1200
-# ALL-NEXT: Total Cycles: 1904
+# ALL-NEXT: Total Cycles: 1304
# M3-NEXT: Total uOps: 1600
# M4-NEXT: Total uOps: 1400
@@ -28,11 +28,11 @@
# ALL: Dispatch Width: 6
-# M3-NEXT: uOps Per Cycle: 0.84
-# M4-NEXT: uOps Per Cycle: 0.74
-# M5-NEXT: uOps Per Cycle: 0.74
+# M3-NEXT: uOps Per Cycle: 1.23
+# M4-NEXT: uOps Per Cycle: 1.07
+# M5-NEXT: uOps Per Cycle: 1.07
-# ALL-NEXT: IPC: 0.63
+# ALL-NEXT: IPC: 0.92
# ALL-NEXT: Block RThroughput: 6.0
# ALL: Instruction Info:
Index: llvm/lib/Target/AArch64/AArch64InstrFormats.td
===================================================================
--- llvm/lib/Target/AArch64/AArch64InstrFormats.td
+++ llvm/lib/Target/AArch64/AArch64InstrFormats.td
@@ -3939,7 +3939,7 @@
(outs GPR64sp:$wback, regtype:$Rt),
(ins GPR64sp:$Rn, simm9:$offset), asm,
"$Rn = $wback, at earlyclobber $wback", []>,
- Sched<[WriteLD, WriteAdr]>;
+ Sched<[WriteAdr, WriteLD]>;
let mayStore = 1, mayLoad = 0 in
class StorePreIdx<bits<2> sz, bit V, bits<2> opc, RegisterOperand regtype,
@@ -3985,7 +3985,7 @@
(outs GPR64sp:$wback, regtype:$Rt),
(ins GPR64sp:$Rn, simm9:$offset),
asm, "$Rn = $wback, at earlyclobber $wback", []>,
- Sched<[WriteLD, WriteAdr]>;
+ Sched<[WriteAdr, WriteLD]>;
let mayStore = 1, mayLoad = 0 in
class StorePostIdx<bits<2> sz, bit V, bits<2> opc, RegisterOperand regtype,
@@ -4082,7 +4082,7 @@
: BaseLoadStorePairPreIdx<opc, V, 1,
(outs GPR64sp:$wback, regtype:$Rt, regtype:$Rt2),
(ins GPR64sp:$Rn, indextype:$offset), asm>,
- Sched<[WriteLD, WriteLDHi, WriteAdr]>;
+ Sched<[WriteAdr, WriteLD, WriteLDHi]>;
let mayStore = 1, mayLoad = 0 in
class StorePairPreIdx<bits<2> opc, bit V, RegisterOperand regtype,
@@ -4123,7 +4123,7 @@
: BaseLoadStorePairPostIdx<opc, V, 1,
(outs GPR64sp:$wback, regtype:$Rt, regtype:$Rt2),
(ins GPR64sp:$Rn, idxtype:$offset), asm>,
- Sched<[WriteLD, WriteLDHi, WriteAdr]>;
+ Sched<[WriteAdr, WriteLD, WriteLDHi]>;
let mayStore = 1, mayLoad = 0 in
class StorePairPostIdx<bits<2> opc, bit V, RegisterOperand regtype,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D87557.291386.patch
Type: text/x-patch
Size: 2726 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200912/b73260cf/attachment.bin>
More information about the llvm-commits
mailing list