Skip to content
Snippets Groups Projects
Commit 999363c5 authored by Pan Li's avatar Pan Li
Browse files

Genmatch: Fix ICE for binary phi cfg mismatching [PR116795]


This patch would like to fix one ICE when try to match the binary
phi for below cfg.  We check the first edge of the Phi block comes
from b0, instead of check the only one edge of b1 comes from the
b0 too.  Thus, it will result in some code to be recog as .SAT_SUB
but it is not, and finally result the verify_ssa failure.

+------+
| b0:  |
| def  |       +-----+
| ...  |       | b1: |
| cond |------>| def |
+------+       | ... |
   |           +-----+
   |              |
   |              |
   v              |
+-----+           |
| b2: |           |
| Phi |<----------+
+-----+

The below test suites are passed for this patch.
* The rv64gcv fully regression test.
* The x86 bootstrap test.
* The x86 fully regression test.

	PR target/116795

gcc/ChangeLog:

	* gimple-match-head.cc (match_cond_with_binary_phi): Fix the
	incorrect cfg check as b0->b1 in above example.

gcc/testsuite/ChangeLog:

	* gcc.dg/torture/pr116795-1.c: New test.

Signed-off-by: default avatarPan Li <pan2.li@intel.com>
parent 831137be
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment