[clang] [AArch64][SME] Warn when using a streaming builtin from a non-streaming function (PR #74064)
Sander de Smalen via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 14 00:18:57 PST 2023
sdesmalen-arm wrote:
> On my system, this increases the compilation time of SemaChecking.cpp from 7 seconds to 2 minutes 46 seconds (using clang as a host compiler). That seems excessive. Let's please find a way to not make compilation so slow, and let's consider reverting this until a faster approach is found.
I see the same with GCC. It seems that changing the generated table from:
```
case SVE::BI__builtin_sve_svaba_n_s16:
BuiltinType = ArmStreamingCompatible;
break;
case SVE::BI__builtin_sve_svaba_n_s32:
BuiltinType = ArmStreamingCompatible;
break;
case SVE::BI__builtin_sve_svaba_n_s64:
BuiltinType = ArmStreamingCompatible;
break;
...
```
to
```
case SVE::BI__builtin_sve_svacge_n_f16:
case SVE::BI__builtin_sve_svacge_n_f32:
case SVE::BI__builtin_sve_svacge_n_f64:
...
BuiltinType = ArmStreamingCompatible;
break;
```
resolves most of the issue without changing behaviours.
Additionally, it might be good to make the most common streaming-mode for this file the default (which for arm_sve.h is streaming-compatible), so that the table only has to capture the intrinsics which are explicitly non-streaming or streaming.
https://github.com/llvm/llvm-project/pull/74064
More information about the cfe-commits
mailing list