platform/upstream/gcc.git
10 years agore PR testsuite/59064 (FAIL: gcc.dg/vect/vect-ivdep-1.c (test for bogus messages...
Jakub Jelinek [Fri, 17 Jan 2014 14:41:58 +0000 (15:41 +0100)]
re PR testsuite/59064 (FAIL: gcc.dg/vect/vect-ivdep-1.c  (test for bogus messages, line ))

PR testsuite/59064
* gcc.dg/vect/vect-ivdep-1.c: Replace two dg-bogus lines separately
testing for " version" and " alias" with one testing for
" version\[^\n\r]* alias".
* gcc.dg/vect/vect-ivdep-2.c: Likewise.
* gfortran.dg/vect/vect-do-concurrent-1.f90: Likewise.
* g++.dg/vect/pr33426-ivdep.cc: Likewise.
* g++.dg/vect/pr33426-ivdep-2.cc: Likewise.
* g++.dg/vect/pr33426-ivdep-3.cc: Likewise.
* g++.dg/vect/pr33426-ivdep-4.cc: Adjust comments similarly.

From-SVN: r206710

10 years agore PR tree-optimization/46590 (long compile time with -O2 and many loops)
Richard Biener [Fri, 17 Jan 2014 14:40:11 +0000 (14:40 +0000)]
re PR tree-optimization/46590 (long compile time with -O2 and many loops)

2014-01-17  Richard Biener  <rguenther@suse.de>

PR tree-optimization/46590
* vec.h (vec<>::bseach): New member function implementing
binary search according to C89 bsearch.
(vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
* tree-ssa-loop-im.c (struct mem_ref): Make stored member a
bitmap pointer again.  Make accesses_in_loop a flat array.
(mem_ref_obstack): New global.
(outermost_indep_loop): Adjust for mem_ref->stored changes.
(mark_ref_stored): Likewise.
(ref_indep_loop_p_2): Likewise.
(set_ref_stored_in_loop): New helper function.
(mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
(memref_free): Adjust.
(record_mem_ref_loc): Simplify.
(gather_mem_refs_stmt): Adjust.
(sort_locs_in_loop_postorder_cmp): New function.
(analyze_memory_references): Sort accesses_in_loop after
loop postorder number.
(find_ref_loc_in_loop_cmp): New function.
(for_all_locs_in_loop): Find relevant cluster of locs in
accesses_in_loop and iterate without recursion.
(execute_sm): Avoid uninit warning.
(struct ref_always_accessed): Simplify.
(ref_always_accessed::operator ()): Likewise.
(ref_always_accessed_p): Likewise.
(tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
loop postorder numbers here.
(tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
numbers.

From-SVN: r206709

10 years agore PR c++/57945 (ICE: in varpool_get_node, at cgraph.h:840)
Jakub Jelinek [Fri, 17 Jan 2014 14:19:55 +0000 (15:19 +0100)]
re PR c++/57945 (ICE: in varpool_get_node, at cgraph.h:840)

PR c++/57945
* passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
on decls for which assemble_alias has been called.

* c-c++-common/torture/pr57945.c: New test.

From-SVN: r206708

10 years agomsp430.opt: (mcpu): New option.
Nick Clifton [Fri, 17 Jan 2014 11:35:46 +0000 (11:35 +0000)]
msp430.opt: (mcpu): New option.

* config/msp430/msp430.opt: (mcpu): New option.
* config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
(msp430_option_override): Parse target_cpu.  If the MCU name
matches a generic string, clear target_mcu.
(msp430_attr): Allow numeric interrupt values up to 63.
(msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
* config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
option.
* config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
Add mcpu matches.
* config/msp430/msp430.md (popm): Use %J rather than %I.
(addsi3): Use msp430_nonimmediate_operand for operand 2.
(addhi_cy_i): Use immediate_operand for operand 2.
* doc/invoke.texi: Document -mcpu option.

From-SVN: r206705

10 years agore PR rtl-optimization/38518 (Excessive compile time with -O3)
Richard Biener [Fri, 17 Jan 2014 10:47:59 +0000 (10:47 +0000)]
re PR rtl-optimization/38518 (Excessive compile time with -O3)

2014-01-17  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/38518
* df.h (df_analyze_loop): Declare.
* df-core.c: Include cfgloop.h.
(df_analyze_1): Split out main part of df_analyze.
(df_analyze): Adjust.
(loop_inverted_post_order_compute): New function.
(loop_post_order_compute): Likewise.
(df_analyze_loop): New function avoiding whole-function
postorder computes.
* loop-invariant.c (find_defs): Use df_analyze_loop.
(find_invariants): Adjust.
* loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.

From-SVN: r206702

10 years agoFix ChangeLog entry for revision 206673 as was requested in review comments.
James Greenhalgh [Fri, 17 Jan 2014 07:55:49 +0000 (07:55 +0000)]
Fix ChangeLog entry for revision 206673 as was requested in review comments.

From-SVN: r206700

10 years agoarm.c (arm_v7m_tune): Set max_insns_skipped to 2.
Zhenqiang Chen [Fri, 17 Jan 2014 05:43:45 +0000 (05:43 +0000)]
arm.c (arm_v7m_tune): Set max_insns_skipped to 2.

ChangeLog:
2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
(thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.

testsuite/ChangeLog:
2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* gcc.target/arm/its.c: New test.

From-SVN: r206698

10 years agoipa-ref.c (ipa_remove_stmt_references): Fix references traversal when removing refere...
Ilya Enkovich [Fri, 17 Jan 2014 05:36:19 +0000 (05:36 +0000)]
ipa-ref.c (ipa_remove_stmt_references): Fix references traversal when removing references.

       * ipa-ref.c (ipa_remove_stmt_references): Fix references
       traversal when removing references.

From-SVN: r206697

10 years agocompiler: Use backend interface for binary expressions.
Chris Manghane [Fri, 17 Jan 2014 04:35:40 +0000 (04:35 +0000)]
compiler: Use backend interface for binary expressions.

* go-gcc.cc (Gcc_backend::conditional_expression): Add btype
parameter.
(operator_to_tree_code): New static function.
(Gcc_backend::binary_expression): New function.

From-SVN: r206696

10 years agore PR ipa/59775 (internal compiler error: Segmentation fault)
Jan Hubicka [Fri, 17 Jan 2014 01:04:59 +0000 (02:04 +0100)]
re PR ipa/59775 (internal compiler error: Segmentation fault)

PR ipa/59775
* tree.c (get_binfo_at_offset): Look harder for virtual bases.

From-SVN: r206694

10 years agoDaily bump.
GCC Administrator [Fri, 17 Jan 2014 00:16:36 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r206693

10 years agoregex_automaton.tcc (_StateSeq<>::_M_clone()): Do not use std::map.
Tim Shen [Thu, 16 Jan 2014 23:35:21 +0000 (23:35 +0000)]
regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not use std::map.

2014-01-17  Tim Shen  <timshen91@gmail.com>

* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
use std::map.
* include/bits/regex_automaton.h: Do not use std::set.
* include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
_BracketMatcher<>::_M_add_collating_element(),
_BracketMatcher<>::_M_add_equivalence_class(),
_BracketMatcher<>::_M_make_range()): Likewise.
* include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
Likewise.
* include/bits/regex_executor.h: Do not use std::queue.
* include/bits/regex_executor.tcc (_Executor<>::_M_main(),
_Executor<>::_M_dfs()): Likewise.
* include/std/regex: Remove <map>, <set> and <queue>.

2014-01-17  Tim Shen  <timshen91@gmail.com>

* include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
basic_regex<>::assign()): Change __compile_nfa to accept
const _CharT* only.
* include/bits/regex_compiler.h: Change _Compiler's template
argument from <_FwdIter, _TraitsT> to <_TraitsT>.
* include/bits/regex_compiler.tcc: Likewise.

2014-01-17  Tim Shen  <timshen91@gmail.com>

* include/bits/regex_compiler.h: Change _ScannerT into char-type
templated.
* include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
_ScannerBase from _Scanner; Change _Scanner's template argument from
_FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
instead.
* include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
_Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
_Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
Likewise.
* include/std/regex: Add <cstring> for using strchr.

2014-01-17  Tim Shen  <timshen91@gmail.com>

* bits/regex_automaton.tcc: Indentation fix.
* bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
_RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
_BracketMatcher<>): Add bool option template parameters and
specializations to make matching more efficient and space saving.
* bits/regex_compiler.tcc: Likewise.

From-SVN: r206690

10 years ago014-01-16 Bernd Schmidt <bernds@codesourcery.com>
Bernd Schmidt [Thu, 16 Jan 2014 20:51:24 +0000 (20:51 +0000)]
014-01-16  Bernd Schmidt  <bernds@codesourcery.com>

        PR middle-end/56791
        * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER
        * when
        pushing a reload for an autoinc when we had previously reloaded an
        inner part of the address.

From-SVN: r206688

10 years agotree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies field.
Jakub Jelinek [Thu, 16 Jan 2014 20:14:45 +0000 (21:14 +0100)]
tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies field.

* tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
field.
(LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
when not giving up or versioning for alias only because of
loop->safelen.
(vect_analyze_data_ref_dependences): Set to true.
* tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
is a GIMPLE_PHI.
(vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
to the condition.

From-SVN: r206687

10 years agore PR c++/59821 (__builtin_LINE and __builtin_FILE for new'd objects is wrong)
Jason Merrill [Thu, 16 Jan 2014 19:55:12 +0000 (14:55 -0500)]
re PR c++/59821 (__builtin_LINE and __builtin_FILE for new'd objects is wrong)

PR c++/59821
* tree.c (bot_manip): Update the location of builtin_LINE and
builtin_FILE calls.

From-SVN: r206686

10 years agore PR middle-end/58344 (ICE with segfault at -O1 and above on x86_64-linux-gnu)
Jakub Jelinek [Thu, 16 Jan 2014 19:54:23 +0000 (20:54 +0100)]
re PR middle-end/58344 (ICE with segfault at -O1 and above on x86_64-linux-gnu)

PR middle-end/58344
* expr.c (expand_expr_real_1): Handle init == NULL_TREE.

* gcc.c-torture/compile/pr58344.c: New test.

From-SVN: r206685

10 years agore PR target/59839 (i686 AVX2 gather intrinsic not compiling with -O0 on mingw w64)
Jakub Jelinek [Thu, 16 Jan 2014 19:24:07 +0000 (20:24 +0100)]
re PR target/59839 (i686 AVX2 gather intrinsic not compiling with -O0 on mingw w64)

PR target/59839
* config/i386/i386.c (ix86_expand_builtin): If target doesn't
satisfy operand 0 predicate for gathers, use a new pseudo as
subtarget.

* gcc.target/i386/pr59839.c: New test.

From-SVN: r206682

10 years agore PR debug/54694 (internal compiler error: in dwarf2out_frame_debug_expr, at dwarf2o...
Jakub Jelinek [Thu, 16 Jan 2014 19:15:46 +0000 (20:15 +0100)]
re PR debug/54694 (internal compiler error: in dwarf2out_frame_debug_expr, at dwarf2out.c:2387)

PR debug/54694
* gcc.target/i386/pr9771-1.c (main): Rename to...
(real_main): ... this.  Add __asm name "main".
(ASMNAME, ASMNAME2, STRING): Define.

From-SVN: r206679

10 years agore PR tree-optimization/59387 (wrong code (hangs) at -Os on x86_64-linux-gnu)
Jakub Jelinek [Thu, 16 Jan 2014 19:14:49 +0000 (20:14 +0100)]
re PR tree-optimization/59387 (wrong code (hangs) at -Os on x86_64-linux-gnu)

PR tree-optimization/59387
* gcc.c-torture/execute/pr59387.c: New test.

From-SVN: r206678

10 years agore PR middle-end/59609 (LRA generates bad code for libgcc function udivmoddi4 on...
Vladimir Makarov [Thu, 16 Jan 2014 19:13:54 +0000 (19:13 +0000)]
re PR middle-end/59609 (LRA generates bad code for libgcc function udivmoddi4 on thumb1 target)

2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/59609
* lra-constraints.c (process_alt_operands): Add printing debug
info.  Check absence of input/output reloads for matched operands
too.

From-SVN: r206677

10 years agore PR rtl-optimization/59835 (gcc.target/i386/sse-2[34].c timeout)
Vladimir Makarov [Thu, 16 Jan 2014 19:04:08 +0000 (19:04 +0000)]
re PR rtl-optimization/59835 (gcc.target/i386/sse-2[34].c timeout)

2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59835
* ira.c (ira_init_register_move_cost): Increase cost for
impossible modes.

From-SVN: r206676

10 years ago[ARM] Make -mcpu, -march and -mtune case-insensitive
Alan Lawrence [Thu, 16 Jan 2014 18:10:34 +0000 (18:10 +0000)]
[ARM] Make -mcpu, -march and -mtune case-insensitive

gcc/

* config/arm/arm.opt: Make -mcpu, -march, -mtune case-insensitive.

From-SVN: r206673

10 years agore PR target/59780 (ICE in aarch64_split_128bit_move)
Richard Earnshaw [Thu, 16 Jan 2014 17:35:50 +0000 (17:35 +0000)]
re PR target/59780 (ICE in aarch64_split_128bit_move)

PR target/59780
* aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
non-register objects.  Use gen_(high/low)part more consistently.
Fix assertions.

From-SVN: r206671

10 years agore PR target/59844 (Powerpc64le cannot bootstrap with -O3/-mcpu=power8)
Michael Meissner [Thu, 16 Jan 2014 17:08:52 +0000 (17:08 +0000)]
re PR target/59844 (Powerpc64le cannot bootstrap with -O3/-mcpu=power8)

2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/59844
* config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
endian support, remove tests for WORDS_BIG_ENDIAN.
(p8_mfvsrd_3_<mode>): Likewise.
(reload_gpr_from_vsx<mode>): Likewise.
(reload_gpr_from_vsxsf): Likewise.
(p8_mfvsrd_4_disf): Likewise.

From-SVN: r206668

10 years agore PR tree-optimization/46590 (long compile time with -O2 and many loops)
Richard Biener [Thu, 16 Jan 2014 13:48:51 +0000 (13:48 +0000)]
re PR tree-optimization/46590 (long compile time with -O2 and many loops)

2014-01-16  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/46590
* lcm.c (compute_antinout_edge): Use postorder iteration.
(compute_laterin): Use inverted postorder iteration.

From-SVN: r206663

10 years agore PR middle-end/28865 (Structures with a flexible arrray member have wrong .size)
Nick Clifton [Thu, 16 Jan 2014 12:17:48 +0000 (12:17 +0000)]
re PR middle-end/28865 (Structures with a flexible arrray member have wrong .size)

PR middle-end/28865

* varasm.c (output_constant): Return the number of bytes actually
emitted.
(output_constructor_array_range): Update the field size with the
number of bytes emitted by output_constant.
(output_constructor_regular_field): Likewise.  Also do not
  complain if the total number of bytes emitted is now greater
than the expected fieldpos.
* output.h (output_constant): Update prototype and descriptive
comment.

* gcc.c-torture/compile/pr28865.c: New.
* gcc.c-torture/execute/pr28865.c: New.

From-SVN: r206661

10 years agore PR middle-end/59827 (ICE on array with incomplete element type)
Marek Polacek [Thu, 16 Jan 2014 11:42:56 +0000 (11:42 +0000)]
re PR middle-end/59827 (ICE on array with incomplete element type)

PR middle-end/59827
* cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
it is error_mark_node.
testsuite/
* gcc.dg/pr59827.c: New test.

From-SVN: r206660

10 years ago* gcc.c-torture/execute/pr59747.c (fn1): Return a value.
Andreas Schwab [Thu, 16 Jan 2014 10:14:29 +0000 (10:14 +0000)]
* gcc.c-torture/execute/pr59747.c (fn1): Return a value.

From-SVN: r206659

10 years agoi386.c (ix86_hard_regno_mode_ok): Use VALID_AVX256_REG_OR_OI_MODE.
Uros Bizjak [Thu, 16 Jan 2014 08:23:33 +0000 (09:23 +0100)]
i386.c (ix86_hard_regno_mode_ok): Use VALID_AVX256_REG_OR_OI_MODE.

* config/i386/i386.c (ix86_hard_regno_mode_ok): Use
VALID_AVX256_REG_OR_OI_MODE.

From-SVN: r206658

10 years agoFix testsuite/ChangeLog entry for PR59808.
Kirill Yukhin [Thu, 16 Jan 2014 04:25:38 +0000 (04:25 +0000)]
Fix testsuite/ChangeLog entry for PR59808.

From-SVN: r206657

10 years agoDaily bump.
GCC Administrator [Thu, 16 Jan 2014 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r206655

10 years agors6000.c (rs6000_output_function_prologue): Check if current procedure should be...
Pat Haugen [Wed, 15 Jan 2014 23:48:12 +0000 (23:48 +0000)]
rs6000.c (rs6000_output_function_prologue): Check if current procedure should be profiled.

* config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
current procedure should be profiled.

From-SVN: r206650

10 years agoaarch64.c (aarch64_register_move_cost): Correct cost of moving from/to the STACK_REG...
Andrew Pinski [Wed, 15 Jan 2014 23:30:16 +0000 (23:30 +0000)]
aarch64.c (aarch64_register_move_cost): Correct cost of moving from/to the STACK_REG register class.

2014-01-15  Andrew Pinski  <apinski@cavium.com>

* config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
of moving from/to the STACK_REG register class.

From-SVN: r206649

10 years agoAdd missing CL entry.
Marek Polacek [Wed, 15 Jan 2014 22:02:53 +0000 (22:02 +0000)]
Add missing CL entry.

From-SVN: r206648

10 years agore PR debug/54694 (internal compiler error: in dwarf2out_frame_debug_expr, at dwarf2o...
Richard Henderson [Wed, 15 Jan 2014 21:41:03 +0000 (13:41 -0800)]
re PR debug/54694 (internal compiler error: in dwarf2out_frame_debug_expr, at dwarf2out.c:2387)

PR debug/54694

Diagnose frame_pointer_required vs fixed hfp

From-SVN: r206647

10 years agotree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
Teresa Johnson [Wed, 15 Jan 2014 21:21:32 +0000 (21:21 +0000)]
tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.

2014-01-15  Teresa Johnson  <tejohnson@google.com>

* tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.

From-SVN: r206646

10 years agore PR c++/49718 (please allow no_instrument_function attribute in class member defini...
Laurent Alfonsi [Wed, 15 Jan 2014 19:37:35 +0000 (19:37 +0000)]
re PR c++/49718 (please allow no_instrument_function attribute in class member definition/declaration)

PR c++/49718
* c-common.c (handle_no_instrument_function_attribute): Allow
no_instrument_function attribute in class member
definition/declaration.

PR c++/49718
* g++.dg/pr49718.C: New test.

From-SVN: r206643

10 years agoumips-branch-4.c: Add addressing=absolute.
Richard Sandiford [Wed, 15 Jan 2014 19:31:46 +0000 (19:31 +0000)]
umips-branch-4.c: Add addressing=absolute.

gcc/testsuite/
* gcc.target/mips/umips-branch-4.c: Add addressing=absolute.

From-SVN: r206642

10 years agoaltivec.md (mulv8hi3): Explicitly generate vmulesh and vmulosh rather than call gen_v...
Bill Schmidt [Wed, 15 Jan 2014 19:16:53 +0000 (19:16 +0000)]
altivec.md (mulv8hi3): Explicitly generate vmulesh and vmulosh rather than call gen_vec_widen_smult_*.

gcc:

2014-01-15  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

* config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
and vmulosh rather than call gen_vec_widen_smult_*.
(vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
(vec_widen_smult_even_v16qi): Likewise.
(vec_widen_umult_even_v8hi): Likewise.
(vec_widen_smult_even_v8hi): Likewise.
(vec_widen_umult_odd_v16qi): Likewise.
(vec_widen_smult_odd_v16qi): Likewise.
(vec_widen_umult_odd_v8hi): Likewise.
(vec_widen_smult_odd_v8hi): Likewise.
(vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
vmuloub rather than call gen_vec_widen_umult_*.
(vec_widen_umult_lo_v16qi): Likewise.
(vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
vmulosb rather than call gen_vec_widen_smult_*.
(vec_widen_smult_lo_v16qi): Likewise.
(vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
rather than call gen_vec_widen_umult_*.
(vec_widen_umult_lo_v8hi): Likewise.
(vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
rather than call gen_vec_widen_smult_*.
(vec_widen_smult_lo_v8hi): Likewise.

gcc/testsuite:

2014-01-15  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

* gcc.dg/vmx/mult-even-odd.c: New.
* gcc.dg/vmx/mult-even-odd-be-order.c: New.

From-SVN: r206641

10 years agotarget-supports.exp (check_libcilkrts_available): Added an extern "C" if we are using...
Balaji V. Iyer [Wed, 15 Jan 2014 19:11:16 +0000 (19:11 +0000)]
target-supports.exp (check_libcilkrts_available): Added an extern "C" if we are using C++ along with a function prototype.

2014-01-15  Balaji V. Iyer  <balaji.v.iyer@intel.com>

       * lib/target-supports.exp (check_libcilkrts_available): Added an
       extern "C" if we are using C++ along with a function prototype.

From-SVN: r206640

10 years agore PR c++/59659 (large zero-initialized std::array compile time excessive)
Jason Merrill [Wed, 15 Jan 2014 19:10:09 +0000 (14:10 -0500)]
re PR c++/59659 (large zero-initialized std::array compile time excessive)

PR c++/59659
* typeck2.c (massage_init_elt): New.
(process_init_constructor_record)
(process_init_constructor_union): Use it.
(process_init_constructor_array): Use it.  Use RANGE_EXPR.
(split_nonconstant_init_1): Handle it.
* semantics.c (cxx_eval_vec_init_1): Use force_rvalue.

From-SVN: r206639

10 years agore PR tree-optimization/59747 (wrong code at -Os and above on x86_64-linux-gnu in...
Jeff Law [Wed, 15 Jan 2014 18:13:52 +0000 (11:13 -0700)]
re PR tree-optimization/59747 (wrong code at -Os and above on x86_64-linux-gnu in 64-bit mode)

PR tree-optimization/59747
* ree.c (find_and_remove_re): Properly handle case where a second
eliminated extension requires widening a copy created for elimination
of a prior extension.
(combine_set_extension): Ensure that the number of hard regs needed
for a destination register does not change when we widen it.

PR tree-optimization/59747
* gcc.c-torture/execute/pr59747.c: New test.

From-SVN: r206638

10 years agoconfig.gcc (*-*-rtems*): Add t-rtems to tmake_file.
Sebastian Huber [Wed, 15 Jan 2014 17:44:33 +0000 (17:44 +0000)]
config.gcc (*-*-rtems*): Add t-rtems to tmake_file.

2014-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>

* config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
(arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
(arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
(arm*-*-rtems*): Use t-rtems from existing tmake_file.
(avr-*-rtems*): Likewise.
(bfin*-rtems*): Likewise.
(moxie-*-rtems*): Likewise.
(h8300-*-rtems*): Likewise.
(i[34567]86-*-rtems*): Likewise.
(lm32-*-rtems*): Likewise.
(m32r-*-rtems*): Likewise.
(m68k-*-rtems*): Likewise.
(microblaze*-*-rtems*): Likewise.
(mips*-*-rtems*): Likewise.
(powerpc-*-rtems*): Likewise.
(sh-*-rtems*): Likewise.
(sparc-*-rtems*): Likewise.
(sparc64-*-rtems*): Likewise.
(v850-*-rtems*): Likewise.
(m32c-*-rtems*): Likewise.

From-SVN: r206637

10 years agore PR rtl-optimization/59511 (FAIL: gcc.target/i386/pr36222-1.c scan-assembler-not...
Vladimir Makarov [Wed, 15 Jan 2014 17:32:47 +0000 (17:32 +0000)]
re PR rtl-optimization/59511 (FAIL: gcc.target/i386/pr36222-1.c scan-assembler-not movdqa with -mtune=corei7)

2014-01-15  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/59511
* ira.c (ira_init_register_move_cost): Use memory costs for some
cases of register move cost calculations.
* lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
instead of BB frequency.
* lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
* lra-assigns.c (find_hard_regno_for): Ditto.

From-SVN: r206636

10 years agoSilence vector ABI change warnings for x86
H.J. Lu [Wed, 15 Jan 2014 17:08:38 +0000 (17:08 +0000)]
Silence vector ABI change warnings for x86

PR target/59794
* c-c++-common/convert-vec-1.c: Also prune ABI change for
Linux/x86.
* g++.dg/cpp0x/constexpr-53094-2.C: Likewise.
* g++.dg/ext/attribute-test-1.C: Likewise.
* g++.dg/ext/attribute-test-2.C: Likewise.
* g++.dg/ext/attribute-test-3.C: Likewise.
* g++.dg/ext/attribute-test-4.C: Likewise.
* g++.dg/ext/pr56790-1.C: Likewise.
* g++.dg/torture/pr38565.C: Likewise.
* gcc.dg/pr53060.c: Likewise.
* c-c++-common/scal-to-vec2.c: Add -msse2 for x86.
* c-c++-common/vector-compare-2.c: Likewise.
* gcc.dg/Wstrict-aliasing-bogus-ref-all-2.c: Likewise.
* g++.dg/conversion/simd1.C: Add -msse2 for x86.  Adjust
dg-message line number.

From-SVN: r206634

10 years agoAdd missing PR reference in ChangeLog.
François Dumont [Wed, 15 Jan 2014 16:55:34 +0000 (16:55 +0000)]
Add missing PR reference in ChangeLog.

From-SVN: r206633

10 years agohashtable_policy.h: Fix some long lines.
François Dumont [Wed, 15 Jan 2014 16:53:02 +0000 (16:53 +0000)]
hashtable_policy.h: Fix some long lines.

2014-01-15  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/hashtable_policy.h: Fix some long lines.
* include/bits/hashtable.h (__hash_code_base_access): Define and
use it to check its _M_bucket_index noexcept qualification. Use
also in place of...
(__access_protected_ctor): ...this.
* testsuite/23_containers/unordered_set/instantiation_neg.cc:
Adapt line number.
* testsuite/23_containers/unordered_set/
not_default_constructible_hash_neg.cc: Likewise.

From-SVN: r206632

10 years agogo-test.exp: Set goarch for aarch64*-*-*.
Matthias Klose [Wed, 15 Jan 2014 15:31:55 +0000 (15:31 +0000)]
go-test.exp: Set goarch for aarch64*-*-*.

2014-01-15  Matthias Klose  <doko@ubuntu.com>

        * go.test/go-test.exp: Set goarch for aarch64*-*-*.

From-SVN: r206631

10 years agore PR tree-optimization/59822 (ice in compute_live_loop_exits with -O3)
Richard Biener [Wed, 15 Jan 2014 15:13:08 +0000 (15:13 +0000)]
re PR tree-optimization/59822 (ice in compute_live_loop_exits with -O3)

2014-01-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59822
* tree-vect-stmts.c (hoist_defs_of_uses): New function.
(vectorizable_load): Use it to hoist defs of uses of invariant
loads out of the loop.

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

From-SVN: r206630

10 years agore PR testsuite/59808 (r206596 caused: FAIL: gcc.target/i386/sse-14.c (test for exces...
Kirill Yukhin [Wed, 15 Jan 2014 12:01:08 +0000 (12:01 +0000)]
re PR testsuite/59808 (r206596 caused: FAIL: gcc.target/i386/sse-14.c (test for excess errors))

        PR target/59808
        * gcc.target/i386/sse-12.c: Add `-mavx512[cd, er, pf]' options.
        * gcc.target/i386/sse-14.c: Fix PR59808.

From-SVN: r206629

10 years agore PR target/59695 (bad code generation on aarch64 in aarch64_output_mi_thunk)
Matthew Gretton-Dann [Wed, 15 Jan 2014 10:27:55 +0000 (10:27 +0000)]
re PR target/59695 (bad code generation on aarch64 in aarch64_output_mi_thunk)

2014-01-15  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
            Kugan Vivekanandarajah  <kuganv@linaro.org>

gcc/
PR target/59695
* config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
truncation.

gcc/testsuite/
PR target/59695
* g++.dg/pr59695.C: New testcase.

Co-Authored-By: Kugan Vivekanandarajah <kuganv@linaro.org>
From-SVN: r206628

10 years agore PR target/59803 (s390x -march=z10 reload ICE)
Jakub Jelinek [Wed, 15 Jan 2014 09:39:11 +0000 (10:39 +0100)]
re PR target/59803 (s390x -march=z10 reload ICE)

Add
PR target/59803
reference to ChangeLog entries.

From-SVN: r206625

10 years agore PR rtl-optimization/59802 (excessive compile time in RTL optimizers (loop unswitch...
Richard Biener [Wed, 15 Jan 2014 08:47:30 +0000 (08:47 +0000)]
re PR rtl-optimization/59802 (excessive compile time in RTL optimizers (loop unswitching, CPROP))

2014-01-15  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/59802
* lcm.c (compute_available): Use inverted postorder to seed
the initial worklist.

From-SVN: r206624

10 years agos390.c (s390_preferred_reload_class): Don't return ADDR_REGS for invalid symrefs...
Andreas Krebbel [Wed, 15 Jan 2014 08:36:44 +0000 (08:36 +0000)]
s390.c (s390_preferred_reload_class): Don't return ADDR_REGS for invalid symrefs in non-PIC code.

2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.c (s390_preferred_reload_class): Don't return
ADDR_REGS for invalid symrefs in non-PIC code.

2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc.c-torture/compile/pr59803.c: New testcase.

From-SVN: r206623

10 years agore PR other/58712 (issues found by --enable-checking=valgrind)
Jakub Jelinek [Wed, 15 Jan 2014 08:08:17 +0000 (09:08 +0100)]
re PR other/58712 (issues found by --enable-checking=valgrind)

PR other/58712
* builtins.c (determine_block_size): Initialize *probable_max_size
even if len_rtx is CONST_INT.

From-SVN: r206621

10 years agore PR c/58943 (wrong calculation of indirect structure member arithmetic via function...
Jakub Jelinek [Wed, 15 Jan 2014 08:03:53 +0000 (09:03 +0100)]
re PR c/58943 (wrong calculation of indirect structure member arithmetic via function call)

PR c/58943
* c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
effects, preevaluate rhs using SAVE_EXPR first.

* c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
being COMPOUND_EXPR.
(c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
operand a SAVE_EXPR and second MODIFY_EXPR.

* gcc.c-torture/execute/pr58943.c: New test.
* gcc.dg/tree-ssa/ssa-fre-33.c (main): Avoid using += in the test.

From-SVN: r206620

10 years agocompiler: Use backend interface for interface info and field expressions.
Chris Manghane [Wed, 15 Jan 2014 00:17:22 +0000 (00:17 +0000)]
compiler: Use backend interface for interface info and field expressions.

* go-gcc.cc (Gcc_backend::compound_expression): New function.
(Gcc_backend::conditional_expression): New function.

From-SVN: r206615

10 years agoDaily bump.
GCC Administrator [Wed, 15 Jan 2014 00:16:39 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r206614

10 years agocompiler: Add Backend Function type.
Ian Lance Taylor [Tue, 14 Jan 2014 23:21:16 +0000 (23:21 +0000)]
compiler: Add Backend Function type.

From-SVN: r206611

10 years agoaarch64-protos.h (tune_params): Add issue_rate.
Andrew Pinski [Tue, 14 Jan 2014 19:55:59 +0000 (19:55 +0000)]
aarch64-protos.h (tune_params): Add issue_rate.

2014-01-14  Andrew Pinski  <apinski@cavium.com>

* config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
* config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
(cortexa53_tunings): Likewise.
(aarch64_sched_issue_rate): New function.
(TARGET_SCHED_ISSUE_RATE): Define.

From-SVN: r206609

10 years agoira-costs.c (find_costs_and_classes): Add missed ira_init_register_move_cost_if_neces...
Vladimir Makarov [Tue, 14 Jan 2014 19:08:32 +0000 (19:08 +0000)]
ira-costs.c (find_costs_and_classes): Add missed ira_init_register_move_cost_if_necessary.

2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>

* ira-costs.c (find_costs_and_classes): Add missed
ira_init_register_move_cost_if_necessary.

From-SVN: r206606

10 years agore PR target/59787 ([ARM] mmx-2.c causes ICE when GCC is configured for cortex-a5...
Vladimir Makarov [Tue, 14 Jan 2014 19:07:01 +0000 (19:07 +0000)]
re PR target/59787 ([ARM] mmx-2.c causes ICE when GCC is configured for cortex-a5/vfpv3-d16-fp16)

2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>

PR target/59787
* config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.

From-SVN: r206605

10 years agoConsolidate ABI warning into type_natural_mode
H.J. Lu [Tue, 14 Jan 2014 16:41:10 +0000 (08:41 -0800)]
Consolidate ABI warning into type_natural_mode

gcc/

PR target/59794
* config/i386/i386.c (type_natural_mode): Add a bool parameter
to indicate if type is used for function return value.  Warn
ABI change if the vector mode isn't available for function
return value.
(ix86_function_arg_advance): Pass false to type_natural_mode.
(ix86_function_arg): Likewise.
(ix86_gimplify_va_arg): Likewise.
(function_arg_32): Don't warn ABI change.
(ix86_function_value): Pass true to type_natural_mode.
(ix86_return_in_memory): Likewise.
(ix86_struct_value_rtx): Removed.
(TARGET_STRUCT_VALUE_RTX): Likewise.

gcc/testsuite/

PR target/59794
* g++.dg/ext/vector23.C: Also prune ABI change for Linux/x86.
* gcc.target/i386/pr39162.c (y): New __m256i variable.
(bar): Change return type to void.  Set y to x.
* gcc.target/i386/pr59794-1.c: New testcase.
* gcc.target/i386/pr59794-2.c: Likewise.
* gcc.target/i386/pr59794-3.c: Likewise.
* gcc.target/i386/pr59794-4.c: Likewise.
* gcc.target/i386/pr59794-5.c: Likewise.
* gcc.target/i386/pr59794-6.c: Likewise.
* gcc.target/i386/pr59794-7.c: Likewise.

From-SVN: r206603

10 years agojump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when converting a conditiona...
Richard Sandiford [Tue, 14 Jan 2014 14:45:07 +0000 (14:45 +0000)]
jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when converting a conditional jump into a...

gcc/
* jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
converting a conditional jump into a conditional return.

From-SVN: r206600

10 years agore PR tree-optimization/58921 (ICE with segfault on valid code at -O3 on x86_64-linux...
Richard Biener [Tue, 14 Jan 2014 09:04:50 +0000 (09:04 +0000)]
re PR tree-optimization/58921 (ICE with segfault on valid code at -O3 on x86_64-linux-gnu)

2014-01-14  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58921
PR tree-optimization/59006
* tree-vect-loop-manip.c (vect_loop_versioning): Remove code
hoisting invariant stmts.
* tree-vect-stmts.c (vectorizable_load): Insert the splat of
invariant loads on the preheader edge if possible.

* gcc.dg/torture/pr58921.c: New testcase.
* gcc.dg/torture/pr59006.c: Likewise.
* gcc.dg/vect/pr58508.c: XFAIL no longer handled cases.

From-SVN: r206599

10 years agore PR testsuite/59494 (FAIL: gfortran.dg/vect/fast-math-mgrid-resid.f scan-tree-dump...
Jakub Jelinek [Tue, 14 Jan 2014 09:00:30 +0000 (10:00 +0100)]
re PR testsuite/59494 (FAIL: gfortran.dg/vect/fast-math-mgrid-resid.f scan-tree-dump-times optimized "vect_[^\\n]*\\+ " 13)

PR testsuite/59494
* gfortran.dg/vect/fast-math-mgrid-resid.f: Change
-fdump-tree-optimized to -fdump-tree-pcom-details in dg-options and
cleanup-tree-dump from optimized to pcom.  Remove scan-tree-dump-times
for vect_\[^\\n\]*\\+, add scan-tree-dump-times for no suitable chains and
Executing predictive commoning without unrolling.

From-SVN: r206598

10 years agoplugin.texi (Building GCC plugins): Update to C++.
Joey Ye [Tue, 14 Jan 2014 07:29:25 +0000 (07:29 +0000)]
plugin.texi (Building GCC plugins): Update to C++.

2014-01-14  Joey Ye  <joey.ye@arm.com>

        * doc/plugin.texi (Building GCC plugins): Update to C++.

From-SVN: r206597

10 years agoavx512erintrin.h (_mm_rcp28_round_sd): New.
Kirill Yukhin [Tue, 14 Jan 2014 06:21:06 +0000 (06:21 +0000)]
avx512erintrin.h (_mm_rcp28_round_sd): New.

gcc/
        * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
        (_mm_rcp28_round_ss): Ditto.
        (_mm_rsqrt28_round_sd): Ditto.
        (_mm_rsqrt28_round_ss): Ditto.
        (_mm_rcp28_sd): Ditto.
        (_mm_rcp28_ss): Ditto.
        (_mm_rsqrt28_sd): Ditto.
        (_mm_rsqrt28_ss): Ditto.
        * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
        * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
        * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
        (IX86_BUILTIN_RCP28SD): Ditto.
        (IX86_BUILTIN_RCP28SS): Ditto.
        (IX86_BUILTIN_RSQRT28SD): Ditto.
        (IX86_BUILTIN_RSQRT28SS): Ditto.
        (bdesc_special_args): Define __builtin_ia32_movntdqa512,
        __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
        __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
        (ix86_expand_special_args_builtin): Expand new FTYPE.
        * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
        (srcp14<mode>): Make insn unary.
        (avx512f_vmscalef<mode><round_name>): Use substed predicate.
        (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
        (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
        (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
        (avx512er_exp2<mode><mask_name><round_saeonly_name>):
        Fix rounding: make it SAE only.
        (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): Ditto.
        (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): Ditto.
        (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
        (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
        (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
        * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
        (round_saeonly_mask_scalar_operand4): Ditto.
        (round_saeonly_mask_scalar_op3): Ditto.
        (round_saeonly_mask_scalar_op4): Ditto.

gcc/testsuite/
        * gcc.target/i386/avx-1.c: Fix __builtin_ia32_exp2ps_mask,
        __builtin_ia32_exp2pd_mask, __builtin_ia32_rcp28ps_mask,
        __builtin_ia32_rcp28pd_mask, __builtin_ia32_rsqrt28ps_mask,
        __builtin_ia32_rsqrt28pd_mask. Add __builtin_ia32_rcp28ss_round,
        __builtin_ia32_rcp28sd_round, __builtin_ia32_rsqrt28ss_round,
        __builtin_ia32_rsqrt28sd_round.
        * gcc.target/i386/avx512er-vexp2pd-1.c: Fix rounding mode.
        * gcc.target/i386/avx512er-vexp2ps-1.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28pd-1.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28ps-1.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28pd-1.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28ps-1.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28sd-1.c: New.
        * gcc.target/i386/avx512er-vrcp28sd-2.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28ss-2.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28sd-2.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto.
        * gcc.target/i386/avx512f-vmovntdqa-1.c: Ditto.
        * gcc.target/i386/avx512f-vmovntdqa-2.c: Ditto.
        * gcc.target/i386/avx512f-vrcp14sd-2.c: Fix.
        * gcc.target/i386/avx512f-vrcp14ss-2.c: Ditto.
        * gcc.target/i386/sse-22.c: Extend with new built-ins,
        fix wrong rounding mode (see above).
        * gcc.target/i386/sse-23.c: Ditto.

From-SVN: r206596

10 years agoDaily bump.
GCC Administrator [Tue, 14 Jan 2014 00:16:45 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r206593

10 years agors6000-c.c (altivec_resolve_overloaded_builtin): Implement -maltivec=be for vec_inser...
Bill Schmidt [Mon, 13 Jan 2014 23:18:05 +0000 (23:18 +0000)]
rs6000-c.c (altivec_resolve_overloaded_builtin): Implement -maltivec=be for vec_insert and vec_extract.

gcc:

2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
Implement -maltivec=be for vec_insert and vec_extract.

gcc/testsuite:

2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/vmx/insert.c: New.
* gcc.dg/vmx/insert-be-order.c: New.
* gcc.dg/vmx/extract.c: New.
* gcc.dg/vmx/extract-be-order.c: New.

From-SVN: r206590

10 years agoset.h (set): Implement C++11 allocator-aware container requirements.
François Dumont [Mon, 13 Jan 2014 20:07:22 +0000 (20:07 +0000)]
set.h (set): Implement C++11 allocator-aware container requirements.

2014-01-13  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/set.h (set): Implement C++11 allocator-aware
container requirements.
* include/debug/map.h (map): Likewise.
* include/debug/multiset.h (multiset): Likewise.
* include/debug/multimap.h (multimap): Likewise.
* include/debug/set.h (set::operator=(set&&)): Add noexcept and
fix implementation regarding management of safe iterators.
* include/debug/map.h (map::operator=(map&&)): Likewise.
* include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
* include/debug/multimap.h (multimap::operator=(multimap&&)):
Likewise.
* include/debug/set.h (set::operator=(std::initializer_list<>)):
Rely on the same operator from normal mode.
* include/debug/map.h (map::operator=(std::initializer_list<>)):
Likewise.
* include/debug/multiset.h
(multiset::operator=(std::initializer_list<>)): Likewise.
* include/debug/multimap.h
(multimap::operator=(std::initializer_list<>)): Likewise.
* include/debug/set.h (set::swap(set&)): Add noexcept
specification, add allocator equality check.
* include/debug/map.h (map::swap(map&)): Likewise.
* include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
* include/debug/multimap.h (multimap::swap(multimap&)): Likewise.

From-SVN: r206588

10 years agoMake sure that -msse/-mavx are appended at the end
H.J. Lu [Mon, 13 Jan 2014 19:36:17 +0000 (19:36 +0000)]
Make sure that -msse/-mavx are appended at the end

PR libitm/53113
* Makefile.am (x86_sse.lo): Append -msse to CXXFLAGS.
(x86_avx.lo): Append -mavx to CXXFLAGS.
* Makefile.in: Regenerate.

From-SVN: r206587

10 years agomsp430.md (call_internal): Don't allow memory references with SP as the base register.
DJ Delorie [Mon, 13 Jan 2014 19:17:45 +0000 (14:17 -0500)]
msp430.md (call_internal): Don't allow memory references with SP as the base register.

* config/msp430/msp430.md (call_internal): Don't allow memory
references with SP as the base register.
(call_value_internal): Likewise.
* config/msp430/constraints.md (Yc): New.  For memory references
that don't use SP as a base register.

* config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
"an integer without a # prefix"
* config/msp430/msp430.md (epilogue_helper): Use it.

From-SVN: r206586

10 years agore PR tree-optimization/59617 ([vectorizer] ICE in vectorizable_mask_load_store with...
Jakub Jelinek [Mon, 13 Jan 2014 19:16:30 +0000 (20:16 +0100)]
re PR tree-optimization/59617 ([vectorizer] ICE in vectorizable_mask_load_store with AVX-512F's gathers enabled.)

PR target/59617
* config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
AVX512F gather builtins.
* tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
on gather decls with INTEGER_TYPE masktype.
(vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
directly into the builtin rather than hoisting it before loop.

From-SVN: r206585

10 years agore PR tree-optimization/59387 (wrong code (hangs) at -Os on x86_64-linux-gnu)
Jakub Jelinek [Mon, 13 Jan 2014 19:14:03 +0000 (20:14 +0100)]
re PR tree-optimization/59387 (wrong code (hangs) at -Os on x86_64-linux-gnu)

PR tree-optimization/59387
* tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
(scev_const_prop): If folded_casts and type has undefined overflow,
use force_gimple_operand instead of force_gimple_operand_gsi and
for each added stmt if it is assign with
arith_code_with_undefined_signed_overflow, call
rewrite_to_defined_overflow.
* tree-ssa-loop-im.c: Don't include gimplify-me.h, include
gimple-fold.h instead.
(arith_code_with_undefined_signed_overflow,
rewrite_to_defined_overflow): Moved to ...
* gimple-fold.c (arith_code_with_undefined_signed_overflow,
rewrite_to_defined_overflow): ... here.  No longer static.
Include gimplify-me.h.
* gimple-fold.h (arith_code_with_undefined_signed_overflow,
rewrite_to_defined_overflow): New prototypes.

* gcc.c-torture/execute/pr59387.c: New test.

From-SVN: r206583

10 years agoarm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
Kyrylo Tkachov [Mon, 13 Jan 2014 15:58:47 +0000 (15:58 +0000)]
arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.

2014-01-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.

From-SVN: r206580

10 years agolto.exp: Do check_effective_target_lto check before adjusting mathlib options.
Richard Biener [Mon, 13 Jan 2014 11:27:43 +0000 (11:27 +0000)]
lto.exp: Do check_effective_target_lto check before adjusting mathlib options.

2014-01-13  Richard Biener  <rguenther@suse.de>

* g++.dg/lto/lto.exp: Do check_effective_target_lto check before
adjusting mathlib options.
* gfortran.dg/lto/lto.exp: Likewise.

From-SVN: r206577

10 years agobuiltins.c (get_object_alignment_2): Minor tweak.
Eric Botcazou [Mon, 13 Jan 2014 10:36:27 +0000 (10:36 +0000)]
builtins.c (get_object_alignment_2): Minor tweak.

* builtins.c (get_object_alignment_2): Minor tweak.
* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.

From-SVN: r206576

10 years agosh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and optimized non constant lengths.
Christian Bruel [Mon, 13 Jan 2014 09:16:48 +0000 (10:16 +0100)]
sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and optimized non constant lengths.

2014-01-13  Christian Bruel  <christian.bruel@st.com>

* config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
  optimized non constant lengths.

From-SVN: r206575

10 years agovect-simd-clone-10.c: Add dg-do run.
Jakub Jelinek [Mon, 13 Jan 2014 09:13:15 +0000 (10:13 +0100)]
vect-simd-clone-10.c: Add dg-do run.

* gcc.dg/vect/vect-simd-clone-10.c: Add dg-do run.
* gcc.dg/vect/vect-simd-clone-12.c: Likewise.

From-SVN: r206574

10 years agore PR libgomp/59194 (tsan detects race for real variables in an OMP reduction clause)
Jakub Jelinek [Mon, 13 Jan 2014 07:56:40 +0000 (08:56 +0100)]
re PR libgomp/59194 (tsan detects race for real variables in an OMP reduction clause)

PR libgomp/59194
* omp-low.c (expand_omp_atomic_pipeline): Expand the initial
load as __atomic_load_N if possible.

From-SVN: r206572

10 years agoDaily bump.
GCC Administrator [Mon, 13 Jan 2014 00:17:02 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r206571

10 years agore PR ada/59772 (floating-point constants are not correctly encoded)
Eric Botcazou [Sun, 12 Jan 2014 14:29:12 +0000 (14:29 +0000)]
re PR ada/59772 (floating-point constants are not correctly encoded)

PR ada/59772
* gcc-interface/cuintp.c (build_cst_from_int): Use 32-bit integer type
as intermediate type.
(UI_To_gnu): Likewise.

From-SVN: r206565

10 years agore PR fortran/58026 ([F03] Bad error recovery for allocatable component of undeclared...
Janus Weil [Sun, 12 Jan 2014 11:08:31 +0000 (12:08 +0100)]
re PR fortran/58026 ([F03] Bad error recovery for allocatable component of undeclared type)

2014-01-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58026
* decl.c (gfc_match_data_decl): Improve error recovery.

2014-01-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58026
* gfortran.dg/alloc_comp_basics_6.f90: New.

From-SVN: r206564

10 years agoDaily bump.
GCC Administrator [Sun, 12 Jan 2014 00:17:10 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r206563

10 years agore PR fortran/59700 (Misleading/buggy runtime error message: Bad integer for item...
Steven G. Kargl [Sat, 11 Jan 2014 21:38:30 +0000 (21:38 +0000)]
re PR fortran/59700 (Misleading/buggy runtime error message: Bad integer for item 0 in list input)

2014-01-11  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/59700
* gfortran.dg/pr59700.f90: New test.

From-SVN: r206559

10 years agoMissed file for previous commit.
Jerry DeLisle [Sat, 11 Jan 2014 21:36:57 +0000 (21:36 +0000)]
Missed file for previous commit.

From-SVN: r206558

10 years agore PR libfortran/59419 (Failing OPEN with FILE='xxx' and IOSTAT creates the file...
Dominique d'Humieres [Sat, 11 Jan 2014 21:30:43 +0000 (22:30 +0100)]
re PR libfortran/59419 (Failing OPEN with FILE='xxx' and IOSTAT creates the file 'xxx' after revision 196783)

2014-01-11  Dominique d'Humieres  <dominiq@lps.ens.fr>

* gfortran.dg/binding_label_tests_10_main.f03: Cleanup mod file.
* gfortran.dg/use_only_3.f90: Likewise.
* gfortran.dg/inquire_10.f90: Delete opened file.
* gfortran.dg/inquire_15.f90: Likewise.
* gfortran.dg/pr16597.f90: Likewise.
* gfortran.dg/open_negative_unit_1.f90: Likewise + test
for PR59419.

From-SVN: r206557

10 years agors6000.c (rs6000_expand_mtfsf_builtin): Remove target parameter.
David Edelsohn [Sat, 11 Jan 2014 19:25:54 +0000 (19:25 +0000)]
rs6000.c (rs6000_expand_mtfsf_builtin): Remove target parameter.

        * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
        target parameter.
        (rs6000_expand_builtin): Adjust call.

From-SVN: r206555

10 years agore PR target/58115 (testcase gcc.target/i386/intrinsics_4.c failure)
David Edelsohn [Sat, 11 Jan 2014 18:57:56 +0000 (18:57 +0000)]
re PR target/58115 (testcase gcc.target/i386/intrinsics_4.c failure)

        PR target/58115
        * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
        * config/rs6000/rs6000.c: Include target-globals.h.
        (rs6000_set_current_function): Instead of doing target_reinit
        unconditionally, use save_target_globals_default_opts and
        restore_target_globals.

        * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
        FPSCR.
        * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
        (rs6000_expand_builtin): Handle mffs and mtfsf.
        (rs6000_init_builtins): Define mffs and mtfsf.
        * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New.
        (rs6000_mffs): New pattern.
        (rs6000_mtfsf): New pattern.

From-SVN: r206554

10 years agore PR fortran/59700 (Misleading/buggy runtime error message: Bad integer for item...
Jerry DeLisle [Sat, 11 Jan 2014 18:57:20 +0000 (18:57 +0000)]
re PR fortran/59700 (Misleading/buggy runtime error message: Bad integer for item 0 in list input)

2014-01-11  Jerry DeLisle  <jvdelisle@gcc.gnu>
    Dominique d'Humieres  <dominiq@lps.ens.fr>
    Steven G. Kargl  <kargl@gcc.gnu.org>

PR libfortran/59700
PR libfortran/59764
* io/io.h (struct st_parameter_dt): Assign expanded_read flag to
unused bit. Define new variable line_buffer_pos.
* io/list_read.c (free_saved, next_char, l_push_char,
read_logical, read_real): Replace use of item_count with
line_buffer_pos for line_buffer look ahead.
(read_logical, read_integer, parse_real, read_real, check_type):
Adjust location of free_line to after generating error messages
to retain the correct item count for the message.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>
From-SVN: r206553

10 years agotree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
Bin Cheng [Sat, 11 Jan 2014 09:33:39 +0000 (09:33 +0000)]
tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.

* tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
Start narrowing with START.  Apply candidate-use pair
and check overall cost in narrowing.
(iv_ca_prune): Pass new argument.

From-SVN: r206552

10 years agoDaily bump.
GCC Administrator [Sat, 11 Jan 2014 00:16:58 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r206548

10 years agore PR middle-end/59743 (ICE: Segmentation fault)
Jeff Law [Fri, 10 Jan 2014 22:13:18 +0000 (15:13 -0700)]
re PR middle-end/59743 (ICE: Segmentation fault)

PR middle-end/59743
* ree.c (combine_reaching_defs): Ensure the defining statement
occurs before the extension when optimizing extensions with
different source and destination hard registers.

PR middle-end/59743
* gcc.c-torture/compile/pr59743.c: New test.

From-SVN: r206545

10 years agore PR middle-end/58585 (ICE in ipa with virtual inheritance)
Jan Hubicka [Fri, 10 Jan 2014 21:34:37 +0000 (22:34 +0100)]
re PR middle-end/58585 (ICE in ipa with virtual inheritance)

PR ipa/58585
* ipa-devirt.c (build_type_inheritance_graph): Also add types of vtables
into the type inheritance graph.

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

From-SVN: r206543

10 years agore PR rtl-optimization/59754 ([ree.c] Incorrect merge while working with vector regis...
Jakub Jelinek [Fri, 10 Jan 2014 21:27:52 +0000 (22:27 +0100)]
re PR rtl-optimization/59754 ([ree.c] Incorrect merge while working with vector registers)

PR rtl-optimization/59754
* ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
modes in the REGNO != REGNO case.

From-SVN: r206542

10 years agors6000-builtin.def: Fix pasto for VPKSDUS.
Bill Schmidt [Fri, 10 Jan 2014 21:26:25 +0000 (21:26 +0000)]
rs6000-builtin.def: Fix pasto for VPKSDUS.

2014-01-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.

From-SVN: r206541

10 years agore PR tree-optimization/59745 (internal compiler error: tree check: expected tree...
Jakub Jelinek [Fri, 10 Jan 2014 20:37:52 +0000 (21:37 +0100)]
re PR tree-optimization/59745 (internal compiler error: tree check: expected tree that contains 'typed' structure, have '<invalid tree code>' in operand_equal_p, at fold-const.c:2492)

PR tree-optimization/59745
* tree-predcom.c (tree_predictive_commoning_loop): Call
free_affine_expand_cache if giving up because components is NULL.

From-SVN: r206540

10 years agotarget-globals.c (save_target_globals): Allocate < 4KB structs using GC in payload...
Jakub Jelinek [Fri, 10 Jan 2014 20:25:05 +0000 (21:25 +0100)]
target-globals.c (save_target_globals): Allocate < 4KB structs using GC in payload of target_globals struct instead of...

* target-globals.c (save_target_globals): Allocate < 4KB structs using
GC in payload of target_globals struct instead of allocating them on
the heap and the larger structs separately using GC.
* target-globals.h (struct target_globals): Make regs, hard_regs,
reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
of GTY((skip)) and change type to void *.
(reset_target_globals): Cast loads from those fields to corresponding
types.

From-SVN: r206539

10 years ago* gcc.dg/pr46309.c: Disable for cris*-*-*.
Hans-Peter Nilsson [Fri, 10 Jan 2014 19:18:34 +0000 (19:18 +0000)]
* gcc.dg/pr46309.c: Disable for cris*-*-*.

From-SVN: r206537