pr21417.c

来自「用于进行gcc测试」· C语言 代码 · 共 55 行

C
55
字号
/* { dg-do compile } *//* { dg-options "-O2 -fdump-tree-dom3-details" } */struct tree_common {   int code; }; union tree_node {   struct tree_common common; }; typedef union tree_node *tree;  extern tree test (tree, int, int); extern tree foo (void); extern void abort (void) __attribute__ ((__noreturn__));  tree test (tree expr, int t, int D17630) {   int __i;  L0:   if (expr->common.code != 142) goto L23; else goto L2;  L2:   __i = 0;   goto L10;  L10:   __i = __i + 1;   if (D17630 != __i) goto L8; else goto L19;  L8:   if (t) goto L15; else goto L10;  L15:   expr = foo ();   if (expr->common.code != 142) goto L23; else goto L0;  L19:   abort ();  L23:   return expr; } /* We should thread the backedge to the top of the loop; ie we only   execute the if (expr->common.code != 142) test once per loop   iteration.  *//* { dg-final { scan-tree-dump-times "Threaded jump" 1 "dom3" } } *//* { dg-final { cleanup-tree-dump "dom3" } } */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?