<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/117993>117993</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Clang]Optimization Levels Ineffective for Certain Test Cases
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ADDALBA
      </td>
    </tr>
</table>

<pre>
    ## **Optimization Levels Ineffective for Certain Test Cases**

During testing with Clang 9.0.1 and Clang 14.0.6, we found that for certain test cases, nearly all optimization levels failed to provide significant performance improvements and, in some cases, even resulted in slower execution. Due to limited resources, we reported only consistently observed anomalies and could not entirely rule out system noise. The Docker image used for testing is available [here](https://hub.docker.com/r/anonymicse2021/gcc_inputs). Test details are as follows:

### **Test Details**

```bash
# Test Case: linear-algebra/kernels/symm

# Clang 14.0.6
clang-14 -O0 -I ./inputs/utilities -I ./inputs/linear-algebra/kernels/symm ./inputs/utilities/polybench.c ./inputs/linear-algebra/kernels/symm/symm.c -DPOLYBENCH_TIME -o ./test
time ./test
real    0m6.491s
user 0m6.457s
sys     0m0.033s

clang-14 -O1 -I ./inputs/utilities -I ./inputs/linear-algebra/kernels/symm ./inputs/utilities/polybench.c ./inputs/linear-algebra/kernels/symm/symm.c -DPOLYBENCH_TIME -o ./test
time ./test
real    0m7.080s
user    0m7.035s
sys     0m0.045s

clang-14 -O2 -I ./inputs/utilities -I ./inputs/linear-algebra/kernels/symm ./inputs/utilities/polybench.c ./inputs/linear-algebra/kernels/symm/symm.c -DPOLYBENCH_TIME -o ./test
time ./test
real    0m6.899s
user 0m6.852s
sys     0m0.046s

clang-14 -O3 -I ./inputs/utilities -I ./inputs/linear-algebra/kernels/symm ./inputs/utilities/polybench.c ./inputs/linear-algebra/kernels/symm/symm.c -DPOLYBENCH_TIME -o ./test
time ./test
real    0m7.074s
user    0m7.039s
sys     0m0.034s

clang-14 -Ofast -I ./inputs/utilities -I ./inputs/linear-algebra/kernels/symm ./inputs/utilities/polybench.c ./inputs/linear-algebra/kernels/symm/s

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzclkFv7CYQxz8NexktAmyv1wcfnN1nNVLa9JBLT08sHq_pw7ACvKn76Svs5CXpqqra01MkS2gC8_8PPyYLMgR9tog1Ke5IcdzIKQ7O183x2DzcNZuT6-aaiIyIDIhoiGgeL1GP-k8ZtbPwgFc0Ae4t9j2qqK8IvfNwQB-ltvCEIcJBBgxrLmHpO05e2zNEDDGNzzoOcDDSnqGijHKQtnuJeU4Z3RFxgOckPNkO4iDj4qFePJIMqNXjABalNzNIY8C9L9SshfZSG-wgOrh4d9UdQtq97rWSNsIFfe_8KK1C0GNagSPaGFJFSVxbCG7ENze8ogWPYTIRu2XauGf0gH-gmpIvheOEyc7oUac1HoObvFrTnxE8XpxPE86aGZSzQYeINpoZ3Cmgv2IH0rpRGo1LHaDcZDqwLgLaqD2aGfxkENwUIcwh4gjW6YAUngaEo1Pf0IMe5RlhCtgt7F7R6wDyKrWRJ4NAirsBPZLiSMR-iPESSNYQ0RLRDtOJdosSVW4kovVEtNI6O49aBRRMcCLas1Jftb1MMRBR0fXwO4xSmwDSI8gAvTPGPS_CSyusnfXWXEvOcc153zJkx9bvJMOw5r01F8kaMDqd_FaaM568JKL9ht5iEmnDPI7f3T42FmtUCrc8h-0jg-09UCLa1z20U9RGxwT-7zP_YvcPMkS0F2fmE1o1UPWfFF8GqmB7_PXx4be7L78cfvr6dP_zF9i6RSmdKWFN1CO-jz1KAwDAxh3NKx4Ia6aAfo2LMsVhDrAuYZRlWVhhvSPDPzmZkrI9-07m9U9ZcQMnL27hiE8OZ0f3VfWhbfaFuCWzuyWTfXIyJWVlfts21e3_VH4Lp5ch_uh8CGs2XZ11VVbJDda8zERZZTznm6HmLNuVZc57JvY8z1ihdpnqVc4kFtgptdG1YCLnXOw5F0XOaVnsRJYxUUouVbmvSM5wlNpQY64jdf680SFMWHNeVlW2MfKEJizPEiEWcESI9ELxdUrYnqZzIDkzOsTwJhF1NMtbZvmdJ8Xx_z1XNpM39cc78KxjugbX-y_5vQzbi3e_o4qJbao_AXzZwrUWfwUAAP__PowGpA">