| /* { dg-do compile } */ |
| /* { dg-options "-O1 -fdump-tree-cddce3" } */ |
| |
| extern void abort (void); |
| |
| struct rtx_def; |
| typedef struct rtx_def *rtx; |
| enum rtx_code |
| { |
| UNKNOWN, |
| CODE_LABEL, |
| NOTE, |
| LAST_AND_UNUSED_RTX_CODE = 256 |
| }; |
| typedef union rtunion_def rtunion; |
| struct rtx_def |
| { |
| enum rtx_code code:16; |
| }; |
| void |
| delete_dead_jumptables () |
| { |
| rtx insn, next; |
| if (insn->code == CODE_LABEL) |
| { |
| rtx const _rtx = insn; |
| if (_rtx->code != CODE_LABEL && _rtx->code != NOTE) |
| abort (); |
| } |
| ; |
| } |
| |
| /* There should be no loads of ->code. If any exist, then we failed to |
| optimize away all the IF statements and the statements feeding |
| their conditions. */ |
| /* { dg-final { scan-tree-dump-times "->code" 0 "cddce3"} } */ |
| |
| /* There should be no IF statements. */ |
| /* { dg-final { scan-tree-dump-times "if " 0 "cddce3"} } */ |
| |