[PATCH] D67318: [SimplifyCFG] FoldTwoEntryPHINode(): consider *total* speculation cost, not per-BB cost

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Sep 7 12:53:38 PDT 2019


lebedev.ri added a comment.

@efriedma

D67240 <https://reviews.llvm.org/D67240> numbers for vanilla (no externals, no rawspeed) test-suite: (rL371316 <https://reviews.llvm.org/rL371316> vs. these two patches)

| metric                                 | old    | new    | delta | % change |
| x86-mi-counting.NumMachineFunctions    | 27207  | 27208  | 1     | 0.00%    |
| x86-mi-counting.NumMachineBasicBlocks  | 573195 | 571003 | -2192 | -0.38%   |
| x86-mi-counting.NumMachineInstructions | 4180977      | 4180705      | -272  | -0.01%   |
| x86-mi-counting.NumUncondBR            | 102291 | 102080 | -211  | -0.21%   |
| x86-mi-counting.NumCondBR              | 332691 | 331262 | -1429 | -0.43%   |
| x86-mi-counting.NumCMOV                | 20620  | 21455  | 835   | 4.05%    |
| x86-mi-counting.NumVecBlend            | 0      | 0      | 0     | 0.00%    |
|

F9943143: llvm-test-suite-x86-mi-count-0-old.json <https://reviews.llvm.org/F9943143> F9943149: llvm-test-suite-x86-mi-count-1-new.json <https://reviews.llvm.org/F9943149>

Which is actually **extremely** better than what we had in D65148 <https://reviews.llvm.org/D65148>,
we now produce more cmov's (good), and even further decrease everything else including instruction count (good).

In D65148#1660558 <https://reviews.llvm.org/D65148#1660558>, @lebedev.ri wrote:

> | metric                                 | old    | new    | delta | % change |
> | x86-mi-counting.NumMachineFunctions    | 27189  | 27189  | 0     | 0.00%    |
> | x86-mi-counting.NumMachineBasicBlocks  | 573079 | 571509 | -1570 | -0.27%   |
> | x86-mi-counting.NumMachineInstructions | 4180244      | 4180750      | 506   | 0.01%    |
> | x86-mi-counting.NumUncondBR            | 102271 | 102115 | -156  | -0.15%   |
> | x86-mi-counting.NumCondBR              | 332645 | 331669 | -976  | -0.29%   |
> | x86-mi-counting.NumCMOV                | 20620  | 21134  | 514   | 2.49%    |
> | x86-mi-counting.NumVecBlend            | 0      | 0      | 0     | 0.00%    |
> |
>
> F9932121: results-testsuite-old.json <https://reviews.llvm.org/F9932121> F9932122: results-testsuite-new.json <https://reviews.llvm.org/F9932122>


(the NumMachineFunctions changed because i did D65148#1660558 <https://reviews.llvm.org/D65148#1660558> without xray tests...)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D67318





More information about the llvm-commits mailing list