[llvm] [CVP] Check whether the default case is reachable (PR #79993)

via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 9 18:38:14 PST 2024


alexfh wrote:

I've got an example IR that shows the compile time regression (not as dramatic as 7->1000 s, but still around 25x increase):

```
$ ./clang-fast -O2 -Xclang=-ftime-report -c extracted.ll
...
===-------------------------------------------------------------------------===
                          Clang front-end time report
===-------------------------------------------------------------------------===
  Total Execution Time: 1.8437 seconds (1.8437 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
   1.6917 (100.0%)   0.1520 (100.0%)   1.8437 (100.0%)   1.8437 (100.0%)  Clang front-end timer
   1.6917 (100.0%)   0.1520 (100.0%)   1.8437 (100.0%)   1.8437 (100.0%)  Total

$ ./clang-slow -O2 -Xclang=-ftime-report -c extracted.ll
...
===-------------------------------------------------------------------------===
                         Miscellaneous Ungrouped Timers
===-------------------------------------------------------------------------===

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
  49.6733 (100.0%)   0.3947 (100.0%)  50.0680 (100.0%)  50.0719 (100.0%)  Code Generation Time
  49.6733 (100.0%)   0.3947 (100.0%)  50.0680 (100.0%)  50.0719 (100.0%)  Total
...
===-------------------------------------------------------------------------===
                          Pass execution timing report
===-------------------------------------------------------------------------===
  Total Execution Time: 49.7508 seconds (49.7547 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
  15.4055 ( 31.2%)   0.0120 (  3.1%)  15.4174 ( 31.0%)  15.4187 ( 31.0%)  Eliminate PHI nodes for register allocation
  12.8087 ( 25.9%)   0.0000 (  0.0%)  12.8087 ( 25.7%)  12.8097 ( 25.7%)  Control Flow Optimizer
   8.8482 ( 17.9%)   0.0040 (  1.0%)   8.8522 ( 17.8%)   8.8529 ( 17.8%)  Machine Cycle Info Analysis
   2.9137 (  5.9%)   0.1394 ( 36.0%)   3.0531 (  6.1%)   3.0533 (  6.1%)  Early Tail Duplication
   2.4706 (  5.0%)   0.0000 (  0.0%)   2.4706 (  5.0%)   2.4707 (  5.0%)  Branch Probability Basic Block Placement
   1.2901 (  2.6%)   0.0000 (  0.0%)   1.2901 (  2.6%)   1.2902 (  2.6%)  Machine code sinking
...
===-------------------------------------------------------------------------===
                          Clang front-end time report
===-------------------------------------------------------------------------===
  Total Execution Time: 50.1103 seconds (50.1142 wall clock)

   ---User Time---   --System Time--   --User+System--   ---Wall Time---  --- Name ---
  49.7156 (100.0%)   0.3947 (100.0%)  50.1103 (100.0%)  50.1142 (100.0%)  Clang front-end timer
  49.7156 (100.0%)   0.3947 (100.0%)  50.1103 (100.0%)  50.1142 (100.0%)  Total
```

[extracted.zip](https://github.com/llvm/llvm-project/files/14227708/extracted.zip)


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


More information about the llvm-commits mailing list