[PATCH] D94350: [GlobalISel] Combine (a[0]) | (a[1] << k1) | ...| (a[m] << kn) into a wide load

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 12 12:17:33 PST 2021


aemerson added a comment.

In D94350#2493991 <https://reviews.llvm.org/D94350#2493991>, @paquette wrote:

> Here's some measurements:
>
>                        O0 compile   O0 code       #Missed   #Missed    Avg regs/      | Os compile   Os code      #Missed   #Missed    Avg regs/
>                        time change  size change   combines  (> 1 reg)  missed combine | time change  size change  combines  (> 1 reg)  missed combine
>   bullet               0.25%         0.00%        22        4          0.5            |  0.56%       0.00%        138       14         0.3
>   kc                   0.05%         0.00%        2         0          0.0            |  0.76%       0.00%        66        0          0.0
>   lencod              -0.18%         0.00%        89        20         0.6            |  0.31%       0.00%        508       34         0.2
>   SPASS                0.09%         0.00%        1         1          3.0            |  0.37%       0.00%        146       4          0.0
>   consumer-typeset    -0.27%         0.00%        369       52         0.3            |  0.17%       0.00%        625       61         0.2
>   clamscan            -0.09%         0.00%        179       78         1.3            |  0.21%       0.00%        493       49         0.3
>   sqlite3             -0.48%         0.00%        185       29         0.4            | -0.18%      -0.50%        514       91         0.6
>   tramp3d-v4           0.14%         0.00%        0         0          0.0            |  0.52%       0.00%        253       2          0.0
>   pairlocalalign      -0.04%         0.00%        0         0          0.0            |  0.49%       0.00%        54        48         2.7
>   7zip-benchmark       0.12%        -0.10%        336       273        2.5            |  0.75%      -0.40%        565       268        1.6
>                                                                                       |
>   Average             -0.04%        -0.01%        118.30    45.7       0.87           |  0.40%      -0.09%        336       57         0.6
>
>
>
> - Compile time was measured using a single thread with 3 samples. Comparison is between geomeans of the samples.
> - # Missed combines is the total times that the combine failed
> - # Missed (>1 reg) is the number of times the combine failed with at least one register in `RegsToVisit`.

Is this meant to say *greater* than 1?

> - Avg regs/missed combine is the number of registers in `RegsToVisit` when the combine misses
>
> Note that a lot of the time, the combine does miss with 0 registers (because you just don't find anything with a single use, for example).




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

https://reviews.llvm.org/D94350



More information about the llvm-commits mailing list