Skip to content

Commit 12fdcd5

Browse files
jitlayers: Enable FastISel on AArch64 at -O0/-O1
FastISel was disabled on AArch64 in 2015 (PR #13393) to fix issue #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 12fdcd5

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/jitlayers.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1897,7 +1897,7 @@ 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);
19021902
else // FastISel seems to be buggy Ref #13321
19031903
TM.setFastISel(false);

0 commit comments

Comments
 (0)