You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So we branch first on a value derived from %num. If that's poison, we end up triggering UB.
Either the condition or the variables used by the hoisted condition must be frozen.
@nunoplopes Do you know if this a recent regression?
No, it's not recent. It has been there since the early days of the pass AFAICT.
Alive2 didn't detect the problem earlier because the pass introduces metadata. Your patch to Alive2 exposed this bug.
IRCE reorders order of condition checks. For example see this minimized test case from
IRCE/bad_expander.ll
:If
%maybe_exit
is false, the function returns straight away.However, IRCE gives us this:
So we branch first on a value derived from
%num
. If that'spoison
, we end up triggering UB.Either the condition or the variables used by the hoisted condition must be frozen.
cc @max-quazan @nikic @serguei-katkov
The text was updated successfully, but these errors were encountered: