re PR rtl-optimization/66790 (Invalid uninitialized register handling in REE)
PR rtl-optimization/66790 * df-problems.c (LIVE): Amend documentation. From-SVN: r227874
This commit is contained in:
parent
01610fec49
commit
308fbc4290
2 changed files with 15 additions and 9 deletions
|
@ -1,3 +1,8 @@
|
|||
2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR rtl-optimization/66790
|
||||
* df-problems.c (LIVE): Amend documentation.
|
||||
|
||||
2015-09-17 Richard Sandiford <richard.sandiford@arm.com>
|
||||
|
||||
* Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o
|
||||
|
|
|
@ -1309,22 +1309,23 @@ df_lr_verify_transfer_functions (void)
|
|||
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
LIVE AND MUST-INITIALIZED REGISTERS.
|
||||
LIVE AND MAY-INITIALIZED REGISTERS.
|
||||
|
||||
This problem first computes the IN and OUT bitvectors for the
|
||||
must-initialized registers problems, which is a forward problem.
|
||||
It gives the set of registers for which we MUST have an available
|
||||
definition on any path from the entry block to the entry/exit of
|
||||
a basic block. Sets generate a definition, while clobbers kill
|
||||
may-initialized registers problems, which is a forward problem.
|
||||
It gives the set of registers for which we MAY have an available
|
||||
definition, i.e. for which there is an available definition on
|
||||
at least one path from the entry block to the entry/exit of a
|
||||
basic block. Sets generate a definition, while clobbers kill
|
||||
a definition.
|
||||
|
||||
In and out bitvectors are built for each basic block and are indexed by
|
||||
regnum (see df.h for details). In and out bitvectors in struct
|
||||
df_live_bb_info actually refers to the must-initialized problem;
|
||||
df_live_bb_info actually refers to the may-initialized problem;
|
||||
|
||||
Then, the in and out sets for the LIVE problem itself are computed.
|
||||
These are the logical AND of the IN and OUT sets from the LR problem
|
||||
and the must-initialized problem.
|
||||
and the may-initialized problem.
|
||||
----------------------------------------------------------------------------*/
|
||||
|
||||
/* Private data used to verify the solution for this problem. */
|
||||
|
@ -1531,7 +1532,7 @@ df_live_confluence_n (edge e)
|
|||
}
|
||||
|
||||
|
||||
/* Transfer function for the forwards must-initialized problem. */
|
||||
/* Transfer function for the forwards may-initialized problem. */
|
||||
|
||||
static bool
|
||||
df_live_transfer_function (int bb_index)
|
||||
|
@ -1555,7 +1556,7 @@ df_live_transfer_function (int bb_index)
|
|||
}
|
||||
|
||||
|
||||
/* And the LR info with the must-initialized registers, to produce the LIVE info. */
|
||||
/* And the LR info with the may-initialized registers to produce the LIVE info. */
|
||||
|
||||
static void
|
||||
df_live_finalize (bitmap all_blocks)
|
||||
|
|
Loading…
Add table
Reference in a new issue