]>
git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/tree-ssa/20030709-2.c
1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-dce3" } */
5 typedef struct rtx_def
*rtx
;
7 typedef union tree_node
*tree
;
8 typedef struct mem_attrs
17 typedef union rtunion_def rtunion
;
28 struct tree_decl decl
;
30 int make_decl_rtl (tree
, int);
37 return (t
->decl
.rtl
->fld
[1].rtmem
39 : (((t
->decl
.rtl
? t
->decl
.rtl
: (make_decl_rtl (t
, 0), t
->decl
.rtl
)))->fld
[1]).rtmem
);
43 /* There should be precisely one load of ->decl.rtl. If there is
44 more than, then the dominator optimizations failed. */
45 /* { dg-final { scan-tree-dump-times "->decl\\.rtl" 1 "dce3"} } */
47 /* There should be no loads of .rtmem since the complex return statement
48 is just "return 0". */
49 /* { dg-final { scan-tree-dump-times ".rtmem" 0 "dce3"} } */
51 /* There should be one IF statement (the complex return statement should
52 collapse down to a simple return 0 without any conditionals). */
53 /* { dg-final { scan-tree-dump-times "if " 1 "dce3"} } */