Skip to content

Commit de7dfd2

Browse files
jitlayers: Enable FastISel on AArch64 at -O0/-O1
FastISel was disabled on AArch64 in 2015 (PR JuliaLang#13393) to fix issue JuliaLang#13321, but that issue was specifically about 32-bit ARM (ARMv7) segfaults during bootstrap. The AArch64 exclusion was added conservatively alongside the ARM fix. AArch64 FastISel has been actively maintained upstream with recent bug fixes: - llvm/llvm-project#75993 (Jan 2024) - llvm/llvm-project#133987 (May 2025) This enables faster instruction selection for JIT compilation on AArch64 at lower optimization levels, reducing compilation latency.
1 parent 18aa237 commit de7dfd2

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/jitlayers.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1897,9 +1897,9 @@ void optimizeDLSyms(Module &M) JL_NOTSAFEPOINT_LEAVE JL_NOTSAFEPOINT_ENTER {
18971897
void fixupTM(TargetMachine &TM) {
18981898
auto TheTriple = TM.getTargetTriple();
18991899
if (jl_options.opt_level < 2) {
1900-
if (!TheTriple.isARM() && !TheTriple.isPPC64() && !TheTriple.isAArch64())
1900+
if (!TheTriple.isARM() && !TheTriple.isPPC64())
19011901
TM.setFastISel(true);
1902-
else // FastISel seems to be buggy Ref #13321
1902+
else // FastISel seems to be buggy Ref #13321
19031903
TM.setFastISel(false);
19041904
}
19051905
}

0 commit comments

Comments
 (0)