On 9/7/26 8:43 AM, [email protected] wrote:
From: Kyrylo Tkachov <[email protected]>

noce_try_shifted_store_flag tests COMMON for null after it has already
returned unless CODE was set, and only the two arms that set COMMON set CODE.

noce_try_store_flag_mask decides which arm is the zero one with an assignment
inside a disjunction, which leaves REVERSEP true on the path that matches
nothing.  Test for the two forms separately.

noce_convert_multiple_sets calls set_used_flags on the two condition operands
after calling it on the condition, which already walks into them.  That was
their only use, so the locals go too.  No functional change.

gcc/ChangeLog:

        * ifcvt.cc (noce_try_shifted_store_flag): Drop the vacuous null test
        on common.
        (noce_try_store_flag_mask): Match the two forms without assigning
        inside the condition.
        (noce_convert_multiple_sets): Drop the redundant set_used_flags calls
        and the locals they were the only use of.
OK
jeff

Reply via email to