📄 20030807-1.c
字号:
/* { dg-do compile } *//* { dg-options "-O1 -fdump-tree-dom3" } */ struct rtx_def;typedef struct rtx_def *rtx;union rtunion_def{ int rtint;};typedef union rtunion_def rtunion;struct rtx_def{ rtunion fld[1];};static int *uid_cuid;static int max_uid_cuid;rtxbar (rtx r){ rtx place = r; if (place->fld[0].rtint <= max_uid_cuid && (place->fld[0].rtint > max_uid_cuid ? insn_cuid (place) : uid_cuid[place->fld[0].rtint])) return r; return 0;}/* There should be two IF conditionals. One tests <= max_uid_cuid, the other tets the value in uid_cuid. If either is false the jumps are threaded to the return 0. Which in turn means the path which combines the result of those two tests into a new test must always be true and it is optimized appropriately. *//* { dg-final { scan-tree-dump-times "if " 2 "dom3"} } *//* { dg-final { cleanup-tree-dump "dom3" } } */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -