Commit 47b6dc45 authored by Weihang Fan's avatar Weihang Fan Committed by Tom Stellard
Browse files

[AArch64][SelectionDAG] Mask for SUBS with multiple users cannot be elided (#90911)

In DAGCombiner, the `performCONDCombine` function attempts to remove AND
instructions in front of SUBS (cmp) instructions for which the AND is
transparent. The rules for that are correct, but it fails to take into
account the case where the SUBS instruction has multiple users with
different condition codes for comparison and simply removes the AND for
all of them. This causes a miscompilation in the attached test case.

(cherry picked from commit 72eaa0ed)
parent dff71781
Pipeline #2234 failed with stages
in 0 seconds
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment