Closed cbeuw closed 1 year ago
There is a pointer to a stack allocation that outlasts its lifetime:
(*_8) = ptr::addr_of_mut!(_12);
But this isn't https://github.com/llvm/llvm-project/issues/51838, as -Cllvm-args=-protect-from-escaped-allocas=true
doesn't prevent the miscompilation, and this dangling pointer is never dereferenced, even in not taken branches
Likely SDAG bug.
BISECT: NOT running pass (1376) X86 DAG->DAG Instruction Selection on function (_ZN4test3fn317h707ba6185b238b46E)
If I'm reading the assembly right, this should be a reduction of the issue: https://github.com/llvm/llvm-project/issues/63430
WG-prioritization assigning priority (Zulip discussion).
@rustbot label -I-prioritize +P-high +T-compiler
Fuzzer generated code then minimised
Miri reports no UB under either aliasing model, and it should print
With
-Zmir-opt-level=0 -Copt-level>=2
, it takes the wrong branch infn4
and doesn't callfn5
.Only reproducible on
x86_64
, notaarch64
cc @nikic