1 /* { dg-do compile } */ 2 /* { dg-options "-O1 -fdump-tree-cddce3" } */ 3 4 extern void abort (void); 5 6 struct rtx_def; 7 typedef struct rtx_def *rtx; 8 enum rtx_code 9 { 10 UNKNOWN, 11 CODE_LABEL, 12 NOTE, 13 LAST_AND_UNUSED_RTX_CODE = 256 14 }; 15 typedef union rtunion_def rtunion; 16 struct rtx_def 17 { 18 enum rtx_code code:16; 19 }; 20 void delete_dead_jumptables()21delete_dead_jumptables () 22 { 23 rtx insn, next; 24 if (insn->code == CODE_LABEL) 25 { 26 rtx const _rtx = insn; 27 if (_rtx->code != CODE_LABEL && _rtx->code != NOTE) 28 abort (); 29 } 30 ; 31 } 32 33 /* There should be no loads of ->code. If any exist, then we failed to 34 optimize away all the IF statements and the statements feeding 35 their conditions. */ 36 /* { dg-final { scan-tree-dump-times "->code" 0 "cddce3"} } */ 37 38 /* There should be no IF statements. */ 39 /* { dg-final { scan-tree-dump-times "if " 0 "cddce3"} } */ 40 41