[all-commits] [llvm/llvm-project] d16eca: [flang] Disable noalias by default (#142128)

Tom Eccles via All-commits all-commits at lists.llvm.org
Fri May 30 09:36:02 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d16ecad968244ca42ce09cb3199dea1ec994b211
      https://github.com/llvm/llvm-project/commit/d16ecad968244ca42ce09cb3199dea1ec994b211
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-05-30 (Fri, 30 May 2025)

  Changed paths:
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/test/Fir/struct-passing-x86-64-byval.fir
    M flang/test/Fir/target-rewrite-complex-10-x86.fir
    M flang/test/Fir/target.fir

  Log Message:
  -----------
  [flang] Disable noalias by default (#142128)

With these enabled we see a 70% performance regression for exchange2_r
on neoverse-v1 (aws graviton 3) using `-mcpu=native -Ofast -flto`. There
is also a smaller regression on neoverse-v2.

This appears to be because function specialization is no longer kicking
in during LTO for digits_2. This can be seen in the output executable:
previously it contained specialized copies of the function with names
like `_QMbrute_forcePdigits_2.specialized.4`. Now there are no names
like this.

The bug is not in flang - instead in the function specialization pass -
but due to the size of the regression I would like to request that this
is disabled until function specialization has been fixed.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list