[PATCH] D18376: [MachineScheduler] Add support for store clustering
Jun Bum Lim via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 24 10:31:58 PDT 2016
junbuml added a comment.
I compared llvm stats with/without this change for Spec2006. Overall, this patch increases the number of ld/st pairs by about 3% for Spec2006. I didn't see any serious regression in other statistics (see below).
Please see the full summary of llvm stats diff collected for spec2006 without and with this patch. For example, the third stat indicates 1495 (or ~3%) more ld/st pairs are generated with this patch :
2 (0.06%) aarch64-copyelim - Number of copies removed.
38 (0.81%) aarch64-ldst-opt - Number of load/store from unscaled generated
1495 (3.00%) aarch64-ldst-opt - Number of load/store pair instructions generated
28 (1.14%) aarch64-ldst-opt - Number of post-index updates folded
-1661 (-0.06%) asm-printer - Number of machine instrs printed
-6056 (-0.01%) assembler - Number of emitted object file bytes
67 (0.01%) assembler - Number of evaluated fixups
-42 (-0.13%) branchfolding - Number of block tails merged
3 (0.00%) branchfolding - Number of branches optimized
-32 (-0.055%) branchfolding - Number of dead blocks removed
-7 (-0.69%) branchfolding - Number of times common instructions are hoisted
2 (0.02%) codegen-cp - Number of dead copies deleted
3 (1.69%) machine-licm - Number of machine instructions hoisted out of loops post regalloc
67 (0.01%) mccodeemitter - Number of MC fixups created.
-1661 (-0.06%) mccodeemitter - Number of MC instructions emitted.
93 (0.00%) mcexpr - Number of MCExpr evaluations
112 (0.00%) pei - Number of bytes used for stack in all functions
-491 (-0.54%) regalloc - Number of copies inserted for splitting
15 (0.19%) regalloc - Number of hoisted spills
-103 (-0.03%) regalloc - Number of identity moves eliminated after rewriting
5 (0.02%) regalloc - Number of interferences evicted
-2 (-0.23%) regalloc - Number of live ranges fractured by DCE
-127 (-0.07%) regalloc - Number of new live ranges queued
-7 (-0.58%) regalloc - Number of omitted spills of reloads
-128 (-0.01%) regalloc - Number of registers assigned
-21 (-0.05%) regalloc - Number of registers unassigned
46 (0.12%) regalloc - Number of reloads inserted
-3 (-0.41%) regalloc - Number of reloads removed
-2 (-0.01%) regalloc - Number of rematerialized defs for spilling
-6 (-0.02%) regalloc - Number of spilled live ranges
-7 (-1.23%) regalloc - Number of spilled snippets
-31 (-0.13%) regalloc - Number of spills inserted
-3 (-0.07%) regalloc - Number of spills removed
-5 (-0.04%) regalloc - Number of split global live ranges
-5 (-0.03%) regalloc - Number of splits finished
-3 (-0.02%) regalloc - Number of splits that were simple
264 (0.61%) slotindexes - Number of local renumberings
-2 (-0.07%) stackslotcoloring - Number of stack slots eliminated due to coloring
-13 (-0.00%) tailduplication - Additional instructions due to tail duplication
-7 (-0.29%) tailduplication - Number of dead blocks removed
3 (0.05%) tailduplication - Number of tail duplicated blocks
-5 (-0.13%) tailduplication - Number of tails duplicated
http://reviews.llvm.org/D18376
More information about the llvm-commits
mailing list