This issue came to my attention as it happens on a custom target that we use on ferrocene to test aarch64-unknown-none. However, I was able to reproduce it here as well (on commit 9a21ac8e7ef) and it might cause some errors in the future
The FileCheck test on tests/codegen/vec_pop_push_noop.rs will fail if the basic blocks of the LLVM-IR for the noop function are reordered in such a way that the returning block is not at the end.
This is the IR on x86_64-unknown-linux-gnu (which passes the test):
./tests/codegen/vec_pop_push_noop.rs:13:12: error: CHECK: expected string not found in input
// CHECK: ret
^
./vec_pop_push_noop.ll:270:29: note: scanning from here
tail call void @llvm.assume(i1 %cond.i)
^
./vec_pop_push_noop.ll:274:21: note: possible intended match here
; Function Attrs: noredzone nounwind
^
Input file: ./vec_pop_push_noop.ll
Check file: ./tests/codegen/vec_pop_push_noop.rs
-dump-input=help explains the following input dump.
Input was: ...
This issue came to my attention as it happens on a custom target that we use on ferrocene to test
aarch64-unknown-none
. However, I was able to reproduce it here as well (on commit 9a21ac8e7ef) and it might cause some errors in the futureThe
FileCheck
test ontests/codegen/vec_pop_push_noop.rs
will fail if the basic blocks of the LLVM-IR for thenoop
function are reordered in such a way that the returning block is not at the end.This is the IR on
x86_64-unknown-linux-gnu
(which passes the test):And this is the IR on
aarch64-unknown-none
This is the
config.toml
I used:I had to update the
vec_pop_push_noop.rs
test so it usesalloc
instead ofstd
:And finally run:
This is the error: