platform/upstream/gcc.git
11 years agoRestore Solaris/amd64 Ada bootstrap (PR ada/57188)
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

11 years agore PR tree-optimization/45216 (Rotate expressions not recognized at tree level)
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

11 years agore PR middle-end/42371 (dead code not eliminated during folding with whole-program)
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

11 years agoAMD specific default alignment changes
Ganesh Gopalasubramanian [Mon, 13 May 2013 09:35:54 +0000 (09:35 +0000)]
AMD specific default alignment changes

From-SVN: r198820

11 years agotree-vect-generic.c (uniform_vector_p): Move ...
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

11 years agore PR tree-optimization/57230 (tree-ssa-strlen incorrectly optimizes a strlen to 0)
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

11 years agore PR tree-optimization/57230 (tree-ssa-strlen incorrectly optimizes a strlen to 0)
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

11 years agoFix EH handling issue in last change:
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

11 years agoDaily bump.
GCC Administrator [Mon, 13 May 2013 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198810

11 years agoepiphany.c (epiphany_init): Check size of NUM_MODES_FOR_MODE_SWITCHING.
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

11 years agoi386.md (*zero_extendsidi2): Add *x->?r alternative.
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

11 years agoRemove duplicate (and incorrect) entry for r197284.
Gerald Pfeifer [Sun, 12 May 2013 18:36:47 +0000 (18:36 +0000)]
Remove duplicate (and incorrect) entry for r197284.

From-SVN: r198805

11 years agore PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in int_mode_for_mode...
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

11 years agoDaily bump.
GCC Administrator [Sun, 12 May 2013 00:16:42 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198802

11 years agoDaily bump.
GCC Administrator [Sat, 11 May 2013 00:16:35 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198799

11 years agoi386.md (memory): Handle sseishft1.
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

11 years agolra-assigns.c (find_hard_regno_for): Add 1 to the cost of call saved registers.
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

11 years agore PR libstdc++/54577 (deque<T>::erase() still takes iterator instead of const_iterator)
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

11 years agoFix spacing
Joel Sherrill [Fri, 10 May 2013 15:12:54 +0000 (15:12 +0000)]
Fix spacing

From-SVN: r198789

11 years agot-rtems-eabi: Remove mthumb/march=armv7 multilib.
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

11 years agot-rtems: Add more multilibs.
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

11 years agore PR c++/57196 (Bogus "aggregate ... has incomplete type and cannot be defined")
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

11 years agore PR c++/57047 ([C++11] stl_pair.h:137:64: internal compiler error: Segmentation...
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

11 years agore PR c++/55149 (capturing VLA in lambda)
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

11 years agoFix changelog entry
Richard Biener [Fri, 10 May 2013 12:26:10 +0000 (12:26 +0000)]
Fix changelog entry

From-SVN: r198775

11 years agore PR tree-optimization/57214 (ice: tree check: expected ssa_name, have integer_cst...
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

11 years agostor-layout.c (element_precision): New function.
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

11 years agogcc/
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

11 years agoi386.md (rotateinv): New code attr.
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

11 years agore PR tree-optimization/45216 (Rotate expressions not recognized at tree level)
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

11 years agotestsuite_abi.cc (check_version): Add CXXABI_1.3.8.
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

11 years agotree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not disable peeling...
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

11 years agoconfigure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
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

11 years agore PR target/55033 (PowerPC section type conflict error)
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

11 years agoDaily bump.
GCC Administrator [Fri, 10 May 2013 00:16:21 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198760

11 years ago* decl.c (cp_finish_decl): Only check VLA bound in C++1y mode.
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

11 years agoepiphany.c (epiphany_expand_prologue): When using gen_stack_adjust_str with a registe...
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

11 years agosse.md (*vec_extractv4si_0_zext): New pattern.
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

11 years agore PR c++/57222 (Template alias not working in argument of template class template...
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

11 years agoN3639 C++1y VLA diagnostics
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

11 years agoN3639 C++1y VLA support
Jason Merrill [Thu, 9 May 2013 16:43:36 +0000 (12:43 -0400)]
N3639 C++1y VLA support

gcc/
* gimplify.c (gimplify_vla_decl): Don't touch an existing
DECL_VALUE_EXPR.
gcc/cp/
* decl.c (compute_array_index_type): Allow VLAs in C++1y mode.
(check_array_initializer): Allow VLA init.
(reshape_init_array_1): Adjust.
(cp_finish_decl): Check for invalid VLA length.
* typeck2.c (process_init_constructor_array): Adjust.
(store_init_value): Use build_vec_init for VLAs.
* semantics.c (add_capture): Capture VLA as ptr+len.
(vla_capture_type): New.
(build_capture_proxy): Rebuild the VLA.
* typeck.c (build_simple_component_ref): Split out from...
(build_ptrmemfunc_access_expr): ...here.
* tree.c (array_of_runtime_bound_p): New.
* init.c (throw_bad_array_length): New.
(build_vec_init): Use it.
* parser.c (cp_convert_range_for): When iterating over a VLA,
use it directly rather than bind a reference.
* cp-tree.h: Declare new functions.
libstdc++-v3/
* libsupc++/new: Add std::bad_array_length.
* libsupc++/bad_array_length.cc: New.
* libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
* libsupc++/Makefile.in: Build them.
* config/abi/pre/gnu.ver: Add new symbols.
* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.

From-SVN: r198745

11 years agotree.c (build_constructor_va): New.
Jason Merrill [Thu, 9 May 2013 16:43:27 +0000 (12:43 -0400)]
tree.c (build_constructor_va): New.

* tree.c (build_constructor_va): New.
* tree.h: Declare it.

From-SVN: r198744

11 years agore PR lto/57084 (483. xalancbmk run fails with -O2 -flto for i686)
Martin Jambor [Thu, 9 May 2013 16:32:17 +0000 (18:32 +0200)]
re PR lto/57084 (483. xalancbmk run fails with -O2 -flto for i686)

2013-05-09  Martin Jambor  <mjambor@suse.cz>

PR lto/57084
* gimple-fold.c (canonicalize_constructor_val): Call
cgraph_get_create_real_symbol_node instead of cgraph_get_create_node.

From-SVN: r198743

11 years agoJan Hubicka <jh@suse.cz>
Jan Hubicka [Thu, 9 May 2013 15:37:12 +0000 (17:37 +0200)]
Jan Hubicka  <jh@suse.cz>
Richard Biener  <rguenther@suse.de>

PR lto/54095
* symtab.c (symtab_make_decl_local): Do not add private names.

* lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
(lto_register_var_decl_in_symtab): Likewise.
(lto_main): Promote statics.
* lto-partition.c (privatize_symbol_name): New function.
(promote_symbol): Use it.
(may_need_named_section_p): New predicate.
(rename_statics): New functions.
(lto_promote_cross_file_statics): Simplify; do renaming.
(lto_promote_statics_nonwpa): New function.
* lto-partition.h (lto_promote_statics_nonwpa): New function.

Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r198741

11 years agore PR lto/54095 (Unnecessary static variable renaming)
Jan Hubicka [Thu, 9 May 2013 09:51:52 +0000 (11:51 +0200)]
re PR lto/54095 (Unnecessary static variable renaming)

PR lto/54095
* symtab.c (insert_to_assembler_name_hash): Handle clones.
(unlink_from_assembler_name_hash): Likewise.
(symtab_prevail_in_asm_name_hash, symtab_register_node,
symtab_unregister_node, symtab_initialize_asm_name_hash,
change_decl_assembler_name): Update.

From-SVN: r198736

11 years agoaarch64.md: New movtf split.
Sofiane Naci [Thu, 9 May 2013 08:25:30 +0000 (08:25 +0000)]
aarch64.md: New movtf split.

* config/aarch64/aarch64.md: New movtf split.
(*movtf_aarch64): Update.
(aarch64_movdi_tilow): Handle TF modes and rename to
aarch64_movdi_<mode>low.
(aarch64_movdi_tihigh): Handle TF modes and rename to
aarch64_movdi_<mode>high
(aarch64_movtihigh_di): Handle TF modes and rename to
aarch64_mov<mode>high_di
(aarch64_movtilow_di): Handle TF modes and rename to
aarch64_mov<mode>low_di
(aarch64_movtilow_tilow): Remove spurious whitespace.
* config/aarch64/aarch64.c (aarch64_split_128bit_move): Handle TFmode
splits.
(aarch64_print_operand): Update.

From-SVN: r198735

11 years agoconfigure.ac (HAVE_AS_TLS): Enable tests for powerpcle and powerpc64le.
Alan Modra [Thu, 9 May 2013 07:26:56 +0000 (16:56 +0930)]
configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and powerpc64le.

* configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and
powerpc64le.
* configure: Regenerate.

From-SVN: r198734

11 years agoMark all member functions with memory models always inline v2
Andi Kleen [Thu, 9 May 2013 04:22:11 +0000 (04:22 +0000)]
Mark all member functions with memory models always inline v2

When a non constant memory model is passed to __atomic_*
gcc falls back to seq_cst. This drops any HLE acquire or release bits.

This can happen when <atomic> is used with -O0
as the member functions are not always inlined then and the memory
argument passed in ends up being non-constant.

v2: Use _GLIBCXX_ALWAYS_INLINE

libstdc++-v3/:

2013-05-08  Andi Kleen  <ak@linux.intel.com>

PR target/55947
* libstdc++-v3/include/bits/atomic_base.h
(_GLIBCXX_ALWAYS_INLINE): Add new macro.
(atomic_thread_fence, atomic_signal_fence, test_and_set,
clear, store, load, exchange, compare_exchange_weak)
compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.

From-SVN: r198733

11 years agoexcept.c (is_admissible_throw_operand_or_catch_parameter): Check variably_modified_ty...
Jason Merrill [Thu, 9 May 2013 03:58:07 +0000 (23:58 -0400)]
except.c (is_admissible_throw_operand_or_catch_parameter): Check variably_modified_type_p.

* except.c (is_admissible_throw_operand_or_catch_parameter): Check
variably_modified_type_p.
(expand_start_catch_block): Mark the typeinfo used here.
* semantics.c (finish_handler_parms): Not here.

* error.c (dump_type_suffix): Try harder on VLA length.

From-SVN: r198732

11 years agoCore 624/N2932: Throw bad_array_new_length on overflow
Jason Merrill [Thu, 9 May 2013 03:58:00 +0000 (23:58 -0400)]
Core 624/N2932: Throw bad_array_new_length on overflow
in array new size calculation.

libstdc++-v3/
* libsupc++/new: Add std::bad_array_new_length.
* libsupc++/bad_array_new.cc: New.
* libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
* libsupc++/Makefile.in: Build them.
* config/abi/pre/gnu.ver: Add new symbols.
* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
gcc/cp/
* init.c (throw_bad_array_new_length): New.
(build_new_1): Use it.  Don't warn about braced-init-list.
(build_vec_init): Use it.
* call.c (build_operator_new_call): Use it.

From-SVN: r198731

11 years agore PR c++/57068 (gcc prints warning "ref-qualifiers only available with -std=c++0x...
Jason Merrill [Thu, 9 May 2013 03:57:53 +0000 (23:57 -0400)]
re PR c++/57068 (gcc prints warning "ref-qualifiers only available with -std=c++0x or -std=gnu++0x" for operator&)

PR c++/57068
* decl.c (grokdeclarator): Warn about ref-qualifiers here.
* parser.c (cp_parser_ref_qualifier_seq_opt): Not here.
* error.c (maybe_warn_cpp0x): s/0x/11/.

From-SVN: r198730

11 years agoDaily bump.
GCC Administrator [Thu, 9 May 2013 00:16:40 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198729

11 years agommx.md (*vec_extract* splitters): Simplify post-reload splitter preparation statements.
Uros Bizjak [Wed, 8 May 2013 20:52:46 +0000 (22:52 +0200)]
mmx.md (*vec_extract* splitters): Simplify post-reload splitter preparation statements.

* config/i386/mmx.md (*vec_extract* splitters): Simplify post-reload
splitter preparation statements.
* config/i386/sse.md (*vec_extract* splitters): Ditto.
(*avx_vperm_broadcast_<mode>): Use adjust_address instead of
adjust_address_nv.

From-SVN: r198723

11 years agore PR libstdc++/57212 (Don't use pe-coff weak support with mingw)
Andoni Morales Alastruey [Wed, 8 May 2013 19:08:32 +0000 (19:08 +0000)]
re PR libstdc++/57212 (Don't use pe-coff weak support with mingw)

2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>

PR libstdc++/57212
* include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
to __MINGW32__.
* include/Makefile.in: Regenerated.

From-SVN: r198720

11 years agocygming-crtbegin.c (__register_frame_info): Make weak.
Kai Tietz [Wed, 8 May 2013 18:33:52 +0000 (20:33 +0200)]
cygming-crtbegin.c (__register_frame_info): Make weak.

* config/i386/cygming-crtbegin.c (__register_frame_info): Make weak.
(__deregister_frame_info): Likewise.

From-SVN: r198719

11 years agommx.md (*vec_extract* splitters): Simplify post-reload splitter preparation statements.
Uros Bizjak [Wed, 8 May 2013 18:05:41 +0000 (20:05 +0200)]
mmx.md (*vec_extract* splitters): Simplify post-reload splitter preparation statements.

* config/i386/mmx.md (*vec_extract* splitters): Simplify post-reload
splitter preparation statements.
* config/i386/sse.md (*vec_extract* splitters): Ditto.
(*avx_vperm_broadcast_<mode>): Use adjust_address instead of
adjust_address_nv.

From-SVN: r198718

11 years agogimple-ssa-strength-reduction.c (count_candidates): Change return value to int.
Bill Schmidt [Wed, 8 May 2013 17:05:59 +0000 (17:05 +0000)]
gimple-ssa-strength-reduction.c (count_candidates): Change return value to int.

2013-05-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (count_candidates): Change
return value to int.
(analyze_candidates_and_replace): Change type of length to int.

From-SVN: r198715

11 years agore PR c++/51226 ([c++0x] ICE with opaque enum and invalid template)
Paolo Carlini [Wed, 8 May 2013 15:22:03 +0000 (15:22 +0000)]
re PR c++/51226 ([c++0x] ICE with opaque enum and invalid template)

/cp
2013-05-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51226
* parser.c (cp_parser_enum_specifier): Handle nested_name_specifier
== error_mark_node.

/testsuite
2013-05-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51226
* g++.dg/cpp0x/pr51226.C: New.

From-SVN: r198714

11 years agosse.md (PEXTR_MODE, [...]): Remove.
Uros Bizjak [Wed, 8 May 2013 14:43:01 +0000 (16:43 +0200)]
sse.md (PEXTR_MODE, [...]): Remove.

* config/i386/sse.md (PEXTR_MODE, PEXTR_MODEx): Remove.
(*vec_extract<mode>): Use VI12_128 mode iterator.
(*vec_extract<mode>_mem): Ditto.
(*vec_extract*_mem splitters): Merge splitters using VI_128 mode
attribute.

From-SVN: r198713

11 years agore PR bootstrap/54659 (Bootstrap with --disable-nls broken under Windows)
Diego Novillo [Wed, 8 May 2013 13:22:14 +0000 (09:22 -0400)]
re PR bootstrap/54659 (Bootstrap with --disable-nls broken under Windows)

PR bootstrap/54659

Revert:

2012-08-17  Diego Novillo  <dnovillo@google.com>

PR bootstrap/54281
* configure.ac: Add libintl.h to AC_CHECK_HEADERS list.
* config.in: Regenerate.
* configure: Regenerate.
* intl.h: Always include libintl.h if HAVE_LIBINTL_H is
set.

From-SVN: r198711

11 years agore PR lto/54095 (Unnecessary static variable renaming)
Jan Hubicka [Wed, 8 May 2013 12:59:21 +0000 (14:59 +0200)]
re PR lto/54095 (Unnecessary static variable renaming)

PR lto/54095
* cgraph.c (cgraph_make_node_local_1): Se unique_name.
* cgraph.h (symtab_node_base): Add unique_name.
* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
input_overwrite_node, input_varpool_node): Stream unique_name.
* cgraphclones.c (cgraph_create_virtual_clone,
cgraph_function_versioning): Set unique_name.
* ipa.c (function_and_variable_visibility): Set unique_name.

From-SVN: r198710

11 years agogimple-ssa-strength-reduction.c (find_phi_def): Revert former "fix."
Bill Schmidt [Wed, 8 May 2013 12:22:32 +0000 (12:22 +0000)]
gimple-ssa-strength-reduction.c (find_phi_def): Revert former "fix."

2013-05-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (find_phi_def): Revert former "fix."
(alloc_cand_and_find_basis): Restrict conditional candidate
processing to CAND_MULTs.

From-SVN: r198709

11 years agore PR lto/54095 (Unnecessary static variable renaming)
Jan Hubicka [Wed, 8 May 2013 11:00:55 +0000 (13:00 +0200)]
re PR lto/54095 (Unnecessary static variable renaming)

PR lto/54095
lto-symtab.c (lto_symtab_symbol_p): New function.
(lto_symtab_resolve_can_prevail_p, lto_symtab_resolve_symbols,
lto_symtab_resolve_symbols, lto_symtab_merge_decls_2,
lto_symtab_merge_decls_1, lto_symtab_merge_cgraph_nodes_1):
Skip static symbols.

From-SVN: r198707

11 years agoMinor tweaks
Eric Botcazou [Wed, 8 May 2013 09:51:25 +0000 (09:51 +0000)]
Minor tweaks

From-SVN: r198706

11 years agore PR tree-optimization/57200 (aggressive-loop-optimizations notes appear even when...
Paolo Carlini [Wed, 8 May 2013 09:09:52 +0000 (09:09 +0000)]
re PR tree-optimization/57200 (aggressive-loop-optimizations notes appear even when warning itself is suppressed)

2013-05-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR tree-optimization/57200
* tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
Only call inform if the preceding warning_at returns true.

From-SVN: r198704

11 years agoDaily bump.
GCC Administrator [Wed, 8 May 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198703

11 years ago2013-05-07 Han Shen <shenhan@google.com>
Han Shen [Tue, 7 May 2013 23:33:40 +0000 (23:33 +0000)]
2013-05-07  Han Shen  <shenhan@google.com>

    Added 2 missing files that should be included in the previous
    submitted patch trunk@r198699.

From-SVN: r198700

11 years agocfgexpand.c (record_or_union_type_has_array_p): New function.
Han Shen [Tue, 7 May 2013 21:33:01 +0000 (21:33 +0000)]
cfgexpand.c (record_or_union_type_has_array_p): New function.

2013-05-07  Han Shen  <shenhan@google.com>

    gcc/
    * cfgexpand.c (record_or_union_type_has_array_p): New function.
    (expand_used_vars): Add logic handling '-fstack-protector-strong'.
    * common.opt (fstack-protector-strong): New option.
    * doc/cpp.texi (__SSP_STRONG__): New builtin "__SSP_STRONG__".
    * doc/invoke.texi (Optimization Options): Document
    "-fstack-protector-strong".
    * gcc.c (LINK_SSP_SPEC): Add 'fstack-protector-strong'.

    gcc/testsuite/
    * gcc.dg/fstack-protector-strong.c: New.
    * g++.dg/fstack-protector-strong.C: New.

    gcc/c-family/
    * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".

From-SVN: r198699

11 years agounordered_base.h: New.
François Dumont [Tue, 7 May 2013 20:26:15 +0000 (20:26 +0000)]
unordered_base.h: New.

2013-05-07  François Dumont  <fdumont@gcc.gnu.org>

* include/profile/unordered_base.h: New.
* include/Makefile.am: Add new profile header.
* include/Makefile.in: Regenerate.
* include/profile/impl/profiler.h
(__profcxx_inefficient_hash_is_on): New macro.
* include/profile/unordered_map (std::profile::unordered_map<>):
Use new _Unordered_profile base class. Use default implementations
for special functions.
(std::profile::unordered_multimap<>): Likewise.
* include/profile/unordered_set (std::profile::unordered_set<>):
Likewise.
(std::profile::unordered_multiset<>): Likewise.
* testsuite/23_containers/unordered_multiset/55043.cc: Fix
MoveOnly equality operator signature.

From-SVN: r198698

11 years ago* config/mips/mips.c (mips_machine_reorg2): Return 0.
Steven Bosscher [Tue, 7 May 2013 19:34:35 +0000 (19:34 +0000)]
* config/mips/mips.c (mips_machine_reorg2): Return 0.

From-SVN: r198696

11 years agoira.c (update_equiv_regs): Add insn having equiv memory even if it is not lhs of...
Vladimir Makarov [Tue, 7 May 2013 19:29:05 +0000 (19:29 +0000)]
ira.c (update_equiv_regs): Add insn having equiv memory even if it is not lhs of the insn.

2013-05-07  Vladimir Makarov  <vmakarov@redhat.com>

* ira.c (update_equiv_regs): Add insn having equiv memory even if
it is not lhs of the insn.
(setup_reg_equiv): Remove insn having equiv memory which it is not
lhs of the insn.
* lra-constraints.c (process_address): Try to improve generation
code for address base + disp.
(lra_constraints): Make correct the code for checking insn setting
up backward equivalence.  Remove insn only if it is in the init
insn list.
* lra-eliminations.c (update_reg_eliminate): Change return value.
(lra_eliminate): Use the result.

From-SVN: r198695

11 years agosse.md (ssescalarnummask): New mode attribute.
Uros Bizjak [Tue, 7 May 2013 17:57:10 +0000 (19:57 +0200)]
sse.md (ssescalarnummask): New mode attribute.

* config/i386/sse.md (ssescalarnummask): New mode attribute.
(PEXTR_MODE, PEXTR_MODEx): New mode iterators.
(*vec_extract<mode>): Merge from *sse4_1_pextrb_memory and
*sse4_1_pextrw_memory. Handle register target operands.
(*vec_extractv8hi_sse2): New pattern.
(*vec_extractv16qi_zext): Rename from *sse4_1_pextrb_<mode>.
(*vec_extractv8hi_zext): Rename from *sse2_pextrw_<mode>.
(*vec_extract<mode>_mem): New insn and split pattern.

From-SVN: r198691

11 years agoAArch64 testcases for ANDS instruction
Ian Bolton [Tue, 7 May 2013 14:41:17 +0000 (14:41 +0000)]
AArch64 testcases for ANDS instruction

From-SVN: r198684

11 years agoarm.c (arm_asan_shadow_offset): New function.
Christophe Lyon [Tue, 7 May 2013 14:17:50 +0000 (14:17 +0000)]
arm.c (arm_asan_shadow_offset): New function.

2013-05-06  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/
* config/arm/arm.c (arm_asan_shadow_offset): New function.
(TARGET_ASAN_SHADOW_OFFSET): Define.
* config/arm/linux-eabi.h (ASAN_CC1_SPEC): Define.
(LINUX_OR_ANDROID_CC): Add ASAN_CC1_SPEC.

libsanitizer/
* configure.tgt: Add ARM pattern.

testsuite/
* lib/target-supports.exp (check_effective_target_hw): New
function.
* c-c++-common/asan/clone-test-1.c: Call
check_effective_target_hw.
* c-c++-common/asan/rlimit-mmap-test-1.c: Likewise.
* c-c++-common/asan/heap-overflow-1.c: Update regexps to accept
possible decorations.
* c-c++-common/asan/null-deref-1.c: Likewise.
* c-c++-common/asan/stack-overflow-1.c: Likewise.
* c-c++-common/asan/strncpy-overflow-1.c: Likewise.
* c-c++-common/asan/use-after-free-1.c: Likewise.
* g++.dg/asan/deep-thread-stack-1.C: Likewise.
* g++.dg/asan/large-func-test-1.C: Likewise.

From-SVN: r198683

11 years agogimple-ssa-strength-reduction.c (MAX_INCR_VEC_LEN): New constant.
Bill Schmidt [Tue, 7 May 2013 14:11:21 +0000 (14:11 +0000)]
gimple-ssa-strength-reduction.c (MAX_INCR_VEC_LEN): New constant.

2013-05-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (MAX_INCR_VEC_LEN): New constant.
(incr_vec_index): Return -1 if increment not found.
(create_add_on_incoming_edge): Assert if increment not found.
(record_increment): Limit number of increments recorded.
(all_phi_incrs_profitable): Return false if an increment not found.
(replace_profitable_candidates): Don't process increments that were
not recorded.
(analyze_candidates_and_replace): Limit size of incr_vec.

From-SVN: r198682

11 years agocalls.c (special_function_p): setjmp-like functions are leaf.
Richard Biener [Tue, 7 May 2013 13:02:36 +0000 (13:02 +0000)]
calls.c (special_function_p): setjmp-like functions are leaf.

2013-05-07  Richard Biener  <rguenther@suse.de>

* calls.c (special_function_p): setjmp-like functions are leaf.
* builtins.def (BUILT_IN_SETJMP): setjmp is leaf.
* tree-inline.c (update_ssa_across_abnormal_edges): Remove assert.

From-SVN: r198681

11 years agoaarch64-simd.md (*aarch64_simd_mov<mode>): call splitter.
Sofiane Naci [Tue, 7 May 2013 12:47:18 +0000 (12:47 +0000)]
aarch64-simd.md (*aarch64_simd_mov<mode>): call splitter.

gcc/
* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): call splitter.
(aarch64_simd_mov<mode>): New expander.
(aarch64_simd_mov_to_<mode>low): New instruction pattern.
(aarch64_simd_mov_to_<mode>high): Likewise.
(aarch64_simd_mov_from_<mode>low): Likewise.
(aarch64_simd_mov_from_<mode>high): Likewise.
(aarch64_dup_lane<mode>): Update.
(aarch64_dup_lanedi): New instruction pattern.
* config/aarch64/aarch64-protos.h (aarch64_split_simd_move): New prototype.
* config/aarch64/aarch64.c (aarch64_split_simd_move): New function.

testsuites/
* gcc.target/aarch64/scalar_intrinsics.c: Update.

From-SVN: r198680

11 years agogimple-ssa-strength-reduction.c (lazy_create_slsr_reg): Remove.
Bill Schmidt [Tue, 7 May 2013 12:44:50 +0000 (12:44 +0000)]
gimple-ssa-strength-reduction.c (lazy_create_slsr_reg): Remove.

2013-05-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (lazy_create_slsr_reg): Remove.
(replace_mult_candidate): Remove unnecessary argument; remove
unnecessary parameter from call to introduce_cast_before_cand.
(replace_unconditional_candidate): Remove unnecessary parameter
from call to replace_mult_candidate.
(replace_conditional_candidate): Likewise.
(insert_initializers): Use make_temp_ssa_name.
(introduce_cast_before_cand): Remove unnecessary argument; use
make_temp_ssa_name.
(replace_one_candidate): Remove unnecessary argument; remove
unnecessary parameter from calls to introduce_cast_before_cand.
(replace_profitable_candidates): Remove unnecessary parameters
from calls to replace_one_candidate.

From-SVN: r198679

11 years agogimple-ssa-strength-reduction.c (find_phi_def): Don't record a phi def as possibly...
Bill Schmidt [Tue, 7 May 2013 12:39:32 +0000 (12:39 +0000)]
gimple-ssa-strength-reduction.c (find_phi_def): Don't record a phi def as possibly hiding a basis for a CAND_ADD whose operands...

2013-05-07  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
phi def as possibly hiding a basis for a CAND_ADD whose operands
have been commuted in the analysis.
(alloc_cand_and_find_basis): Add parms to call to find_phi_def.

From-SVN: r198678

11 years agoAArch64: Restrict the shift value in compare extended shift operation
Naveen H.S [Tue, 7 May 2013 12:20:24 +0000 (12:20 +0000)]
AArch64: Restrict the shift value in compare extended shift operation

2013-05-07  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

* config/aarch64/aarch64.md
(cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): Restrict the
shift value between 0-4.

From-SVN: r198677

11 years agodouble-int.h (rshift): New overload.
Richard Biener [Tue, 7 May 2013 11:26:58 +0000 (11:26 +0000)]
double-int.h (rshift): New overload.

2013-05-07  Richard Biener  <rguenther@suse.de>

* double-int.h (rshift): New overload.
* double-int.c (rshift): New function.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Optimize.
(create_reference_ops_from_ref): Remove.
(vn_reference_insert): Use shared ops for constructing the
reference and copy it.

From-SVN: r198676

11 years agore PR tree-optimization/57190 (verify_ssa failed: SSA_NAME_OCCURS_IN_ABNORMAL_PHI...
Richard Biener [Tue, 7 May 2013 11:23:39 +0000 (11:23 +0000)]
re PR tree-optimization/57190 (verify_ssa failed: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set)

2013-05-07  Richard Biener  <rguenther@suse.de>

PR middle-end/57190
* tree-eh.c (sink_clobbers): Properly propagate
SSA_NAME_OCCURS_IN_ABNORMAL_PHI.

* g++.dg/torture/pr57190.C: New testcase.

From-SVN: r198675

11 years agore PR tree-optimization/57149 (wrong -Wmaybe-uninitialized warning with -Os)
Jakub Jelinek [Tue, 7 May 2013 10:30:13 +0000 (12:30 +0200)]
re PR tree-optimization/57149 (wrong -Wmaybe-uninitialized warning with -Os)

PR tree-optimization/57149
* tree-ssa-uninit.c (uninit_undefined_value_p): New inline.
(can_skip_redundant_opnd, compute_uninit_opnds_pos,
collect_phi_def_edges, execute_late_warn_uninitialized): Use
uninit_undefined_value_p instead of ssa_undefined_value_p.

* gcc.dg/pr57149.c: New test.

From-SVN: r198671

11 years agore PR debug/57184 (ICE in expand_expr_real_1, at expr.c:10478)
Jakub Jelinek [Tue, 7 May 2013 08:28:01 +0000 (10:28 +0200)]
re PR debug/57184 (ICE in expand_expr_real_1, at expr.c:10478)

PR debug/57184
* expr.c (expand_expr_addr_expr_1): Handle COMPOUND_LITERAL_EXPR
for modifier == EXPAND_INITIALIZER.

* gcc.dg/pr57184.c: New test.

From-SVN: r198666

11 years agore PR ada/56474 (bogus Storage_Error raised for record containing empty zero-based...
Eric Botcazou [Tue, 7 May 2013 07:59:37 +0000 (07:59 +0000)]
re PR ada/56474 (bogus Storage_Error raised for record containing empty zero-based array)

PR ada/56474
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Use
int_const_binop to shift bounds by 1 when they are integer constants.

From-SVN: r198663

11 years agoconfigure.ac (HAVE_LD_LARGE_TOC): Use correct linker emulation for powerpc64 little...
Anton Blanchard [Tue, 7 May 2013 01:01:08 +0000 (01:01 +0000)]
configure.ac (HAVE_LD_LARGE_TOC): Use correct linker emulation for powerpc64 little endian.

* configure.ac (HAVE_LD_LARGE_TOC): Use correct linker emulation
for powerpc64 little endian.
* configure: Regenerate.

From-SVN: r198662

11 years agoDaily bump.
GCC Administrator [Tue, 7 May 2013 00:16:18 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198661

11 years agoexpmed.c (init_expmed_rtl): Remove unused fields reg_fld...
Graham Stott [Mon, 6 May 2013 22:26:53 +0000 (22:26 +0000)]
expmed.c (init_expmed_rtl): Remove unused fields reg_fld...

2013-05-06  Graham Stott  <grahams@btinternet.com>

        * expmed.c (init_expmed_rtl): Remove unused fields reg_fld, plus_fld,
        mult_fld, sdiv_fld1, udiv_fld1, sdiv_32_fld1, smod_32_fld1,
        wide_mult_fld1, wide_lshr_fld1, shift_fld1, shift_mult_fld1,
        shift_add_fld1, shift_sub0_fld1, shift_sub1_fld1.

From-SVN: r198654

11 years ago013-05-06 Graham Stott <grahams@btinternet.com>
Graham Stott [Mon, 6 May 2013 22:08:56 +0000 (22:08 +0000)]
013-05-06  Graham Stott  <grahams@btinternet.com>

        * gensupport.c (add_predicate_code): Also exclude SCRATCH from rtx
        codes which allow non-lvalues.

From-SVN: r198653

11 years agotree.c (integer_all_onesp): Test that both components are all 1s.
Marc Glisse [Mon, 6 May 2013 21:14:59 +0000 (23:14 +0200)]
tree.c (integer_all_onesp): Test that both components are all 1s.

2013-05-06  Marc Glisse  <marc.glisse@inria.fr>

* tree.c (integer_all_onesp) <COMPLEX_CST>: Test that both
components are all 1s.
(integer_minus_onep): New function.
* tree.h (integer_minus_onep): Declare it.
* fold-const.c (fold_binary_loc) <MULT_EXPR>: Test
integer_minus_onep instead of integer_all_onesp.

From-SVN: r198649

11 years agotypeck.c (cp_build_binary_op): Call save_expr before build_vector_from_val.
Marc Glisse [Mon, 6 May 2013 21:11:24 +0000 (23:11 +0200)]
typeck.c (cp_build_binary_op): Call save_expr before build_vector_from_val.

2013-05-06  Marc Glisse  <marc.glisse@inria.fr>

gcc/cp/
* typeck.c (cp_build_binary_op): Call save_expr before
build_vector_from_val.

gcc/testsuite/
* c-c++-common/vector-scalar-2.c: New testcase.

From-SVN: r198648

11 years agore PR target/52933 (SH Target: Use div0s for integer sign comparisons)
Oleg Endo [Mon, 6 May 2013 19:59:26 +0000 (19:59 +0000)]
re PR target/52933 (SH Target: Use div0s for integer sign comparisons)

PR target/52933
* config/sh/sh.md (*cmp_div0s_0, *cmp_div0s_1, *movsicc_div0s): Add
variations of these patterns.

From-SVN: r198646

11 years agoi386.md (isa): Add x64_sse4 member.
Uros Bizjak [Mon, 6 May 2013 19:53:43 +0000 (21:53 +0200)]
i386.md (isa): Add x64_sse4 member.

* config/i386/i386.md (isa): Add x64_sse4 member.
(enabled): Handle x64_sse4.
(*movdi_internal): Add *x->?r alternative to emit pextrq $0,%xmm,%reg
instruction for 64bit SSE4_1 targets.  Update insn attributes.
(*movsi_internal): Add *x->?r alternative to emit pextrd $0,%xmm,%reg
instruction for SSE4_1 targets.  Update insn attributes.
* config/i386/sse.md (*vec_extract<ssevecmodelower>_0): Merge
with *sse4_1_pextrd and *sse4_1_pextrq having const_0 selector.
(*vec_extractv2di_1): Merge with *sse4_1_pextrq having
const_1 selector.
(*vec_extractv4si): Rename from *sse4_1_pextrd.
(*vec_extractv4si_zext): Rename from *sse4_1_pextrd_zext.
(*vec_extract<ssevecmodelower>_0 splitters): Merge splitters together.

From-SVN: r198643

11 years agore PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in int_mode_for_mode...
Oleg Endo [Mon, 6 May 2013 19:49:57 +0000 (19:49 +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
* config/sh/sh.md (tstsi_t_zero_extract_eq): Use QIHISIDI mode iterator.

From-SVN: r198642

11 years agoSupport {, } and | in assembly output
Maxim Kuznetsov [Mon, 6 May 2013 19:35:44 +0000 (19:35 +0000)]
Support {, } and | in assembly output

gcc/

2013-05-06  Maxim Kuznetsov  <maks.kuznetsov@gmail.com>

* final.c (do_assembler_dialects): Don't handle curly braces and
vertical bar escaped by % as dialect delimiters.
(output_asm_insn): Print curly braces and vertical bar if escaped
by % and ASSEMBLER_DIALECT defined.
* doc/tm.texi.in (ASSEMBLER_DIALECT): Document new standard escapes.
* doc/tm.texi: Regenerated.

gcc/testsuite/

2013-05-06  Maxim Kuznetsov  <maks.kuznetsov@gmail.com>

* gcc.target/i386/asm-dialect-2.c: New testcase.

From-SVN: r198641

11 years agomips.c: Include tree-pass.h.
Steven Bosscher [Mon, 6 May 2013 19:02:12 +0000 (19:02 +0000)]
mips.c: Include tree-pass.h.

* config/mips/mips.c: Include tree-pass.h.
(mips_reorg): Split in pre- and post-dbr_schedule parts.
(mips_machine_reorg2): Move mips_reorg post-dbr_schedule parts here.
(pass_mips_machine_reorg2): New machine specific pass.
(insert_pass_mips_machine_reorg2): New pass plugin definition.
(mips_option_override): Register the new pass.
* rtl.h (cleanup_barriers): Remove prototype.
(dbr_schedule): Likewise.
* jump.c (cleanup_barriers): Make static.
* reorg.c (dbr_schedule): Likewise.

From-SVN: r198640

11 years agore PR c++/57183 ([C++11] auto and -Wunused-variable)
Paolo Carlini [Mon, 6 May 2013 16:40:24 +0000 (16:40 +0000)]
re PR c++/57183 ([C++11] auto and -Wunused-variable)

/cp
2013-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57183
* decl.c (cp_finish_decl): After do_auto_deduction copy the
qualifers with cp_apply_type_quals_to_decl.

/testsuite
2013-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57183
* g++.dg/cpp0x/auto38.C: New.

From-SVN: r198636

11 years agoChangeLog: Add my last entry.
Uros Bizjak [Mon, 6 May 2013 16:22:21 +0000 (18:22 +0200)]
ChangeLog: Add my last entry.

* ChangeLog: Add my last entry.
* testsuite/ChangLog: Ditto.

From-SVN: r198634

11 years agohashtab.c (hash_pointer): Remove conditional and avoid unexecuted shift equal to...
David Edelsohn [Mon, 6 May 2013 15:40:54 +0000 (15:40 +0000)]
hashtab.c (hash_pointer): Remove conditional and avoid unexecuted shift equal to wordsize.

2013-05-06  David Edelsohn  <dje.gcc@gmail.com>
            Peter Bergner  <bergner@vnet.ibm.com>
            Segher Boessenkool  <segher@kernel.crashing.org>
            Jakub Jelinek  <jakub@redhat.com>

        * hashtab.c (hash_pointer): Remove conditional and avoid
        unexecuted shift equal to wordsize.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org>
From-SVN: r198633

11 years agore PR libgcj/57074 (libgcj regression on 32bit Power architecture)
Jakub Jelinek [Mon, 6 May 2013 15:09:41 +0000 (17:09 +0200)]
re PR libgcj/57074 (libgcj regression on 32bit Power architecture)

PR libgcj/57074
* class.c (emit_symbol_table): Use array type of the
right size for the_syms_decl and its DECL_INITIAL, instead
of symbols_array_type.  Set TREE_TYPE (the_syms_decl) to it.
(emit_assertion_table): Use array type of the right size
for table_decl and its DECL_INITIAL.

From-SVN: r198631