gcc:
2012-07-27 Laurynas Biveinis <laurynas.biveinis@gmail.com>
Steven Bosscher <steven@gcc.gnu.org>
* gengtype.c (adjust_field_type): Diagnose duplicate "length"
option applications and option being applied to arrays of atomic
types.
(walk_type): Allow "atomic" option on strings too.
* dwarf2out.h (struct dw_vec_struct): Use the "atomic" GTY option
for the array field.
* vec.h: Describe the atomic object "A" type of the macros in
the header comment.
(VEC_T_GTY_ATOMIC, DEF_VEC_A, DEF_VEC_ALLOC_A): Define.
* emit-rtl.c (locations_locators_vals): use the atomic object
vector.
* doc/gty.texi: Clarify that GTY option "length" is only for
arrays of non-atomic objects. Fix typo in the description of the
"atomic" option.
gcc/java:
2012-07-24 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* jcf.h (CPool): Use the "atomic" GTY option for the tags field.
(bootstrap_method): Likewise for the bootstrap_arguments field.
libcpp:
2012-07-24 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* include/line-map.h (line_map_macro): Use the "atomic" GTY option
for the macro_locations field.
Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
From-SVN: r189951
2012-07-29 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/54075
* include/bits/hashtable_policy.h
(_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
to boost growth in the number of buckets.
* testsuite/performance/23_containers/insert/unordered_set.cc: New.
From-SVN: r189938
* config/i386/i386.c (ix86_avoid_lea_for_addr): Handle
zero-extended addresses. Return false if the address has less
than two components.
(ix86_split_lea_for_addr): Unconditionally convert target and
all address operands to requested mode.
* config/i386/i386.md (*lea<mode>): Recover operands from curr_insn.
Pass SImode to ix86_split_lea_for_addr when splitting zero-extended
address.
(zero-extended add splitter): New splitter to conditionally split
non-destructive adds.
(*zero_extendsidi2_rex64): Conditionally emit leal instead of movl.
From-SVN: r189925
PR target/54093
* config/rs6000/rs6000.c (rs6000_secondary_reload): Limit 32-bit
multi-gpr reload to cases where predicate passes. Do the same for
64-bit multi-gpr reload.
From-SVN: r189921
PR target/54089
* config/sh/sh.c (shiftcosts): Remove case where first operand
is a const_int. Move COSTS_N_INSNS usage into caller ...
(sh_rtx_costs) ... here. Return false when shiftcosts cannot be
calculated instead of MAX_COST.
From-SVN: r189917
* system-darwin-ppc64.ads: Add Support_Atomic_Primitives, set to True.
-- This line and those below it will be ignored
M ChangeLog
M system-darwin-ppc64.ads
From-SVN: r189916
2012-07-27 Richard Guenther <rguenther@suse.de>
* tree-into-ssa.c (def_blocks_p): New typedef.
(insert_phi_nodes_compare_def_blocks): New function.
(insert_phi_nodes): Do not walk over referenced vars, instead
walk over recorded def_blocks, record relevant ones and sort
them to avoid repeated hashtable lookups.
From-SVN: r189912
2012-07-27 Marek Polacek <polacek@redhat.com>
* cgraphunit.c: Rename varpool_finalize_variable to
varpool_finalize_decl in a comment.
From-SVN: r189910
2012-07-26 Andrew Jenner <andrew@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* cse.c (find_comparison_args): Check for cycles of any length.
gcc/testsuite/
* gcc.c-torture/compile/pr50380.c: Add code to cause cycle of length 2.
Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r189896
Some of the hosts were we run this script are still using Python 2.4.
This patch replaces the use of 'with ... as ...' to avoid syntax errors.
2012-07-26 Diego Novillo <dnovillo@google.com>
* testsuite-management/validate_failures.py: Do not use
'with ... as ...' constructs.
From-SVN: r189893
* config/mn10300/mn10300.c (REG_SAVE_BYTES): Delete.
(mn10300_get_live_callee_saved_regs): If requested return a count
of the number of bytes in the mask.
(mn10300_expand_prologue): Add argument to invocation of
mn10300_get_live_callee_regs.
(mn10300_expand_epilogue): Compute reg_save_bytes by calling
mn10300_get_live_callee_saved_regs.
(mn10300_initial_offset): Likewise.
* config/mn10300/mn10300-protos.h (mn10300_get_live_callee_saved_regs):
Update prototype.
* config/mn10300/mn10300.md (return_ret): Add argument to
invocation of mn10300_get_live_callee_saved_regs.
From-SVN: r189892
* bitmap.h: Add explanation of sparse set as linked-list bitmap.
* sbitmap.h: Add explanation about non-sparse sets as simple bitmap.
(TEST_BIT): Make a static inline function for stronger type checking.
(SET_BIT): Don't handle sbitmaps with popcount.
(RESET_BIT): Likewise.
(SET_BIT_WITH_POPCOUNT): New, like SET_BIT but with popcount.
(RESET_BIT_WITH_POPCOUNT): New, like RESET_BIT but with popcount.
* ebitmap.c (ebitmap_clear_bit): Use SET_BIT_WITH_POPCOUNT and
RESET_BIT_WITH_POPCOUNT on wordmask bitmaps.
(ebitmap_set_bit, ebitmap_and_into, ebitmap_and, ebitmap_ior_into,
ebitmap_and_compl_into, ebitmap_and_compl): Likewise.
* sparseset.h: Add explanation of sparse set representation.
From-SVN: r189888
2012-07-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/54098
* tree-vrp.c (vrp_visit_phi_node): Iterate once more if the
original range was UNDEFINED.
* gcc.dg/torture/pr54098.c: New testcase.
From-SVN: r189885
fortran/
PR fortran/44354
* array.c (sought_symbol): New variable.
(expr_is_sought_symbol_ref, find_symbol_in_expr): New functions.
(resolve_array_list): Check for references to the induction
variable in the iteration bounds and issue a diagnostic if some
are found.
testsuite/
PR fortran/44354
* gfortran.dg/array_constructor_38.f90: New test.
From-SVN: r189882
PR target/51244
* config/sh/sh.opt (mzdcbranch): New option.
* doc/invoke.texi: Document it.
* config/sh/sh.md (negsi_cond): Use TARGET_ZDCBRANCH as condition
instead of TARGET_HARD_SH4.
* config/sh/sh.c (sh_option_override): Set TARGET_ZDCBRANCH as default
for TARGET_HARD_SH4.
From-SVN: r189877
* gimple-low.c (lower_try_catch): New function.
(lower_stmt) <GIMPLE_TRY>: Use it to lower GIMPLE_TRY_CATCH.
<GIMPLE_CATCH>: Delete.
<GIMPLE_EH_FILTER>: Likewise.
From-SVN: r189865
* expr.c (expand_expr_real_1): Do not expand operand #1 and #2
of BIT_FIELD_REF for ignored results.
* fold-const.c (fold_ternary_loc) <BIT_FIELD_REF>: Check that the
CONSTRUCTOR has vector type before using vector accessors on it.
* gimplify.c (gimplify_compound_lval): Do not gimplify operand #1 and
#2 of BIT_FIELD_REF.
(gimplify_expr) <BIT_FIELD_REF>: Likewise.
* tree-nested.c (convert_nonlocal_reference_op) <BIT_FIELD_REF>: Do
not process operand #1 and #2.
(convert_local_reference_op): Likewise.
* tree-ssa-pre.c (create_component_ref_by_pieces_1): Remove superfluous
breaks throughout.
<BIT_FIELD_REF>: Reuse operand #1 and #2 directly.
* tree.c (stabilize_reference) <BIT_FIELD_REF>: Do not stabilize
operand #1 and #2.
(UPDATE_FLAGS): Do not consider operand #2 of BIT_FIELD_REF.
(build6_stat): Delete.
* tree.h (build6_stat, build6, build6_stat_loc, build6_loc): Likewise.
ada/
* gcc-interface/utils2.c (gnat_stabilize_reference) <BIT_FIELD_REF>: Do
not stabilize operand #1 and #2.
From-SVN: r189864
2012-07-25 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/54075
* include/bits/hashtable.h
(_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
size_type, ...): Remove std::max usage to guarantee that hashtable
state is consistent with hash policy state.
(_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
the hashtable to be shrinking on next insertion.
* testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
* testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
* testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
* testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
From-SVN: r189863