2016-07-26 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / ssa-dom-branch-1.c
blob3c15296dfeb21e42135637ad043546205a35077b
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -w -fdump-tree-dom2-details" } */
4 typedef struct rtx_def *rtx;
5 struct rtx_def
7 int code;
8 rtx rt_rtx;
9 };
10 rtx
11 try_combine (rtx i1, rtx newpat)
13 rtx temp;
14 if (i1 && (temp = ((((((newpat->rt_rtx, ((((temp)->code) == 42)))))))))
15 && ((temp =
16 (((((((((((newpat)->rt_rtx),
17 ((((temp)->code) == 42) && arf ())))))))))))))
19 else if (i1 && foo ());
22 /* There should be two tests against i1. One from the hash table
23 dumps, one in the code itself. */
24 /* { dg-final { scan-tree-dump-times "if .i1_" 2 "dom2"} } */
26 /* There should be no actual jump threads realized by DOM. The
27 legitimize jump threads are handled in VRP and those discovered
28 by DOM are subsumed by collapsing a conditional. */
29 /* { dg-final { scan-tree-dump-not "Threaded" "dom2"} } */