Alan Modra [Sat, 14 Apr 2012 13:24:43 +0000 (22:54 +0930)]
re PR libstdc++/52839 (double free or corruption running tr1/.../default_weaktoshared.exe)
PR libstdc++/52839
* acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
glibcxx_cv_atomic_long_long.
* configure: Regenerate.
From-SVN: r186453
Tom de Vries [Sat, 14 Apr 2012 12:17:50 +0000 (12:17 +0000)]
superblock.c: New test.
2012-04-14 Tom de Vries <tom@codesourcery.com>
* gcc.dg/superblock.c: New test.
From-SVN: r186452
Tom de Vries [Sat, 14 Apr 2012 12:17:41 +0000 (12:17 +0000)]
cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by call to delete_insn.
2012-04-14 Tom de Vries <tom@codesourcery.com>
* cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by
call to delete_insn. Remove code to reorder BASIC_BLOCK note and
DELETED_LABEL note, and move it to ...
* cfgrtl.c (delete_insn): ... here. Change return type to void.
(delete_insn_and_edges): Likewise.
(delete_insn_chain): Handle new return type of delete_insn. Delete
chain backwards rather than forwards.
* rtl.h (delete_insn, delete_insn_and_edges): Change return type to
void.
* cfglayout.c (fixup_reorder_chain): Delete unused label.
From-SVN: r186451
Jan Hubicka [Sat, 14 Apr 2012 10:24:59 +0000 (12:24 +0200)]
cgraph.h: Update copyrights;
* cgraph.h: Update copyrights;
(symtab_node): Turn to union typedef.
(symtab_node_base): New structure.
(symtab_type): Add SYMTAB_SYMBOL tag.
* cgraph.c: Update references to fields
(cgraph_hash, assembler_name_hash): Turn into symtab_node.
(cgraph_local_info): Remove lto_file_data
and externally_visible.
(cgraph_node): Remove decl; same_comdat_group list;
aux; ref_list; order; address_taken; reachable_from_other_parittion,
in_other_partition; resolution.
(varpool_node): Remove decl; same_comdat_group;
ref_list; lto_file_data; aux; order; resolution; externally_visible;
used_from_other_partition; in_other_partition.
(symtab_node_def); New union.
(cgraph, varpool): Update.
(varpool_first_static_initializer, varpool_next_static_initializer,
cgraph_only_called_directly_or_aliased_p,
varpool_can_remove_if_no_refs, varpool_can_remove_if_no_refs,
varpool_all_refs_explicit_p, cgraph_alias_aliased_node,
varpool_alias_aliased_node, cgraph_edge_recursive_p): Update
field references.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* lto-symtab.c: Likewise.
* c-gimplify.c: Likewise.
* value-prof.c: Likewise.
* tree.c: Likewise.
* ipa-cp.c: Likewise.
* tree-emutls.c: Likewise.
* ipa-inline-transform.c: Likwise.
* ipa-reference.c: Likewise.
* cgraphunit.c: Likewise.
* ipa-ref.c: Likewise.
* lto-cgraph.c: Likewise.
* ipa-ref-inline.h: Likewise.
* ipa-pure-const.c: Likewise.
* lto-streamer-out.c: Likewise.
* ipa-utils.c: Likewise.
* ipa-inline.c: Likewise.
* matrix-reorg.c: Likewise.
* tree-eh.c: Likewise.
* tree-vectorizer.c: Likewise.
* ipa-split.c: Likewise.
* ipa.c: Likewise.
* trans-mem.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* gimplify.c: Likewise.
* cfgexpand.c: Likewise.
* tree-sra.c: Likewise.
* ipa-prop.c: Likewise.
* varasm.c: Likewise.
* tree-nested.c: Likewise.
* tree-inline.c: Likewise.
* tree-profile.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* passes.c: Likewise.
* varpool.c: Likewise.
* tree.c: Update field referenced for new cgraph/varpool layout.
* decl2.c: Likewise.
* gcc-interface/trans.c (finalize_nrv): Update field referenced for new
cgraph/varpool layout.
* lto.c: Update field referenced for new cgraph/varpool layout.
* lto-partition.c: Likewise.
From-SVN: r186450
Tom de Vries [Sat, 14 Apr 2012 05:49:24 +0000 (05:49 +0000)]
pr51879-12.c: New test.
2012-04-14 Tom de Vries <tom@codesourcery.com>
* gcc.dg/pr51879-12.c: New test.
From-SVN: r186448
Tom de Vries [Sat, 14 Apr 2012 05:49:15 +0000 (05:49 +0000)]
tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of same_succ_hash, with local_def inlined.
2012-04-14 Tom de Vries <tom@codesourcery.com>
* tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of
same_succ_hash, with local_def inlined. Use SINGLE_SSA_DEF_OPERAND.
Use FOR_EACH_IMM_USE_FAST instead of FOR_EACH_IMM_USE_STMT. Remove use
of find_edge.
(gsi_advance_fw_nondebug_nonlocal): New function.
(local_def): Removed function.
(same_succ_hash): Use stmt_local_def.
(same_succ_equal): Use gsi_advance_fw_nondebug_nonlocal.
(gsi_advance_bw_nondebug_nonlocal): Use stmt_local_def.
From-SVN: r186447
Paolo Carlini [Sat, 14 Apr 2012 01:34:00 +0000 (01:34 +0000)]
51083.cc: Move...
2012-04-13 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/26_numerics/cmath/51083.cc: Move...
* testsuite/26_numerics/headers/cmath/51083.cc: ... here.
From-SVN: r186445
GCC Administrator [Sat, 14 Apr 2012 00:20:40 +0000 (00:20 +0000)]
Daily bump.
From-SVN: r186444
Jason Merrill [Fri, 13 Apr 2012 19:43:57 +0000 (15:43 -0400)]
re PR c++/52824 ([C++11] expanding variadic template arguments into non-variadic template)
PR c++/52824
* pt.c (any_pack_expanson_args_p): New.
(coerce_template_parms): Use it.
From-SVN: r186434
Jason Merrill [Fri, 13 Apr 2012 19:43:47 +0000 (15:43 -0400)]
re PR c++/52905 ([C++0x] ice on invalid brace-enclosed initializer of vector of enums)
PR c++/52905
* call.c (joust): Handle comparing list and non-list ctors.
From-SVN: r186433
Jason Merrill [Fri, 13 Apr 2012 19:43:37 +0000 (15:43 -0400)]
re PR c++/52915 ([C++11] Deleted default-constructor of anonymous unions not honored)
PR c++/52915
* decl2.c (finish_anon_union): Use cp_finish_decl.
* error.c (dump_function_name): Avoid showing anonymous "name".
From-SVN: r186432
H.J. Lu [Fri, 13 Apr 2012 18:20:10 +0000 (18:20 +0000)]
Define _ILP32 and __ILP32__ for x32
* config/i386/i386-c.c (ix86_target_macros): Define _ILP32
and __ILP32__ for x32.
From-SVN: r186429
Martin Jambor [Fri, 13 Apr 2012 17:57:21 +0000 (19:57 +0200)]
re PR middle-end/52939 (ice in gimple_get_virt_method_for_binfo with -O3)
2012-04-13 Martin Jambor <mjambor@suse.cz>
PR middle-end/52939
* gimple-fold.c (gimple_get_virt_method_for_binfo): Bail out if
fold_ctor_reference returns a zero constant.
* testsuite/g++.dg/ipa/pr52939.C: New test.
From-SVN: r186428
Enkovich Ilya [Fri, 13 Apr 2012 17:21:06 +0000 (17:21 +0000)]
Add and use config/i386/gnu-user-common.h
* config.gcc: Add i386/gnu-user-common.h before all
i386/gnu-user.h and i386/gnu-user64.h usages.
* config/i386/gnu-user-common.h: New.
* config/i386/gnu-user.h (CPP_SPEC): Moved to gnu-user-common.h.
(CC1_SPEC): Likewise.
(ENDFILE_SPEC): Likewise.
(DEFAULT_PCC_STRUCT_RETURN): Likewise.
(TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Likewise.
(TARGET_OS_CPP_BUILTINS): Likewise.
(LIBGCC2_HAS_TF_MODE): Likewise.
(LIBGCC2_TF_CEXT): Likewise.
(TF_SIZE): Likewise.
(TARGET_ASM_FILE_END): Likewise.
(STACK_CHECK_MOVING_SP): Likewise.
(STACK_CHECK_STATIC_BUILTIN): Likewise.
* config/i386/gnu-user64.h: Likewise.
From-SVN: r186427
Martin Jambor [Fri, 13 Apr 2012 17:12:33 +0000 (19:12 +0200)]
expr.c (expand_expr_real_1): Pass type, not the expression, to set_mem_attributes for a memory temporary.
2012-04-13 Martin Jambor <mjambor@suse.cz>
* expr.c (expand_expr_real_1): Pass type, not the expression, to
set_mem_attributes for a memory temporary. Do not call the function
for the memory temporary created for a bitfield.
From-SVN: r186426
Alexandre Oliva [Fri, 13 Apr 2012 15:56:21 +0000 (15:56 +0000)]
re PR debug/48866 (gcc hangs when -g is set)
PR debug/48866
* df.h (enum debug_temp_where): New.
(dead_debug_init, dead_debug_finish) Declare.
(dead_debug_add, dead_debug_insert_temp): Declare.
(struct dead_debug_use, struct dead_debug): Moved from...
* df-problems.c: ... here.
(df_set_unused_notes_for_mw): Bind debug uses of unused regno
to a debug temp.
(df_create_unused_note): Likewise.
(df_set_dead_notes_for_mw): Move comment where it belongs.
(dead_debug_init): Export.
(dead_debug_reset_uses): New, factored out of...
(dead_debug_finish): ...this. Export.
(dead_debug_reset): Remove.
(dead_debug_add): Export.
(dead_debug_insert_before): Rename to...
(dead_debug_insert_temp): ... this. Add where argument. Export.
Locate stored value for BEFORE_WITH_VALUE. Avoid repeat inserts.
Return insertion count.
(df_note_bb_compute): Adjust.
* dce.c (word_dce_process_block): Adjust dead debug uses.
(dce_process_block): Likewise.
From-SVN: r186422
Alexandre Oliva [Fri, 13 Apr 2012 15:56:07 +0000 (15:56 +0000)]
df-problems.c (df_note_bb_compute): Do not take note of debug uses for whose REGs we won't emit DEAD or UNUSED notes.
* df-problems.c (df_note_bb_compute): Do not take note of
debug uses for whose REGs we won't emit DEAD or UNUSED notes.
From-SVN: r186421
Alexandre Oliva [Fri, 13 Apr 2012 15:55:52 +0000 (15:55 +0000)]
re PR debug/51570 (FAIL: gcc.dg/guality/pr45003-[23].c)
PR debug/51570
* var-tracking.c (expand_depth): New type.
(onepart_aux, expand_loc_callback_data): Change depth type to it.
(loc_exp_dep_alloc): Adjust initializer.
(update_depth): Use new type. Add entryvals.
(vt_expand_var_loc_chain): Take note of expansions with
ENTRY_VALUEs, but don't accept them right away. Run an optional
second pass accepting the minimum ENTRY_VALUE count found in the
first pass.
(vt_expand_loc_callback, INIT_ELCD): Adjust.
From-SVN: r186420
Tom de Vries [Fri, 13 Apr 2012 14:53:16 +0000 (14:53 +0000)]
pr52734.c: New test.
2012-04-13 Tom de Vries <tom@codesourcery.com>
* gcc.dg/pr52734.c: New test.
From-SVN: r186419
Tom de Vries [Fri, 13 Apr 2012 14:53:07 +0000 (14:53 +0000)]
tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add parameters vuse and vuse_escaped.
2012-04-13 Tom de Vries <tom@codesourcery.com>
* tree-ssa-tail-merge.c (gsi_advance_bw_nondebug_nonlocal): Add
parameters vuse and vuse_escaped.
(find_duplicate): Init vuse1, vuse2 and vuse_escaped. Pass to
gsi_advance_bw_nondebug_nonlocal. Return if vuse_escaped and
vuse1 != vuse2.
From-SVN: r186418
Richard Guenther [Fri, 13 Apr 2012 12:22:16 +0000 (12:22 +0000)]
re PR tree-optimization/52969 (ICE in in get_expr_operands, at tree-ssa-operands.c:1035 with -ftree-loop-if-convert-stores)
2012-04-13 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52969
* tree-if-conv.c (predicate_mem_writes): Properly gimplify
the condition for the COND_EXPR and handle predicate negation
by swapping the COND_EXPR arms.
* gcc.dg/torture/pr52969.c: New testcase.
From-SVN: r186416
Christian Bruel [Fri, 13 Apr 2012 11:58:15 +0000 (13:58 +0200)]
fix last entry
From-SVN: r186415
Laurent Alfonsi [Fri, 13 Apr 2012 11:44:13 +0000 (11:44 +0000)]
PR:52604: (~__freelist): Reset pointer
From-SVN: r186414
Nick Clifton [Fri, 13 Apr 2012 10:59:02 +0000 (10:59 +0000)]
rl78.c (rl78_devirt_pass): Remove use of TODO_dump_func flag.
* config/rl78/rl78.c (rl78_devirt_pass): Remove use of
TODO_dump_func flag.
From-SVN: r186413
Paolo Carlini [Fri, 13 Apr 2012 10:43:28 +0000 (10:43 +0000)]
safe_iterator.h (_BeforeBeginHelper<>:: _S_Is_Beginnest): Add.
2012-04-13 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/safe_iterator.h (_BeforeBeginHelper<>::
_S_Is_Beginnest): Add.
* include/debug/forward_list (_BeforeBeginHelper<>::
_S_Is_Beginnest): Likewise.
(_Safe_iterator<>::_M_is_beginnest): Add.
* include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
Use the latter.
* testsuite/23_containers/forward_list/debug/splice_after.cc:
Add test.
From-SVN: r186411
Andrey Belevantsev [Fri, 13 Apr 2012 09:36:42 +0000 (13:36 +0400)]
re PR rtl-optimization/52203 (ICE: in reset_sched_cycles_in_current_ebb, at sel-sched.c:7136 with -fsel-sched-pipelining -fselective-scheduling2 and other custom flags)
PR rtl-optimization/52203
PR rtl-optimization/52715
Revert the 2012-03-07 fix for PR 52203.
* sel-sched.c (reset_sched_cycles_in_current_ebb): Check that
the insn does not modify DFA right before issuing, adjust
issue_rate accordingly.
From-SVN: r186410
Richard Guenther [Fri, 13 Apr 2012 09:24:28 +0000 (09:24 +0000)]
re PR c/52549 (ice in pointer_diff)
2012-04-13 Richard Guenther <rguenther@suse.de>
PR c/52549
* c-typeck.c (pointer_diff): Remove bogus assert.
* gcc.dg/pr52549.c: New testcase.
From-SVN: r186408
Richard Guenther [Fri, 13 Apr 2012 09:22:33 +0000 (09:22 +0000)]
re PR c/52862 (ICE convert_to_pointer, at convert.c:50)
2012-04-13 Richard Guenther <rguenther@suse.de>
PR c/52862
* convert.c (convert_to_pointer): Remove special-casing of
zero.
* gcc.dg/pr52862.c: New testcase.
From-SVN: r186407
Joey Ye [Fri, 13 Apr 2012 08:05:39 +0000 (08:05 +0000)]
constraints.md (Pe): New constraint.
2012-04-13 Joey Ye <joey.ye@arm.com>
* config/arm/constraints.md (Pe): New constraint.
* config/arm/arm.md: New split for imm 256-510.
testsuite:
* gcc.target/arm/thumb1-imm.c: New testcase.
From-SVN: r186406
Terry Guo [Fri, 13 Apr 2012 07:08:51 +0000 (07:08 +0000)]
arm-cores.def: Added core cortex-m0plus.
* config/arm/arm-cores.def: Added core cortex-m0plus.
* config/arm/arm-tune.md: Regenerated.
* config/arm/arm-tables.opt: Regenerated.
* doc/invoke.texi: Added entry for cpu ARM cortex-m0plus.
From-SVN: r186405
Benjamin Kosnik [Fri, 13 Apr 2012 00:33:10 +0000 (00:33 +0000)]
unordered_map.h (__unordered_map): Remove.
2012-04-12 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/unordered_map.h (__unordered_map): Remove.
(__unordered_multimap): Remove.
Add aliases for __umap_traits, __umap_hashtable, __ummap_traits,
__ummap_hashtable.
(unordered_map): Derive from __umap_hashtable.
(unordered_multimap): Derive from __ummap_hashtable.
* include/bits/unordered_set.h (__unordered_set): Remove.
(__unordered_multiset): Remove.
Add aliases for __uset_traits, __uset_hashtable, __umset_traits,
__umset_hashtable.
(unordered_set): Derive from __uset_hashtable.
(unordered_multiset): Derive from __umset_hashtable.
* include/bits/hashtable.h (__cache_default): New, consolidated
cache defaults for _Hashtable. Adjust comments for doxygen.
(_Hashtable): Consolidate bool template parameters into new,
_Traits class. Inherited base classes synthesize _Hashtable in
CRTP via original 10 parameters. Prefer using declarations to
typedefs, add __node_type, __bucket_type, etc. Push many nested
types down hierarchy to _Hashtable_base. Add constructors
necessary for top-level unordered_containers. Consolidate insert
member functions and logic in new base class, __detail::_Insert
and __detail::_Insert_base.
(_Hashtable::operator=(initializer_list)): Add.
* include/bits/hashtable_policy.h: Convert to doxygen markup.
(_Hashtable_traits) New. Consolidate bool template parameters here.
(_Insert, _Insert_base): New, consolidated insert member functions.
(_Map_base, _Equality, _Rehash_base): Adjust template parameters,
use base types.
(_Hashtable_base): Move type declarations useful to other base
classes into this class.
* python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adjust traits, line numbers.
From-SVN: r186403
GCC Administrator [Fri, 13 Apr 2012 00:18:02 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r186402
Alan Modra [Thu, 12 Apr 2012 22:26:24 +0000 (07:56 +0930)]
re PR target/52828 (powerpc -m32 -Os writes register saves below stack)
PR target/52828
* config/rs6000/rs6000.c (rs6000_emit_stack_tie): Rewrite with
tie regs on destination of sets. Delete forward declaration.
(rs6000_emit_stack_reset): Update rs6000_emit_stack_tie calls.
(rs6000_emit_prologue): Likewise.
(rs6000_emit_epilogue): Likewise. Use in place of gen_frame_tie
and gen_stack_tie.
(is_mem_ref): Use tie_operand to recognise stack ties.
* config/rs6000/predicates.md (tie_operand): New.
* config/rs6000/rs6000.md (restore_stack_block): Generate new
stack tie rtl.
(restore_stack_nonlocal): Likewise.
(stack_tie): Update.
(frame_tie): Delete.
From-SVN: r186397
Bill Schmidt [Thu, 12 Apr 2012 21:22:53 +0000 (21:22 +0000)]
tree-ssa-reassoc.c (attempt_builtin_powi_stats): Change %ld to HOST_WIDE_INT_PRINT_DEC in format strings.
2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* tree-ssa-reassoc.c (attempt_builtin_powi_stats): Change %ld to
HOST_WIDE_INT_PRINT_DEC in format strings.
From-SVN: r186393
Jeffrey Yasskin [Thu, 12 Apr 2012 20:59:09 +0000 (20:59 +0000)]
Fix PR52822 (stable_partition move-assigns object to itself) by scanning for...
Fix PR52822 (stable_partition move-assigns object to itself) by
scanning for the first value that doesn't match the predicate before
starting to rearrange values.
2012-04-03 Jeffrey Yasskin <jyasskin@google.com>
PR libstdc++/52822
* include/bits/stl_algo.h (__find_if_not): Expose in
C++98 mode.
(__find_if_not_n): Like __find_if_not, but works on and updates a
counted range instead of a bounded range.
(stable_partition): Guarantee !__pred(*__first) in call to
__stable_partition_adaptive() or __inplace_stable_partition().
(__stable_partition_adaptive): Use new precondition to avoid
moving/copying objects onto themselves. Guarantee new
precondition to recursive calls.
(__inplace_stable_partition): Use new precondition to simplify
base case, remove __last parameter. Guarantee new precondition to
recursive calls.
* testsuite/25_algorithms/stable_partition/moveable.cc (test02):
Test a sequence that starts with a value matching the predicate.
* testsuite/25_algorithms/stable_partition/pr52822.cc:
Test vectors, which have a destructive self-move-assignment.
From-SVN: r186391
Andreas Schwab [Thu, 12 Apr 2012 20:20:01 +0000 (20:20 +0000)]
Makefile.am (check_DEJAGNUnormal0): Run prettyprinters.exp.
* testsuite/Makefile.am (check_DEJAGNUnormal0): Run
prettyprinters.exp.
* testsuite/Makefile.in: Regenerated.
From-SVN: r186389
Uros Bizjak [Thu, 12 Apr 2012 18:37:42 +0000 (20:37 +0200)]
re PR target/52932 (AVX2 intrinsic _mm256_permutevar8x32_ps has wrong parameter type)
PR target/52932
* config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
argument type to __m256i. Update call to __builtin_ia32_permvarsf256.
* config/i386/sse.md (UNSPEC_VPERMVAR): New.
(UNSPEC_VPERMSI, UNSPEC_VPERMSF): Remove.
(avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
(avx2_permvar<mode>): Macroize insn from avx2_permvarv8sf and
avx2_permvarv8si using VI4F_256 mode iterator.
* config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>:
Update builtin type to V8SF_FTYPE_V8SF_V8SI.
(ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
gen_avx2_permvarv8sf.
(expand_vec_perm_pshufb): Ditto.
testsuite/ChangeLog:
PR target/52932
* gcc.target/i386/avx2-vpermps-1.c (avx2_test): Use __m256i type for
second function argument.
* gcc.target/i386/avx2-vpermps-2.c (init_permps): Update declaration.
(calc_permps): Update declaration. Calculate result correctly.
(avx2_test): Change src2 type to union256i_d.
* gcc.target/i386/avx2-vpermd-2.c (calc_permd): Calculate result
correctly.
From-SVN: r186388
Michael Meissner [Thu, 12 Apr 2012 17:10:27 +0000 (17:10 +0000)]
re PR target/52775 (Change default for using FCFID instruction)
[gcc]
2012-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/52775
* config/rs6000/rs6000.h (TARGET_FCFID): Add TARGET_PPC_GPOPT to
the list of options to enable the FCFID instruction.
(TARGET_EXTRA_BUILTINS): Adjust comment.
[gcc/testsuite]
2012-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/52775
* gcc.target/powerpc/pr52775.c: New file.
From-SVN: r186387
Bill Schmidt [Thu, 12 Apr 2012 16:15:13 +0000 (16:15 +0000)]
re PR tree-optimization/18589 (could optimize FP multiplies better)
gcc:
2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/18589
* tree-ssa-reassoc.c (reassociate_stats): Add two fields.
(operand_entry): Add count field.
(add_repeat_to_ops_vec): New function.
(completely_remove_stmt): Likewise.
(remove_def_if_absorbed_call): Likewise.
(remove_visited_stmt_chain): Remove feeding builtin pow/powi calls.
(acceptable_pow_call): New function.
(linearize_expr_tree): Look for builtin pow/powi calls and add operand
entries with repeat counts when found.
(repeat_factor_d): New struct and associated typedefs.
(repeat_factor_vec): New static vector variable.
(compare_repeat_factors): New function.
(get_reassoc_pow_ssa_name): Likewise.
(attempt_builtin_powi): Likewise.
(reassociate_bb): Call attempt_builtin_powi.
(fini_reassoc): Two new calls to statistics_counter_event.
gcc/testsuite:
2012-04-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/18589
* gcc.dg/tree-ssa/pr18589-1.c: New test.
* gcc.dg/tree-ssa/pr18589-2.c: Likewise.
* gcc.dg/tree-ssa/pr18589-3.c: Likewise.
* gcc.dg/tree-ssa/pr18589-4.c: Likewise.
* gcc.dg/tree-ssa/pr18589-5.c: Likewise.
* gcc.dg/tree-ssa/pr18589-6.c: Likewise.
* gcc.dg/tree-ssa/pr18589-7.c: Likewise.
* gcc.dg/tree-ssa/pr18589-8.c: Likewise.
* gcc.dg/tree-ssa/pr18589-9.c: Likewise.
* gcc.dg/tree-ssa/pr18589-10.c: Likewise.
From-SVN: r186384
Richard Guenther [Thu, 12 Apr 2012 15:11:17 +0000 (15:11 +0000)]
Makefile.in (cgraphunit.o): Add $(EXCEPT_H) dependency.
2012-04-12 Richard Guenther <rguenther@suse.de>
* Makefile.in (cgraphunit.o): Add $(EXCEPT_H) dependency.
* cgraph.h (tree_rest_of_compilation): Remove.
* cgraph.c (cgraph_add_new_function): Move ...
* cgraphunit.c (cgraph_add_new_function): ... here.
(tree_rest_of_compilation): Make static.
(cgraph_expand_function): Do not set cgraph_function_flags_ready.
* tree-optimize.c (gate_all_optimizations, pass_all_optimizations,
gate_all_early_local_passes, execute_all_early_local_passes,
pass_early_local_passes, gate_all_early_optimizations,
pass_all_early_optimizations): Move ...
* passes.c (gate_all_optimizations, pass_all_optimizations,
gate_all_early_local_passes, execute_all_early_local_passes,
pass_early_local_passes, gate_all_early_optimizations,
pass_all_early_optimizations): ... here.
* tree-optimize.c (execute_free_datastructures): Remove.
* tree-flow.h (execute_free_datastructures): Remove.
* tree-optimize.c (execute_init_datastructures,
pass_init_datastructures): Move ...
* tree-ssa.c (execute_init_datastructures,
pass_init_datastructures): ... here.
* cfgexpand.c (gimple_expand_cfg): Inline-expand call to
execute_free_datastructures.
From-SVN: r186381
Bernd Schmidt [Thu, 12 Apr 2012 12:53:17 +0000 (12:53 +0000)]
dbgcnt.def (ira_move): New counter.
* dbgcnt.def (ira_move): New counter.
* ira-int.h (ira_create_new_reg): Declare function.
(first_moveable_pseudo, last_moveable_pseudo): Declare variables.
* ira-emit.c (ira_create_new_reg): Renamed from craete_new_reg and
no longer static. All callers changed.
* ira.c: Include "dbgcnt.h".
(rtx_moveable_p, insn_dominated_by_p, find_moveable_pseudos,
move_unallocated_pseudos): New static functions.
(first_moveable_pseudo, last_moveable_pseudo): New global variables.
(pseudo_replaced_reg, pseudo_move_insn): New static variables.
(ira): Call find_moveable_pseudos and move_unallocated_pseudos.
* ira-costs.c (find_costs_and_classes): Assign a memory cost of zero
to the pseudos generated in find_moveable_pseudos.
* Makefile.in (ira.o): Add $(DBGCNT_H).
From-SVN: r186378
Paolo Carlini [Thu, 12 Apr 2012 12:18:06 +0000 (12:18 +0000)]
re PR libstdc++/52942 (using std::ref with a std::unordered_map fails to compile)
2012-04-12 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52942
* include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
In C++11 mode do not derive from std::unary_function.
* include/ext/functional (identity, select1st, select2nd): Adjust.
* testsuite/23_containers/unordered_map/requirements/52942.cc: New.
* testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.
From-SVN: r186375
Richard Guenther [Thu, 12 Apr 2012 11:38:47 +0000 (11:38 +0000)]
re PR tree-optimization/52943 (likely wrong code bug caused by predictive commoning)
2012-04-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52943
* tree-chrec.h (chrec_is_positive): Remove.
* tree-scalar-evolution.c (chrec_is_positive): Move ...
* tree-data-ref.c (chrec_is_positive): ... here. Make static.
Return false for a constant zero instead of negative.
(analyze_siv_subscript_cst_affine): Handle zero difference
in the initial condition explicitely.
* gcc.dg/torture/pr52943.c: New testcase.
From-SVN: r186374
Richard Guenther [Thu, 12 Apr 2012 10:13:22 +0000 (10:13 +0000)]
tree-parloops.c (parallelize_loops): Also consult the upper bound for the number of iterations.
2012-04-12 Richard Guenther <rguenther@suse.de>
* tree-parloops.c (parallelize_loops): Also consult the upper
bound for the number of iterations.
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
(loop_prefetch_arrays): Likewise.
From-SVN: r186373
Richard Guenther [Thu, 12 Apr 2012 08:35:01 +0000 (08:35 +0000)]
cfgloop.h (estimated_loop_iterations_int): Ditch 'conservative' parameter.
2012-04-12 Richard Guenther <rguenther@suse.de>
* cfgloop.h (estimated_loop_iterations_int): Ditch
'conservative' parameter.
(max_stmt_executions_int): Likewise.
(estimated_loop_iterations): Likewise.
(max_stmt_executions): Likewise.
(max_loop_iterations): Declare.
(max_loop_iterations_int): Likewise.
(estimated_stmt_executions): Likewise.
(estimated_stmt_executions_int): Likewise.
* tree-ssa-loop-niter.c (estimated_loop_iterations):
Split parts to ...
(max_loop_iterations): ... this.
(estimated_loop_iterations_int): Split parts to ...
(max_loop_iterations_int): ... this.
(max_stmt_executions_int): Split parts to ...
(estimated_stmt_executions_int): ... this.
(max_stmt_executions): Split parts to ...
(estimated_stmt_executions): ... this.
* graphite-sese-to-poly.c (build_loop_iteration_domains): Adjust.
* predict.c (predict_loops): Likewise.
* tree-data-ref.c (max_stmt_executions_tree): Likewise.
(analyze_siv_subscript_cst_affine): Likewise.
(compute_overlap_steps_for_affine_1_2): Likewise.
(analyze_subscript_affine_affine): Likewise.
(init_omega_for_ddr_1): Likewise.
* tree-parloops.c (parallelize_loops): Likewise.
* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
(may_eliminate_iv): Likewise.
* tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
(loop_prefetch_arrays): Likewise.
* tree-vrp.c (adjust_range_with_scev): Likewise.
From-SVN: r186372
GCC Administrator [Thu, 12 Apr 2012 00:19:20 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r186371
Oleg Endo [Wed, 11 Apr 2012 23:03:20 +0000 (23:03 +0000)]
sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.
* config/sh/sh.h (RETURN_ADDR_RTX): Use NULL_RTX instead of 0.
* config/sh/sh.c (INSN_REGMODE_WEIGHT, CURR_REGMODE_PRESSURE):
Fix line width.
(dump_table): Use bool type for need_align and have_df variables.
(find_barrier, sfunc_uses_reg): Use NULL_RTX instead of 0.
(regs_used): Remove register modifier.
(barrier_align): Move variables slot, credit, jump_to_next
into if block above for loop. Use bool type for jump_to_next.
(sh_function_arg): Use NULL_RTX instead of 0.
From-SVN: r186366
Oleg Endo [Wed, 11 Apr 2012 23:01:12 +0000 (23:01 +0000)]
re PR target/50751 (SH Target: Displacement addressing does not work for QImode and HImode)
PR target/50751
* gcc/target/sh/pr50751-4.c: New.
* gcc/target/sh/pr50751-5.c: New.
* gcc/target/sh/pr50751-6.c: New.
* gcc/target/sh/pr50751-7.c: New.
From-SVN: r186365
Jonathan Wakely [Wed, 11 Apr 2012 22:59:25 +0000 (23:59 +0100)]
Fix date of previous ChangeLog entry.
From-SVN: r186364
Jonathan Wakely [Wed, 11 Apr 2012 22:54:53 +0000 (22:54 +0000)]
re PR c++/52924 (Using an std::function object as deleter of shared_ptr in C++0x mode does not compile)
PR libstdc++/52924
* include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
user-defined destructor.
(_Sp_counted_inplace): Likewise.
* testsuite/20_util/shared_ptr/cons/52924.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
line numbers.
From-SVN: r186363
Jonathan Wakely [Wed, 11 Apr 2012 22:20:59 +0000 (22:20 +0000)]
debug.xml (Debug Versions of Library Binary Files): Re-arrange text slightly.
* doc/xml/manual/debug.xml (Debug Versions of Library Binary Files):
Re-arrange text slightly.
From-SVN: r186362
Andreas Schwab [Wed, 11 Apr 2012 22:01:42 +0000 (22:01 +0000)]
m68k.md (rotrhi3+1): Name it rotrhi_lowpart.
* gcc/config/m68k/m68k.md (rotrhi3+1): Name it rotrhi_lowpart.
(bswapsi2): New expander.
From-SVN: r186361
Steve Ellcey [Wed, 11 Apr 2012 21:02:57 +0000 (21:02 +0000)]
i2012-04-10 Steve Ellcey <sellcey@mips.com>
* MAINTAINERS: Changed email address.
From-SVN: r186358
Fabien Chêne [Wed, 11 Apr 2012 20:40:51 +0000 (22:40 +0200)]
re PR c++/52465 (g++ rejects valid code with in-class using declaration)
gcc/testsuite/ChangeLog
2012-04-09 Fabien Chêne <fabien@gcc.gnu.org>
PR c++/52465
* g++.dg/lookup/using52.C: New.
gcc/cp/ChangeLog
2012-04-09 Fabien Chêne <fabien@gcc.gnu.org>
PR c++/52465
* parser.c (cp_parser_class_name): Call strip_using_decl and
return the target decl.
* name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
to be stripped is NULL_TREE.
(qualify_lookup): Call strip_using_decl and perform some checks on
the target decl.
From-SVN: r186355
Jonathan Wakely [Wed, 11 Apr 2012 20:31:06 +0000 (21:31 +0100)]
* testsuite/performance/30_threads/future/polling.cc: Adjust.
From-SVN: r186354
Manuel López-Ibáñez [Wed, 11 Apr 2012 20:15:35 +0000 (20:15 +0000)]
prune.exp (TEST_ALWAYS_FLAGS): If undefined, set to empty.
2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
testsuite/
* lib/prune.exp (TEST_ALWAYS_FLAGS): If undefined, set to empty.
libgomp/
* testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
From-SVN: r186353
H.J. Lu [Wed, 11 Apr 2012 19:37:57 +0000 (19:37 +0000)]
Define TRY_EMPTY_VM_SPACE to 0x60000000 for x32
2012-04-11 H.J. Lu <hongjiu.lu@intel.com>
* config/host-linux.c (TRY_EMPTY_VM_SPACE): Defined to
0x60000000 if __x86_64 is defined and __LP64__ isn't defined.
From-SVN: r186352
H.J. Lu [Wed, 11 Apr 2012 19:31:45 +0000 (19:31 +0000)]
Check for incompatible pointer sign extension
gcc/
PR rtl-optimization/52876
* emit-rtl.c (set_reg_attrs_from_value): Handle arbitrary value.
Don't call mark_reg_pointer for incompatible pointer sign
extension.
* reginfo.c (reg_scan_mark_refs): Call set_reg_attrs_from_value
directly.
gcc/testsuite
PR rtl-optimization/52876
* gcc.target/i386/pr52876.c: New.
From-SVN: r186351
Bernd Schmidt [Wed, 11 Apr 2012 18:07:39 +0000 (18:07 +0000)]
fold-const.c (fold_unary_loc): Use GET_MODE_PRECISION for comparisons against TYPE_PRECISION.
* fold-const.c (fold_unary_loc): Use GET_MODE_PRECISION for
comparisons against TYPE_PRECISION.
* tree-ssa-forwprop.c (combine_conversions): Likewise.
From-SVN: r186350
Bernd Schmidt [Wed, 11 Apr 2012 17:58:01 +0000 (17:58 +0000)]
c99-const-expr-9.c (old_offsetof): Insert a cast to __UINTPTR_TYPE__.
* gcc.dg/c99-const-expr-9.c (old_offsetof): Insert a cast to
__UINTPTR_TYPE__.
* gcc.c-torture/execute/pr15296.c (intptr_t): Likewise, with
__INTPTR_TYPE__.
* gcc.dg/pr14092-1.c (intptr_t): Likewise.
* gcc.dg/tree-ssa/foldcast-1.c (ssize_t): Likewise.
* gcc.dg/c90-const-expr-6.c (intptr_t): New typedef to replace ...
(ptrdiff_t): ... this. All uses changed.
* gcc.dg/c99-const-expr-6.c (intptr_t, ptrdiff_t): Likewise.
* gcc.dg/torture/pta-escape-1.c (foo): Change arg type to
__INTPTR_TYPE__.
(main): Cast argument to __INTPTR_TYPE__.
* gcc.dg/
20041106-1.c (main): Cast to __UINTPTR_TYPE__ rather than
size_t.
* gcc.dg/mallign.c (main): Likewise.
* gcc.dg/pr38700.c (foo): Likewise.
* gcc.dg/long-long-cst1.c (t): Likewise.
* gcc.dg/c99-const-expr-10.c (p, q, f, h, h2): Likewise.
* gcc.dg/array-10.c (c0, c1, c2, c3, c4, c5): Likewise.
* gcc.dg/pointer-arith-10.c (foo): Likewise.
* gcc.dg/pr25682.c (d, foo): Likewise.
* gcc.dg/format/cast-1.c (f): Likewise.
* gcc.dg/c90-const-expr-10.c
* gcc.dg/pr41551.c (uintptr_t): New typedef, replacing...
(size_t): ...this. All uses changed.
* gcc.c-torture/execute/pr22098-1.c (uintptr_t): Likewise.
* gcc.c-torture/execute/pr22098-2.c (uintptr_t): Likewise.
* gcc.c-torture/execute/pr22098-3.c (uintptr_t): Likewise.
* gcc.dg/pr34856.c (uintptr_t): Likewise.
* gcc.dg/sequence-pt-1.c: Likewise.
* gcc.dg/c90-const-expr-9.c (uintptr_t): Likewise.
* gcc.dg/max-1.c (intptr_t): Likewise, replacing ssize_t.
* gcc.dg/pr39074.c (intptr_t): Define using __INTPTR_TYPE__.
* gcc.dg/pr30744-1.c (my_intptr_t): New typedef. Replace all uses
of ptrdiff_t with it.
* gcc.dg/inline-23.c (my_intptr_t): Likewise.
* gcc.dg/pr37561.c (p): Use __INTPTR_TYPE__.
* gcc.dg/vla-11.c (foo11b): Use __UINTPTR_TYPE__.
From-SVN: r186347
Jason Merrill [Wed, 11 Apr 2012 17:55:25 +0000 (13:55 -0400)]
decl.c (grokdeclarator): Strip the injected-class-name typedef if we are building a declaration or...
* decl.c (grokdeclarator): Strip the injected-class-name typedef
if we are building a declaration or compound type.
From-SVN: r186346
Jason Merrill [Wed, 11 Apr 2012 17:55:12 +0000 (13:55 -0400)]
re PR c++/52906 (ICE: SIGSEGV in check_tag_decl (decl.c:4230) with "__attribute__ ((__deprecated__));" alone)
PR c++/52906
* decl.c (check_tag_decl): Don't complain about attributes if we
don't even have a type.
From-SVN: r186345
Jason Merrill [Wed, 11 Apr 2012 17:55:00 +0000 (13:55 -0400)]
* g++.dg/eh/dtor3.C: New.
From-SVN: r186344
Jan Hubicka [Wed, 11 Apr 2012 17:47:01 +0000 (19:47 +0200)]
lto.c: Update copyright...
* lto.c: Update copyright; remove params.h, ipa-inline.h
and ipa-utils.h inlines; inline lto-partition.h
(ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
add_references_to_partition, add_cgraph_node_to_partition_1,
add_cgraph_node_to_partition, add_varpool_node_to_partition,
undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
promote_var, promote_fn, lto_promote_cross_file_statics): move to...
* lto-partition.c: ... here; new file.
* lto-partition.h: New file.
* Make-lang.in (lto.o): Update dependencies.
(lto-partition.o): New.
From-SVN: r186343
Xinliang David Li [Wed, 11 Apr 2012 17:46:52 +0000 (17:46 +0000)]
Remove TODO_dump_func completely
From-SVN: r186342
H.J. Lu [Wed, 11 Apr 2012 17:34:08 +0000 (17:34 +0000)]
Check [SUB]SUBTARGET_OVERRIDE_OPTIONS after TARGET_64BIT
* config/i386/i386.c (ix86_option_override_internal): Check
SUBTARGET_OVERRIDE_OPTIONS and SUBSUBTARGET_OVERRIDE_OPTIONS
after TARGET_64BIT is updated.
From-SVN: r186339
Paolo Carlini [Wed, 11 Apr 2012 17:31:57 +0000 (17:31 +0000)]
forward_list.h (splice_after(const_iterator, forward_list&), [...]): Add per C++11 as published (and LWG 1310).
2012-04-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/forward_list.h (splice_after(const_iterator,
forward_list&), splice_after(const_iterator, forward_list&,
consst_iterator), splice_after(const_iterator, forward_list&,
const_iterator, const_iterator), merge(forward_list&),
merge(forward_list&, _Comp)): Add per C++11 as published (and
LWG 1310).
* include/debug/forward_list: Adjust.
* include/bits/forward_list.h (splice_after(const_iterator,
forward_list&&, const_iterator)): Only declare.
(_M_transfer_after): Remove.
(_M_splice_after(const_iterator, forward_list&&)): Change signature.
(splice_after(const_iterator, forward_list&&, const_iterator,
const_iterator)): Use the latter.
* include/bits/forward_list.tcc (splice_after(const_iterator,
forward_list&&, const_iterator)): Define here.
(_M_splice_after): Define, use throughout.
* include/bits/forward_list.h (insert_after(const_iterator,
std::initializer_list<_Tp>)): Forward to insert_after(const_iterator,
_InputIterator, _InputIterator).
* include/bits/forward_list.tcc: Remove definition.
* testsuite/23_containers/forward_list/modifiers/6.cc: New.
* testsuite/23_containers/forward_list/operations/1.cc: Adjust.
From-SVN: r186338
Rainer Orth [Wed, 11 Apr 2012 16:58:53 +0000 (16:58 +0000)]
Fix java bootstrap on 32-bit targets
* jcf-dump.c (print_constant): Cast JPOOL_USHORT2, JPOOL_USHORT1
results to long to match formats.
From-SVN: r186330
Oleg Endo [Wed, 11 Apr 2012 16:27:50 +0000 (16:27 +0000)]
sh.h: Remove old secondary reload code.
* config/sh/sh.h: Remove old secondary reload code.
From-SVN: r186328
Oleg Endo [Wed, 11 Apr 2012 16:26:41 +0000 (16:26 +0000)]
sh.c (SCHED_REORDER): Merge macro into ...
* config/sh/sh.c (SCHED_REORDER): Merge macro into ...
(ready_reorder): ... this function.
From-SVN: r186327
Bernd Schmidt [Wed, 11 Apr 2012 14:45:49 +0000 (14:45 +0000)]
c6x.md (load_got_gotoff): Set op_pattern attribute to unknown.
* config/c6x/c6x.md (load_got_gotoff): Set op_pattern attribute to
unknown.
From-SVN: r186326
Bernd Schmidt [Wed, 11 Apr 2012 14:40:48 +0000 (14:40 +0000)]
haifa-sched.c (prune_ready_list): Rework handling of SCHED_GROUP_P insns so that no other insn is queued for a...
* haifa-sched.c (prune_ready_list): Rework handling of SCHED_GROUP_P
insns so that no other insn is queued for a time before them.
From-SVN: r186325
Bernd Schmidt [Wed, 11 Apr 2012 14:39:21 +0000 (14:39 +0000)]
sel-sched.c (sel_global_init): Swap order of sched_rgn_init and sched_init calls.
* sel-sched.c (sel_global_init): Swap order of sched_rgn_init and
sched_init calls.
From-SVN: r186324
Richard Guenther [Wed, 11 Apr 2012 14:04:00 +0000 (14:04 +0000)]
re PR middle-end/52621 (ICE with -O3 -march=opteron in initialize_matrix_A, at tree-data-ref.c:1964)
2012-04-11 Richard Guenther <rguenther@suse.de>
PR middle-end/52621
* tree-chrec.c (evolution_function_is_invariant_rec_p): Properly
consider loop nesting.
(evolution_function_is_univariate_p): Properly check the remainder
for chrecs.
* gfortran.dg/pr52621.f90: New testcase.
From-SVN: r186321
Richard Guenther [Wed, 11 Apr 2012 14:02:26 +0000 (14:02 +0000)]
re PR target/52918 (ICE: Invalid bb->loop_father (NULL) in add_bb_to_loop)
2012-04-11 Richard Guenther <rguenther@suse.de>
PR middle-end/52918
* except.c (sjlj_emit_dispatch_table): Properly update loop
structure.
* g++.dg/torture/pr52918-1.C: New testcase.
* g++.dg/torture/pr52918-2.C: Likewise.
From-SVN: r186320
Andrew Haley [Wed, 11 Apr 2012 13:21:18 +0000 (13:21 +0000)]
jcf-reader.c (jcf_parse_bootstrap_methods): Add ATTRIBUTE_UNUSED.
2012-04-11 Andrew Haley <aph@redhat.com>
* jcf-reader.c (jcf_parse_bootstrap_methods): Add
ATTRIBUTE_UNUSED.
From-SVN: r186319
Tobias Burnus [Wed, 11 Apr 2012 13:08:32 +0000 (15:08 +0200)]
re PR fortran/52729 (Symbol has no implicit type in SELECT TYPE block)
2012-04-11 Tobias Burnus <burnus@net-b.de>
PR fortran/52729
* resolve.c (resolve_symbol): Fix searching for parent NS decl.
2012-04-11 Tobias Burnus <burnus@net-b.de>
PR fortran/52729
* gfortran.dg/block_11.f90: New.
From-SVN: r186318
Nick Clifton [Wed, 11 Apr 2012 12:49:22 +0000 (12:49 +0000)]
rx.c (rx_expand_prologue): Set stack use information, if requested.
* config/rx/rx.c (rx_expand_prologue): Set stack use
information, if requested.
From-SVN: r186314
Nick Clifton [Wed, 11 Apr 2012 12:48:01 +0000 (12:48 +0000)]
stack-usage-1.c (SIZE): Define for the RL78.
* gcc.dg/stack-usage-1.c (SIZE): Define for the RL78.
* config/rl78/rl78.c (rl78_expand_prologue): Set stack use
information, if requested.
From-SVN: r186313
Peter Bergner [Wed, 11 Apr 2012 11:51:50 +0000 (06:51 -0500)]
re PR target/16458 (PowerPC - redundant compare)
gcc/
PR target/16458
* rtlanal.c (unsigned_reg_p): New function.
Update copyright notice dates.
* rtl.h (unsigned_reg_p): Prototype it.
Update copyright notice dates.
* config/rs6000/rs6000.c (rs6000_generate_compare): Use it.
Update comment.
* expr.c (expand_expr_real_1): Set register attributes.
* stmt.c (expand_case): Likewise.
gcc/testsuite/
PR target/16458
* gcc.target/powerpc/pr16458-1.c: New test.
* gcc.target/powerpc/pr16458-2.c: Likewise.
* gcc.target/powerpc/pr16458-3.c: Likewise.
* gcc.target/powerpc/pr16458-4.c: Likewise.
Co-Authored-By: Michael Matz <matz@suse.de>
From-SVN: r186312
Oleg Endo [Wed, 11 Apr 2012 11:35:32 +0000 (11:35 +0000)]
re PR target/50751 (SH Target: Displacement addressing does not work for QImode and HImode)
PR target/50751
* config/sh/sh-protos.h (sh_legitimate_index_p): Add new arguments
consider_sh2a and allow_zero.
* config/sh/sh.c (sh_legitimate_index_p): Likewise.
(disp_addr_displacement): New function.
(sh_address_cost): Use disp_addr_displacement function instead
of DISP_ADDR_OFFSET.
(sh_legitimate_address_p): Adapt to changed
sh_legitimate_index_p declaration.
(sh_find_mov_disp_adjust): Remove HImode check.
(sh_secondary_reload): Add HImode case. Use satisfies_constraint_Sdd,
disp_addr_displacement and max_mov_insn_displacement.
(max_mov_insn_displacement): Remove HImode check.
* config/sh/sh.h (CONST_OK_FOR_K04, CONST_OK_FOR_K12,
DISP_ADDR_P, DISP_ADDR_OFFSET): Remove.
* config/sh/constraints.md (K05, K13): New constraints.
(K12): Correct comment.
(Sdd): Do not use DISP_ADDR_P macro.
(Snd, Sbw): Use satisfies_constraint_Sdd.
* config/sh/sh.md (extendhisi2): Remove constraints from expander.
(*extendhisi2_compact, movhi_i): Remove.
(*extendhisi2_compact_reg, *extendhisi2_compact_mem_disp,
*extendhisi2_compact_mem_disp, *extendhisi2_compact_snd,
*movhi_reg_reg, *movhi_store_mem_disp05, *movhi_store_mem_disp13,
*movhi_load_mem_disp, *movhi_load_mem_disp, *movhi): New insns.
(*extendqisi2_compact_mem_disp, *extendqisi2_compact_mem_disp,
*movqi_store_mem_disp04, *movqi_store_mem_disp12, *movqi_load_mem_disp,
*movqi_load_mem_disp): Use sh_legitimate_index_p instead of
CONST_OK_FOR_Kxx.
Add new peepholes for HImode displacement addressing.
From-SVN: r186311
Paolo Carlini [Wed, 11 Apr 2012 11:27:50 +0000 (11:27 +0000)]
re PR libstdc++/52931 (std::hash shouldn't be defined for unknown types)
2012-04-11 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52931
* include/bits/functional_hash.h (struct hash): Remove definition.
* testsuite/20_util/hash/52931.cc: New.
From-SVN: r186310
Oleg Endo [Wed, 11 Apr 2012 11:24:40 +0000 (11:24 +0000)]
sh.h (SIDI_OFF): Remove.
* config/sh/sh.h (SIDI_OFF): Remove.
* config/sh/sh.md: Use gen_highpart and gen_lowpart to access
DImode subregs instead of gen_rtx_REG or simplifly_gen_subreg
or operand_subword.
From-SVN: r186309
Eric Botcazou [Wed, 11 Apr 2012 11:13:39 +0000 (11:13 +0000)]
re PR target/52624 (missing __builtin_bswap16)
PR target/52624
* doc/extend.texi (Other Builtins): Document __builtin_bswap16.
(PowerPC AltiVec/VSX Built-in Functions): Remove it.
* doc/md.texi (Standard Names): Add bswap.
* builtin-types.def (BT_UINT16): New primitive type.
(BT_FN_UINT16_UINT16): New function type.
* builtins.def (BUILT_IN_BSWAP16): New.
* builtins.c (expand_builtin_bswap): Add TARGET_MODE argument.
(expand_builtin) <BUILT_IN_BSWAP16>: New case. Pass TARGET_MODE to
expand_builtin_bswap.
(fold_builtin_bswap): Add BUILT_IN_BSWAP16 case.
(fold_builtin_1): Likewise.
(is_inexpensive_builtin): Likewise.
* optabs.c (expand_unop): Deal with bswap in HImode specially. Add
missing bits for bswap to libcall code.
* tree.c (build_common_tree_nodes): Build uint16_type_node.
* tree.h (enum tree_index): Add TI_UINT16_TYPE.
(uint16_type_node): New define.
* config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_BSWAP_HI): Delete.
* config/rs6000/rs6000.c (rs6000_expand_builtin): Remove handling of
above builtin.
(rs6000_init_builtins): Likewise.
* config/rs6000/rs6000.md (bswaphi2): Add TARGET_POWERPC predicate.
c-family/
* c-common.h (uint16_type_node): Rename into...
(c_uint16_type_node): ...this.
* c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
* c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
From-SVN: r186308
Andrew Haley [Wed, 11 Apr 2012 10:47:43 +0000 (10:47 +0000)]
jcf.h (bootstrap_method): New.
2012-04-11 Andrew Haley <aph@redhat.com>
* jcf.h (bootstrap_method): New.
(BootstrapMethods): New.
(JCF): Add BootstrapMethods.
(enum cpool_tag): Add MethodHandle, MethodType, and InvokeDynamic.
* jcf-reader.c (jcf_parse_bootstrap_methods): New.
(jcf_parse_constant_pool): Handlers for MethodHandle, MethodType,
and InvokeDynamic.
(jcf_parse_bootstrap_methods): New.
* javaop.def (invokedynamic): New opcode.
* jcf-parse.c (get_constant): An unknown constant type should not
be an internal error, but a fatal one. Make it so.
* jcf-dump.c (HANDLE_BOOTSTRAP_METHODS_ATTRIBUTE): New.
(HANDLE_END_BOOTSTRAP_METHODS): New.
(print_constant): Handlers for MethodHandle, MethodType, and
InvokeDynamic.
From-SVN: r186307
Tristan Gingold [Wed, 11 Apr 2012 10:32:48 +0000 (10:32 +0000)]
extend.texi (Type Attributes): Move paragraph.
2012-04-11 Tristan Gingold <gingold@adacore.com>
* doc/extend.texi (Type Attributes): Move paragraph.
From-SVN: r186306
Manuel López-Ibáñez [Wed, 11 Apr 2012 09:26:48 +0000 (09:26 +0000)]
re PR c++/24985 (caret diagnostics)
2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 24985
gcc/
* diagnostic.h (show_caret): Declare.
(caret_max_width): Declare.
(diagnostic_show_locus): Declare.
* diagnostic.c (diagnostic_initialize): Initialize to false.
(diagnostic_show_locus): New.
(diagnostic_report_diagnostic): Call it.
(getenv_columns): New.
(adjust_line): New.
(diagnostic_set_caret_max_width): New.
* input.c (read_line): New.
(location_get_source_line): New.
* input.h (location_get_source_line): Declare.
* toplev.c (general_init): Initialize show_caret from options.
* dwarf2out.c (gen_producer_string): Handle fdiagnostics-show-caret.
* opts.c (common_handle_option): Likewise.
* pretty-print.h (pp_get_prefix): New.
(pp_base_get_prefix): New.
* common.opt (fdiagnostics-show-caret): New option.
* doc/invoke.texi (fdiagnostics-show-caret): Document it.
testsuite/
* lib/prune.exp: Add -fno-diagnostics-show-caret.
libstdc++-v3/
* testsuite/lib/prune.exp: Handle caret.
libmudflap/
* testsuite/lib/libmudflap.exp: Handle caret.
From-SVN: r186305
Richard Guenther [Wed, 11 Apr 2012 08:13:37 +0000 (08:13 +0000)]
re PR middle-end/52881 (ICE due to null pointer deref in cfgloop.c)
2012-04-11 Richard Guenther <rguenther@suse.de>
PR rtl-optimization/52881
* ifcvt.c (find_if_case_2): Avoid speculating loop latches.
* gcc.dg/torture/pr52881.c: New testcase.
* gcc.dg/torture/pr52913.c: Likewise.
From-SVN: r186304
Richard Guenther [Wed, 11 Apr 2012 08:12:33 +0000 (08:12 +0000)]
re PR tree-optimization/52912 (ICE: verify_ssa failed)
2012-04-11 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52912
* tree-ssa-threadupdate.c (thread_block): Tell the cfg
manipulation code we are threading through a loop header
to an exit destination.
* gcc.dg/torture/pr52912.c: New testcase.
From-SVN: r186303
GCC Administrator [Wed, 11 Apr 2012 00:18:47 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r186301
Manuel López-Ibáñez [Tue, 10 Apr 2012 16:33:47 +0000 (16:33 +0000)]
c-common.c (warn_if_unused_value): Move definition to here.
2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
* c-family/c-common.c (warn_if_unused_value): Move definition to here.
* tree.h (warn_if_unused_value): Move declaration from here.
* c-family/c-common.h (warn_if_unused_value): Move declaration to here.
* cp/cvt.c (convert_to_void): Update comment.
* stmt.c (warn_if_unused_value): Move definition from here.
From-SVN: r186287
Michael Matz [Tue, 10 Apr 2012 16:09:51 +0000 (16:09 +0000)]
Forgot to commit in r186285.
From-SVN: r186286
Michael Matz [Tue, 10 Apr 2012 16:09:03 +0000 (16:09 +0000)]
tree-vectorizer.h (_loop_vec_info.strided_stores): Rename to grouped_stores.
* tree-vectorizer.h (_loop_vec_info.strided_stores): Rename to
grouped_stores.
(LOOP_VINFO_STRIDED_STORES): Rename to LOOP_VINFO_GROUPED_STORES.
(struce _bb_vec_info.strided_stores): Rename to grouped_stores.
(BB_VINFO_STRIDED_STORES): Rename to BB_VINFO_GROUPED_STORES.
(STMT_VINFO_STRIDED_ACCESS): Rename to STMT_VINFO_GROUPED_ACCESS.
(vect_strided_store_supported): Rename to vect_grouped_store_supported.
(vect_strided_load_supported): Rename to vect_grouped_load_supported.
(vect_transform_strided_load): Rename to vect_transform_grouped_load.
(vect_record_strided_load_vectors): Rename to
vect_record_grouped_load_vectors.
* tree-vect-data-refs.c (vect_update_misalignment_for_peel):
Rename use of above macros.
(vect_verify_datarefs_alignment): Ditto.
(vector_alignment_reachable_p): Ditto.
(vect_peeling_hash_get_lowest_cost): Ditto.
(vect_enhance_data_refs_alignment): Ditto.
(vect_analyze_group_access): Ditto and rename stride to groupsize.
(vect_analyze_data_ref_access): Rename "strided" to "grouped".
(vect_strided_store_supported): Rename to vect_grouped_store_supported.
(vect_strided_load_supported): Rename to vect_grouped_load_supported.
(vect_transform_strided_load): Rename to vect_transform_grouped_load.
(vect_record_strided_load_vectors): Rename to
vect_record_grouped_load_vectors.
* tree-vect-loop.c (new_loop_vec_info): Rename use of above macros.
(destroy_loop_vec_info): Ditto.
(vect_transform_loop): Ditto and rename strided_store to grouped_store.
* tree-vect-slp.c (vect_build_slp_tree): Rename use of above macros.
(vect_analyze_slp): Ditto.
(new_bb_vec_info): Ditto.
(destroy_bb_vec_info): Ditto.
(vect_schedule_slp_instance): Ditto and rename strided_store to
grouped_store.
* tree-vect-stmts.c (vect_cost_strided_group_size): Rename to
vect_cost_group_size.
(vect_model_store_cost): Rename use of above macros and call
to vect_cost_strided_group_size.
(vect_model_load_cost): Ditto.
(vectorizable_store): Ditto, rename strided_store to grouped_store
and calls to renamed tree-vectorizer.h functions.
(vectorizable_load): Ditto.
(vect_transform_stmt): Rename use of above macros and strided_store
to grouped_store.
testsuite/
* gcc.dg/vect/vect-outer-1-big-array.c: Adjust.
* gcc.dg/vect/vect-outer-1.c: Adjust.
* gcc.dg/vect/vect-outer-1a-big-array.c: Adjust.
* gcc.dg/vect/vect-outer-1a.c: Adjust.
* gcc.dg/vect/vect-outer-1b-big-array.c: Adjust.
* gcc.dg/vect/vect-outer-1b.c: Adjust.
* gcc.dg/vect/vect-outer-2b.c: Adjust.
* gcc.dg/vect/vect-outer-3b.c: Adjust.
From-SVN: r186285
Jan Hubicka [Tue, 10 Apr 2012 16:03:36 +0000 (18:03 +0200)]
cgraph.h: Remove misledaing comment on ipa-ref.h.
* cgraph.h: Remove misledaing comment on ipa-ref.h.
(symtab_type): New enum.
(symtab_node): New structure.
(cgraph_node, varpool_node): Add symbol base type.
(cgraph, varpool): New accestor functions.
* cgraph.c (cgraph_create_node_1): Set symbol type.
* varpool.c (varpool_node): Set symbol type.
From-SVN: r186284
Michael Matz [Tue, 10 Apr 2012 15:39:22 +0000 (15:39 +0000)]
cshift0.m4 (cshift0_'rtype_code`): Guard use of modulo.
* m4/cshift0.m4 (cshift0_'rtype_code`): Guard use of modulo.
* generated/cshift0_c10.c: Regenerated.
* generated/cshift0_c16.c: Regenerated.
* generated/cshift0_c4.c: Regenerated.
* generated/cshift0_c8.c: Regenerated.
* generated/cshift0_i16.c: Regenerated.
* generated/cshift0_i1.c: Regenerated.
* generated/cshift0_i2.c: Regenerated.
* generated/cshift0_i4.c: Regenerated.
* generated/cshift0_i8.c: Regenerated.
* generated/cshift0_r10.c: Regenerated.
* generated/cshift0_r16.c: Regenerated.
* generated/cshift0_r4.c: Regenerated.
* generated/cshift0_r8.c: Regenerated.
From-SVN: r186283
Ulrich Weigand [Tue, 10 Apr 2012 13:50:43 +0000 (13:50 +0000)]
fwprop.c (propagate_rtx): Also set PR_CAN_APPEAR for subregs.
* fwprop.c (propagate_rtx): Also set PR_CAN_APPEAR for subregs.
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r186278
Richard Guenther [Tue, 10 Apr 2012 13:20:50 +0000 (13:20 +0000)]
re PR middle-end/52888 (Unable to inline function pointer call with inexact signature match)
2012-04-10 Richard Guenther <rguenther@suse.de>
PR middle-end/52888
* gimple-low.c (gimple_check_call_args): Properly account for
compatible aggregate types.
From-SVN: r186276
Richard Guenther [Tue, 10 Apr 2012 11:56:05 +0000 (11:56 +0000)]
toplev.h (tree_rest_of_compilation): Remove.
2012-04-10 Richard Guenther <rguenther@suse.de>
* toplev.h (tree_rest_of_compilation): Remove.
* tree-optimize.c (tree_rest_of_compilation): Likewise.
* cgraph.h (tree_rest_of_compilation): Declare.
* tree-optimize.c (tree_rest_of_compilation): Move ...
* cgraphunit.c (tree_rest_of_compilation): ... here.
* cgraph.c (cgraph_add_new_function): Adjust.
* Makefile.in (tree-optimize.o): Adjust.
(cgraphunit.o): Likewise.
From-SVN: r186274
Ulrich Weigand [Tue, 10 Apr 2012 10:56:11 +0000 (10:56 +0000)]
re PR tree-optimization/52870 (ICE during SLP pattern matching)
gcc/
PR tree-optimization/52870
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Verify that
presumed pattern statement is within the same loop or basic block.
gcc/testsuite/
PR tree-optimization/52870
* gcc.dg/vect/pr52870.c: New test.
From-SVN: r186272
Tristan Gingold [Tue, 10 Apr 2012 08:32:23 +0000 (08:32 +0000)]
gengtype.c (main): Make uintptr_t a known type.
gcc/
2012-04-10 Tristan Gingold <gingold@adacore.com>
* gengtype.c (main): Make uintptr_t a known type.
include/
2012-04-10 Tristan Gingold <gingold@adacore.com>
* splay-tree.h: Conditionnaly includes stdint.h and inttypes.h
(libi_uhostptr_t, libi_shostptr_t): Remove, replaced by uintptr_t.
From-SVN: r186269