[PATCH] D158527: [InstCombine] Add a cl::opt to control calls to getOrEnforceKnownAlignment in LoadInst and StoreInst

Dhruv Chawla via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 29 23:34:29 PDT 2023


0xdc03 added a comment.

In D158527#4616967 <https://reviews.llvm.org/D158527#4616967>, @nikic wrote:

> In D158527#4610872 <https://reviews.llvm.org/D158527#4610872>, @0xdc03 wrote:
>
>> Okay, @fhahn I have collected the results for both cases, can you please tell me which metrics to check?
>
> I'd just diff all the stats to start with. I use this script that: https://gist.github.com/nikic/812f9ac1a51e29ef453fed04a6d8c40f I'm not sure this will be particularly insightful for this patch.
>
> Another approach is to look at IR diffs. I use this patch for that purpose: https://gist.github.com/nikic/da2c7ee8120c3e477f5afc662d531b66 And then commit the results for the baseline and the change and then git diff between them.

Okay, so I have these results for DSE and GVN (where the first column is *with* InferAlignment and the second is *without*):

  dse.NumDomMemDefChecks                             | 364753 | 364783
  dse.NumFastStores                                  | 7891   | 7890
  dse.NumRedundantStores                             | 316    | 317
  dse.NumRemainingStores                             | 369727 | 369726
  gvn.IsValueFullyAvailableInBlockNumSpeculationsMax | 17650  | 17657
  gvn.NumGVNInstr                                    | 122764 | 122765
  gvn.NumPRELoad                                     | 14238  | 14239
  gvn.NumPRELoadMoved2CEPred                         | 1451   | 1462

These are the individual differences (first value is *with* InferAlignment and second value is *without*):

  MultiSource/Benchmarks/7zip/7zip-benchmark.test:
    dse.NumRemainingStores:                             32137.0 | 32135.0
    gvn.IsValueFullyAvailableInBlockNumSpeculationsMax: 1732.0  | 1729.0
  
  MultiSource/Benchmarks/Ptrdist/yacr2/yacr2.test:
    gvn.NumPRELoadMoved2CEPred: 8.0 | 9.0
  
  MultiSource/Applications/sqlite3/sqlite3.test:
    dse.NumFastStores:          152.0 | 151.0
    dse.NumRedundantStores:     29.0  | 30.0
    gvn.NumPRELoadMoved2CEPred: 150.0 | 152.0
  
  MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test:
    gvn.NumPRELoadMoved2CEPred: 4.0 | 5.0
  
  MultiSource/Applications/aha/aha.test:
    dse.NumDomMemDefChecks:                             129.0 | 138.0
    dse.NumRemainingStores:                             89.0  | 90.0
    gvn.IsValueFullyAvailableInBlockNumSpeculationsMax: 19.0  | 20.0
  
  MultiSource/Benchmarks/Trimaran/enc-3des/enc-3des.test:
    gvn.NumGVNInstr: 4.0 | 5.0
  
  SingleSource/Benchmarks/Misc/whetstone.test:
    dse.NumDomMemDefChecks:                             50.0 | 71.0
    gvn.IsValueFullyAvailableInBlockNumSpeculationsMax: 1.0  | 0.0
  
  SingleSource/Benchmarks/McGill/exptree.test:
    gvn.IsValueFullyAvailableInBlockNumSpeculationsMax: 7.0 | 6.0


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D158527/new/

https://reviews.llvm.org/D158527



More information about the llvm-commits mailing list