mirror of git://gcc.gnu.org/git/gcc.git
re PR target/4828 (can't install gcc for h8300-hms target)
PR bootstrap/4828 Revert: 2011-03-24 Nathan Froyd <froydnj@codesourcery.com> * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and FOR_BB_INSNS_SAFE to iterate through insns. Re-indent. (pass_instantiate_virtual_regs): Require PROP_cfglayout. * passes.c (init_optimization_passes): Move pass_instantiate_virtual_regs after pass_into_cfg_layout_mode. From-SVN: r171447
This commit is contained in:
parent
8d4c5ac696
commit
45dbce1b85
|
@ -1,3 +1,15 @@
|
||||||
|
2011-03-25 Nathan Froyd <froydnj@codesourcery.com>
|
||||||
|
|
||||||
|
PR bootstrap/4828
|
||||||
|
Revert:
|
||||||
|
2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
|
||||||
|
|
||||||
|
* function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
|
||||||
|
FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
|
||||||
|
(pass_instantiate_virtual_regs): Require PROP_cfglayout.
|
||||||
|
* passes.c (init_optimization_passes): Move
|
||||||
|
pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
|
||||||
|
|
||||||
2011-03-25 Kai Tietz <ktietz@redhat.com>
|
2011-03-25 Kai Tietz <ktietz@redhat.com>
|
||||||
|
|
||||||
* c-typeck.c (comptypes_internal): Replace target
|
* c-typeck.c (comptypes_internal): Replace target
|
||||||
|
|
|
@ -1883,7 +1883,7 @@ instantiate_decls (tree fndecl)
|
||||||
static unsigned int
|
static unsigned int
|
||||||
instantiate_virtual_regs (void)
|
instantiate_virtual_regs (void)
|
||||||
{
|
{
|
||||||
basic_block bb;
|
rtx insn;
|
||||||
|
|
||||||
/* Compute the offsets to use for this function. */
|
/* Compute the offsets to use for this function. */
|
||||||
in_arg_offset = FIRST_PARM_OFFSET (current_function_decl);
|
in_arg_offset = FIRST_PARM_OFFSET (current_function_decl);
|
||||||
|
@ -1901,40 +1901,33 @@ instantiate_virtual_regs (void)
|
||||||
|
|
||||||
/* Scan through all the insns, instantiating every virtual register still
|
/* Scan through all the insns, instantiating every virtual register still
|
||||||
present. */
|
present. */
|
||||||
FOR_EACH_BB (bb)
|
for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
|
||||||
{
|
if (INSN_P (insn))
|
||||||
rtx insn, curr;
|
{
|
||||||
|
/* These patterns in the instruction stream can never be recognized.
|
||||||
|
Fortunately, they shouldn't contain virtual registers either. */
|
||||||
|
if (GET_CODE (PATTERN (insn)) == USE
|
||||||
|
|| GET_CODE (PATTERN (insn)) == CLOBBER
|
||||||
|
|| GET_CODE (PATTERN (insn)) == ADDR_VEC
|
||||||
|
|| GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC
|
||||||
|
|| GET_CODE (PATTERN (insn)) == ASM_INPUT)
|
||||||
|
continue;
|
||||||
|
else if (DEBUG_INSN_P (insn))
|
||||||
|
for_each_rtx (&INSN_VAR_LOCATION (insn),
|
||||||
|
instantiate_virtual_regs_in_rtx, NULL);
|
||||||
|
else
|
||||||
|
instantiate_virtual_regs_in_insn (insn);
|
||||||
|
|
||||||
FOR_BB_INSNS_SAFE (bb, insn, curr)
|
if (INSN_DELETED_P (insn))
|
||||||
{
|
continue;
|
||||||
if (INSN_P (insn))
|
|
||||||
{
|
|
||||||
/* These patterns in the instruction stream can never be recognized.
|
|
||||||
Fortunately, they shouldn't contain virtual registers either. */
|
|
||||||
if (GET_CODE (PATTERN (insn)) == USE
|
|
||||||
|| GET_CODE (PATTERN (insn)) == CLOBBER
|
|
||||||
|| GET_CODE (PATTERN (insn)) == ADDR_VEC
|
|
||||||
|| GET_CODE (PATTERN (insn)) == ADDR_DIFF_VEC
|
|
||||||
|| GET_CODE (PATTERN (insn)) == ASM_INPUT)
|
|
||||||
continue;
|
|
||||||
else if (DEBUG_INSN_P (insn))
|
|
||||||
for_each_rtx (&INSN_VAR_LOCATION (insn),
|
|
||||||
instantiate_virtual_regs_in_rtx, NULL);
|
|
||||||
else
|
|
||||||
instantiate_virtual_regs_in_insn (insn);
|
|
||||||
|
|
||||||
if (INSN_DELETED_P (insn))
|
for_each_rtx (®_NOTES (insn), instantiate_virtual_regs_in_rtx, NULL);
|
||||||
continue;
|
|
||||||
|
|
||||||
for_each_rtx (®_NOTES (insn), instantiate_virtual_regs_in_rtx, NULL);
|
/* Instantiate any virtual registers in CALL_INSN_FUNCTION_USAGE. */
|
||||||
|
if (CALL_P (insn))
|
||||||
/* Instantiate any virtual registers in CALL_INSN_FUNCTION_USAGE. */
|
for_each_rtx (&CALL_INSN_FUNCTION_USAGE (insn),
|
||||||
if (CALL_P (insn))
|
instantiate_virtual_regs_in_rtx, NULL);
|
||||||
for_each_rtx (&CALL_INSN_FUNCTION_USAGE (insn),
|
}
|
||||||
instantiate_virtual_regs_in_rtx, NULL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Instantiate the virtual registers in the DECLs for debugging purposes. */
|
/* Instantiate the virtual registers in the DECLs for debugging purposes. */
|
||||||
instantiate_decls (current_function_decl);
|
instantiate_decls (current_function_decl);
|
||||||
|
@ -1970,7 +1963,7 @@ struct rtl_opt_pass pass_instantiate_virtual_regs =
|
||||||
NULL, /* next */
|
NULL, /* next */
|
||||||
0, /* static_pass_number */
|
0, /* static_pass_number */
|
||||||
TV_NONE, /* tv_id */
|
TV_NONE, /* tv_id */
|
||||||
PROP_cfglayout, /* properties_required */
|
0, /* properties_required */
|
||||||
0, /* properties_provided */
|
0, /* properties_provided */
|
||||||
0, /* properties_destroyed */
|
0, /* properties_destroyed */
|
||||||
0, /* todo_flags_start */
|
0, /* todo_flags_start */
|
||||||
|
|
|
@ -956,8 +956,8 @@ init_optimization_passes (void)
|
||||||
NEXT_PASS (pass_rtl_eh);
|
NEXT_PASS (pass_rtl_eh);
|
||||||
NEXT_PASS (pass_initial_value_sets);
|
NEXT_PASS (pass_initial_value_sets);
|
||||||
NEXT_PASS (pass_unshare_all_rtl);
|
NEXT_PASS (pass_unshare_all_rtl);
|
||||||
NEXT_PASS (pass_into_cfg_layout_mode);
|
|
||||||
NEXT_PASS (pass_instantiate_virtual_regs);
|
NEXT_PASS (pass_instantiate_virtual_regs);
|
||||||
|
NEXT_PASS (pass_into_cfg_layout_mode);
|
||||||
NEXT_PASS (pass_jump2);
|
NEXT_PASS (pass_jump2);
|
||||||
NEXT_PASS (pass_lower_subreg);
|
NEXT_PASS (pass_lower_subreg);
|
||||||
NEXT_PASS (pass_df_initialize_opt);
|
NEXT_PASS (pass_df_initialize_opt);
|
||||||
|
|
Loading…
Reference in New Issue