[flang-commits] [flang] [llvm] [Pipeline] Add IPSCCPPass at O3 to fix function specialization phase ordering (PR #201543)

via flang-commits flang-commits at lists.llvm.org
Mon Aug 31 09:52:41 PDT 2026


anoopkg6 wrote:

## Performance (x86, SPEC CPU 2017 SPECrate, Intel Xeon Cascadelake)

-O3 -march=native, copies=1, base tuning.

548.exchange2_r improves by 9.2% (284s to 258s, +9.4% SPECrate) with
8 specializations of digits_2. The number, score and profitability of
each clone is determined by target-dependent TTI costs (TCK_Latency,
TCK_CodeSize). Some benchmarks show compile time increases of 1-10s.

### Run time

| Benchmark       | Before(s) | After(s) | Time-Delta | Time-Delta% | Up-Rate | FS-Rate | Rate-Delta |
|-----------------|-----------|----------|------------|-------------|---------|---------|------------|
| 500.perlbench_r | 411       | 412      | +1         | +0.2%       | 3.88    | 3.86    | -0.5%      |
| 502.gcc_r       | 307       | 306      | -1         | -0.3%       | 4.62    | 4.62    | 0.0%       |
| 505.mcf_r       | 469       | 474      | +5         | +1.1%       | 3.44    | 3.41    | -0.9%      |
| 520.omnetpp_r   | 556       | 558      | +2         | +0.4%       | 2.36    | 2.35    | -0.4%      |
| 523.xalancbmk_r | 317       | 319      | +2         | +0.6%       | 3.33    | 3.31    | -0.6%      |
| 525.x264_r      | 172       | 173      | +1         | +0.6%       | 10.2    | 10.1    | -1.0%      |
| 531.deepsjeng_r | 353       | 354      | +1         | +0.3%       | 3.25    | 3.24    | -0.3%      |
| 541.leela_r     | 517       | 519      | +2         | +0.4%       | 3.20    | 3.19    | -0.3%      |
| **548.exchange2_r** | **284** | **258** | **-26** | **-9.2%** | **9.23** | **10.1** | **+9.4%** |
| 557.xz_r        | 465       | 465      | 0          | 0.0%        | 2.32    | 2.32    | 0.0%       |
| 503.bwaves_r    | 492       | 492      | 0          | 0.0%        | 20.4    | 20.4    | 0.0%       |
| 507.cactuBSSN_r | 318       | 319      | +1         | +0.3%       | 3.98    | 3.97    | -0.3%      |
| 508.namd_r      | 236       | 237      | +1         | +0.4%       | 4.03    | 4.02    | -0.2%      |
| 510.parest_r    | 544       | 546      | +2         | +0.4%       | 4.80    | 4.80    | 0.0%       |
| 511.povray_r    | 447       | 453      | +6         | +1.3%       | 5.23    | 5.16    | -1.3%      |
| 519.lbm_r       | 300       | 296      | -4         | -1.3%       | 3.51    | 3.57    | +1.7%      |
| 521.wrf_r       | 436       | 435      | -1         | -0.2%       | 5.14    | 5.15    | +0.2%      |
| 526.blender_r   | 348       | 346      | -2         | -0.6%       | 4.38    | 4.40    | +0.5%      |
| 527.cam4_r      | 411       | 406      | -5         | -1.2%       | 4.26    | 4.31    | +1.2%      |
| 538.imagick_r   | 446       | 448      | +2         | +0.4%       | 5.57    | 5.56    | -0.2%      |
| 544.nab_r       | 312       | 313      | +1         | +0.3%       | 5.40    | 5.38    | -0.4%      |
| 549.fotonik3d_r | 552       | 552      | 0          | 0.0%        | 7.05    | 7.05    | 0.0%       |
| 554.roms_r      | 363       | 366      | +3         | +0.8%       | 4.38    | 4.34    | -0.9%      |

### Compile time

| Benchmark       | Before(s) | After(s) | Delta | Delta% |
|-----------------|-----------|----------|-------|--------|
| 500.perlbench_r | 54        | 54       | 0     | 0.0%   |
| 502.gcc_r       | 280       | 286      | +6    | +2.1%  |
| 505.mcf_r       | 2         | 2        | 0     | 0.0%   |
| 520.omnetpp_r   | 135       | 138      | +3    | +2.2%  |
| 523.xalancbmk_r | 283       | 289      | +6    | +2.1%  |
| 525.x264_r      | 35        | 35       | 0     | 0.0%   |
| 531.deepsjeng_r | 4         | 5        | +1    | +25.0% |
| 541.leela_r     | 15        | 16       | +1    | +6.7%  |
| **548.exchange2_r** | **18** | **16** | **-2** | **-11.1%** |
| 557.xz_r        | 8         | 9        | +1    | +12.5% |
| 503.bwaves_r    | 4         | 3        | -1    | -25.0% |
| 507.cactuBSSN_r | 170       | 171      | +1    | +0.6%  |
| 508.namd_r      | 29        | 30       | +1    | +3.4%  |
| 510.parest_r    | 599       | 609      | +10   | +1.7%  |
| 511.povray_r    | 40        | 40       | 0     | 0.0%   |
| 519.lbm_r       | 1         | 2        | +1    | +100.0%|
| 521.wrf_r       | 5116      | 5114     | -2    | 0.0%   |
| 526.blender_r   | 348       | 353      | +5    | +1.4%  |
| 527.cam4_r      | 550       | 552      | +2    | +0.4%  |
| 538.imagick_r   | 56        | 56       | 0     | 0.0%   |
| 544.nab_r       | 5         | 6        | +1    | +20.0% |
| 549.fotonik3d_r | 23        | 23       | 0     | 0.0%   |
| 554.roms_r      | 151       | 151      | 0     | 0.0%   |

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


More information about the flang-commits mailing list