Leif Ekblad [Wed, 15 May 2013 20:35:29 +0000 (20:35 +0000)]
i386.c (ix86_decompose_address): Use DEFAULT_TLS_SEG_REG to access TLS segment register.
* config/i386/i386.c (ix86_decompose_address): Use
DEFAULT_TLS_SEG_REG to access TLS segment register.
* config/i386/i386.h (DEFAULT_TLS_SEG_REG): New define.
* config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Ditto.
(TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Ditto.
From-SVN: r198948
François Dumont [Wed, 15 May 2013 19:39:18 +0000 (19:39 +0000)]
printers.py (Tr1HashtableIterator): Fix rendering of std::tr1 unordered containers iterator.
2013-05-15 François Dumont <fdumont@gcc.gnu.org>
* python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
rendering of std::tr1 unordered containers iterator.
(StdHashtableIterator): New, render std unordered containers iterator.
* testsuite/libstdc++-prettyprinters/tr1.cc: New.
From-SVN: r198947
Richard Sandiford [Wed, 15 May 2013 19:16:34 +0000 (19:16 +0000)]
re PR target/57260 (Generated R_MIPS_GOT_MIPS relocation for direct function call while compiling with -O2 on MIPS N64)
gcc/
PR target/57260
* config/mips/mips.c (mips_function_ok_for_sibcall): Don't allow
sibling calls to functions that would normally be lazily bound,
unless $gp is call-clobbered.
gcc/testsuite/
PR target/57260
* gcc.target/mips/call-1.c: Restrict to o32.
* gcc.target/mips/call-5.c, gcc.target/mips/call-6.c: New test.
From-SVN: r198945
Paolo Carlini [Wed, 15 May 2013 18:24:31 +0000 (18:24 +0000)]
name-lookup.c (pushdecl_maybe_friend_1): Replace pairs of warning_at and permerror with warning_at/inform and permerror/...
/cp
2013-05-15 Paolo Carlini <paolo.carlini@oracle.com>
* name-lookup.c (pushdecl_maybe_friend_1): Replace pairs of
warning_at and permerror with warning_at/inform and permerror/
inform, respectively.
/testsuite
2013-05-15 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/lambda/lambda-shadow1.C: Replace dg-warnings with
dg-messages.
* g++.dg/warn/Wshadow-1.C: Likewise.
* g++.dg/warn/Wshadow-6.C: Likewise.
* g++.dg/warn/Wshadow-7.C: Likewise.
From-SVN: r198943
Uros Bizjak [Wed, 15 May 2013 17:48:26 +0000 (19:48 +0200)]
i386.c (iy86_option_override_internal): Update processor_alias_table for missing PTA_PRFCHW and PTA_FXSR flags.
* config/i386/i386.c (iy86_option_override_internal): Update
processor_alias_table for missing PTA_PRFCHW and PTA_FXSR flags. Add
PTA_POPCNT to corei7 entry and remove PTA_SSE from athlon-4 entry.
Do not enable SSE prefetch on non-SSE 3dNow! targets. Enable
TARGET_PRFCHW for TARGET_3DNOW targets.
* config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW instead
of TARGET_3DNOW.
(*prefetch_3dnow): Enable for TARGET_PRFCHW only.
From-SVN: r198942
Andreas Schwab [Wed, 15 May 2013 16:10:59 +0000 (16:10 +0000)]
m68k.md (*rotlhi3_lowpart, [...]): Name for rotlhi3+1 and rotlqi3+1, resp.
* config/m68k/m68k.md (*rotlhi3_lowpart, *rotlqi3_lowpart): Name
for rotlhi3+1 and rotlqi3+1, resp. Fix reference to non-existing
third operand.
From-SVN: r198940
Paolo Carlini [Wed, 15 May 2013 16:10:22 +0000 (16:10 +0000)]
re PR c++/31952 (parameters may be redeclared in a function try-block)
/cp
2013-05-15 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/31952
* name-lookup.c (pushdecl_maybe_friend_1): Diagnose illegal
redeclarations.
/testsuite
2013-05-15 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/31952
* g++.dg/parse/pr31952-1.C: New.
* g++.dg/parse/pr31952-2.C: Likewise.
* g++.dg/parse/pr31952-3.C: Likewise.
* g++.dg/parse/pr18770.C: Adjust dg-errors to dg-messages.
* g++.old-deja/g++.jason/cond.C: Likewise.
* g++.dg/cpp0x/range-for5.C: Likewise.
From-SVN: r198939
Teresa Johnson [Wed, 15 May 2013 15:26:38 +0000 (15:26 +0000)]
loop-unroll.c (report_unroll_peel): Check decision before emitting unroll/peel message.
2013-05-15 Teresa Johnson <tejohnson@google.com>
* loop-unroll.c (report_unroll_peel): Check decision before
emitting unroll/peel message.
From-SVN: r198936
Teresa Johnson [Wed, 15 May 2013 14:14:15 +0000 (14:14 +0000)]
function.h (has_bb_partition): New rtl_data flag.
2013-05-15 Teresa Johnson <tejohnson@google.com>
* function.h (has_bb_partition): New rtl_data flag.
(bb_reorder_complete): Ditto.
* cfgcleanup.c (try_crossjump_to_edge): Check for has_bb_partition
instead of flag_reorder_blocks_and_partition.
* cfgrtl.c (verify_hot_cold_block_grouping): Moved from bb-reorder.c,
with some enhancements.
(rtl_verify_flow_info_1): Call verify_hot_cold_block_grouping.
* bb-reorder.c (connect_traces): Check for has_bb_partition
instead of flag_reorder_blocks_and_partition.
(verify_hot_cold_block_grouping): Moved to cfgrtl.c.
(reorder_basic_blocks): Set bb_reorder_complete flag, remove call to
verify_hot_cold_block_grouping.
(partition_hot_cold_basic_blocks): Set has_bb_partition.
From-SVN: r198934
Ramana Radhakrishnan [Wed, 15 May 2013 11:49:06 +0000 (11:49 +0000)]
Fix PR target/19599 - tailcall function pointers.
2013-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/19599
* config/arm/predicates.md (call_insn_operand): New predicate.
* config/arm/constraints.md ("Cs", "Ss"): New constraints.
* config/arm/arm.md (*call_insn, *call_value_insn): Match only
if insn is not a tail call.
(*sibcall_insn, *sibcall_value_insn): Adjust for tailcalling through
registers.
* config/arm/arm.h (enum reg_class): New caller save register class.
(REG_CLASS_NAMES): Likewise.
(REG_CLASS_CONTENTS): Likewise.
* config/arm/arm.c (arm_function_ok_for_sibcall): Allow tailcalling
without decls.
2013-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/19599
* gcc.target/arm/pr40887.c: Adjust testcase.
* gcc.target/arm/pr19599.c: New test.
From-SVN: r198928
Richard Biener [Wed, 15 May 2013 11:13:46 +0000 (11:13 +0000)]
tree-vect-loop.c (vect_transform_loop): Use MSG_NOTE instead of MSG_OPTIMIZED_LOCATIONS.
2013-05-15 Richard Biener <rguenther@suse.de>
* tree-vect-loop.c (vect_transform_loop): Use MSG_NOTE instead
of MSG_OPTIMIZED_LOCATIONS.
* tree-vect-slp.c (vect_make_slp_decision): Likewise.
(vect_slp_transform_bb): Indicate location in MSG_OPTIMIZED_LOCATIONS
message.
* tree-vectorizer.c (vectorize_loops): Use MSG_NOTE instead
of MSG_OPTIMIZED_LOCATIONS.
(execute_vect_slp): Likewise.
* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Likewise.
(vect_create_cond_for_alias_checks): Likewise.
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Likewise.
(vect_recog_widen_mult_pattern): Likewise.
(vect_recog_widen_sum_pattern): Likewise.
(vect_recog_over_widening_pattern): Likewise.
(vect_recog_widen_shift_pattern): Likewise.
(vect_recog_vector_vector_shift_pattern): Likewise.
(vect_recog_divmod_pattern): Likewise.
(vect_recog_mixed_size_cond_pattern): Likewise.
(vect_recog_bool_pattern): Likewise.
(vect_pattern_recog_1): Likewise.
From-SVN: r198927
Martin Jambor [Wed, 15 May 2013 10:39:28 +0000 (12:39 +0200)]
ipa-prop.c (ipa_make_edge_direct_to_target): Redirect calls to non-functions to builtin_unreachable.
2013-05-15 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (ipa_make_edge_direct_to_target): Redirect calls to
non-functions to builtin_unreachable.
* ipa-inline-transform.c (inline_call): Do not assert estimates were
correct when new direct edges were discovered.
From-SVN: r198926
Martin Jambor [Wed, 15 May 2013 10:35:59 +0000 (12:35 +0200)]
ipa-prop.c (ipa_print_node_jump_functions): Print symbol order in header...
2013-05-15 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (ipa_print_node_jump_functions): Print symbol order in
header, print symbol order instead of node uid, print more information
about indirect edge targets.
(ipa_make_edge_direct_to_target): Print symbol order instead of node
uids.
(ipa_make_edge_direct_to_target): Likewise.
(remove_described_reference): Likewise.
(propagate_controlled_uses): Likewise.
(ipa_print_node_params): Also print symbol order.
(ipcp_transform_function): Print symbol order instead of node uids.
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Likewise.
(cgraph_get_create_real_symbol_node): Likewise.
* ipa-cp.c (print_lattice): Likewise.
(print_all_lattices): Likewise.
(determine_versionability): Likewise.
(initialize_node_lattices): Likewise.
(estimate_local_effects): Likewise.
(update_profiling_info): Likewise.
(create_specialized_node): Likewise.
(perhaps_add_new_callers): Likewise.
(decide_about_value): Likewise.
(decide_whether_version_node): Likewise.
(identify_dead_nodes): Likewise.
* ipa-inline-analysis.c (dump_inline_edge_summary): Likewise.
(dump_inline_summary): Likewise.
(estimate_node_size_and_time): Likewise.
(inline_analyze_function): Likewise.
* ipa-inline.c (report_inline_failed_reason): Likewise.
(want_early_inline_function_p): Likewise.
(edge_badness): Likewise.
(update_edge_key): Likewise.
(inline_small_functions): Likewise. Add dumping of order to two other
dumps.
* ipa-pure-const.c (pure_const_read_summary): Print symbol order
instead of node uids.
(propagate_pure_const): Likewise.
(propagate_pure_const): Likewise.
* ipa-utils.c (dump_cgraph_node_set): Likewise.
* lto-cgraph.c (input_node): Explicitly specify we dump uid.
* lto-symtab.c (lto_cgraph_replace_node): Print symbol order instead
of node uids.
* tree-pretty-print.c (dump_function_header): Likewise.
* tree-sra.c (convert_callers_for_node): Dump in traditional format.
Print symbol order instead of node uids.
lto/
* lto-partition.c (lto_balanced_map): Print symbol order instead
of node uids.
From-SVN: r198925
Andreas Krebbel [Wed, 15 May 2013 08:57:19 +0000 (08:57 +0000)]
s390.c (s390_register_move_cost): Don't impose the FPR<->GPR move cost penalty if ldgr/lgdr can be used.
2013-05-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_register_move_cost): Don't impose the
FPR<->GPR move cost penalty if ldgr/lgdr can be used.
From-SVN: r198923
Jonathan Wakely [Wed, 15 May 2013 08:22:25 +0000 (08:22 +0000)]
* include/bits/basic_string.h (getline): Fix doxygen comments.
From-SVN: r198920
Richard Biener [Wed, 15 May 2013 08:12:49 +0000 (08:12 +0000)]
re PR tree-optimization/57275 (Error in data dependence analysis during gather vectorization)
2013-05-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/57275
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Fix
return value for fail to do runtime alias checks for gather loads.
* gcc.target/i386/pr57275.c: New testcase.
From-SVN: r198918
Jan Hubicka [Wed, 15 May 2013 08:09:26 +0000 (10:09 +0200)]
re PR c++/57038 (Latest libreoffice compilation fails with enabled LTO)
PR lto/57038
PR lto/47375
* lto-symtab.c (lto_symtab_symbol_p): Add external symbol; weakrefs are
not external.
(lto_symtab_merge_decls): Fix thinko when dealing with non-lto_symtab decls.
(lto_symtab_merge_cgraph_nodes): Use lto_symtab_symbol_p.
(lto_symtab_prevailing_decl): Get int sync with lto_symtab_symbol_p.
* varpool.c (dump_varpool_node): Dump more flags.
* lto-partition.c (get_symbol_class): Fix weakrefs.
(lto_balanced_map): Fix weakrefs.
(privatize_symbol_name): Remove unnecesary label.
(rename_statics): Handle weakrefs as statics.
* gcc.dg/lto/attr-weakref-1_0.c: New testcase.
* gcc.dg/lto/attr-weakref-1_1.c: New testcase.
* gcc.dg/lto/attr-weakref-1_2.c: New testcase.
From-SVN: r198917
Ganesh Gopalasubramanian [Wed, 15 May 2013 07:02:43 +0000 (07:02 +0000)]
New instruction (FSGSBASE) for AMD bdver3 architecture
From-SVN: r198916
GCC Administrator [Wed, 15 May 2013 00:16:28 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198912
Senthil Kumar Selvaraj [Tue, 14 May 2013 23:13:20 +0000 (23:13 +0000)]
alias-1.c: Add dg-require-effective-target scheduling.
2013-05-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/torture/alias-1.c: Add dg-require-effective-target
scheduling.
From-SVN: r198909
Jakub Jelinek [Tue, 14 May 2013 20:50:43 +0000 (22:50 +0200)]
re PR c++/57274 (Bogus sequence-point warning in C++)
PR c++/57274
* c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
* c-c++-common/Wsequence-point-1.c: New test.
From-SVN: r198903
Jason Merrill [Tue, 14 May 2013 20:36:32 +0000 (16:36 -0400)]
re PR c++/57243 (Using auto in range based for with templated container in templated function requires extraneous template qualifier)
PR c++/57243
* parser.c (cp_parser_range_for): Call complete_type.
From-SVN: r198901
Jakub Jelinek [Tue, 14 May 2013 19:41:13 +0000 (21:41 +0200)]
tree.c (warn_deprecated_use): Print file:line using locus color.
* tree.c (warn_deprecated_use): Print file:line using locus color.
* diagnostic.c (diagnostic_report_current_module): Print file:line
and file:line:column using locus color.
From-SVN: r198900
Mike Stump [Tue, 14 May 2013 19:18:00 +0000 (19:18 +0000)]
* gdbinit.in: Add __null.
From-SVN: r198899
Mike Stump [Tue, 14 May 2013 19:09:29 +0000 (19:09 +0000)]
recog.h: Rename struct recog_data to Recog_data.
* recog.h: Rename struct recog_data to Recog_data.
* recog.c: Likewise.
* reload.c (can_reload_into): Likewise.
* config/picochip/picochip.c: Likewise.
From-SVN: r198898
Mike Stump [Tue, 14 May 2013 17:43:57 +0000 (17:43 +0000)]
* web.c (union_match_dups): Also check DF_REF_REAL_LOC.
From-SVN: r198896
Steven Bosscher [Tue, 14 May 2013 17:21:43 +0000 (17:21 +0000)]
resource.h (struct resources): Remove unch_memory member.
* resource.h (struct resources): Remove unch_memory member.
(CLEAR_RESOURCE): Don't clear unch_memory.
* resource.c (mark_referenced_resources): Don't set it.
(mark_set_resources): Likewise.
(mark_target_live_regs): Don't clear it.
(init_resource_info): Likewise.
* reorg.c (resource_conflicts_p): Don't compare it.
(redundant_insn): Don't set it.
From-SVN: r198895
Steven Bosscher [Tue, 14 May 2013 17:20:08 +0000 (17:20 +0000)]
rtl.h (next_label, [...]): Remove prototypes.
* rtl.h (next_label, skip_consecutive_labels, link_cc0_insns):
Remove prototypes.
* emit-rtl.c (next_label): Remove unused function.
(skip_consecutive_labels, link_cc0_insns): Move to ...
* reorg.c (skip_consecutive_labels, link_cc0_insns): ... here, the
only place where these functions are used, and make them static.
From-SVN: r198894
Marc Glisse [Tue, 14 May 2013 17:06:46 +0000 (19:06 +0200)]
fold-const.c (fold_negate_expr): Handle vectors.
2013-05-14 Marc Glisse <marc.glisse@inria.fr>
gcc/
* fold-const.c (fold_negate_expr): Handle vectors.
(fold_truth_not_expr): Make it static.
(fold_invert_truthvalue): New static function.
(invert_truthvalue_loc): Handle vectors. Do not call
fold_truth_not_expr directly.
(fold_unary_loc) <BIT_NOT_EXPR>: Handle comparisons.
<TRUTH_NOT_EXPR>: Do not cast to boolean.
(fold_comparison): Handle vector constants.
(fold_binary_loc) <TRUTH_XOR_EXPR>: Remove redundant code.
(fold_ternary_loc) <VEC_COND_EXPR>: Adapt more COND_EXPR optimizations.
* tree.h (fold_truth_not_expr): Remove declaration.
gcc/testsuite/
* g++.dg/ext/vector22.C: New testcase.
* gcc.dg/binop-xor3.c: Remove xfail.
From-SVN: r198893
Paolo Carlini [Tue, 14 May 2013 15:17:18 +0000 (15:17 +0000)]
stl_iterator.h (__normal_iterator<>::_M_const_cast): Use std::pointer_traits.
2013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
Use std::pointer_traits.
From-SVN: r198891
James Greenhalgh [Tue, 14 May 2013 14:56:13 +0000 (14:56 +0000)]
[AArch64] Fix vcond where comparison and result have different types.
gcc/
* config/aarch64/aarch64-simd.md
(aarch64_vcond_internal<mode>): Rename to...
(aarch64_vcond_internal<mode><mode>): ...This, for integer modes.
(aarch64_vcond_internal<VDQF_COND:mode><VDQF:mode>): ...This for
float modes. Clarify all iterator modes.
(vcond<mode><mode>): Use new name for vcond expanders.
(vcond<v_cmp_result><mode>): Likewise.
(vcondu<mode><mode>: Likewise.
* config/aarch64/iterators.md (VDQF_COND): New.
gcc/testsuite/
* gcc.target/aarch64/vect-fcm.x: Add cases testing
FLOAT cmp FLOAT ? INT : INT.
* gcc.target/aarch64/vect-fcm-eq-d.c: Define IMODE.
* gcc.target/aarch64/vect-fcm-eq-f.c: Likewise.
* gcc.target/aarch64/vect-fcm-ge-d.c: Likewise.
* gcc.target/aarch64/vect-fcm-ge-f.c: Likewise.
* gcc.target/aarch64/vect-fcm-gt-d.c: Likewise.
* gcc.target/aarch64/vect-fcm-gt-f.c: Likewise.
From-SVN: r198890
Jason Merrill [Tue, 14 May 2013 14:19:15 +0000 (10:19 -0400)]
re PR c++/57041 (ICE in lookup_field_1, at cp/search.c:376 (with dot-prefixed structure initialisation))
PR c++/57041
* pt.c (tsubst_copy_and_build): Don't recur into a designator.
From-SVN: r198887
Paolo Carlini [Tue, 14 May 2013 13:54:49 +0000 (13:54 +0000)]
re PR c++/53903 ([C++11] Incompatible exception-specification allowed if member explicitly-defaulted after first declaration)
/cp
2013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53903
* method.c (defaulted_late_check): Check for compatible exception
specification out of class explicitly defaulted functions too.
/testsuite
2013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53903
* g++.dg/cpp0x/defaulted43.C: New.
From-SVN: r198886
Rainer Orth [Tue, 14 May 2013 13:11:25 +0000 (13:11 +0000)]
Use __builtin_alloca in gcc.dg/fstack-protector-strong.c
* gcc.dg/fstack-protector-strong.c: Don't include <stdlib.h>.
(alloca): Remove declaration.
(foo9): Replace alloca by __builtin_alloca.
From-SVN: r198883
Jason Merrill [Tue, 14 May 2013 12:49:08 +0000 (08:49 -0400)]
re PR c++/56998 (ICE in value_dependent_expression_p, at cp/pt.c:19598)
PR c++/56998
* semantics.c (potential_constant_expression_1): Make sure the
called function is potentially constant.
* call.c (null_ptr_cst_p): Revert earlier change.
From-SVN: r198881
Marc Glisse [Tue, 14 May 2013 12:06:27 +0000 (14:06 +0200)]
re PR bootstrap/57266 (comparison between signed and unsigned integer expressions in fold_binary_loc breaks m68k bootstrap)
2013-05-14 Marc Glisse <marc.glisse@inria.fr>
PR bootstrap/57266
* fold-const.c (fold_binary_loc) <shift>: Use an unsigned
variable for the shift amount. Check that we shift by non-negative
amounts.
From-SVN: r198880
Chung-Lin Tang [Tue, 14 May 2013 12:02:52 +0000 (12:02 +0000)]
re PR target/42017 (gcc compiling C for ARM has stopped using r14 in leaf functions?)
2013-05-14 Chung-Lin Tang <cltang@codesourcery.com>
PR target/42017
* config/arm/arm.h (EPILOGUE_USES): Only return true
for LR_REGNUM after epilogue_completed.
From-SVN: r198879
Joern Rennecke [Tue, 14 May 2013 11:15:08 +0000 (11:15 +0000)]
avr.c (avr_encode_section_info): Bail out if the type is error_mark_node.
gcc:
* config/avr/avr.c (avr_encode_section_info): Bail out if the type
is error_mark_node.
gcc/testsuite:
* testsuite/gcc.c-torture/compile/limits-externdecl.c [target avr-*-*]:
Expect "size of array is too large" error.
From-SVN: r198876
Rainer Orth [Tue, 14 May 2013 10:24:03 +0000 (10:24 +0000)]
Fix gcc.dg/fstack-protector-strong.c on Solaris/x86
* gcc.dg/fstack-protector-strong.c (alloca): Declare.
From-SVN: r198872
Rainer Orth [Tue, 14 May 2013 09:28:17 +0000 (09:28 +0000)]
Fix Solaris --as-needed/-z ignore detection (PR target/57261)
PR target/57261
* configure.ac (gcc_cv_ld_as_needed): Disable before Solaris 11
and Solaris 11+/x86 with gld.
* configure: Regenerate.
From-SVN: r198867
Jakub Jelinek [Tue, 14 May 2013 08:55:34 +0000 (10:55 +0200)]
expmed.c (expand_shift_1): Canonicalize rotates by constant bitsize / 2 to bitsize - 1.
* expmed.c (expand_shift_1): Canonicalize rotates by
constant bitsize / 2 to bitsize - 1.
* simplify-rt.x (simplify_binary_operation_1) <case ROTATE,
case ROTATERT>: Likewise.
Revert:
2013-05-10 Jakub Jelinek <jakub@redhat.com>
* config/i386/i386.md (rotateinv): New code attr.
(*<rotate_insn><mode>3_1, *<rotate_insn>si3_1_zext,
*<rotate_insn>qi3_1_slp): Emit rorl %eax instead of
roll $31, %eax, etc.
From-SVN: r198864
Richard Biener [Tue, 14 May 2013 08:41:14 +0000 (08:41 +0000)]
re PR middle-end/57235 (ICE verify_ssa failied)
2013-05-14 Richard Biener <rguenther@suse.de>
PR middle-end/57235
* tree-eh.c (sink_clobbers): Give up for successors with
multiple predecessors and no virtual uses.
* g++.dg/torture/pr57235.C: New testcase.
From-SVN: r198863
Eric Botcazou [Tue, 14 May 2013 08:03:22 +0000 (08:03 +0000)]
sp64-elf.h (CPP_SUBTARGET_SPEC): Delete.
* config/sparc/sp64-elf.h (CPP_SUBTARGET_SPEC): Delete.
* config/sparc/openbsd64.h (CPP_SUBTARGET_SPEC): Likewise.
From-SVN: r198862
Jakub Jelinek [Tue, 14 May 2013 06:26:23 +0000 (08:26 +0200)]
re PR tree-optimization/57251 (ICE in optab_handler, at optabs.h:258)
PR middle-end/57251
* expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Handle
the case when both op0 and op1 have VOIDmode.
* gcc.dg/torture/pr57251.c: New test.
From-SVN: r198860
Kaushik Phatak [Tue, 14 May 2013 05:14:19 +0000 (05:14 +0000)]
rl78.md (mulsi3_g13): Add additional 'nop' required in multiply-accumulate mode.
* config/rl78/rl78.md(mulsi3_g13): Add additional 'nop' required
in multiply-accumulate mode.
--This llne, and those below, will be ignored--
M ChangeLog
M config/rl78/rl78.md
From-SVN: r198859
GCC Administrator [Tue, 14 May 2013 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198858
Guozhi Wei [Mon, 13 May 2013 23:04:10 +0000 (23:04 +0000)]
dwarf2asm.c (dw2_output_indirect_constant_1): Mark new decl STATIC.
* dwarf2asm.c (dw2_output_indirect_constant_1): Mark new decl STATIC.
From-SVN: r198855
Benjamin Kosnik [Mon, 13 May 2013 22:06:28 +0000 (22:06 +0000)]
Makefile.am (sources): Add bad_array_length.cc, bad_array_new.cc.
2013-05-13 Benjamin Kosnik <bkoz@redhat.com>
* libsupc++/Makefile.am (sources): Add bad_array_length.cc,
bad_array_new.cc.
* libsupc++/Makefile.in: Regenerate.
* libsupc++/bad_array_length.cc: Tweak.
* libsupc++/bad_array_new.cc: Tweak.
From-SVN: r198853
Kai Tietz [Mon, 13 May 2013 19:48:15 +0000 (21:48 +0200)]
re PR target/56975 (dllimport broken on i686-pc-cygwin)
2013-05-13 Kai Tietz <ktietz@redhat.com>
PR target/56975
* config/i386/cygming.h (TARGET_PECOFF): Define as true.
* config/i386/i386.h (TARGET_PECOFF): Define by default
as false.
(PIC_OFFSET_TABLE_REGNUM): Use TARGET_PECOFF.
* config/i386/i386.c (ix86_option_override_internal):
Likewise.
(ix86_expand_prologue): Likewise.
(ix86_expand_split_stack_prologue): Likewise.
(legitimate_pic_address_disp_p): Likewise.
(legitimize_pic_address): Likewise.
(legitimize_tls_address): Likewise.
(legitimize_pe_coff_symbol): Likewise.
(output_pic_addr_const): Likewise.
(construct_plt_address): Likewise.
(ix86_expand_call): Likewise.
(x86_output_mi_thunk): Likewise.
(x86_function_profiler): Likewise.
From-SVN: r198852
Jason Merrill [Mon, 13 May 2013 19:32:42 +0000 (15:32 -0400)]
re PR c++/56998 (ICE in value_dependent_expression_p, at cp/pt.c:19598)
PR c++/56998
* call.c (null_ptr_cst_p): An expression with side-effects can't
be a C++03 null pointer constant.
From-SVN: r198845
Jason Merrill [Mon, 13 May 2013 19:32:35 +0000 (15:32 -0400)]
re PR c++/57041 (ICE in lookup_field_1, at cp/search.c:376 (with dot-prefixed structure initialisation))
PR c++/57041
* decl.c (reshape_init_class): Handle error_mark_node.
From-SVN: r198844
Jason Merrill [Mon, 13 May 2013 19:32:28 +0000 (15:32 -0400)]
re PR c++/57254 (Overload resolution failure when ref-qualified member function templates are defined out-of-line)
PR c++/57254
* typeck.c (merge_types): Propagate ref-qualifier
in METHOD_TYPE case.
From-SVN: r198843
Jason Merrill [Mon, 13 May 2013 19:32:22 +0000 (15:32 -0400)]
re PR c++/57253 (GCC ignores ref-qualifiers of pseudo-function types in explicit specializations)
PR c++/57253
* decl.c (grokdeclarator): Apply ref-qualifier
in the TYPENAME case.
From-SVN: r198842
Jason Merrill [Mon, 13 May 2013 19:32:15 +0000 (15:32 -0400)]
re PR c++/57252 (GCC does not treat ref-qualified overload set as ambiguous)
PR c++/57252
* decl.c (decls_match): Compare ref-qualifiers.
From-SVN: r198841
Mike Stump [Mon, 13 May 2013 17:52:42 +0000 (17:52 +0000)]
compare_tests: Limit lines to 2000 characters as comm on Mac OS X 10.8.3 doesn't like long...
* compare_tests: Limit lines to 2000 characters as comm on Mac OS
X 10.8.3 doesn't like long lines (those 2055 characters or more).
From-SVN: r198840
Uros Bizjak [Mon, 13 May 2013 17:37:48 +0000 (19:37 +0200)]
re PR target/57264 (cld not emitted when string instructions used, and '-mcld' on command line)
PR target/57264
* gcc.target/i386/pr57264.c: New test.
From-SVN: r198839
Jakub Jelinek [Mon, 13 May 2013 16:51:30 +0000 (18:51 +0200)]
* gcc.dg/vector-shift-2.c: Add -O to dg-options.
From-SVN: r198836
Greta Yorsh [Mon, 13 May 2013 14:28:25 +0000 (15:28 +0100)]
forwprop-26.c: Add -fno-short-enums to dg-options.
gcc/testsuite
2013-05-13 Greta Yorsh <Greta.Yorsh@arm.com>
* gcc.dg/tree-ssa/forwprop-26.c: Add -fno-short-enums
to dg-options.
From-SVN: r198832
Sofiane Naci [Mon, 13 May 2013 14:22:02 +0000 (14:22 +0000)]
aarch64-simd.md (aarch64_simd_mov<mode>): Group similar switch cases.
* config/aarch64/aarch64-simd.md (aarch64_simd_mov<mode>): Group
similar switch cases.
(aarch64_simd_mov): Rename to aarch64_split_simd_mov. Update.
(aarch64_simd_mov_to_<mode>low): Delete.
(aarch64_simd_mov_to_<mode>high): Delete.
(move_lo_quad_<mode>): Add w<-r alternative.
(aarch64_simd_move_hi_quad_<mode>): Likewise.
(aarch64_simd_mov_from_*): Update type attribute.
* config/aarch64/aarch64.c (aarch64_split_simd_move): Refacror switch
statement.
From-SVN: r198831
Jan Hubicka [Mon, 13 May 2013 11:33:50 +0000 (13:33 +0200)]
mode-switching.c (optimize_mode_switching): Set correct RTL profile.
* mode-switching.c (optimize_mode_switching): Set correct RTL profile.
* config/i386/i386.c (ix86_compute_frame_layout,
ix86_expand_epilogue, emit_i387_cw_initialization, ix86_expand_vector_move_misalign,
ix86_fp_comparison_strategy, ix86_local_alignment): Fix use of size/speed predicates.
From-SVN: r198825
Rainer Orth [Mon, 13 May 2013 11:07:28 +0000 (11:07 +0000)]
Restore Solaris/amd64 Ada bootstrap (PR ada/57188)
PR ada/57188
* gcc-interface/Makefile.in: Allow for amd64 solaris2.
From-SVN: r198824
Jakub Jelinek [Mon, 13 May 2013 11:04:26 +0000 (13:04 +0200)]
re PR tree-optimization/45216 (Rotate expressions not recognized at tree level)
PR tree-optimization/45216
PR tree-optimization/57157
* tree-ssa-forwprop.c (simplify_rotate): Only recognize
the (-Y) & (B - 1) variant if OP is |.
* expmed.c (expand_shift_1): For rotations by const0_rtx just
return shifted. Use (-op1) & (prec - 1) as other_amount
instead of prec - op1.
* c-c++-common/rotate-1.c: Add 32 tests with +.
* c-c++-common/rotate-1a.c: Adjust.
* c-c++-common/rotate-2.c: Add 32 tests with +, expect
only 48 rotates.
* c-c++-common/rotate-2b.c: New test.
* c-c++-common/rotate-3.c: Add 32 tests with +.
* c-c++-common/rotate-4.c: Add 32 tests with +, expect
only 48 rotates.
* c-c++-common/rotate-4b.c: New test.
* c-c++-common/rotate-5.c: New test.
From-SVN: r198823
Martin Jambor [Mon, 13 May 2013 10:16:09 +0000 (12:16 +0200)]
re PR middle-end/42371 (dead code not eliminated during folding with whole-program)
2013-05-13 Martin Jambor <mjambor@suse.cz>
PR middle-end/42371
* ipa-prop.h (IPA_UNDESCRIBED_USE): New macro.
(ipa_constant_data): New type.
(ipa_jump_func): Use ipa_constant_data to hold information about
constant jump functions.
(ipa_get_jf_constant): Adjust to jump function type changes.
(ipa_get_jf_constant_rdesc): New function.
(ipa_param_descriptor): New field controlled_uses.
(ipa_get_controlled_uses): New function.
(ipa_set_controlled_uses): Likewise.
* ipa-ref.h (ipa_find_reference): Declare.
* ipa-prop.c (ipa_cst_ref_desc): New type.
(ipa_print_node_jump_functions_for_edge): Adjust for jump function type
changes.
(ipa_set_jf_constant): Likewise. Also create reference descriptions.
New parameter cs. Adjust all callers.
(ipa_analyze_params_uses): Detect uncontrolled and controlled uses.
(remove_described_reference): New function.
(jfunc_rdesc_usable): Likewise.
(try_make_edge_direct_simple_call): Decrement controlled use count,
attempt to remove reference if it hits zero.
(combine_controlled_uses_counters): New function.
(propagate_controlled_uses): Likewise.
(ipa_propagate_indirect_call_infos): Call propagate_controlled_uses.
(ipa_edge_duplication_hook): Duplicate reference descriptions.
(ipa_print_node_params): Print described use counter.
(ipa_write_jump_function): Adjust to jump function type changes.
(ipa_read_jump_function): New parameter CS, pass it to
ipa_set_jf_constant. Adjust caller.
(ipa_write_node_info): Stream controlled use count
(ipa_read_node_info): Likewise.
* cgraph.c (cgraph_mark_address_taken_node): Bail out instead of
asserting.
* ipa-cp.c (ipcp_discover_new_direct_edges): Decrement controlled use
count. Remove cloning-added reference if it reaches zero.
* ipa-ref.c (ipa_find_reference): New function.
testsuite/
* gcc.dg/ipa/remref-0.c: New test.
* gcc.dg/ipa/remref-1a.c: Likewise.
* gcc.dg/ipa/remref-1b.c: Likewise.
* gcc.dg/ipa/remref-2a.c: Likewise.
* gcc.dg/ipa/remref-2b.c: Likewise.
From-SVN: r198821
Ganesh Gopalasubramanian [Mon, 13 May 2013 09:35:54 +0000 (09:35 +0000)]
AMD specific default alignment changes
From-SVN: r198820
Marc Glisse [Mon, 13 May 2013 09:30:50 +0000 (11:30 +0200)]
tree-vect-generic.c (uniform_vector_p): Move ...
2013-05-13 Marc Glisse <marc.glisse@inria.fr>
gcc/
* tree-vect-generic.c (uniform_vector_p): Move ...
* tree.c (uniform_vector_p): ... here.
* tree.h (uniform_vector_p): Declare it.
* fold-const.c (fold_binary_loc) <shift>: Turn the second argument
into a scalar.
gcc/testsuite/
* gcc.dg/vector-shift-2.c: New testcase.
From-SVN: r198819
Jakub Jelinek [Mon, 13 May 2013 07:50:38 +0000 (09:50 +0200)]
re PR tree-optimization/57230 (tree-ssa-strlen incorrectly optimizes a strlen to 0)
PR tree-optimization/57230
* tree-ssa-strlen.c (handle_char_store): Record length for
array store from STRING_CST.
* gcc.dg/strlenopt-24.c: New test.
From-SVN: r198815
Jakub Jelinek [Mon, 13 May 2013 07:46:53 +0000 (09:46 +0200)]
re PR tree-optimization/57230 (tree-ssa-strlen incorrectly optimizes a strlen to 0)
PR tree-optimization/57230
* tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop
check.
* gcc.dg/strlenopt-23.c: New test.
From-SVN: r198813
Joern Rennecke [Mon, 13 May 2013 00:29:36 +0000 (00:29 +0000)]
Fix EH handling issue in last change:
* config/epiphany/epiphany.c (epiphany_init): Check size of
NUM_MODES_FOR_MODE_SWITCHING.
(epiphany_expand_prologue):
Remove CONFIG_REGNUM initial value handling code.
(epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG.
(epiphany_mode_needed, epiphany_mode_entry_exit): Likewise.
(emit_set_fp_mode, epiphany_mode_after): Likewise.
(epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>:
Don't return 1 for FP_MODE_NONE.
* config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING):
Add value for EPIPHANY_MSW_ENTITY_CONFIG.
(EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define.
* config/epiphany/epiphany.md (save_config): New pattern.
From-SVN: r198811
GCC Administrator [Mon, 13 May 2013 00:16:33 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198810
Joern Rennecke [Sun, 12 May 2013 21:59:13 +0000 (21:59 +0000)]
epiphany.c (epiphany_init): Check size of NUM_MODES_FOR_MODE_SWITCHING.
* config/epiphany/epiphany.c (epiphany_init): Check size of
NUM_MODES_FOR_MODE_SWITCHING.
(epiphany_expand_prologue):
Remove CONFIG_REGNUM initial value handling code.
(epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG.
(epiphany_mode_needed, epiphany_mode_entry_exit): Likewise.
(emit_set_fp_mode): Likewise.
(epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>:
Don't return 1 for FP_MODE_NONE.
* config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING):
Add value for EPIPHANY_MSW_ENTITY_CONFIG.
(EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define.
* config/epiphany/epiphany.md (save_config): New pattern.
From-SVN: r198807
Uros Bizjak [Sun, 12 May 2013 20:34:19 +0000 (22:34 +0200)]
i386.md (*zero_extendsidi2): Add *x->?r alternative.
* config/i386/i386.md (*zero_extendsidi2): Add *x->?r alternative.
From-SVN: r198806
Gerald Pfeifer [Sun, 12 May 2013 18:36:47 +0000 (18:36 +0000)]
Remove duplicate (and incorrect) entry for r197284.
From-SVN: r198805
Oleg Endo [Sun, 12 May 2013 10:27:48 +0000 (10:27 +0000)]
re PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in int_mode_for_mode, at stor-layout.c:395)
PR target/57108
* gcc.target/sh/pr57108.c: Move this test case to ...
* gcc.c-torture/compile/pr57108.c: ... here.
From-SVN: r198803
GCC Administrator [Sun, 12 May 2013 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198802
GCC Administrator [Sat, 11 May 2013 00:16:35 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198799
Uros Bizjak [Fri, 10 May 2013 18:47:27 +0000 (20:47 +0200)]
i386.md (memory): Handle sseishft1.
* config/i386/i386.md (memory): Handle sseishft1.
* config/i386/sse.md (*vec_extractv4si): Remove memory attribute.
(*vec_extractv2di_1): Ditto.
From-SVN: r198795
Vladimir Makarov [Fri, 10 May 2013 15:26:31 +0000 (15:26 +0000)]
lra-assigns.c (find_hard_regno_for): Add 1 to the cost of call saved registers.
2013-05-10 Vladimir Makarov <vmakarov@redhat.com>
* lra-assigns.c (find_hard_regno_for): Add 1 to the cost of call
saved registers.
From-SVN: r198792
Paolo Carlini [Fri, 10 May 2013 15:18:33 +0000 (15:18 +0000)]
re PR libstdc++/54577 (deque<T>::erase() still takes iterator instead of const_iterator)
2013-05-10 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/54577
* include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
(_Deque_iterator<>::_M_const_cast): Add.
(deque<>::_M_erase): Declare.
* include/bits/deque.tcc: ... and define.
* include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
(_List_const_iterator<>::_M_const_cast): Add.
* include/bits/list.tcc (erase (iterator)): Fix.
* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
Add; include <ext/cast.h>.
* include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
(vector<>::_M_erase): Declare.
* include/bits/stl_bvector.h: Likewise.
* include/bits/vector.tcc (vector<>::_M_erase): Define.
* include/ext/vstring.h (erase): Fix signatures in C++11 mode.
* include/debug/deque: Adjust.
* include/debug/list: Likewise.
* include/debug/vector: Likewise.
* include/profile/deque: Likewise.
* include/profile/list: Likewise.
* include/profile/vector: Likewise.
* testsuite/util/exception/safety.h (erase_base<deque>,
erase_base<deque>, erase_base<vector>): Remove.
(erase_base<__versa_string>): Update.
* testsuite/ext/vstring/modifiers/char/54577.cc: New.
* testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
* testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
* testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
* testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
Likewise.
* testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line numbers.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r198790
Joel Sherrill [Fri, 10 May 2013 15:12:54 +0000 (15:12 +0000)]
Fix spacing
From-SVN: r198789
Sebastian Huber [Fri, 10 May 2013 15:08:24 +0000 (15:08 +0000)]
t-rtems-eabi: Remove mthumb/march=armv7 multilib.
2013-05-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
* config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
Add mthumb/march=armv7-a multilib.
Add mthumb/march=armv7-r multilib.
Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
From-SVN: r198784
Ralf Corsepius [Fri, 10 May 2013 15:02:21 +0000 (15:02 +0000)]
t-rtems: Add more multilibs.
2013-05-10 Ralf Corsépius <ralf.corsepius@rtems.org>
* config/v850/t-rtems: Add more multilibs.
From-SVN: r198781
Jason Merrill [Fri, 10 May 2013 14:17:45 +0000 (10:17 -0400)]
re PR c++/57196 (Bogus "aggregate ... has incomplete type and cannot be defined")
PR c++/57196
* pt.c (convert_template_argument): Use dependent_template_arg_p,
not uses_template_parms.
From-SVN: r198778
Jason Merrill [Fri, 10 May 2013 14:17:37 +0000 (10:17 -0400)]
re PR c++/57047 ([C++11] stl_pair.h:137:64: internal compiler error: Segmentation fault in constexpr constructor)
PR c++/57047
* semantics.c (cxx_fold_indirect_ref): Fix thinko.
From-SVN: r198777
Jason Merrill [Fri, 10 May 2013 14:17:30 +0000 (10:17 -0400)]
re PR c++/55149 (capturing VLA in lambda)
PR c++/55149
* semantics.c (add_capture): Error rather than abort on copy
capture of VLA.
* typeck.c (maybe_warn_about_returning_address_of_local): Don't
warn about capture proxy.
From-SVN: r198776
Richard Biener [Fri, 10 May 2013 12:26:10 +0000 (12:26 +0000)]
Fix changelog entry
From-SVN: r198775
Richard Biener [Fri, 10 May 2013 12:20:36 +0000 (12:20 +0000)]
re PR tree-optimization/57214 (ice: tree check: expected ssa_name, have integer_cst in coalesce_partitions, at tree-ssa-coalesce.c:1194)
2013-05-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/57214
* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Do
not propagate from SSA names that occur in abnormal PHI nodes.
From-SVN: r198773
Marc Glisse [Fri, 10 May 2013 11:15:14 +0000 (13:15 +0200)]
stor-layout.c (element_precision): New function.
2013-05-10 Marc Glisse <marc.glisse@inria.fr>
gcc/
* stor-layout.c (element_precision): New function.
* machmode.h (element_precision): Declare it.
* tree.c (build_minus_one_cst): New function.
(element_precision): Likewise.
* tree.h (build_minus_one_cst): Declare new function.
(element_precision): Likewise.
* fold-const.c (operand_equal_p): Use element_precision.
(fold_binary_loc): Handle vector types.
* convert.c (convert_to_integer): Use element_precision.
* gimple.c (iterative_hash_canonical_type): Handle complex and vectors
separately.
gcc/c-family/
* c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
vectors.
gcc/testsuite/
* gcc.dg/vector-shift.c: New testcase.
From-SVN: r198772
Richard Sandiford [Fri, 10 May 2013 10:52:55 +0000 (10:52 +0000)]
gcc/
* config/mips/mips-protos.h (m16_uimm3_b, m16_simm4_1, m16_nsimm4_1)
(m16_simm5_1, m16_nsimm5_1, m16_uimm5_4, m16_nuimm5_4, m16_simm8_1)
(m16_nsimm8_1, m16_uimm8_1, m16_nuimm8_1, m16_uimm8_m1_1, m16_uimm8_4)
(m16_nuimm8_4, m16_simm8_8, m16_nsimm8_8): Delete.
* config/mips/mips.c (m16_check_op, m16_uimm3_b, m16_simm4_1)
(m16_nsimm4_1, m16_simm5_1, m16_nsimm5_1, m16_uimm5_4, m16_nuimm5_4)
(m16_simm8_1, m16_nsimm8_1, m16_uimm8_1, m16_nuimm8_1, m16_uimm8_m1_1)
(m16_uimm8_4, m16_nuimm8_4, m16_simm8_8, m16_nsimm8_8): Delete.
* config/mips/constraints.md (Udb8, Usb5, Usb8, Usd8, Uub8, Uuw5)
(Uuw8): New constraints.
(Usb4): Move into alphabetical order.
* config/mips/predicates.md (db8_operand, sb5_operand, sb8_operand)
(sd8_operand, ub8_operand, uw8_operand): New predicates.
* config/mips/mips.md (*xor<mode>3, *xor<mode>3_mips16): Name
previously unnamed patterns.
(*add<mode>3_mips16, *xor<mode>3_mips16, *<optab>si3_mips16)
(*ashldi3_mips16, *ashrdi3_mips16, *lshrdi3_mips16)
(*slt<u>_<GPR:mode><GPR2:mode>_mips16)
(*sle<u>_<GPR:mode><GPR2:mode>_mips16): Use constraints instead
of set_attr_alternative/if_then_else. Use extended_mips16 instead
of specific lengths.
From-SVN: r198771
Jakub Jelinek [Fri, 10 May 2013 08:41:17 +0000 (10:41 +0200)]
i386.md (rotateinv): New code attr.
* config/i386/i386.md (rotateinv): New code attr.
(*<rotate_insn><mode>3_1, *<rotate_insn>si3_1_zext,
*<rotate_insn>qi3_1_slp): Emit rorl %eax instead of
roll $31, %eax, etc.
* gcc.target/i386/rotate-1.c: Accept rolb or rorb instruction.
From-SVN: r198770
Jakub Jelinek [Fri, 10 May 2013 08:40:10 +0000 (10:40 +0200)]
re PR tree-optimization/45216 (Rotate expressions not recognized at tree level)
PR tree-optimization/45216
PR tree-optimization/57157
* tree-ssa-forwprop.c (simplify_rotate): New function.
(ssa_forward_propagate_and_combine): Call it.
* c-c++-common/rotate-1.c: New test.
* c-c++-common/rotate-1a.c: New test.
* c-c++-common/rotate-2.c: New test.
* c-c++-common/rotate-2a.c: New test.
* c-c++-common/rotate-3.c: New test.
* c-c++-common/rotate-3a.c: New test.
* c-c++-common/rotate-4.c: New test.
* c-c++-common/rotate-4a.c: New test.
From-SVN: r198769
Uros Bizjak [Fri, 10 May 2013 07:54:22 +0000 (09:54 +0200)]
testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
From-SVN: r198768
Richard Biener [Fri, 10 May 2013 07:52:25 +0000 (07:52 +0000)]
tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not disable peeling when we version for aliasing.
2013-05-10 Richard Biener <rguenther@suse.de>
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
disable peeling when we version for aliasing.
(vector_alignment_reachable_p): Honor explicit user alignment.
(vect_supportable_dr_alignment): Likewise.
* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Use
STMT_VINFO_LOOP_PHI_EVOLUTION_PART instead of recomputing it.
* tree-vect-loop.c (vect_transform_loop): First apply versioning,
then peeling to arrange for the cost-model check to come first.
* gcc.target/i386/avx256-unaligned-load-2.c: Make well-defined.
* gcc.target/i386/l_fma_double_1.c: Adjust.
* gcc.target/i386/l_fma_double_2.c: Likewise.
* gcc.target/i386/l_fma_double_3.c: Likewise.
* gcc.target/i386/l_fma_double_4.c: Likewise.
* gcc.target/i386/l_fma_double_5.c: Likewise.
* gcc.target/i386/l_fma_double_6.c: Likewise.
* gcc.target/i386/l_fma_float_1.c: Likewise.
* gcc.target/i386/l_fma_float_2.c: Likewise.
* gcc.target/i386/l_fma_float_3.c: Likewise.
* gcc.target/i386/l_fma_float_4.c: Likewise.
* gcc.target/i386/l_fma_float_5.c: Likewise.
* gcc.target/i386/l_fma_float_6.c: Likewise.
From-SVN: r198767
Alan Modra [Fri, 10 May 2013 02:07:53 +0000 (11:37 +0930)]
configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
* configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
(HAVE_LD_LARGE_TOC): Don't mention AIX in help text.
* configure: Regenerate.
From-SVN: r198766
Alan Modra [Fri, 10 May 2013 01:06:49 +0000 (10:36 +0930)]
re PR target/55033 (PowerPC section type conflict error)
PR target/55033
* varasm.c (default_elf_select_section): Move !DECL_P check..
(get_named_section): ..to here before calling get_section_name.
Adjust assertion.
(default_section_type_flags): Add DECL_P check.
* config/i386/winnt.c (i386_pe_section_type_flags): Likewise.
* config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): Likewise.
From-SVN: r198762
GCC Administrator [Fri, 10 May 2013 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198760
Jason Merrill [Thu, 9 May 2013 22:08:59 +0000 (18:08 -0400)]
* decl.c (cp_finish_decl): Only check VLA bound in C++1y mode.
From-SVN: r198756
Joern Rennecke [Thu, 9 May 2013 20:11:12 +0000 (20:11 +0000)]
epiphany.c (epiphany_expand_prologue): When using gen_stack_adjust_str with a register offset...
* config/epiphany/epiphany.c (epiphany_expand_prologue):
When using gen_stack_adjust_str with a register offset, add a
REG_FRAME_RELATED_EXPR note.
From-SVN: r198753
Uros Bizjak [Thu, 9 May 2013 19:36:56 +0000 (21:36 +0200)]
sse.md (*vec_extractv4si_0_zext): New pattern.
* config/i386/sse.md (*vec_extractv4si_0_zext): New pattern.
(*vec_extractv4si_zext_mem): Ditto.
(*vec_extractv2di): Add 0->x and x->x alternatives.
* config/i386/mmx.md (*vec_extractv2si_zext_mem): New pattern.
* config/i386/i386.md (*zero_extendsidi2): Add *Yj->?r alternative.
From-SVN: r198752
Jason Merrill [Thu, 9 May 2013 16:43:49 +0000 (12:43 -0400)]
re PR c++/57222 (Template alias not working in argument of template class template method)
PR c++/57222
* pt.c (lookup_template_class_1): Handle getting a template
template parameter as D1.
From-SVN: r198747
Jason Merrill [Thu, 9 May 2013 16:43:43 +0000 (12:43 -0400)]
N3639 C++1y VLA diagnostics
* decl.c (grokdeclarator): Complain about reference, pointer, or
typedef to VLA.
(create_array_type_for_decl): Complain about array of VLA.
* pt.c (tsubst): Likewise.
* rtti.c (get_tinfo_decl): Talk about "array of runtime bound".
* semantics.c (finish_decltype_type): Complain about decltype of VLA.
* typeck.c (cp_build_addr_expr_1): Complain about VLA.
(cxx_sizeof_or_alignof_type): Likewise.
From-SVN: r198746