re PR middle-end/37884 (Bootstrap failure due to miscompilation of tree-vrp.c)
2008-10-27 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/37884 * ira-build.c (copy_live_ranges_to_removed_store_destinations): Rename to copy_info_to_removed_store_destinations. Propagate conflict hard regs and register stack attribute. From-SVN: r141383
This commit is contained in:
parent
83b83ae97a
commit
801f03e3d2
@ -1,3 +1,10 @@
|
||||
2008-10-27 Vladimir Makarov <vmakarov@redhat.com>
|
||||
|
||||
PR middle-end/37884
|
||||
* ira-build.c (copy_live_ranges_to_removed_store_destinations):
|
||||
Rename to copy_info_to_removed_store_destinations. Propagate
|
||||
conflict hard regs and register stack attribute.
|
||||
|
||||
2008-10-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
PR middle-end/37316
|
||||
@ -47,7 +54,7 @@
|
||||
* tree-ssa-loop-ivopts.c (add_old_iv_candidates): For pointer bases
|
||||
add sizetype IV with initial value zero instead of pointer type.
|
||||
|
||||
2008-10-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
2008-10-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
|
||||
PR c/7543
|
||||
* value-prof.c (gimple_stringop_fixed_value): Use parentheses
|
||||
@ -140,7 +147,7 @@
|
||||
* tree-ssa-structalias.c (could_have_pointers): Complex types
|
||||
cannot have pointers.
|
||||
|
||||
2008-10-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
2008-10-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
|
||||
PR c/30949
|
||||
* c-typeck.c (convert_for_assignment): Do not give declaration's
|
||||
@ -228,11 +235,11 @@
|
||||
* tree-ssa-pre.c (insert_into_preds_of_block): Don't rewrite constant
|
||||
part of expression.
|
||||
|
||||
2008-10-20 Tobias Schlüter <tobi@gcc.gnu.org>
|
||||
2008-10-20 Tobias Schlüter <tobi@gcc.gnu.org>
|
||||
|
||||
* doc/install.texi: Fix typos in previous patch.
|
||||
|
||||
2008-10-19 Tobias Schlüter <tobi@gcc.gnu.org>
|
||||
2008-10-19 Tobias Schlüter <tobi@gcc.gnu.org>
|
||||
|
||||
* doc/install.texi: Document in-tree building of gcc and mpfr.
|
||||
|
||||
@ -240,7 +247,7 @@
|
||||
|
||||
* tree-ssa-alias.c (may_alias_p): Remove bogus shortcut.
|
||||
|
||||
2008-10-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
2008-10-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
|
||||
PR c/30260
|
||||
* c-decl.c (finish_enum): Convert non-integer enumerators to enum
|
||||
@ -7216,7 +7223,7 @@
|
||||
* passes.c (init_optimization_passes): Exchange store-ccp
|
||||
with a ccp pass.
|
||||
|
||||
2008-08-19 Rafael EspÃndola <espindola@google.com>
|
||||
2008-08-19 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* varasm.c (weak_decls): Move earlier in the file.
|
||||
(assemble_external): Add weak decls to the weak_decls list.
|
||||
@ -9015,7 +9022,7 @@
|
||||
PR ada/36554
|
||||
* dwarf2out.c (is_subrange_type): Deal with BOOLEAN_TYPE.
|
||||
|
||||
2008-07-30 Rafael Ãvila de EspÃndola <espindola@google.com>
|
||||
2008-07-30 Rafael ÃÂvila de EspÃÂndola <espindola@google.com>
|
||||
|
||||
PR 36974
|
||||
* final.c (call_from_call_insn): Handle COND_EXEC.
|
||||
@ -9227,7 +9234,7 @@
|
||||
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Add clause for
|
||||
vector modes.
|
||||
|
||||
2008-07-30 Rafael Ãvila de EspÃndola <espindola@google.com>
|
||||
2008-07-30 Rafael ÃÂvila de EspÃÂndola <espindola@google.com>
|
||||
|
||||
* final.c (call_from_call_insn): New.
|
||||
(final_scan_insn): Call assemble_external on FUNCTION_DECLs.
|
||||
@ -10345,7 +10352,7 @@
|
||||
(TARGET_OPTION_PRINT): Ditto.
|
||||
(TARGET_CAN_INLINE_P): Ditto.
|
||||
|
||||
2008-07-22 Rafael Ãvila de EspÃndola <espindola@google.com>
|
||||
2008-07-22 Rafael ÃÂvila de EspÃÂndola <espindola@google.com>
|
||||
|
||||
* c-typeck.c (build_external_ref): Don't call assemble_external.
|
||||
* final.c (output_operand): Call assemble_external.
|
||||
@ -10366,7 +10373,7 @@
|
||||
highest magnitude if this is still less or equal to the true
|
||||
quotient in magnitude.
|
||||
|
||||
2008-07-21 Rafael Ãvila de EspÃndola <espindola@google.com>
|
||||
2008-07-21 Rafael ÃÂvila de EspÃÂndola <espindola@google.com>
|
||||
|
||||
* Makefile.in: Replace toplev.h with TOPLEV_H.
|
||||
* c-decl.c (merge_decls): Don't set DECL_IN_SYSTEM_HEADER.
|
||||
@ -10669,7 +10676,7 @@
|
||||
(m32c_legitimate_address_p): Handle "++rii" addresses created by
|
||||
m32c_legitimize_reload_address.
|
||||
|
||||
2007-07-16 Rafael Ãvila de EspÃndola <espindola@google.com>
|
||||
2007-07-16 Rafael ÃÂvila de EspÃÂndola <espindola@google.com>
|
||||
|
||||
* c-decl.c (merge_decls): Keep DECL_SOURCE_LOCATION and
|
||||
DECL_IN_SYSTEM_HEADER in sync.
|
||||
@ -10759,7 +10766,7 @@
|
||||
|
||||
* emit-rtl.c (set_mem_attributes_minus_bitpos): Improve comment.
|
||||
|
||||
2007-07-14 Rafael Ãvila de EspÃndola <espindola@google.com>
|
||||
2007-07-14 Rafael ÃÂvila de EspÃÂndola <espindola@google.com>
|
||||
|
||||
* c-decl.c (diagnose_mismatched_decls): Don't warn if TREE_NO_WARNING
|
||||
is set.
|
||||
@ -15051,7 +15058,7 @@
|
||||
Clear __gcov_indreict_call_callee variable to avoid misattribution
|
||||
of the profile.
|
||||
|
||||
2008-05-28 Rafael EspÃndola <espindola@google.com>
|
||||
2008-05-28 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* see.c (see_def_extension_not_merged): Use copy_rtx_if_shared to avoid
|
||||
invalid sharing.
|
||||
@ -15469,7 +15476,7 @@
|
||||
for A24 to PSImode.
|
||||
(m32c_address_cost): Detail costs for indirect offsets.
|
||||
|
||||
2008-05-23 Rafael EspÃndola <espindola@google.com>
|
||||
2008-05-23 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* see.c (see_get_extension_data): Don't use SUBREG_REG to test
|
||||
if a node is a SUBREG.
|
||||
@ -15570,7 +15577,7 @@
|
||||
* config/avr/avr.c (get_sequence_length): Add new function.
|
||||
(expand_prologue, expand_epilogue): Remove duplicate code.
|
||||
|
||||
2008-05-22 Rafael EspÃndola <espindola@google.com>
|
||||
2008-05-22 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* see.c (see_pre_insert_extensions): Use copy_rtx to avoid invalid rtx
|
||||
sharing.
|
||||
@ -16862,7 +16869,7 @@
|
||||
to one line.
|
||||
* doc/invoke.texi (Wframe-larger-than=): Add more description.
|
||||
|
||||
2008-05-08 Rafael EspÃndola <espindola@google.com>
|
||||
2008-05-08 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* tree-complex.c (expand_complex_div_wide): Don't create CONDs that
|
||||
trap.
|
||||
@ -17889,7 +17896,7 @@
|
||||
(evaluate_stmt): Print the likely value.
|
||||
(ccp_visit_stmt): Avoid excessive vertical spacing.
|
||||
|
||||
2008-04-30 Rafael EspÃndola <espindola@google.com>
|
||||
2008-04-30 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* builtins.c (fold_call_expr): Return realret.
|
||||
* tree-ssa-threadedge.c
|
||||
@ -18672,7 +18679,7 @@
|
||||
* tree-vect-analyze.c (vect_analyze_group_access): SLP is
|
||||
incapable of dealing with loads with gaps.
|
||||
|
||||
2008-04-24 Rafael EspÃndola <espindola@google.com>
|
||||
2008-04-24 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* tree-flow.h (vrp_evaluate_conditional): Change signature.
|
||||
* tree-ssa-propagate.c (fold_predicate_in): Update call to
|
||||
@ -18996,7 +19003,7 @@
|
||||
|
||||
* Makefile.in (s-gtyp-input): Remove tmp-gi.list before writing it.
|
||||
|
||||
2008-04-18 Rafael EspÃndola <espindola@google.com>
|
||||
2008-04-18 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* tree-vrp.c (find_case_label_index): Fix the binary search.
|
||||
(find_case_label_range): New.
|
||||
@ -19302,7 +19309,7 @@
|
||||
* c-decl.c (finish_decl): If extern or static var has variable
|
||||
size, set TREE_TYPE (decl) to error_mark_node.
|
||||
|
||||
2008-04-15 Rafael EspÃndola <espindola@google.com>
|
||||
2008-04-15 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* fold-const.c (tree_call_nonnegative_warnv_p): Remove local
|
||||
variable arg1.
|
||||
@ -19442,7 +19449,7 @@
|
||||
|
||||
* config/spu/spu.c (spu_init_builtins): Mark builtins as nothrow.
|
||||
|
||||
2008-04-10 Rafael EspÃndola <espindola@google.com>
|
||||
2008-04-10 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* tree-vrp.c (extract_range_from_binary_expr): Don't handle
|
||||
TRUTH_ANDIF_EXPR or TRUTH_ORIF_EXPR.
|
||||
@ -19537,7 +19544,7 @@
|
||||
* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update
|
||||
GNU Fortran language string.
|
||||
|
||||
2008-04-08 Rafael EspÃndola <espindola@google.com>
|
||||
2008-04-08 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* fold-canst.c (tree_call_nonnegative_warnv_p): New.
|
||||
(tree_invalid_nonnegative_warnv_p): Use tree_call_nonnegative_warnv_p.
|
||||
@ -20185,7 +20192,7 @@
|
||||
make sure to fill gaps with a fallback label if default_label
|
||||
is not present.
|
||||
|
||||
2008-04-03 Dominique d'Humières <dominiq@lps.ens.fr>
|
||||
2008-04-03 Dominique d'Humières <dominiq@lps.ens.fr>
|
||||
|
||||
PR target/35801
|
||||
* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Free cfun.
|
||||
@ -20348,7 +20355,7 @@
|
||||
(varying_mem_p): Move above propagate_rtx.
|
||||
(all_uses_available_at): Do not check MEMs.
|
||||
|
||||
2008-04-02 Rafael EspÃndola <espindola@google.com>
|
||||
2008-04-02 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* tree-vrp.c (extract_code_and_val_from_cond): Remove.
|
||||
(register_edge_assert_for_2): Split the cond argument.
|
||||
@ -20523,7 +20530,7 @@
|
||||
(*sse4_1_smin<mode>3): Likewise.
|
||||
(*sse4_1_umin<mode>3): Likewise.
|
||||
|
||||
2008-04-01 Rafael EspÃndola <espindola@google.com>
|
||||
2008-04-01 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* tree-cfg.c (verify_expr): remove in_phi.
|
||||
(verify_stmt): Don't call walk_tree with verify_expr. Use
|
||||
@ -20544,7 +20551,7 @@
|
||||
PR pch/13675
|
||||
* c-pch.c (c_common_read_pch): On error close (fd) resp. fclose (f).
|
||||
|
||||
2008-04-01 Rafael EspÃndola <espindola@google.com>
|
||||
2008-04-01 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* tree-vrp.c (extract_code_and_val_from_cond_with_ops): New.
|
||||
(extract_code_and_val_from_cond): Use
|
||||
@ -20735,7 +20742,7 @@
|
||||
vectorization support.
|
||||
* doc/invoke.texi (-mveclibabi) [svml]: Document new target option.
|
||||
|
||||
2008-03-28 Rafael EspÃndola <espindola@google.com>
|
||||
2008-03-28 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* fold-const.c (tree_unary_nonnegative_warnv_p): Make it public.
|
||||
(tree_binary_nonnegative_warnv_p): Make it public.
|
||||
@ -22528,7 +22535,7 @@
|
||||
on hpux10.
|
||||
* configure: Rebuilt.
|
||||
|
||||
2008-03-04 Rafael EspÃndola <espindola@google.com>
|
||||
2008-03-04 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* fold-const.c (tree_simple_nonnegative_warnv_p): New.
|
||||
(tree_unary_nonnegative_warnv_p): New.
|
||||
@ -22549,7 +22556,7 @@
|
||||
* config/i386/smmintrin.h (SIDD_XXX): Renamed to ...
|
||||
(_SIDD_XXX): This.
|
||||
|
||||
2008-03-04 Rafael EspÃndola <espindola@google.com>
|
||||
2008-03-04 Rafael EspÃÂndola <espindola@google.com>
|
||||
|
||||
* fold-const.c (tree_unary_nonzero_warnv_p): New.
|
||||
(tree_binary_nonzero_warnv_p): New.
|
||||
|
@ -2042,11 +2042,12 @@ create_caps (void)
|
||||
static ira_allocno_t *regno_top_level_allocno_map;
|
||||
|
||||
/* Process all allocnos originated from pseudo REGNO and copy live
|
||||
ranges from low level allocnos to final allocnos which are
|
||||
destinations of removed stores at a loop exit. Return true if we
|
||||
copied live ranges. */
|
||||
ranges, hard reg conflicts, and allocno stack reg attributes from
|
||||
low level allocnos to final allocnos which are destinations of
|
||||
removed stores at a loop exit. Return true if we copied live
|
||||
ranges. */
|
||||
static bool
|
||||
copy_live_ranges_to_removed_store_destinations (int regno)
|
||||
copy_info_to_removed_store_destinations (int regno)
|
||||
{
|
||||
ira_allocno_t a, parent_a;
|
||||
ira_loop_tree_node_t parent;
|
||||
@ -2087,6 +2088,12 @@ copy_live_ranges_to_removed_store_destinations (int regno)
|
||||
change_allocno_in_range_list (r, parent_a);
|
||||
ALLOCNO_LIVE_RANGES (parent_a)
|
||||
= merge_ranges (r, ALLOCNO_LIVE_RANGES (parent_a));
|
||||
IOR_HARD_REG_SET (ALLOCNO_TOTAL_CONFLICT_HARD_REGS (parent_a),
|
||||
ALLOCNO_TOTAL_CONFLICT_HARD_REGS (a));
|
||||
#ifdef STACK_REGS
|
||||
if (ALLOCNO_TOTAL_NO_STACK_REG_P (a))
|
||||
ALLOCNO_TOTAL_NO_STACK_REG_P (parent_a) = true;
|
||||
#endif
|
||||
merged_p = true;
|
||||
}
|
||||
return merged_p;
|
||||
@ -2235,7 +2242,7 @@ ira_flattening (int max_regno_before_emit, int ira_max_point_before_emit)
|
||||
ALLOCNO_COPIES (a) = NULL;
|
||||
regno_top_level_allocno_map[REGNO (ALLOCNO_REG (a))] = a;
|
||||
}
|
||||
if (mem_dest_p && copy_live_ranges_to_removed_store_destinations (i))
|
||||
if (mem_dest_p && copy_info_to_removed_store_destinations (i))
|
||||
merged_p = true;
|
||||
}
|
||||
ira_assert (new_pseudos_p || ira_max_point_before_emit == ira_max_point);
|
||||
|
Loading…
x
Reference in New Issue
Block a user