Unconditionally disable LLVM's FastISel on AArch64
Before ca07e256f62f772d14c42f41af46f2aeacc54983, LLVM's AArch64FastISel had a sign (and zero?) extension bug. Until rustc gets its LLVM past that commit, the way of workaround is to pass an option to LLVM that forces the disabling of FastISel (which would normally kick in for -O0). Fixes #21627
This commit is contained in:
parent
7615e187c6
commit
ea50bf8850
1 changed files with 3 additions and 0 deletions
|
|
@ -1012,6 +1012,9 @@ unsafe fn configure_llvm(sess: &Session) {
|
|||
if sess.time_llvm_passes() { add("-time-passes"); }
|
||||
if sess.print_llvm_passes() { add("-debug-pass=Structure"); }
|
||||
|
||||
// FIXME #21627 disable faulty FastISel on AArch64 (even for -O0)
|
||||
if sess.target.target.arch.as_slice() == "aarch64" { add("-fast-isel=0"); }
|
||||
|
||||
for arg in sess.opts.cg.llvm_args.iter() {
|
||||
add(&(*arg)[]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue