platform/upstream/gcc.git
12 years agore PR c/54552 (Cast to pointer to VLA crash the compiler)
Joseph Myers [Fri, 14 Sep 2012 21:16:56 +0000 (22:16 +0100)]
re PR c/54552 (Cast to pointer to VLA crash the compiler)

c:
PR c/54552
* c-typeck.c (c_cast_expr): When casting to a type requiring
C_MAYBE_CONST_EXPR to be created, pass the inner expression to
c_fully_fold first.

testsuite:
* gcc.c-torture/compile/pr54552-1.c: New test.

From-SVN: r191313

12 years agoFix grammar and spelling.
Walter Lee [Fri, 14 Sep 2012 20:54:02 +0000 (20:54 +0000)]
Fix grammar and spelling.

* doc/invoke.texi (Option Summary): fix typesetting for -mcpu
option for TILEPro and TILE-Gx.
(TILE-Gx Options): Fix grammar and spellings in documentation for
-mcmodel.

From-SVN: r191311

12 years agore PR c++/54427 (Expose more vector extensions)
Marc Glisse [Fri, 14 Sep 2012 17:17:01 +0000 (19:17 +0200)]
re PR c++/54427 (Expose more vector extensions)

2012-09-14  Marc Glisse  <marc.glisse@inria.fr>
PR c++/54427

gcc/ChangeLog
* fold-const.c (fold_unary_loc): Disable for VECTOR_TYPE.
(fold_binary_loc): Likewise.
* gimple-fold.c (and_comparisons_1): Handle VECTOR_TYPE.
(or_comparisons_1): Likewise.

gcc/cp/ChangeLog
* typeck.c (cp_build_binary_op) [LSHIFT_EXPR, RSHIFT_EXPR, EQ_EXPR,
NE_EXPR, LE_EXPR, GE_EXPR, LT_EXPR, GT_EXPR]: Handle VECTOR_TYPE.

gcc/testsuite/ChangeLog
* g++.dg/other/vector-compare.C: New testcase.
* gcc/testsuite/c-c++-common/vector-compare-3.c: New testcase.
* gcc.dg/vector-shift.c: Move ...
* c-c++-common/vector-shift.c: ... here.
* gcc.dg/vector-shift1.c: Move ...
* c-c++-common/vector-shift1.c: ... here.
* gcc.dg/vector-shift3.c: Move ...
* c-c++-common/vector-shift3.c: ... here.
* gcc.dg/vector-compare-1.c: Move ...
* c-c++-common/vector-compare-1.c: ... here.
* gcc.dg/vector-compare-2.c: Move ...
* c-c++-common/vector-compare-2.c: ... here.
* gcc.c-torture/execute/vector-compare-1.c: Move ...
* c-c++-common/torture/vector-compare-1.c: ... here.
* gcc.c-torture/execute/vector-compare-2.x: Delete.
* gcc.c-torture/execute/vector-compare-2.c: Move ...
* c-c++-common/torture/vector-compare-2.c: ... here.
* gcc.c-torture/execute/vector-shift.c: Move ...
* c-c++-common/torture/vector-shift.c: ... here.
* gcc.c-torture/execute/vector-shift2.c: Move ...
* c-c++-common/torture/vector-shift2.c: ... here.
* gcc.c-torture/execute/vector-subscript-1.c: Move ...
* c-c++-common/torture/vector-subscript-1.c: ... here.
* gcc.c-torture/execute/vector-subscript-2.c: Move ...
* c-c++-common/torture/vector-subscript-2.c: ... here.
* gcc.c-torture/execute/vector-subscript-3.c: Move ...
* c-c++-common/torture/vector-subscript-3.c: ... here.

From-SVN: r191308

12 years agore PR target/54516 (ICE in reload_cse_simplify_operands, at postreload.c:403 with...
Richard Earnshaw [Fri, 14 Sep 2012 17:10:45 +0000 (17:10 +0000)]
re PR target/54516 (ICE in reload_cse_simplify_operands, at postreload.c:403 with -O1 -march=armv7-a -mthumb)

PR target/54516
PR rtl-optimization/54540
* reload.c (find_dummy_reload): Don't use OUT as a reload reg
for IN if it overlaps a fixed register.

From-SVN: r191307

12 years agoTemporarily revert previous
Richard Earnshaw [Fri, 14 Sep 2012 17:08:42 +0000 (17:08 +0000)]
Temporarily revert previous

From-SVN: r191306

12 years agoreload.c (find_dummy_reload): Don't use OUT as a reload reg for IN if it overlaps...
Richard Earnshaw [Fri, 14 Sep 2012 17:02:04 +0000 (17:02 +0000)]
reload.c (find_dummy_reload): Don't use OUT as a reload reg for IN if it overlaps a fixed register.

* reload.c (find_dummy_reload): Don't use OUT as a reload reg
for IN if it overlaps a fixed register.

From-SVN: r191305

12 years agore PR c/54103 (ICE at gimplify.c:7790 on current trunk)
Joseph Myers [Fri, 14 Sep 2012 16:59:10 +0000 (17:59 +0100)]
re PR c/54103 (ICE at gimplify.c:7790 on current trunk)

c:
PR c/54103
* c-typeck.c (build_unary_op): Pass original argument of
TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
any C_MAYBE_CONST_EXPR, if it has integer operands.
(build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
to c_objc_common_truthvalue_conversion, then remove any
C_MAYBE_CONST_EXPR, if they have integer operands.  Use
c_objc_common_truthvalue_conversion not
c_common_truthvalue_conversion.
(c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
call note_integer_operands for arguments with integer operands
that are not integer constants.

testsuite:
* gcc.c-torture/compile/pr54103-1.c,
gcc.c-torture/compile/pr54103-2.c,
gcc.c-torture/compile/pr54103-3.c,
gcc.c-torture/compile/pr54103-4.c,
gcc.c-torture/compile/pr54103-5.c,
gcc.c-torture/compile/pr54103-6.c: New tests.
* gcc.dg/c90-const-expr-8.c: Update expected column number.

From-SVN: r191304

12 years agodecl.c (make_typename_type): Only error out if tf_error is set in complain.
Paolo Carlini [Fri, 14 Sep 2012 14:43:05 +0000 (14:43 +0000)]
decl.c (make_typename_type): Only error out if tf_error is set in complain.

2012-09-14  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (make_typename_type): Only error out if tf_error is set
in complain.

From-SVN: r191303

12 years agore PR rtl-optimization/44194 (struct returned by value generates useless stores)
Eric Botcazou [Fri, 14 Sep 2012 13:28:44 +0000 (13:28 +0000)]
re PR rtl-optimization/44194 (struct returned by value generates useless stores)

PR rtl-optimization/44194
* calls.c (expand_call): In the PARALLEL case, copy the return value
into pseudos instead of spilling it onto the stack.
* emit-rtl.c (adjust_address_1): Rename ADJUST into ADJUST_ADDRESS and
add new ADJUST_OBJECT parameter.
If ADJUST_OBJECT is set, drop the underlying object if it cannot be
proved that the adjusted memory access is still within its bounds.
(adjust_automodify_address_1): Adjust call to adjust_address_1.
(widen_memory_access): Likewise.
* expmed.c (store_bit_field_1): Call adjust_bitfield_address instead
of adjust_address.  Do not drop the underlying object of a MEM.
(store_fixed_bit_field): Likewise.
(extract_bit_field_1): Likewise.  Fix oversight in recursion.
(extract_fixed_bit_field): Likewise.
* expr.h (adjust_address_1): Adjust prototype.
(adjust_address): Adjust call to adjust_address_1.
(adjust_address_nv): Likewise.
(adjust_bitfield_address): New macro.
(adjust_bitfield_address_nv): Likewise.
* expr.c (expand_assignment): Handle a PARALLEL in more cases.
(store_expr): Likewise.
(store_field): Likewise.

* dse.c: Fix typos in the head comment.

From-SVN: r191302

12 years agore PR target/54546 (SH: Enable -fshrink-wrap)
Christian Bruel [Fri, 14 Sep 2012 13:22:29 +0000 (15:22 +0200)]
re PR target/54546 (SH: Enable -fshrink-wrap)

       PR target/54546
       * config/sh/sh-protos.h (sh_need_epilogue): Delete.
       (sh_can_use_simple_return_p): Declare.
       * config/sh/sh.c (sh_can_use_simple_return_p): Define.
       (sh_need_epilogue, sh_need_epilogue_known): Delete.
       (sh_output_function_epilogue): Remove sh_need_epilogue_known.
       * config/sh/sh.md (simple_return, return): Define.
       (epilogue): Use inline return rtl.
       (sh_expand_epilogue): Cleanup parameters boolean type.
       * config/sh/iterators.md (any_return): New iterator.

From-SVN: r191301

12 years agopredicates.md (t_reg_operand): Check REG_P for SUBREG.
Christian Bruel [Fri, 14 Sep 2012 13:01:56 +0000 (15:01 +0200)]
predicates.md (t_reg_operand): Check REG_P for SUBREG.

2012-09-14  Christian Bruel  <christian.bruel@st.com>

       * config/sh/predicates.md (t_reg_operand): Check REG_P for SUBREG.
       * config/sh/sh.c (sequence_insn_p: Check INSNP_P for SEQUENCE.

From-SVN: r191300

12 years agore PR target/54564 (Broken __builtin_ia32_vfmadds[sd]3)
Jakub Jelinek [Fri, 14 Sep 2012 12:37:16 +0000 (14:37 +0200)]
re PR target/54564 (Broken __builtin_ia32_vfmadds[sd]3)

PR target/54564
* config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
instead of (match_dup 0) as second argument to vec_merge.
(*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
Remove third alternative.
(*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
operand 2 instead of operand 1, but put it as first argument
of fma.

* config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
_mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
of the first.

From-SVN: r191298

12 years agore PR target/54564 (Broken __builtin_ia32_vfmadds[sd]3)
Jakub Jelinek [Fri, 14 Sep 2012 12:36:33 +0000 (14:36 +0200)]
re PR target/54564 (Broken __builtin_ia32_vfmadds[sd]3)

PR target/54564
* config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
instead of (match_dup 0) as second argument to vec_merge.
(*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
Remove third alternative.
(*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
operand 2 instead of operand 1, but put it as first argument
of fma.

* config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
_mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
of the first.

From-SVN: r191297

12 years ago2012-09-14 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Fri, 14 Sep 2012 12:23:12 +0000 (12:23 +0000)]
2012-09-14  Paolo Carlini  <paolo.carlini@oracle.com>

* Tweak last ChangeLog entry.

From-SVN: r191296

12 years agore PR tree-optimization/54565 (pass_update_address_taken before forwprop1 for vectors)
Richard Guenther [Fri, 14 Sep 2012 12:22:27 +0000 (12:22 +0000)]
re PR tree-optimization/54565 (pass_update_address_taken before forwprop1 for vectors)

2012-09-14  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54565
* passes.c (init_optimization_passes): Adjust comments.
(execute_function_todo): Do not execute execute_update_addresses_taken
before processing TODO_rebuild_alias.
* tree-ssa-ccp.c (do_ssa_ccp): Schedule TODO_update_address_taken.

* gcc.dg/tree-ssa/ssa-ccp-17.c: Adjust.
* gcc.dg/tree-ssa/forwprop-6.c: Likewise.  Remove XFAIL.

From-SVN: r191295

12 years agoCheck _GLIBCXX_USE_C99_STDINT_TR1 in random.cc
Jonathan Wakely [Fri, 14 Sep 2012 11:41:53 +0000 (11:41 +0000)]
Check _GLIBCXX_USE_C99_STDINT_TR1 in random.cc

PR libstdc++/54576
* libstdc++-v3/src/c++11/random.cc: Check if
_GLIBCXX_USE_C99_STDINT_TR1 is defined.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r191294

12 years agotree-vrp.c (register_new_assert_for): Simplify for backward walk.
Richard Guenther [Fri, 14 Sep 2012 11:39:18 +0000 (11:39 +0000)]
tree-vrp.c (register_new_assert_for): Simplify for backward walk.

2012-09-14  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (register_new_assert_for): Simplify for backward
walk.
(find_assert_locations_1): Walk the basic-block backwards,
properly add/prune from live.  Use live for asserts derived
from stmts.

From-SVN: r191293

12 years agotree-ssa-forwprop.c (simplify_bitfield_ref): Call get_prop_source_stmt.
Marc Glisse [Fri, 14 Sep 2012 11:25:09 +0000 (13:25 +0200)]
tree-ssa-forwprop.c (simplify_bitfield_ref): Call get_prop_source_stmt.

2012-09-14  Marc Glisse  <marc.glisse@inria.fr>

* tree-ssa-forwprop.c (simplify_bitfield_ref): Call
get_prop_source_stmt.
(simplify_permutation): Likewise.
(simplify_vector_constructor): Likewise.

From-SVN: r191292

12 years ago* gcc.target/arm/combine-movs.c: Add missing space.
Ulrich Weigand [Fri, 14 Sep 2012 10:12:43 +0000 (10:12 +0000)]
* gcc.target/arm/combine-movs.c: Add missing space.

From-SVN: r191291

12 years agobuiltin-types.def (BT_FN_CONST_STRING): Add.
Richard Guenther [Fri, 14 Sep 2012 08:50:01 +0000 (08:50 +0000)]
builtin-types.def (BT_FN_CONST_STRING): Add.

2012-09-14  Richard Guenther  <rguenther@suse.de>

* builtin-types.def (BT_FN_CONST_STRING): Add.
* builtins.def (BUILT_IN_FILE, BUILT_IN_FUNCTION,
BUILT_IN_LINE): New builtins.
* gimplify.c (gimplify_call_expr): Expand them.
* doc/extend.texi (__builtin_LINE, __builtin_FUNCTION,
__builtin_FILE): Document.

* g++.dg/torture/builtin-location.C: New testcase.

From-SVN: r191290

12 years agoDaily bump.
GCC Administrator [Fri, 14 Sep 2012 00:17:59 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r191288

12 years agoBi-endian support for moxie
Anthony Green [Thu, 13 Sep 2012 23:35:48 +0000 (23:35 +0000)]
Bi-endian support for moxie

From-SVN: r191285

12 years agore PR c++/53210 (warning for data member initialized with itself should be in -Wall)
Paolo Carlini [Thu, 13 Sep 2012 23:04:04 +0000 (23:04 +0000)]
re PR c++/53210 (warning for data member initialized with itself should be in -Wall)

2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
    Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/53210
* doc/invoke.texi ([Winit-self]): Document as enabled by -Wall
in C++.

/c-family
2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
    Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/53210
* c.opt ([Winit-self]): Enabled by -Wall in C++.

/cp
2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
    Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/53210
* init.c (perform_member_init): Use OPT_Winit_self instead of
OPT_Wuninitialized.

/testsuite
2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
    Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c++/53210
* g++.dg/warn/Winit-self.C: New.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r191284

12 years agopredicates.md (input_operand): Do not consider TImode constants as 1-instruction...
Eric Botcazou [Thu, 13 Sep 2012 23:00:23 +0000 (23:00 +0000)]
predicates.md (input_operand): Do not consider TImode constants as 1-instruction integer constants.

* config/sparc/predicates.md (input_operand): Do not consider TImode
constants as 1-instruction integer constants.
Use register_or_zero_operand instead of register_operand and tidy up.
* config/sparc/sparc.md (movti): New expander.
(movti_insn_sp64): New instruction.
(movti_insn_sp64_hq): Likewise.
(TImode splitters): New splitters.
* config/sparc/sparc.c (sparc_expand_move) <TImode>: New case.
(sparc_legitimate_address_p): Return 0 for REG+REG in TImode.

* config/sparc/sparc-protos.h (arith_double_4096_operand): Delete.
(arith_4096_operand): Likewise.
(zero_operand): Likewise.
(fp_zero_operand): Likewise.
(reg_or_0_operand): Likewise.

From-SVN: r191283

12 years agotypeck.c (build_indirect_ref, [...]): Remove uses of ATTRIBUTE_UNUSED on the parameters.
Paolo Carlini [Thu, 13 Sep 2012 22:20:14 +0000 (22:20 +0000)]
typeck.c (build_indirect_ref, [...]): Remove uses of ATTRIBUTE_UNUSED on the parameters.

2012-09-13  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck.c (build_indirect_ref, build_function_call,
build_function_call_vec, build_binary_op, build_unary_op,
build_compound_expr, build_c_cast, build_modify_expr): Remove
uses of ATTRIBUTE_UNUSED on the parameters.
* class.c (set_linkage_according_to_type, resort_type_method_vec,
dfs_find_final_overrider_post, empty_base_at_nonzero_offset_p):
Likewise.
* decl.c (local_variable_p_walkfn): Likewise.
* except.c (wrap_cleanups_r, check_noexcept_r): Likewise.
* error.c (find_typenames_r): Likewise.
* tree.c (verify_stmt_tree_r, bot_replace,
handle_java_interface_attribute, handle_com_interface_attribute,
handle_init_priority_attribute, c_register_addr_space): Likewise.
* cp-gimplify.c (cxx_omp_clause_default_ctor): Likewise.
* cp-lang.c (objcp_tsubst_copy_and_build): Likewise.
* pt.c (unify_success, unify_invalid, instantiation_dependent_r):
Likewise.
* semantics.c (dfs_calculate_bases_pre): Likewise.
* decl2.c (fix_temporary_vars_context_r, clear_decl_external):
Likewise.
* parser.c (cp_lexer_token_at, cp_parser_omp_clause_mergeable,
cp_parser_omp_clause_nowait, cp_parser_omp_clause_ordered,
cp_parser_omp_clause_untied): Likewise.
* mangle.c (write_unnamed_type_name,
discriminator_for_string_literal): Likewise.
* search.c (dfs_accessible_post, dfs_debug_mark): Likewise.
* lex.c (handle_pragma_vtable, handle_pragma_unit,
handle_pragma_interface, handle_pragma_implementation,
handle_pragma_java_exceptions): Likewise.

From-SVN: r191281

12 years agore PR c/54559 (, ICE in gimplify_expr, at gimplify.c:7592)
Jakub Jelinek [Thu, 13 Sep 2012 16:57:15 +0000 (18:57 +0200)]
re PR c/54559 (, ICE in gimplify_expr, at gimplify.c:7592)

PR c/54559
* c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
COMPLEX_TYPE with in_late_binary_op set temporarily to true.

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

From-SVN: r191270

12 years agoconfigure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.
Jakub Jelinek [Thu, 13 Sep 2012 16:30:17 +0000 (18:30 +0200)]
configure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.

* configure.ac (CXXFLAGS): Remove -O2 when not bootstrapping.
* configure: Regenerated.

From-SVN: r191267

12 years agore PR c++/53839 ([C++11] internal compiler error: in adjust_temp_type, at cp/semantic...
Jason Merrill [Thu, 13 Sep 2012 15:14:08 +0000 (11:14 -0400)]
re PR c++/53839 ([C++11] internal compiler error: in adjust_temp_type, at cp/semantics.c:6391)

PR c++/53839
* semantics.c (cxx_eval_indirect_ref): If we aren't looking for an
address, make sure the value is constant.

From-SVN: r191263

12 years agore PR c++/54511 (internal compiler error: in make_decl_rtl, at varasm.c:1147)
Jason Merrill [Thu, 13 Sep 2012 15:13:45 +0000 (11:13 -0400)]
re PR c++/54511 (internal compiler error: in make_decl_rtl, at varasm.c:1147)

PR c++/54511
* pt.c (tsubst_decl) [VAR_DECL]: Handle DECL_ANON_UNION_VAR_P.

From-SVN: r191262

12 years agore PR c++/53836 (ICE: unexpected expression of kind template_parm_index)
Jason Merrill [Thu, 13 Sep 2012 15:13:24 +0000 (11:13 -0400)]
re PR c++/53836 (ICE: unexpected expression of kind template_parm_index)

PR c++/53836
* pt.c (value_dependent_expression_p): A TREE_LIST initializer must
be dependent.

From-SVN: r191261

12 years agore PR fortran/54556 (Marking implicitly pure variables as DECL_PURE_P leads to wrong...
Tobias Burnus [Thu, 13 Sep 2012 14:57:38 +0000 (16:57 +0200)]
re PR fortran/54556 (Marking implicitly pure variables as DECL_PURE_P leads to wrong code)

2012-09-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54556
        * resolve.c (resolve_formal_arglist): Allow VALUE arguments
        with implicit_pure.
        (gfc_impure_variable): Don't check gfc_pure such that the
        function also works for gfc_implicit_pure procedures.

2012-09-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54556
        * gfortran.dg/implicit_pure_3.f90: New.

From-SVN: r191259

12 years agoi386.md (prefetch): Do not assert mode of operand 0.
Uros Bizjak [Thu, 13 Sep 2012 13:49:39 +0000 (15:49 +0200)]
i386.md (prefetch): Do not assert mode of operand 0.

* config/i386/i386.md (prefetch): Do not assert mode of operand 0.
(*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
Rename to ...
(*prefetch_sse): ... this.
(*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
Rename to ...
(*prefetch_3dnow): ... this.

From-SVN: r191256

12 years agoipa-pure-const.c (state_from_flags, [...]): Use current_function_name instead of...
Steven Bosscher [Thu, 13 Sep 2012 13:41:46 +0000 (13:41 +0000)]
ipa-pure-const.c (state_from_flags, [...]): Use current_function_name instead of lang_hooks.decl_printable_name.

* ipa-pure-const.c (state_from_flags, local_pure_const): Use
current_function_name instead of lang_hooks.decl_printable_name.

* function.h (fndecl_name): New prototype.
* function.c (fndecl_name): New function.
* vecir.h (cgraph_node_p): New standard IR VEC type.
* trans-mem.c (cgraph_node_p): No need anymore to define it here.
* ipa-utils.h (ipa_get_nodes_in_cycle): New prototype.
* ipa-utils.c (ipa_get_nodes_in_cycle): New function.
* ipa-reference.c: Don't include langhooks.h, and certainly not twice.
Fix many formatting issues (long lines, short lines, spacing, etc.).
(get_static_name): Use fndecl_name.
(dump_static_vars_set_to_file): New function split out from propagate.
(union_static_var_sets): New function, union two sets and collapse
to all_module_statics as quickly as possible.
(intersect_static_var_sets): New function, similar to above.
(copy_static_var_set): Renamed from copy_global_bitmap and rewritten
to allocate a copy on the same bitmap_obstack as the source set.
(propagate_bits): Simplify, and clarify by using union_static_var_sets.
(generate_summary): Remove bm_temp.  Print UID of promotable globals.
(read_write_all_from_decl): Use pass-by-reference, bless C++.
(get_read_write_all_from_node): New function, split out from propagate.
(propagate): Simplify and clarify with helper functions.  Use
ipa_get_nodes_in_cycle to walk all nodes in a reduced node.
(ipa_reference_read_optimization_summary): Use fndecl_name instead of
lang_hooks.decl_printable_name.

* rtl.h (print_rtl_single_with_indent): New prototype.
* print-rtl.c (print_rtl_single_with_indent): New function.
* cfghooks.h (empty_block_p, split_block_before_cond_jump): New hooks.
* cfghooks.c (empty_block_p, split_block_before_cond_jump): Implement.
* cfgrtl.c (rtl_block_empty_p, rtl_split_block_before_cond_jump):
Implement RTL specific hooks.
(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Register the new hooks.
* tree-cfg.c (gimple_empty_block_p,
gimple_split_block_before_cond_jump): Implement GIMPLE specific hooks.
(gimple_cfg_hooks): Register the new hooks.
* tree-ssa-phiopt.c (empty_block_p): Remove in favor of new hook.

From-SVN: r191255

12 years agotree-ssa-sccvn.h (enum vn_kind): New.
Richard Guenther [Thu, 13 Sep 2012 12:43:58 +0000 (12:43 +0000)]
tree-ssa-sccvn.h (enum vn_kind): New.

2012-09-13  Richard Guenther  <rguenther@suse.de>

* tree-ssa-sccvn.h (enum vn_kind): New.
(vn_get_stmt_kind): Likewise.
* tree-ssa-sccvn.c (vn_get_stmt_kind): New function, adjust
ADDR_EXPR handling.
(visit_use): Use it.
* tree-ssa-pre.c (compute_avail): Likewise, simplify further.

* gcc.dg/tree-ssa/ssa-fre-37.c: New testcase.

From-SVN: r191253

12 years ago* config/i386/i386.c (processor_alias_table): Fix whitespace.
Uros Bizjak [Thu, 13 Sep 2012 11:45:35 +0000 (13:45 +0200)]
* config/i386/i386.c (processor_alias_table): Fix whitespace.

From-SVN: r191248

12 years agoEnable PTA_PRFCHW for AMD bdver1, bdver2, btver1 and btver2 cores
Venkataramanan Kumar [Thu, 13 Sep 2012 09:46:28 +0000 (09:46 +0000)]
Enable PTA_PRFCHW for AMD bdver1, bdver2, btver1 and btver2 cores

From-SVN: r191245

12 years agoarm.md (arm_rev): Factorize thumb1, thumb2 and arm variants for rev instruction..
Christophe Lyon [Thu, 13 Sep 2012 08:55:30 +0000 (08:55 +0000)]
arm.md (arm_rev): Factorize thumb1, thumb2 and arm variants for rev instruction..

2012-09-13  Christophe Lyon  <christophe.lyon@linaro.org>
    Richard Earnshaw  <rearnsha@arm.com>

gcc/
* config/arm/arm.md (arm_rev): Factorize thumb1, thumb2 and arm
variants for rev instruction..
(thumb1_rev): Delete pattern.
(arm_revsh): New pattern to support builtin_bswap16.
(arm_rev16, bswaphi2): Likewise.

gcc/testsuite/
* gcc.target/arm/builtin-bswap-1.c: New testcase.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r191243

12 years agoFor Kyryll
Kyrylo Tkachov [Thu, 13 Sep 2012 08:20:22 +0000 (08:20 +0000)]
For Kyryll

2012-09-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* c-c++-common/pr51712.c: Handle for short-enum targets.

From-SVN: r191241

12 years agocombine-movs.c: Check movs for ARM mode and lsrs for Thumb2 mode.
Terry Guo [Thu, 13 Sep 2012 05:36:19 +0000 (05:36 +0000)]
combine-movs.c: Check movs for ARM mode and lsrs for Thumb2 mode.

2012-09-12  Terry Guo  <terry.guo@arm.com>

        * gcc.target/arm/combine-movs.c: Check movs for ARM mode
        and lsrs for Thumb2 mode.

From-SVN: r191239

12 years agoThis fixes PR gcov-profile/54487 where the gcda files were not locked by the profile...
Teresa Johnson [Thu, 13 Sep 2012 04:59:14 +0000 (04:59 +0000)]
This fixes PR gcov-profile/54487 where the gcda files were not locked by the profile-use read...

This fixes PR gcov-profile/54487 where the gcda files were not locked
by the profile-use read, enabling writes by other instrumented compiles
to change the profile in the middle of the profile use read. The GCOV_LOCKED
macro was not set because it was guarded by HOST_HAS_F_SETLKW, which was
never set. The fix is to add a compile test in the configure to set it.

2012-09-12  Teresa Johnson  <tejohnson@google.com>

PR gcov-profile/54487
* configure.ac (HOST_HAS_F_SETLKW): Set based on compile
test using F_SETLKW with fcntl.
* configure, config.in: Regenerate.

From-SVN: r191238

12 years agoDaily bump.
GCC Administrator [Thu, 13 Sep 2012 00:17:42 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r191237

12 years agore PR fortran/48636 (Enable more inlining with -O2 and higher)
Jan Hubicka [Wed, 12 Sep 2012 21:51:14 +0000 (23:51 +0200)]
re PR fortran/48636 (Enable more inlining with -O2 and higher)

PR fortran/48636
* gcc.dg/ipa/inlinehint-2.c: New testcase.
* ipa-inline-analysis.c (dump_inline_hints): Dump loop stride.
(set_hint_predicate): New function.
(reset_inline_summary): Reset loop stride.
(remap_predicate_after_duplication): New function.
(remap_hint_predicate_after_duplication): New function.
(inline_node_duplication_hook): Update.
(dump_inline_summary): Dump stride summaries.
(estimate_function_body_sizes): Compute strides.
(remap_hint_predicate): New function.
(inline_merge_summary): Use it.
(inline_read_section): Read stride.
(inline_write_summary): Write stride.
* ipa-inline.c (want_inline_small_function_p): Handle strides.
(edge_badness): Likewise.
* ipa-inline.h (inline_hints_vals): Add stride hint.
(inline_summary): Update stride.

From-SVN: r191232

12 years agoi386.c (x86_prefetch_sse): Change to unsigned char.
Uros Bizjak [Wed, 12 Sep 2012 19:25:13 +0000 (21:25 +0200)]
i386.c (x86_prefetch_sse): Change to unsigned char.

* config/i386/i386.c (x86_prefetch_sse): Change to unsigned char.
* config/i386/i386.h (x86_prefetch_sse): Ditto.

From-SVN: r191231

12 years agoAllow negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF
H.J. Lu [Wed, 12 Sep 2012 18:08:59 +0000 (18:08 +0000)]
Allow negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF

gcc/

PR target/54445
* config/i386/predicates.md (x86_64_immediate_operand): Allow
negative offset for UNSPEC_DTPOFF/UNSPEC_NTPOFF.

gcc/testsuite/

PR target/54445
* gcc.target/i386/pr54445-1.c: New file.
* gcc.target/i386/pr54445-2.c: Likewise.

From-SVN: r191230

12 years agocommon.opt (flto-partition): Add "max".
Jan Hubicka [Wed, 12 Sep 2012 17:55:13 +0000 (19:55 +0200)]
common.opt (flto-partition): Add "max".

* common.opt (flto-partition): Add "max".
* invoke.texi (flto-partition): Document "max"

* lto.c (do_whole_program_analysis): Care timevars, statistics and
AUX pointer cleaning. Add max partitioning.
* lto-partition.c (enum symbol_class): New.
(get_symbol_class): New function.
(symbol_partitioned_p): New function.
(add_references_to_partition): Remove.
(add_aliases_to_partition): Remove.
(add_cgraph_node_to_partition_1): Remove.
(add_cgraph_node_to_partition): Remove.
(add_symbol_to_partition): New function.
(add_symbol_to_partition_1): New function.
(contained_in_symbol): New function.
(partition_cgraph_node_p): Remove.
(partition_varpool_node_p): Remove.
(partition_symbol_p): Remove.
(lto_1_to_1_map): Cleanup.
(lto_max_map): New.
(lto_balanced_map): Update.
(lto_promote_cross_file_statics): Update.
* lto-partition.h (lto_max_map): Declare.
* timevar.def (TV_WHOPR_PARTITIONING): New timevar.

From-SVN: r191229

12 years agore PR lto/54312 (uniquify_nodes takes 12% of Mozilla LTO build)
Jan Hubicka [Wed, 12 Sep 2012 16:26:19 +0000 (18:26 +0200)]
re PR lto/54312 (uniquify_nodes takes 12% of Mozilla LTO build)

PR lto/54312
* lto.c (uniquify_nodes): Remove quadratic loop checking if the
type is variant leader.

From-SVN: r191228

12 years agoi386.md: Comments on fma4 instruction selection reflect requirement on register press...
Uros Bizjak [Wed, 12 Sep 2012 15:23:01 +0000 (17:23 +0200)]
i386.md: Comments on fma4 instruction selection reflect requirement on register pressure...

2012-09-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>

* config/i386/i386.md : Comments on fma4 instruction
selection reflect requirement on register pressure based
cost model.

* config/i386/driver-i386.c (host_detect_local_cpu): fma4
flag is set-reset as informed by the cpuid flag.

* config/i386/i386.c (processor_alias_table): fma4
flag is enabled for bdver2.

From-SVN: r191226

12 years agore PR tree-optimization/54489 (tree FRE uses an excessive amount of memory)
Richard Guenther [Wed, 12 Sep 2012 14:46:22 +0000 (14:46 +0000)]
re PR tree-optimization/54489 (tree FRE uses an excessive amount of memory)

2012-09-12  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54489
* tree-ssa-pre.c: Include domwalk.h.
(in_fre): Remove.
(sccvn_valnum_from_value_id): New function.
(debug_bitmap_sets_for): Simplify.
(get_representative_for): Properly initialize the SCCVN valnum.
(create_expression_by_pieces): Likewise.
(insert_into_preds_of_block): Likewise.
(can_PRE_operation): Remove.
(make_values_for_phi): Simplify.
(compute_avail): Likewise.
(do_SCCVN_insertion): Remove.
(eliminate_avail, eliminate_push_avail, eliminate_insert):
New functions.
(eliminate): Split and perform a domwalk.
(eliminate_bb): Former eliminate part that is now dom-enter.
(eliminate_leave_block): New function.
(fini_eliminate): Likewise.
(init_pre): Simplify.
(fini_pre): Likewise.
(execute_pre): Fold into do_pre and do_fre.
(do_pre): Consume execute_pre.
(do_fre): Likewise.
* Makefile.in (tree-ssa-pre.o): Add domwalk.h dependency.

From-SVN: r191225

12 years agovec.h: Remove compatibility notes for previous distinction between vectors of objects...
Diego Novillo [Wed, 12 Sep 2012 13:51:52 +0000 (09:51 -0400)]
vec.h: Remove compatibility notes for previous distinction between vectors of objects...

2012-09-12  Diego Novillo  <dnovillo@google.com>

* vec.h: Remove compatibility notes for previous distinction
between vectors of objects and vectors of pointers.

From-SVN: r191223

12 years agofix date
Christian Bruel [Wed, 12 Sep 2012 13:08:29 +0000 (15:08 +0200)]
fix date

From-SVN: r191220

12 years agonewlib.h (NO_IMPLICIT_EXTERN_C): Define.
Christian Bruel [Wed, 12 Sep 2012 13:05:25 +0000 (15:05 +0200)]
newlib.h (NO_IMPLICIT_EXTERN_C): Define.

* config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.

From-SVN: r191219

12 years agoClear hardware capabilities on libstdc++.so with Sun as
Rainer Orth [Wed, 12 Sep 2012 12:38:15 +0000 (12:38 +0000)]
Clear hardware capabilities on libstdc++.so with Sun as

* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Define.
* configure.ac: Call GLIBCXX_CHECK_ASSEMBLER_HWCAP.
* fragment.am (CONFIG_CXXFLAGS): Add $(HWCAP_FLAGS).
* configure: Regenerate.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* src/c++11/Makefile.in: Regenerate.
* src/c++98/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

From-SVN: r191218

12 years agoFix Solaris 9/x86 bootstrap
Rainer Orth [Wed, 12 Sep 2012 12:34:21 +0000 (12:34 +0000)]
Fix Solaris 9/x86 bootstrap

* rtl.h (FFS, FLOAT, ABS, PC): Don't undef.
* system.h (FFS, FLOAT, ABS, PC): Undef.

From-SVN: r191217

12 years agore PR middle-end/54553 (atribute optimize on function affects optimization for other...
Richard Guenther [Wed, 12 Sep 2012 10:33:47 +0000 (10:33 +0000)]
re PR middle-end/54553 (atribute optimize on function affects optimization for other functions)

2012-09-12  Richard Guenther  <rguenther@suse.de>

PR middle-end/54553
* common.opt (finline): Mark with Optimization.

From-SVN: r191215

12 years agore PR fortran/54225 (fortran compiler segfault processing ' print *, A(1,*) ')
Tobias Burnus [Wed, 12 Sep 2012 10:05:19 +0000 (12:05 +0200)]
re PR fortran/54225 (fortran compiler segfault processing ' print *, A(1,*) ')

2012-09-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54225
        PR fortran/53306
        * array.c (match_subscript, gfc_match_array_ref): Fix
        diagnostic of coarray's '*'.

2012-09-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54225
        PR fortran/53306
        * gfortran.dg/coarray_10.f90: Update dg-error.
        * gfortran.dg/coarray_28.f90: New.
        * gfortran.dg/array_section_3.f90: New.

From-SVN: r191213

12 years ago* config.gcc: Obsolete picochip-*.
Jakub Jelinek [Wed, 12 Sep 2012 09:01:02 +0000 (11:01 +0200)]
* config.gcc: Obsolete picochip-*.

From-SVN: r191210

12 years agommix.h (MMIX_REG_OK_STRICT): Delete.
Nathan Froyd [Wed, 12 Sep 2012 01:52:36 +0000 (01:52 +0000)]
mmix.h (MMIX_REG_OK_STRICT): Delete.

* config/mmix/mmix.h (MMIX_REG_OK_STRICT): Delete.
(REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P): Delete.
(CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete.
* config/mmix/mmix-protos.h (mmix_intval): Declare.
(mmix_const_ok_for_letter_p, mmix_extra_constraint): Delete.
(mmix_const_double_ok_for_letter_p): Delete.
* config/mmix/constraints.md: New file.
* config/mmix/mmix.md: Include it.
(iordi3): Fix typo; use "I" instead of undefined "H" constraint.
("*call_real"): Update comment about not using the "p" constraint.
* config/mmix/predicates.md (mmix_reg_or_8bit_operand): Use
satisfies_constraint_I.
(mmix_address_operand): New predicate.
(mmix_symbolic_or_address_operand): Use it instead of address_operand.
* config/mmix/mmix.c: #include tm-constrs.h.
(mmix_intval): Delete declaration.  Make non-static.
(mmix_const_ok_for_letter_p, mmix_extra_constraint): Delete.
(mmix_const_double_ok_for_letter_p): Delete.
(mmix_legitimate_address_p): Use satisfies_constraint_I.
(mmix_print_operand_address): Likewise.
(mmix_emit_sp_add): Adjust to use insn_const_int_ok_for_constraint
when matching "L" constraint.

Co-Authored-By: Hans-Peter Nilsson <hp@bitrange.com>
From-SVN: r191208

12 years agoDaily bump.
GCC Administrator [Wed, 12 Sep 2012 00:18:16 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r191206

12 years agotree.h (expand_case): Move prototype ...
Steven Bosscher [Tue, 11 Sep 2012 22:39:34 +0000 (22:39 +0000)]
tree.h (expand_case): Move prototype ...

* tree.h (expand_case): Move prototype ...
* expr.h (expand_case): ...here.
(expand_sjlj_dispatch_table): New prototype.
* stmt.c: Include pointer-set.h instead of bitmap.h.
(expand_case): Use a pointer set instead of a bitmap for
already-seen labels.  Fold label values here.
(add_case_node): Don't fold label values here.
(expand_sjlj_dispatch_table): New function.
* except.c (sjlj_emit_dispatch_table): Use it.

From-SVN: r191203

12 years agoAdd missing entry for r191165
Diego Novillo [Tue, 11 Sep 2012 20:12:12 +0000 (20:12 +0000)]
Add missing entry for r191165

From-SVN: r191201

12 years agoneon-vset_lanes8.c, [...]: Fix for big-endian support.
Christophe Lyon [Tue, 11 Sep 2012 19:52:18 +0000 (19:52 +0000)]
neon-vset_lanes8.c, [...]: Fix for big-endian support.

2012-09-11  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/testsuite/
* gcc.target/arm/neon-vset_lanes8.c, gcc.target/arm/pr51835.c,
gcc.target/arm/pr48252.c: Fix for big-endian support.

From-SVN: r191200

12 years agotree-ssa-forwprop.c (simplify_vector_constructor): New function.
Marc Glisse [Tue, 11 Sep 2012 16:51:15 +0000 (18:51 +0200)]
tree-ssa-forwprop.c (simplify_vector_constructor): New function.

2012-09-11  Marc Glisse  <marc.glisse@inria.fr>

gcc/
        * tree-ssa-forwprop.c (simplify_vector_constructor): New function.
        (ssa_forward_propagate_and_combine): Call it.

gcc/testsuite/
        * gcc.dg/tree-ssa/forwprop-22.c: New testcase.

From-SVN: r191198

12 years agovar-tracking.c (vt_add_function_parameter): Adjust for VEC changes.
Diego Novillo [Tue, 11 Sep 2012 16:17:50 +0000 (12:17 -0400)]
var-tracking.c (vt_add_function_parameter): Adjust for VEC changes.

2012-09-11  Diego Novillo  <dnovillo@google.com>

* var-tracking.c (vt_add_function_parameter): Adjust for VEC
changes.

From-SVN: r191197

12 years agodarwin.c (darwin_asm_named_section): Adjust for VEC changes.
Dominique d'Humieres [Tue, 11 Sep 2012 15:33:51 +0000 (11:33 -0400)]
darwin.c (darwin_asm_named_section): Adjust for VEC changes.

2012-09-11  Dominique Dhumieres  <dominiq@lps.ens.fr>

* config/darwin.c (darwin_asm_named_section): Adjust for
VEC changes.
(darwin_asm_dwarf_section): Likewise.

From-SVN: r191192

12 years agore PR libstdc++/54172 (__cxa_guard_acquire thread-safety issue)
Jakub Jelinek [Tue, 11 Sep 2012 15:22:54 +0000 (17:22 +0200)]
re PR libstdc++/54172 (__cxa_guard_acquire thread-safety issue)

PR libstdc++/54172
* libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last
argument of the first __atomic_compare_exchange_n.

From-SVN: r191190

12 years agodwarf2out.c (dwarf2out_abstract_function): Do not change cfun.
Martin Jambor [Tue, 11 Sep 2012 14:35:08 +0000 (16:35 +0200)]
dwarf2out.c (dwarf2out_abstract_function): Do not change cfun.

2012-09-11  Martin Jambor  <mjambor@suse.cz>

* dwarf2out.c (dwarf2out_abstract_function): Do not change cfun.
(premark_used_types): New parameter fun, use it instead of cfun.
(gen_subprogram_die): Use DECL_STRUCT_FUNCTION (decl) instead of cfun,
also pass it to premark_used_types.

From-SVN: r191186

12 years agolto.c (enum gtc_mode): Remove.
Richard Guenther [Tue, 11 Sep 2012 13:39:11 +0000 (13:39 +0000)]
lto.c (enum gtc_mode): Remove.

2012-09-11  Richard Guenther  <rguenther@suse.de>

* lto.c (enum gtc_mode): Remove.
(struct type_pair_d): Adjust.
(lookup_type_pair): Likewise.
(gimple_type_leader): Do not mark as deletable.
(gimple_lookup_type_leader): Adjust.
(gtc_visit): Likewise.
(gimple_types_compatible_p_1): Likewise.
(gimple_types_compatible_p): Likewise.
(gimple_type_hash): Likewise.
(gimple_register_type): Likewise.
(read_cgraph_and_symbols): Manage lifetime of tables
here.

From-SVN: r191184

12 years agoFix typo in documentation from last commit.
Ramana Radhakrishnan [Tue, 11 Sep 2012 13:34:35 +0000 (13:34 +0000)]
Fix typo in documentation from last commit.

Co-Authored-By: Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
From-SVN: r191182

12 years agosourcebuild.texi (arm_neon_v2_ok): Fix @anchor.
Tobias Burnus [Tue, 11 Sep 2012 13:15:24 +0000 (15:15 +0200)]
sourcebuild.texi (arm_neon_v2_ok): Fix @anchor.

2012-09-11  Tobias Burnus  <burnus@net-b.de>

        * doc/sourcebuild.texi (arm_neon_v2_ok): Fix @anchor.

From-SVN: r191181

12 years agoAdd support for vectorized fma.
Ramana Radhakrishnan [Tue, 11 Sep 2012 12:53:00 +0000 (12:53 +0000)]
Add support for vectorized fma.

2012-09-11  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

* config/arm/neon.md (fma<VCVTF:mode>4): New pattern.
(*fmsub<VCVTF:mode>4): Likewise.
* doc/sourcebuild.texi (arm_neon_v2_ok, arm_neon_v2_hw):  Document it.

2012-09-11  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
    Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

* gcc.target/arm/neon-vfma-1.c: New testcase.
* gcc.target/arm/neon-vfms-1.c: Likewise.
* gcc.target/arm/neon-vmla-1.c: Update test to use int instead
of float.
* gcc.target/arm/neon-vmls-1.c: Likewise.
* lib/target-supports.exp (add_options_for_arm_neonv2): New
function.
(check_effective_target_arm_neonv2_ok_nocache): Likewise.
(check_effective_target_arm_neonv2_ok): Likewise.
(check_effective_target_arm_neonv2_hw): Likewise.
(check_effective_target_arm_neonv2): Likewise.

Co-Authored-By: Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
From-SVN: r191180

12 years agore PR middle-end/54149 (write introduction incorrect wrt the C11 memory model)
Aldy Hernandez [Tue, 11 Sep 2012 12:28:02 +0000 (12:28 +0000)]
re PR middle-end/54149 (write introduction incorrect wrt the C11 memory model)

        PR middle-end/54149
        * tree-ssa-loop-im.c (execute_sm_if_changed_flag_set): Only set
        flag for writes.

From-SVN: r191179

12 years agore PR middle-end/55492 (__atomic_load doesn't match ACQUIRE memory model)
Bill Schmidt [Tue, 11 Sep 2012 12:23:25 +0000 (12:23 +0000)]
re PR middle-end/55492 (__atomic_load doesn't match ACQUIRE memory model)

2012-09-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/55492
* doc/invoke.texi (max-slsr-cand-scan): New description.
* gimple-ssa-strength-reduction.c (find_basis_for_candidate): Limit
the time spent searching for a basis.
* params.def (PARAM_MAX_SLSR_CANDIDATE_SCAN): New param.

From-SVN: r191178

12 years agogimple.h (gimple_register_type): Remove.
Richard Guenther [Tue, 11 Sep 2012 11:39:27 +0000 (11:39 +0000)]
gimple.h (gimple_register_type): Remove.

2012-09-11  Richard Guenther  <rguenther@suse.de>

* gimple.h (gimple_register_type): Remove.
(print_gimple_types_stats): Adjust prototype.
* lto-streamer.h (print_lto_report): Likewise.
* lto-streamer.c (print_lto_report): Adjust.
* gimple.c (gimple_types, type_hash_cache, enum gtc_mode,
struct type_pair_d, lookup_type_pair, struct sccs,
next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
visit, iterative_hash_name, struct type_hash_pair,
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
gimple_type_eq, gimple_register_type_1, gimple_register_type):
Move to lto/lto.c.
(print_gimple_types_stats): Adjust.
(free_gimple_type_tables): Likewise.

lto/
* lto.c (gimple_types, type_hash_cache, enum gtc_mode,
struct type_pair_d, lookup_type_pair, struct sccs,
next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
visit, iterative_hash_name, struct type_hash_pair,
type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
gimple_type_eq, gimple_register_type_1, gimple_register_type):
Move here from gimple.c
(read_cgraph_and_symbols): Free hash tables here.
(print_lto_report_1): New function wrapping print_lto_report.
(do_whole_program_analysis): Call it.
(lto_main): Likewise.

From-SVN: r191177

12 years agographite-scop-detection.c (move_sd_regions): Adjust for VEC changes.
Richard Guenther [Tue, 11 Sep 2012 09:35:18 +0000 (09:35 +0000)]
graphite-scop-detection.c (move_sd_regions): Adjust for VEC changes.

2012-09-11  Richard Guenther  <rguenther@suse.de>

* graphite-scop-detection.c (move_sd_regions): Adjust for VEC
changes.
(scopdet_basic_block_info): Likewise.
(build_scops_1): Likewise.
(limit_scops): Likewise.

From-SVN: r191175

12 years agore PR middle-end/54515 (cc1plus sigsegv -O2 anonymous namespace)
Richard Guenther [Tue, 11 Sep 2012 08:32:29 +0000 (08:32 +0000)]
re PR middle-end/54515 (cc1plus sigsegv -O2 anonymous namespace)

2012-09-11  Richard Guenther  <rguenther@suse.de>

PR middle-end/54515
* gimple.c (get_base_address): Do not return NULL_TREE apart
from for WITH_SIZE_EXPR.
* gimple-fold.c (canonicalize_constructor_val): Do not call
get_base_address when not necessary.

* g++.dg/tree-ssa/pr54515.C: New testcase.

From-SVN: r191174

12 years agore PR middle-end/54362 (COND_EXPR not understood by either alias or ITM)
Andrew Pinski [Tue, 11 Sep 2012 04:21:30 +0000 (21:21 -0700)]
re PR middle-end/54362 (COND_EXPR not understood by either alias or ITM)

2012-09-10  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/54362
* trans-mem.c (thread_private_new_memory): Handle COND_EXPR also.

2012-09-10  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/c54362
* gcc.dg/tm/memopt-16.c: New testcase.

From-SVN: r191173

12 years agore PR middle-end/54362 (COND_EXPR not understood by either alias or ITM)
Andrew Pinski [Tue, 11 Sep 2012 04:21:00 +0000 (04:21 +0000)]
re PR middle-end/54362 (COND_EXPR not understood by either alias or ITM)

2012-09-10  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/54362
* trans-mem.c (thread_private_new_memory): Handle COND_EXPR also.

2012-09-10  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/c54362
* gcc.dg/tm/memopt-16.c: New testcase.

From-SVN: r191172

12 years agom68k.c (m68k_sched_dfa_post_advance_cycle): Support starting scheduling from a pre...
Maxim Kuvyrkov [Tue, 11 Sep 2012 01:32:45 +0000 (01:32 +0000)]
m68k.c (m68k_sched_dfa_post_advance_cycle): Support starting scheduling from a pre-existing state.

* config/m68k/m68k.c (m68k_sched_dfa_post_advance_cycle): Support
starting scheduling from a pre-existing state.

From-SVN: r191171

12 years agore PR c++/54541 (SFINAE bug: handling incomplete return types)
Paolo Carlini [Tue, 11 Sep 2012 01:05:12 +0000 (01:05 +0000)]
re PR c++/54541 (SFINAE bug: handling incomplete return types)

/cp
2012-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54541
PR c++/54542
* call.c (build_cxx_call): Add tsubst_flags_t parameter, use
require_complete_type_sfinae.
(build_op_delete_call, build_over_call): Adjust.
* typeck.c (build_x_compound_expr_from_vec): Add tsubst_flags_t
parameter.
(cp_build_function_call_vec): Adjust.
* init.c (build_new_1): Likewise.
* rtti.c (throw_bad_cast, throw_bad_typeid, build_dynamic_cast_1):
Likewise.
* optimize.c (build_delete_destructor_body): Likewise.
* cp-tree.h: Adjust declarations.

* call.c (convert_arg_to_ellipsis): Use require_complete_type_sfinae.

/testsuite
2012-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54541
PR c++/54542
* g++.dg/cpp0x/sfinae40.C: New.
* g++.dg/cpp0x/sfinae41.C: Likewise.

From-SVN: r191170

12 years agoDaily bump.
GCC Administrator [Tue, 11 Sep 2012 00:18:25 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r191169

12 years ago* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.
Diego Novillo [Tue, 11 Sep 2012 00:04:25 +0000 (20:04 -0400)]
* testsuite-management/x86_64-unknown-linux-gnu.xfail: Update.

From-SVN: r191166

12 years agoRemove unnecessary VEC function overloads.
Diego Novillo [Tue, 11 Sep 2012 00:04:13 +0000 (20:04 -0400)]
Remove unnecessary VEC function overloads.

Several VEC member functions that accept an element 'T' used to have
two overloads: one taking 'T', the second taking 'T *'.

This used to be needed because of the interface dichotomy between
vectors of objects and vectors of pointers.  In the past, vectors of
pointers would use pass-by-value semantics, but vectors of objects
would use pass-by-reference semantics.  This is no longer necessary,
but the distinction had remained.

The main side-effect of this change is some code reduction in code
that manipulates vectors of objects.  For instance,

-  struct iterator_use *iuse;
-
-  iuse = VEC_safe_push (iterator_use, heap, iterator_uses, NULL);
-  iuse->iterator = iterator;
-  iuse->ptr = ptr;
+  struct iterator_use iuse = {iterator, ptr};
+  VEC_safe_push (iterator_use, heap, iterator_uses, iuse);

Compile time performance was not affected.

Tested on x86_64 and ppc64.

Also built all-gcc on all targets using VEC routines: arm, bfin, c6x,
epiphany, ia64, mips, sh, spu, and vms.

2012-09-10  Diego Novillo  <dnovillo@google.com>

* vec.h (vec_t::quick_push): Remove overload that accepts 'T *'.
Update all users.
(vec_t::safe_push): Likewise.
(vec_t::quick_insert): Likewise.
(vec_t::lower_bound): Likewise.
(vec_t::safe_insert): Likewise.
(vec_t::replace): Change second argument to 'T &'.

From-SVN: r191165

12 years agore PR c++/54538 (Getting assembler messages when compiling)
Jason Merrill [Mon, 10 Sep 2012 23:51:34 +0000 (19:51 -0400)]
re PR c++/54538 (Getting assembler messages when compiling)

PR c++/54538
PR c++/53783
* pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Go back to using RECUR
for LAMBDA_EXPR_EXTRA_SCOPE except for function scope.

From-SVN: r191164

12 years ago* config/rs6000/rs6000.md: Move a splitter next to its insn.
Maciej W. Rozycki [Mon, 10 Sep 2012 21:09:03 +0000 (21:09 +0000)]
* config/rs6000/rs6000.md: Move a splitter next to its insn.

From-SVN: r191162

12 years agore PR target/54089 ([SH] Refactor shift patterns)
Oleg Endo [Mon, 10 Sep 2012 20:35:25 +0000 (20:35 +0000)]
re PR target/54089 ([SH] Refactor shift patterns)

PR target/54089
* config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Set always to 1 if
dynamic shifts are available.
(SHIFT_COUNT_TRUNCATED): Always define to 0.  Correct comment.
* config/sh/sh.c (ashl_lshr_seq, ext_ashl_lshr_seq): Add comments.
* config/sh/predicates.md (shift_count_operand): Allow
arith_reg_operand even if TARGET_DYNSHIFT is false.
* config/sh/sh.md (ashlsi3, lshrsi3): Expand library call patterns
if needed.
(ashlsi3_d_call, lshrsi3_d_call): New insns.

PR target/54089
* config/sh/lib1funcs.S (ashlsi3): Reimplement as ashlsi3_r0.
(lshrsi3): Reimplement as lshrsi3_r0.

PR target/54089
* gcc.target/sh/pr54089-3.c: New.

From-SVN: r191161

12 years agore PR target/46191 (Non-absolute names in libgcc_s.so)
Andreas Schwab [Mon, 10 Sep 2012 20:14:47 +0000 (20:14 +0000)]
re PR target/46191 (Non-absolute names in libgcc_s.so)

PR target/46191
* config/t-slibgcc-libgcc (SHLIB_MAKE_SOLINK): Use -lgcc instead
of libgcc.a.

From-SVN: r191160

12 years agoira.c (setup_pressure_classes): Handle synonymous classes.
Richard Sandiford [Mon, 10 Sep 2012 19:40:43 +0000 (19:40 +0000)]
ira.c (setup_pressure_classes): Handle synonymous classes.

gcc/
* ira.c (setup_pressure_classes): Handle synonymous classes.

From-SVN: r191159

12 years agotree-ssa-forwprop.c (simplify_bitfield_ref): New function.
Marc Glisse [Mon, 10 Sep 2012 18:48:34 +0000 (20:48 +0200)]
tree-ssa-forwprop.c (simplify_bitfield_ref): New function.

2012-09-10  Marc Glisse  <marc.glisse@inria.fr>

gcc/
        * tree-ssa-forwprop.c (simplify_bitfield_ref): New function.
        (ssa_forward_propagate_and_combine): Call it.

gcc/testsuite/
        * gcc.dg/tree-ssa/forwprop-21.c: New testcase.

From-SVN: r191158

12 years agoconfig.gcc: Add mips*-mti-linux* target Handle with_synci like other options.
Steve Ellcey [Mon, 10 Sep 2012 17:28:20 +0000 (17:28 +0000)]
config.gcc: Add mips*-mti-linux* target Handle with_synci like other options.

2012-09-10  Steve Ellcey  <sellcey@mips.com>

* config.gcc: Add mips*-mti-linux* target
Handle with_synci like other options.
* config/mips/gnu-user64.h (LINUX64_DRIVER_SELF_SPECS): New.
(DRIVER_SELF_SPECS): Define in terms of LINUX64_DRIVER_SELF_SPECS.
* config/mips/mips.h (MIPS_ISA_SYNCI_SPEC): New.
* config/mips/mti-linux.h: New file.
* config/mips/t-mti-linux: New file.

From-SVN: r191155

12 years ago* gcc.dg/tm/reg-promotion.c: Modify dump message check.
Aldy Hernandez [Mon, 10 Sep 2012 17:21:26 +0000 (17:21 +0000)]
* gcc.dg/tm/reg-promotion.c: Modify dump message check.

From-SVN: r191154

12 years agopr52558-2.c: Delete.
Aldy Hernandez [Mon, 10 Sep 2012 17:21:17 +0000 (17:21 +0000)]
pr52558-2.c: Delete.

testsuite/
        * gcc.dg/pr52558-2.c: Delete.
        * gcc.dg/simulate-thread/speculative-store-3.c: New.

From-SVN: r191153

12 years agotree-ssa-forwprop.c (simplify_permutation): Handle CONSTRUCTOR.
Marc Glisse [Mon, 10 Sep 2012 16:23:02 +0000 (18:23 +0200)]
tree-ssa-forwprop.c (simplify_permutation): Handle CONSTRUCTOR.

2012-09-10  Marc Glisse  <marc.glisse@inria.fr>

gcc/
        * tree-ssa-forwprop.c (simplify_permutation): Handle CONSTRUCTOR.

gcc/testsuite/
        * gcc.dg/tree-ssa/forwprop-20.c: New testcase.

From-SVN: r191151

12 years agoparams.def (PARAM_IPA_MAX_AGG_ITEMS): New parameter.
Martin Jambor [Mon, 10 Sep 2012 15:58:57 +0000 (17:58 +0200)]
params.def (PARAM_IPA_MAX_AGG_ITEMS): New parameter.

2012-09-10  Martin Jambor  <mjambor@suse.cz>

* params.def (PARAM_IPA_MAX_AGG_ITEMS): New parameter.
* ipa-prop.c: Include params.h.
(IPA_MAX_AFF_JF_ITEMS): Removed.
(determine_known_aggregate_parts): Use param value of
PARAM_IPA_MAX_AGG_ITEMS instead of IPA_MAX_AFF_JF_ITEMS.
* Makefile.in (ipa-prop.o): Add PARAMS_H dependency.

From-SVN: r191150

12 years agore PR middle-end/54520 (ice in merge_latch_edges with -O3)
Richard Guenther [Mon, 10 Sep 2012 14:10:09 +0000 (14:10 +0000)]
re PR middle-end/54520 (ice in merge_latch_edges with -O3)

2012-09-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54520
* tree-ssa-threadupdate.c (def_split_header_continue_p):
Properly consider sub-loops.

* gcc.dg/torture/pr54520.c: New testcase.

From-SVN: r191141

12 years agore PR c++/54506 (Defaulted move constructors and move assignment operators are errone...
Jason Merrill [Mon, 10 Sep 2012 14:08:32 +0000 (10:08 -0400)]
re PR c++/54506 (Defaulted move constructors and move assignment operators are erroneously defined as deleted)

PR c++/54506
* decl.c (move_signature_fn_p): Split out from move_fn_p.
* method.c (process_subob_fn): Use it.
* cp-tree.h: Declare it.

From-SVN: r191140

12 years ago* semantics.c (sort_constexpr_mem_initializers): Tweak.
Jason Merrill [Mon, 10 Sep 2012 14:08:24 +0000 (10:08 -0400)]
* semantics.c (sort_constexpr_mem_initializers): Tweak.

From-SVN: r191139

12 years ago* config/alpha/predicates.md (small_symbolic_operand): Disallow large offsets.
Richard Henderson [Mon, 10 Sep 2012 13:08:18 +0000 (06:08 -0700)]
* config/alpha/predicates.md (small_symbolic_operand): Disallow large offsets.

From-SVN: r191138

12 years agore PR target/54536 ([avr]: incorrect crt with -mmcu=at90usb1287)
Georg-Johann Lay [Mon, 10 Sep 2012 10:43:20 +0000 (10:43 +0000)]
re PR target/54536 ([avr]: incorrect crt with -mmcu=at90usb1287)

PR target/54536
* config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".

From-SVN: r191132

12 years agolto-cgraph.c (compute_ltrans_boundary): Do not care about aliases.
Jan Hubicka [Mon, 10 Sep 2012 08:32:36 +0000 (10:32 +0200)]
lto-cgraph.c (compute_ltrans_boundary): Do not care about aliases.

* lto-cgraph.c (compute_ltrans_boundary): Do not care about aliases.
* lto-partition.c (partition_symbol_p): Forward declare.
(add_references_to_partition): Reimplement using partition_symbol_p.
(add_aliases_to_partition): Break out from add_references_to_partition;
reimplement using partition_symbol_p.
(add_cgraph_node_to_partition_1): Handle callees using partition_symbol_p;
add sanity checks.
(add_varpool_node_to_partition): Use add_aliases_to_partition.
(partition_varpool_node_p): Do not special case aliases.

From-SVN: r191129

12 years agoDaily bump.
GCC Administrator [Mon, 10 Sep 2012 00:17:31 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r191124