diff options
Diffstat (limited to 'gcc/loop.h')
-rw-r--r-- | gcc/loop.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/gcc/loop.h b/gcc/loop.h index 4687cdba786..bea5a808e72 100644 --- a/gcc/loop.h +++ b/gcc/loop.h @@ -164,17 +164,22 @@ struct iv_class check_dbra_loop. */ struct induction *giv; /* List of all insns that compute a giv from this reg. */ - int total_benefit; /* Sum of BENEFITs of all those givs */ - rtx initial_value; /* Value of reg at loop start */ - rtx initial_test; /* Test performed on BIV before loop */ - struct iv_class *next; /* Links all class structures together */ + int total_benefit; /* Sum of BENEFITs of all those givs. */ + rtx initial_value; /* Value of reg at loop start. */ + rtx initial_test; /* Test performed on BIV before loop. */ + rtx final_value; /* Value of reg at loop end, if known. */ + struct iv_class *next; /* Links all class structures together. */ rtx init_insn; /* insn which initializes biv, 0 if none. */ rtx init_set; /* SET of INIT_INSN, if any. */ unsigned incremented : 1; /* 1 if somewhere incremented/decremented */ - unsigned eliminable : 1; /* 1 if plausible candidate for elimination. */ - unsigned nonneg : 1; /* 1 if we added a REG_NONNEG note for this. */ + unsigned eliminable : 1; /* 1 if plausible candidate for + elimination. */ + unsigned nonneg : 1; /* 1 if we added a REG_NONNEG note for + this. */ unsigned reversed : 1; /* 1 if we reversed the loop that this biv controls. */ + unsigned all_reduced : 1; /* 1 if all givs using this biv have + been reduced. */ }; typedef struct loop_mem_info @@ -333,6 +338,8 @@ struct loop_info struct loop_regs regs; /* The induction variable information in loop. */ struct loop_ivs ivs; + /* Non-zero if call is in pre_header extended basic block. */ + int pre_header_has_call; }; /* Definitions used by the basic induction variable discovery code. */ |