Description
With LLVM 20, we're seeing significantly increased compile times for the Zig standard library test executable for s390x-linux
: 0m33s with LLVM 19 vs 3m28s with LLVM 20. It appears to be caused by #100757 (FYI @JonPsson1 @uweigand), specifically this function:
llvm-project/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Lines 10203 to 10217 in fa45bf4
And its (indirect) usage here:
llvm-project/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Lines 2206 to 2207 in fa45bf4
In Zig we have a helper function std.builtin.returnError()
that the compiler emits calls to when an error value is returned from a function. Since we use a compilation model that can roughly be described as a unity build, the standard library test module has around ~68,000 calls to this function. LLVM is now walking the full use list of this function at every call site, which is less than ideal.
Metadata
Metadata
Assignees
Type
Projects
Status