[PATCH] D71145: [InstCombine] Allow to limit the max number of iterations

Jakub Kuderski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 11 13:23:54 PST 2019


kuhar added a comment.

In D71145#1779870 <https://reviews.llvm.org/D71145#1779870>, @craig.topper wrote:

> In my experience extra iterations are often caused by bad worklist management when updating nodes sometimes. For example https://reviews.llvm.org/D50990 was supposed to fix one case of that, but I never got around to finding the original test where I observed the issue. If that patch still applies does it have any effect on any of the extra iterations in the table?


Sure, below is a new table generated with your patch applied. I can only see a very small difference.

| Name                        | Bitcode size [MB] | Max Iterations | Total InstCombine Executions | Total Iterations | Average Iterations Per Execution |
| --------------------------- | ----------------- | -------------- | ---------------------------- | ---------------- | -------------------------------- |
| sqlite3.bc                  | 3                 | 5              | 12685                        | 17889            | 1.41                             |
| wasm-dis.bc                 | 25                | 4              | 295002                       | 361294           | 1.22                             |
| wasm-shell.bc               | 25                | 4              | 299701                       | 367321           | 1.23                             |
| wasm-emscripten-finalize.bc | 25                | 4              | 296670                       | 363320           | 1.22                             |
| wasm-as.bc                  | 25                | 4              | 296061                       | 362590           | 1.22                             |
| wasm-reduce.bc              | 25                | 4              | 298667                       | 365794           | 1.22                             |
| wasm-ctor-eval.bc           | 25                | 4              | 298052                       | 365187           | 1.23                             |
| wasm-metadce.bc             | 25                | 4              | 299757                       | 367109           | 1.22                             |
| wasm-opt.bc                 | 26                | 4              | 310991                       | 381517           | 1.23                             |
| wasm2js.bc                  | 26                | 4              | 310483                       | 380464           | 1.23                             |
| llvm-dis.bc                 | 20                | 6              | 225957                       | 290550           | 1.29                             |
| asm2wasm.bc                 | 26                | 4              | 310153                       | 380151           | 1.23                             |
| llvm-as.bc                  | 44                | 8              | 478734                       | 619785           | 1.29                             |
| rippled.bc                  | 427               | 20             | 1130242                            | 1443942                | 1.28                             |
| opt.bc                      | 184               | 8              | 1640664                            | 2146832                | 1.31                             |
| lld.bc                      | 210               | 8              | 1902236                            | 2478772                | 1.3                              |
| clang-9.bc                  | 397               | 8              | 3505308                            | 4502159                | 1.28                             |


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

https://reviews.llvm.org/D71145





More information about the llvm-commits mailing list