Stream: t-compiler/wg-mir-opt

Topic: Miri test failures

RalfJ (Jun 22 2020 at 08:11, on Zulip):

Uh-oh, I think we have an incorrect optimization somewhere... the Miri test suite started failing with -Zmir-opt-level=3:

RalfJ (Jun 22 2020 at 08:22, on Zulip):

specifically, this assertion fails

oli (Jun 22 2020 at 08:40, on Zulip):

yea, mir opt level 3 contains buggy things

oli (Jun 22 2020 at 08:41, on Zulip): is an example

RalfJ (Jun 22 2020 at 09:24, on Zulip):

RalfJ (Jun 22 2020 at 09:25, on Zulip):

well this is a regression, it worked before

RalfJ (Jun 22 2020 at 09:27, on Zulip):

oli said: is an example

wait we are keeping known incorrect optimization passes enabled?!? that's like a deliberate soundness issue, why are we doing this?^^

RalfJ (Jun 22 2020 at 09:27, on Zulip):

"high opt level" shouldn't imply "contains critical bugs", that just makes no sense...

RalfJ (Jun 22 2020 at 09:33, on Zulip):

if for some reason you want to keep those broken optimizations reachable, please hide them behind -Zmir-please-break-my-code or so

oli (Jun 22 2020 at 09:35, on Zulip):

yes, we discussed that recently and it will come

RalfJ (Jun 22 2020 at 09:37, on Zulip):


RalfJ (Jun 22 2020 at 09:38, on Zulip):

I'll make miri test mir-opt-level=2 until then

RalfJ (Jun 22 2020 at 09:44, on Zulip):

oh no I have to go all the way down to 1...

Jonas Schievink (Jun 22 2020 at 09:45, on Zulip):

Does the const prop change even touch opt-level=3-only code? Maybe it miscompiles on all levels, but you only notice on levels 2 and up

bjorn3 (Jun 22 2020 at 09:48, on Zulip):

Operand::Indirect only gets const-prop'ed at mir-opt-level=2 and higher:

RalfJ (Jun 22 2020 at 09:48, on Zulip):

the new thing is actually a stable-to-nightly regression:

RalfJ (Jun 22 2020 at 09:53, on Zulip):

and it has nothing to do with unions... it seems to just ignore mutation via references entirely :scared:

RalfJ (Jun 22 2020 at 09:54, on Zulip):

how does this not break, like, everything?^^

Last update: Sep 28 2020 at 16:45UTC