Skip to content

Commit 76356ec

Browse files
committed
Disable Loop Strength Reduction on ARM
Works around #36062
1 parent ad4b1ec commit 76356ec

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/codegen.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7493,6 +7493,12 @@ extern "C" void jl_init_llvm(void)
74937493
#if defined(_CPU_X86_) || defined(_CPU_X86_64_)
74947494
const char *const argv_avoidsfb[] = {"", "-x86-disable-avoid-SFB"}; // llvm bug 41629, see https://gist.github.com/vtjnash/192cab72a6cfc00256ff118238163b55
74957495
cl::ParseCommandLineOptions(sizeof(argv_avoidsfb)/sizeof(argv_avoidsfb[0]), argv_avoidsfb, "disable-avoidsfb\n");
7496+
#endif
7497+
#if defined(_CPU_ARM_)
7498+
// Workaround https://bugs.llvm.org/show_bug.cgi?id=46757
7499+
// Julia issue #36062
7500+
const char *const argv_lsr[] = {"", "-disable-lsr"};
7501+
cl::ParseCommandLineOptions(sizeof(argv_lsr)/sizeof(argv_lsr[0]), argv_lsr, "disable-lsr\n");
74967502
#endif
74977503
cl::ParseEnvironmentOptions("Julia", "JULIA_LLVM_ARGS");
74987504

0 commit comments

Comments
 (0)