[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