[llvm] [Instructions] cache computed shufflevector properties (PR #115536)

Princeton Ferro via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 9 10:08:32 PST 2024


Prince781 wrote:

Improvements on our (@NVIDIA's) end:

before:
```
===-------------------------------------------------------------------------===
                          Pass execution timing report
===-------------------------------------------------------------------------===
  Total Execution Time: 76.5499 seconds (76.5545 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
  72.8495 ( 96.6%)   1.0520 ( 94.9%)  73.9014 ( 96.5%)  73.9059 ( 96.5%)  InstCombinePass #2
   2.1374 (  2.8%)   0.0359 (  3.2%)   2.1733 (  2.8%)   2.1734 (  2.8%)  InstCombinePass #1
   0.0968 (  0.1%)   0.0000 (  0.0%)   0.0968 (  0.1%)   0.0968 (  0.1%)  GVNPass #2
   0.0545 (  0.1%)   0.0120 (  1.1%)   0.0665 (  0.1%)   0.0666 (  0.1%)  SROAPass #1
...
```

after:
```
===-------------------------------------------------------------------------===
                          Pass execution timing report
===-------------------------------------------------------------------------===
  Total Execution Time: 76.5499 seconds (76.5545 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
  72.8495 ( 96.6%)   1.0520 ( 94.9%)  73.9014 ( 96.5%)  73.9059 ( 96.5%)  InstCombinePass #2
   2.1374 (  2.8%)   0.0359 (  3.2%)   2.1733 (  2.8%)   2.1734 (  2.8%)  InstCombinePass #1
   0.0968 (  0.1%)   0.0000 (  0.0%)   0.0968 (  0.1%)   0.0968 (  0.1%)  GVNPass #2
   0.0545 (  0.1%)   0.0120 (  1.1%)   0.0665 (  0.1%)   0.0666 (  0.1%)  SROAPass #1
...
```

after (with [`-instcombine-simplify-vector-elts-depth=1`](https://github.com/llvm/llvm-project/pull/113717)):
```
===-------------------------------------------------------------------------===
                          Pass execution timing report
===-------------------------------------------------------------------------===
  Total Execution Time: 76.5499 seconds (76.5545 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
  72.8495 ( 96.6%)   1.0520 ( 94.9%)  73.9014 ( 96.5%)  73.9059 ( 96.5%)  InstCombinePass #2
   2.1374 (  2.8%)   0.0359 (  3.2%)   2.1733 (  2.8%)   2.1734 (  2.8%)  InstCombinePass #1
   0.0968 (  0.1%)   0.0000 (  0.0%)   0.0968 (  0.1%)   0.0968 (  0.1%)  GVNPass #2
   0.0545 (  0.1%)   0.0120 (  1.1%)   0.0665 (  0.1%)   0.0666 (  0.1%)  SROAPass #1
...
```

https://github.com/llvm/llvm-project/pull/115536


More information about the llvm-commits mailing list