Kenneth Zadeck [Tue, 15 May 2012 01:18:22 +0000 (01:18 +0000)]
md.texi (fma): Define to only be applicable for single rounding.
2012-05-15 Kenneth Zadeck <zadeck@naturalbridge.com>
* doc/md.texi (fma): Define to only be applicable for single
rounding.
From-SVN: r187494
GCC Administrator [Tue, 15 May 2012 00:17:50 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r187493
Ian Lance Taylor [Mon, 14 May 2012 22:08:42 +0000 (22:08 +0000)]
libgo: Use -fgo-pkgpath.
From-SVN: r187485
Uros Bizjak [Mon, 14 May 2012 21:28:07 +0000 (23:28 +0200)]
re PR target/46098 (ICE: in extract_insn, at recog.c:2100 with -msse3 -ffloat-store and __builtin_ia32_loadupd())
PR target/46098
* config/i386/i386.c (ix86_expand_special_args_builtin): Always
generate target register for "load" class builtins.
Revert:
2010-10-22 Uros Bizjak <ubizjak@gmail.com>
PR target/46098
* config/i386/sse.md (*avx_movu<ssemodesuffix><avxmodesuffix>):
Rename from avx_movu<ssemodesuffix><avxmodesuffix>.
(avx_movu<ssemodesuffix><avxmodesuffix>): New expander.
(*<sse>_movu<ssemodesuffix>): Rename from <sse>_movu<ssemodesuffix>.
(<sse>_movu<ssemodesuffix>): New expander.
(*avx_movdqu<avxmodesuffix>): Rename from avx_movdqu<avxmodesuffix>.
(avx_movdqu<avxmodesuffix>): New expander.
(*sse2_movdqu): Rename from sse2_movdqu.
(sse2_movdqu): New expander.
testsuite/ChangeLog:
* gcc.target/i386/avx256-unaligned-load-[1234].c: Update scan strings.
* gcc.target/i386/avx256-unaligned-store-[1234].c: Ditto.
From-SVN: r187481
Marc Glisse [Mon, 14 May 2012 20:28:00 +0000 (22:28 +0200)]
MAINTAINERS (Write After Approval): Add myself.
2012-05-14 Marc Glisse <marc.glisse@inria.fr>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r187480
Marc Glisse [Mon, 14 May 2012 20:19:30 +0000 (22:19 +0200)]
re PR target/52607 (v4df __builtin_shuffle with {0,2,1,3} or {1,3,0,2})
2012-05-14 Marc Glisse <marc.glisse@inria.fr>
PR target/52607
* config/i386/i386.c (ix86_expand_vec_perm_const): Move code to ...
(canonicalize_perm): ... new function.
(expand_vec_perm_2vperm2f128_vshuf): New function.
(ix86_expand_vec_perm_const_1): Call it.
From-SVN: r187479
Janne Blomqvist [Mon, 14 May 2012 19:39:23 +0000 (22:39 +0300)]
PR 52428 Range checking when reading integer values.
gcc/fortran ChangeLog:
2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/52428
* gfortran.texi: Update _gfortran_set_options documentation.
* invoke.texi: Remove runtime behavior description of
-fno-range-check.
* trans-decl.c (create_main_function): Don't pass the range-check
setting to the library.
libgfortran ChangeLog:
2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/52428
* io/io.h (max_value): Rename to si_max, remove second argument.
* io/list_read.c (convert_integer): Use unsigned types when
parsing the digits, set max value depending on the sign.
* io/read.c (max_value): Rename to si_max, remove second argument,
simplify.
(read_decimal): Set max value depending on sign, always check
overflow.
(read_radix): Calculate max unsigned value directly.
* libgfortran.h (struct compile_options_t): Remove range_check
field.
* runtime/compile_options.c (set_options): Skip handling
options[7].
(init_compile_options): Don't set removed field.
gcc/testsuite ChangeLog:
2012-05-14 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/52428
* gfortran.dg/int_range_io_1.f90: New test.
From-SVN: r187478
Jakub Jelinek [Mon, 14 May 2012 18:47:05 +0000 (20:47 +0200)]
[multiple changes]
2012-05-14 Andrew Pinski <apinski@cavium.com>
H.J. Lu <hongjiu.lu@intel.com>
Jakub Jelinek <jakub@redhat.com>
PR target/53315
* config/i386/i386.md (xbegin_1): Use + in constraint and
match_dup.
(xbegin): Updated.
2012-05-14 Andi Kleen <ak@linux.intel.com>
Jakub Jelinek <jakub@redhat.com>
PR target/53315
* gcc.target/i386/i386.exp (check_effective_target_rtm): New.
* gcc.target/i386/rtm-check.h: New file.
* gcc.target/i386/pr53315.c: New test.
From-SVN: r187477
Jakub Jelinek [Mon, 14 May 2012 17:07:41 +0000 (19:07 +0200)]
dwarf2out.c (dwarf2out_define, [...]): Treat lineno 1 the same as lineno 0 before first start file directive.
* dwarf2out.c (dwarf2out_define, dwarf2out_undef): Treat
lineno 1 the same as lineno 0 before first start file directive.
(optimize_macinfo_range): Likewise.
From-SVN: r187475
Jakub Jelinek [Mon, 14 May 2012 17:06:19 +0000 (19:06 +0200)]
dwarf2out.c (have_macinfo): Define.
* dwarf2out.c (have_macinfo): Define.
(dwarf2out_finish): Don't emit DW_AT_GNU_macros or DW_AT_macro_info
attribute, don't force empty compilation unit and don't emit any
.debug_macinfo/.debug_macro section if macinfo_table is empty.
From-SVN: r187473
Tobias Burnus [Mon, 14 May 2012 16:45:16 +0000 (18:45 +0200)]
re PR fortran/49110 (Deferred-length character result triggers (false positive) error for pure procedures)
2012-05-14 Tobias Burnus <burnus@net-b.de>
PR fortran/49110
PR fortran/51055
PR fortran/53329
* trans-expr.c (gfc_trans_assignment_1): Fix allocation
handling for assignment of function results to allocatable
deferred-length strings.
* trans-decl.c (gfc_create_string_length): For deferred-length
module variables, include module name in the assembler name.
(gfc_get_symbol_decl): Don't override the assembler name.
2012-05-14 Tobias Burnus <burnus@net-b.de>
PR fortran/49110
PR fortran/51055
PR fortran/53329
* gfortran.dg/deferred_type_param_4.f90: New.
* gfortran.dg/deferred_type_param_6.f90: New.
From-SVN: r187472
Georg-Johann Lay [Mon, 14 May 2012 15:47:52 +0000 (15:47 +0000)]
re PR target/53344 (Dont' emit an assembler warning when assembling 3-byte symbols)
PR target/53344
* config/avr/avr.c (avr_const_address_lo16): Remove.
(avr_assemble_integer): Print ".byte lo8(x)",
".byte hi8(x)", ".byte hh8(x)" instead of emit an assembler
.warning if 3-byte address is assembled.
* doc/extend.texi (AVR Named Address Spaces): Document that
binutils 2.23 is needed to assemble 3-byte addresses.
From-SVN: r187470
Richard Guenther [Mon, 14 May 2012 15:06:40 +0000 (15:06 +0000)]
tree-vect-data-refs.c (vect_setup_realignment): Remove call to mark_symbols_for_renaming.
2012-05-14 Richard Guenther <rguenther@suse.de>
* tree-vect-data-refs.c (vect_setup_realignment): Remove
call to mark_symbols_for_renaming.
(vect_permute_load_chain): Likewise.
* tree-vect-loop.c (vect_is_slp_reduction): Update stmt
instead of calling mark_symbols_for_renaming.
* tree-vect-stmts.c (read_vector_array): Remove call to
mark_symbols_for_renaming.
(write_vector_array): Likewise.
(vectorizable_call): Likewise.
(vectorizable_store): Likewise.
(vectorizable_load): Likewise.
* matrix-reorg.c (transform_allocation_sites): Likewise.
* tree-ssa-pre.c (create_expression_by_pieces): Likewise.
(create_expression_by_pieces): Likewise.
From-SVN: r187469
Richard Guenther [Mon, 14 May 2012 15:05:21 +0000 (15:05 +0000)]
gimplify.c (gimple_regimplify_operands): Only mark the LHS of statements for renaming.
2012-05-14 Richard Guenther <rguenther@suse.de>
* gimplify.c (gimple_regimplify_operands): Only mark the LHS
of statements for renaming.
(force_gimple_operand_1): Likewise, consistently for both
calls to force_gimple_operand and force_gimple_operand_gsi.
From-SVN: r187468
Richard Guenther [Mon, 14 May 2012 15:04:39 +0000 (15:04 +0000)]
tree-dfa.c (make_rename_temp): Be forgiving if not in SSA form.
2012-05-14 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (make_rename_temp): Be forgiving if not in SSA form.
* omp-low.c (expand_omp_taskreg): Properly conditionalize call
to update_ssa.
(expand_omp_for): Likewise.
(expand_omp_for_generic): Adjust conditional add to referenced vars.
Use make_rename_temp for temporaries that should be rewritten into
SSA form.
(expand_omp_for_static_nochunk): Likewise.
(expand_omp_atomic_pipeline): Likewise.
From-SVN: r187467
Richard Guenther [Mon, 14 May 2012 15:01:22 +0000 (15:01 +0000)]
re PR bootstrap/53331 (AIX bootstrap failure in tree-vect-data-ref compiling matmul_i4)
2012-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53331
* tree-vect-data-refs.c (vect_verify_datarefs_alignment): Ignore
strided loads.
* tree-vect-stmts.c (vect_model_load_cost): Handle strided loads.
From-SVN: r187466
Manuel López-Ibáñez [Mon, 14 May 2012 13:30:32 +0000 (13:30 +0000)]
re PR c/53063 (encode group options in the .opt files)
2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 53063
c-family/
* c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
Wreorder): Use LangEnabledBy.
* c-opts.c (c_common_handle_option): Do not enable them
explicitly. Call lang-specific generated functions.
(c_common_post_options): Do not set them here.
gcc/
* doc/options.texi: (LangEnabledBy): Document it.
* optc-gen.awk: Handle LangEnabledBy.
* opth-gen.awk: Generate declaration for lang-specific functions.
* opt-read.awk: Record lang numbers.
* opt-functions.awk (flag_set_p): Ignore the arguments of flags.
(lang_sanitized_name): New.
ada/
* gcc-interface/misc.c: Include opts.h and options.h before tm.h.
(gnat_handle_option): Call lang-specific generated function.
fortran/
* options.c (gfc_handle_option): Call lang-specific generated function.
From-SVN: r187462
Bernd Schmidt [Mon, 14 May 2012 12:08:31 +0000 (12:08 +0000)]
attribs.c (decl_attributes): Avoid emitting a warning if ATTR_FLAG_BUILT_IN.
* attribs.c (decl_attributes): Avoid emitting a warning if
ATTR_FLAG_BUILT_IN.
* doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Use lowercase for rtx
codes. Document meaning of sets inside CALL_INSN_FUNCTION_USAGE.
* c-family/c-common.c (DEF_ATTR_STRING): Define and undefine as
necessary.
* builtin-attrs.def (DEF_ATTR_FOR_STRING): Define. Use it to
define a string "1".
(ATTR_RET1_NOTHROW_NONNULL_LEAF): New attr definition.
* builtins.def (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET,
BUILT_IN_STRCPY): Use it for these functions.
* postreload.c (reload_combine): Deal with SETs inside
CALL_INSN_FUNCTION_USAGE.
* caller-save.c (setup_save_areas, save_call_clobbered_regs):
Look for REG_RETURNED notes and use a cheap restore if possible.
* ira-int.h (struct ira_allocno): New member cheap_calls_crossed_num.
(ALLOCNO_CHEAP_CALLS_CROSSED_NUM): New macro.
* ira-build.c (ira_create_allocno, create_cap_allocno,
propagate_allocno_info, propagate_some_info_from_allocno,
copy_info_to_removed_store_destination, ira_flattening): Handle it.
* ira-lives.c (pseudo_regno_single_word_and_live_p,
find_call_crossed_cheap_reg): New static functions.
(process_bb_node_lives): Look for SETs in CALL_INSN_FUNCTION_USAGE,
and set ALLOCNO_CHEAP_CALLS_CROSSED_NUM if possible. Also make
a REG_RETURNED note in that case.
* ira.c (setup_reg_renumber): Change assert to allow cases where
allocnos only cross calls for which they are cheap to restore.
* ira-costs.c (ira_tune_allocno_costs): Compare
ALLOCNO_CALLS_CROSSED_NUM to ALLOCNO_CHEAP_CALLS_CROSSED_NUM rather
than 0.
* reg-notes.def (REG_RETURNED): New note.
* cse.c (cse_insn): Likewise.
* sched-deps.c (sched_analyze_insn): Likewise.
* expr.c (init_block_move_fn): Set a "fn spec" attribute.
* calls.c (decl_return_flags): New static function.
(expand_call): Generate a SET in CALL_INSN_FUNCTION_USAGE for
functions that return one of their arguments.
* lto/lto-lang.c (handle_fnspec_attribute): New static function.
(lto_attribute_table): Add "fn spec".
(DEF_ATTR_STRING): Define and undefine along with the other macros.
* regcprop.c (struct kill_set_value_data): New.
(kill_set_value): Interpret data as a pointer to such a struct.
Do nothing if the caller wants the register to be ignored.
(copyprop_hardreg_forward_1): Handle SETs in CALL_INSN_FUNCTION_USAGE.
testsuite/
* gcc.target/i386/retarg.c: New test.
From-SVN: r187459
Richard Guenther [Mon, 14 May 2012 11:36:58 +0000 (11:36 +0000)]
re PR tree-optimization/53340 (rnflow.f90 is ~20% slower after revision 187092)
2012-05-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53340
* tree-ssa-pre.c (op_valid_in_sets): Fix error in last commit.
From-SVN: r187457
Richard Guenther [Mon, 14 May 2012 10:44:44 +0000 (10:44 +0000)]
gimplify.c (gimplify_expr): Remove odd code.
2012-05-14 Richard Guenther <rguenther@suse.de>
* gimplify.c (gimplify_expr): Remove odd code.
From-SVN: r187453
Eric Botcazou [Mon, 14 May 2012 08:46:33 +0000 (08:46 +0000)]
stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype into a PLUS_EXPR byte offset.
* stor-layout.c (bit_from_pos): Distribute conversion to bitsizetype
into a PLUS_EXPR byte offset.
* tree-ssa-pre.c (can_value_number_call): Delete.
(compute_avail): Skip all statements with side effects.
<GIMPLE_CALL>: Skip calls to internal functions.
From-SVN: r187450
GCC Administrator [Mon, 14 May 2012 00:19:01 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r187449
Steven Bosscher [Sun, 13 May 2012 19:57:37 +0000 (19:57 +0000)]
pa.md: Use define_c_enum for "unspec" and "unspecv".
* config/pa/pa.md: Use define_c_enum for "unspec" and "unspecv".
From-SVN: r187443
Uros Bizjak [Sun, 13 May 2012 18:01:41 +0000 (20:01 +0200)]
i386.md (*pushtf): Enable for TARGET_SSE.
* config/i386/i386.md (*pushtf): Enable for TARGET_SSE.
(pushtf splitter): Ditto.
(movtf): Ditto.
(*movtf_internal): Ditto. Use V4SFmode for !TARGET_SSE2.
(<code>tf2): Enable for TARGET_SSE.
(*absnegtf2_sse): Ditto.
(copysign<mode>3): Enable TFmode for TARGET_SSE.
(copysign<mode>3_const): Ditto.
(copysign<mode>3_var): Ditto.
* config/i386/sse.md (<code>tf3): Enable for TARGET_SSE.
(*andnottf3): Ditto. Use V4SFmode for !TARGET_SSE2.
(*<code>tf3): Ditto.
* config/i386/i386.c (struct builtin_description bdesc_args)
<IX86_BUILTIN_FABSQ>: Enable for TARGET_SSE.
<IX86_BUILTIN_COPYSIGNQ>: Ditto.
(ix86_expand_builtin) <IX86_BUILTIN_FABSQ, IX86_BUILTIN_COPYSIGNQ>:
Emit a normal call if SSE isn't available.
From-SVN: r187442
Manuel López-Ibáñez [Sun, 13 May 2012 17:38:41 +0000 (17:38 +0000)]
c.opt (Wclobbered,Wempty-body,Wignored-qualifiers, [...]): Use EnabledBy.
2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
c-family/
* c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
Wmissing-field-initializers,Wmissing-parameter-type,
Wold-style-declaration,Woverride-init): Use EnabledBy.
* c-opts.c (c_common_post_options): Do not set here explicitly.
gcc/
* common.opt (Wtype-limits): Use EnabledBy.
From-SVN: r187441
Uros Bizjak [Sun, 13 May 2012 17:17:30 +0000 (19:17 +0200)]
* config/i386/sse.md: The other part of my previous commit.
From-SVN: r187440
Uros Bizjak [Sun, 13 May 2012 15:17:26 +0000 (17:17 +0200)]
sse.md (<sse>_andnot<mode>3): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
2012-05-13 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sse.md (<sse>_andnot<mode>3): Handle
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
(<code><mode>3): Ditto.
(*andnot<mode>3): Ditto.
(*andnottf3): Ditto.
(*<code><mode>3): Ditto.
(<code>tf3): Ditto.
From-SVN: r187438
Manuel López-Ibáñez [Sun, 13 May 2012 11:10:49 +0000 (11:10 +0000)]
optc-gen.awk: Error instead of warning for conflicting help.
2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
gcc/
* optc-gen.awk: Error instead of warning for conflicting help.
ada/
* gcc-interface/lang.opt (I): Comment out help text with no effect.
(nostdinc): Comment out help text with no effect.
From-SVN: r187437
Alessandro Fanfarillo [Sun, 13 May 2012 10:52:32 +0000 (04:52 -0600)]
re PR fortran/52158 (Regression on character function with gfortran 4.7)
2012-05-13 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
Tobias Burnus <burnus@net-b.de>
PR fortran/52158
PR fortran/45170
PR fortran/49430
* resolve.c (resolve_fl_derived0): Deferred character length
procedure components are supported.
* trans-expr.c (gfc_conv_procedure_call): Handle TBP with
deferred-length results.
(gfc_string_to_single_character): Add a new check to prevent
NULL read.
(gfc_conv_procedure_call): Remove unuseful checks on
symbol's attributes. Add new checks to prevent NULL read on
string length.
2012-05-13 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
PR fortran/45170
* gfortran.dg/deferred_type_param_3.f90: New.
* gfortran.dg/deferred_type_proc_pointer_1.f90: New.
* gfortran.dg/deferred_type_proc_pointer_2.f90: New.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r187436
Jason Merrill [Sun, 13 May 2012 03:37:38 +0000 (23:37 -0400)]
re PR debug/53235 (
20120504 broke -fdebug-types-section)
PR debug/53235
* dwarf2out.c (build_local_stub): Prefer DW_AT_signature for
comdat types.
From-SVN: r187435
GCC Administrator [Sun, 13 May 2012 00:18:32 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r187434
Eric Botcazou [Sat, 12 May 2012 21:35:37 +0000 (21:35 +0000)]
function.c (requires_stack_frame_p): If the function can throw non-call exceptions...
* function.c (requires_stack_frame_p): If the function can throw
non-call exceptions, return true if the insn can throw internally.
From-SVN: r187429
Eric Botcazou [Sat, 12 May 2012 21:20:22 +0000 (21:20 +0000)]
* gcc-interface/Makefile.in (TOOLS_LIBS): Add ../../ggc-none.o.
From-SVN: r187428
Tobias Burnus [Sat, 12 May 2012 09:53:53 +0000 (11:53 +0200)]
re PR fortran/49110 (Deferred-length character result triggers (false positive) error for pure procedures)
2012-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/49110
PR fortran/52843
* resolve.c (resolve_fl_procedure): Don't regard
character(len=:) as character(*) in the diagnostic.
2012-05-12 Tobias Burnus <burnus@net-b.de>
PR fortran/49110
PR fortran/52843
* gfortran.dg/deferred_type_param_5.f90: New.
From-SVN: r187427
Paolo Carlini [Sat, 12 May 2012 09:09:25 +0000 (09:09 +0000)]
generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.
2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
* doc/generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.
/cp
2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
* cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P.
(TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P.
(TYPE_PTR_OR_PTRMEM_P): Add.
* typeck.c (composite_pointer_type_r, composite_pointer_type,
common_pointer_type, cp_build_indirect_ref, cp_build_binary_op,
cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1,
build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real,
casts_away_constness_r, casts_away_constness): Adjust.
* init.c (build_zero_init_1): Adjust.
* class.c (check_field_decls): Likewise.
* decl.c (check_default_argument): Likewise.
* rtti.c (target_incomplete_p): Likewise.
* tree.c (zero_init_p): Likewise.
* cxx-pretty-print.c (pp_cxx_ptr_operator,
pp_cxx_abstract_declarator): Likewise.
* typeck2.c (build_m_component_ref): Likewise.
* pt.c (convert_nontype_argument, invalid_nontype_parm_type_p,
dependent_type_p_r): Likewise.
* call.c (null_member_pointer_value_p, standard_conversion,
add_builtin_candidate, build_conditional_expr_1, compare_ics):
Likewise.
* cp-objcp-common.c (cp_var_mod_type_p): Likewise.
* cvt.c (cp_convert_to_pointer, ocp_convert,
perform_qualification_conversions): Likewise.
* mangle.c (write_type): Likewise.
* name-lookup.c (arg_assoc_type): Likewise.
From-SVN: r187426
Paolo Carlini [Sat, 12 May 2012 09:08:47 +0000 (09:08 +0000)]
generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.
2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
* doc/generic.texi: Rename TYPE_PTRMEM_P to TYPE_PTRDATAMEM_P.
/cp
2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
* cp-tree.h (TYPE_PTRMEM_P): Rename to TYPE_PTRDATAMEM_P.
(TYPE_PTR_TO_MEMBER_P): Rename to TYPE_PTRMEM_P.
(TYPE_PTR_OR_PTRMEM_P): Add.
* typeck.c (composite_pointer_type_r, composite_pointer_type,
common_pointer_type, cp_build_indirect_ref, cp_build_binary_op,
cp_truthvalue_conversion, convert_ptrmem, build_static_cast_1,
build_reinterpret_cast_1, build_const_cast_1, comp_ptr_ttypes_real,
casts_away_constness_r, casts_away_constness): Adjust.
* init.c (build_zero_init_1): Adjust.
* class.c (check_field_decls): Likewise.
* decl.c (check_default_argument): Likewise.
* rtti.c (target_incomplete_p): Likewise.
* tree.c (zero_init_p): Likewise.
* cxx-pretty-print.c (pp_cxx_ptr_operator,
pp_cxx_abstract_declarator): Likewise.
* typeck2.c (build_m_component_ref): Likewise.
* pt.c (convert_nontype_argument, invalid_nontype_parm_type_p,
dependent_type_p_r): Likewise.
* call.c (null_member_pointer_value_p, standard_conversion,
add_builtin_candidate, build_conditional_expr_1, compare_ics):
Likewise.
* cp-objcp-common.c (cp_var_mod_type_p): Likewise.
* cvt.c (cp_convert_to_pointer, ocp_convert,
perform_qualification_conversions): Likewise.
* mangle.c (write_type): Likewise.
* name-lookup.c (arg_assoc_type): Likewise.
From-SVN: r187425
Paolo Carlini [Sat, 12 May 2012 08:41:29 +0000 (08:41 +0000)]
parser.c (struct cp_parser_expression_stack_entry): Add location_t field.
/cp
2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
* parser.c (struct cp_parser_expression_stack_entry): Add location_t
field.
(cp_parser_binary_expression): Rework to always update at the same
time tree_type and loc.
* call.c (print_z_candidate): Add location_t parameter.
(print_z_candidates, convert_like_real, joust): Adjust.
/testsuite
2012-05-12 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/parse/error47.C: New.
From-SVN: r187424
GCC Administrator [Sat, 12 May 2012 00:18:32 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r187423
François Dumont [Fri, 11 May 2012 19:21:31 +0000 (19:21 +0000)]
re PR libstdc++/53263 (priority_queue is very slow if -D_GLIBCXX_DEBUG is used)
2012-05-11 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/53263
* include/debug/safe_iterator.h (__gnu_debug::__base): Move...
* include/debug/functions.h: ... Here. Add debug function
overloads to perform checks on normal iterators when possible.
* include/debug/macros.h (__glibcxx_check_heap)
(__glibcxx_check_heap_pred): Use __gnu_debug::__base on iterator range.
From-SVN: r187414
Thomas Koenig [Fri, 11 May 2012 18:50:14 +0000 (18:50 +0000)]
re PR libfortran/52537 (slow trim function)
2012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/52537
* gfortran.dg/string_compare_4.f90: Change option
to -fdump-tree-original. Add test case for kind=4.
From-SVN: r187413
H.J. Lu [Fri, 11 May 2012 17:46:30 +0000 (17:46 +0000)]
Merge upstream x32 support into boehm-gc
Merge upstream changes
* include/private/gcconfig.h: (ALIGNMENT): Set to 4 for x32.
(CPP_WORDSZ): Set to 32 for x32.
From-SVN: r187412
Uros Bizjak [Fri, 11 May 2012 15:11:11 +0000 (17:11 +0200)]
alpha.c (alpha_emit_conditional_branch): Handle ORDERED and UNORDERED conditions.
* config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
ORDERED and UNORDERED conditions.
From-SVN: r187411
Richard Guenther [Fri, 11 May 2012 14:08:30 +0000 (14:08 +0000)]
tree-flow.h (referenced_var_check_and_insert): Remove.
2012-05-11 Richard Guenther <rguenther@suse.de>
* tree-flow.h (referenced_var_check_and_insert): Remove.
(find_new_referenced_vars): Likewise.
* tree-dfa.c (referenced_var_check_and_insert): Make static.
(find_new_referenced_vars_1, find_new_referenced_vars): Remove.
* tree-inline.c (copy_bb): Use find_referenced_vars_in
instead of find_new_referenced_vars.
* gimple-fold.c (gimplify_and_update_call_from_tree): Likewise.
From-SVN: r187408
Richard Guenther [Fri, 11 May 2012 14:07:38 +0000 (14:07 +0000)]
tree-pass.h (pass_rest_of_compilation, [...]): Remove.
2012-05-11 Richard Guenther <rguenther@suse.de>
* tree-pass.h (pass_rest_of_compilation,
pass_all_optimizations, pass_postreload, pass_all_early_optimizations):
Remove.
* passes.c (pass_all_optimizations, pass_postreload,
pass_all_early_optimizations): Make static.
(pass_rest_of_compilation): Likewise. Make it an RTL_PASS.
* tree-phinodes.c (init_phinodes, fini_phinodes): Remove.
* tree-ssa.c (init_tree_ssa): Do not call init_phinodes.
(delete_tree_ssa): Do not call fini_phinodes.
* tree-flow.h (init_phinodes, fini_phinodes): Remove.
From-SVN: r187407
Thomas Koenig [Fri, 11 May 2012 13:56:06 +0000 (13:56 +0000)]
re PR libfortran/52537 (slow trim function)
2012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/52537
* frontend-passes.c (optimize_op): Change
old-style comparison operators to new-style, simplify
switch as a result.
(empty_string): New function.
(get_len_trim_call): New function.
(optimize_comparison): If comparing to an empty string,
use comparison of len_trim to zero.
Use new-style comparison operators only.
(optimize_trim): Use get_len_trim_call.
2012-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/52537
* gfortran.dg/string_compare_4.f90: New test.
From-SVN: r187406
Alexandre Oliva [Fri, 11 May 2012 13:27:03 +0000 (13:27 +0000)]
re PR c++/53209 (tree check ICE: expected tree_vec, have error_mark in comp_template_args_with_info, at cp/pt.c:7038)
PR c++/53209
* pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
From-SVN: r187404
Manuel López-Ibáñez [Fri, 11 May 2012 12:23:50 +0000 (12:23 +0000)]
re PR c/53063 (encode group options in the .opt files)
2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 53063
gcc/
* doc/options.texi (EnabledBy): Document
* opts.c: Include opts.h and options.h before tm.h.
(finish_options): Do not handle some sub-options here...
(common_handle_option): ... instead call common_handle_option_auto here.
* optc-gen.awk: Handle EnabledBy.
* opth-gen.awk: Declare common_handle_option_auto.
* common.opt (Wuninitialized): Use EnabledBy. Delete Init.
(Wmaybe-uninitialized): Likewise.
(Wunused-but-set-variable): Likewise.
(Wunused-function): Likewise.
(Wunused-label): Likewise.
(Wunused-value): Likewise.
(Wunused-variable): Likewise.
* opt-read.awk: Create opt_numbers array.
ada/
* gcc-interface/misc.c (gnat_parse_file): Move before ...
(gnat_handle_option): ... this. Use handle_generated_option.
c-family/
* c-opts.c (c_common_handle_option): Use handle_generated_option
to enable sub-options.
fortran/
* options.c: Include diagnostics.h instead of
diagnostics-core.h.
(set_Wall): Do not see warn_unused here.
(gfc_handle_option): Set it here using handle_generated_option.
From-SVN: r187403
Richard Guenther [Fri, 11 May 2012 12:03:10 +0000 (12:03 +0000)]
re PR tree-optimization/53295 (Vectorizer support for non-constant strided loads depends on gather support overwriting the data-ref with bogus data)
2012-05-11 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53295
* tree-data-ref.h (stride_of_unit_type_p): Handle non-constant
strides.
* tree-data-ref.c (dr_analyze_innermost): Allow non-constant
strides when analyzing data-references in a loop context.
* tree-vect-data-refs.c (vect_mark_for_runtime_alias_test): Reject
non-constant strides for now.
(vect_enhance_data_refs_alignment): Ignore data references
that are strided loads.
(vect_analyze_data_ref_access): Handle non-constant strides.
(vect_check_strided_load): Verify the data-reference is a load.
(vect_analyze_data_refs): Restructure to make strided load
support not dependent on gather support.
* tree-vect-stmts.c (vectorizable_load): Avoid useless work
when doing strided or gather loads.
* tree-vect-loop-manip.c (vect_vfa_segment_size): Use
integer_zerop to compare stride with zero.
From-SVN: r187402
H.J. Lu [Fri, 11 May 2012 11:12:42 +0000 (11:12 +0000)]
Add RTM support to -march=native
* config/i386/driver-i386.c (host_detect_local_cpu): Support
RTM.
From-SVN: r187400
Rainer Orth [Fri, 11 May 2012 10:15:44 +0000 (10:15 +0000)]
Allow for ! comments in g++.dg/debug/dwarf2/nested-3.C
* g++.dg/debug/dwarf2/nested-3.C: Allow for ! comments.
From-SVN: r187399
Jan Hubicka [Fri, 11 May 2012 08:40:15 +0000 (10:40 +0200)]
re PR bootstrap/53300 (AIX bootstrap related to varpool patch)
PR bootstrap/53300
* varpool.c (varpool_assemble_decl): Also output constat pool entries
that output_constant_pool missed.
From-SVN: r187397
Paolo Carlini [Fri, 11 May 2012 08:22:16 +0000 (08:22 +0000)]
re PR c++/53305 (internal crash with variadic templates and decltype)
/cp
2012-05-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53305
* pt.c (tsubst_copy: case PARM_DECL): Return error_mark_node if
tsubst_decl returns NULL_TREE.
* cxx-pretty-print.c (pp_cxx_simple_type_specifier): Handle
BOUND_TEMPLATE_TEMPLATE_PARM.
/testsuite
2012-05-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53305
* g++.dg/cpp0x/variadic132.C: New.
From-SVN: r187396
Tobias Burnus [Fri, 11 May 2012 08:14:56 +0000 (10:14 +0200)]
re PR fortran/53310 (EOSHIFT leaks memory)
2012-05-11 Tobias Burnus <burnus@net-b.de>
PR fortran/53310
* intrinsics/eoshift2.c (eoshift2): Do not leak
memory by allocating it in the loop.
From-SVN: r187395
Ian Lance Taylor [Fri, 11 May 2012 05:25:56 +0000 (05:25 +0000)]
Remove ChangeLog entry for change to gofrontend file.
Remove ChangeLog entry for change to gofrontend file. Changes to
those files do not get ChangeLog entries.
From-SVN: r187394
Mingjie Xing [Fri, 11 May 2012 01:44:24 +0000 (01:44 +0000)]
Fix misspelled macro in t-vxworks.
From-SVN: r187393
Mingjie Xing [Fri, 11 May 2012 01:43:26 +0000 (01:43 +0000)]
Fix misspelled macro in t-vxworks.
From-SVN: r187392
GCC Administrator [Fri, 11 May 2012 00:18:26 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r187391
Uros Bizjak [Thu, 10 May 2012 23:31:03 +0000 (01:31 +0200)]
re PR target/53291 (Code generated for xtest is wrong)
PR target/53291
* config/i386/i386.md (xtest): Use NE condition in ix86_expand_setcc.
From-SVN: r187387
Uros Bizjak [Thu, 10 May 2012 23:27:55 +0000 (01:27 +0200)]
i386.md (*movti_internal_rex64): Avoid MOVAPS size optimization for TARGET_AVX.
* config/i386/i386.md (*movti_internal_rex64): Avoid MOVAPS size
optimization for TARGET_AVX.
(*movti_internal_sse): Ditto.
(*movdi_internal_rex64): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
(*movdi_internal): Ditto.
(*movsi_internal): Ditto.
(*movtf_internal): Avoid MOVAPS size optimization for TARGET_AVX.
(*movdf_internal_rex64): Ditto.
(*movfd_internal): Ditto.
(*movsf_internal): Ditto.
* config/i386/sse.md (mov<mode>): Handle TARGET_SSE_LOAD0_BY_PXOR.
From-SVN: r187386
Eric Botcazou [Thu, 10 May 2012 22:17:37 +0000 (22:17 +0000)]
dwarf2out.c (add_byte_size_attribute): Handle variable reference as size attribute.
* dwarf2out.c (add_byte_size_attribute) <RECORD_TYPE>: Handle variable
reference as size attribute.
From-SVN: r187384
Eric Botcazou [Thu, 10 May 2012 22:15:07 +0000 (22:15 +0000)]
md.texi (Standard Names): Document probe_stack_address.
* doc/md.texi (Standard Names): Document probe_stack_address.
* explow.c (emit_stack_probe): Handle probe_stack_address.
* config/ia64/ia64.md (UNSPECV_PROBE_STACK_ADDRESS): New constant.
(UNSPECV_PROBE_STACK_RANGE): Likewise.
(probe_stack_address): New insn.
(probe_stack_range): Likewise.
* config/ia64/ia64.c: Include common/common-target.h.
(ia64_compute_frame_size): Mark r2 and r3 as used if static stack
checking is enabled.
(ia64_emit_probe_stack_range): New function.
(output_probe_stack_range): Likewise.
(ia64_expand_prologue): Invoke ia64_emit_probe_stack_range if static
builtin stack checking is enabled.
(rtx_needs_barrier) <UNSPEC_VOLATILE>: Handle UNSPECV_PROBE_STACK_RANGE
and UNSPECV_PROBE_STACK_ADDRESS.
(unknown_for_bundling_p): New predicate.
(group_barrier_needed): Use important_for_bundling_p.
(ia64_dfa_new_cycle): Use unknown_for_bundling_p.
(issue_nops_and_insn): Likewise.
(bundling): Likewise.
(final_emit_insn_group_barriers): Likewise.
* config/ia64/ia64-protos.h (output_probe_stack_range): Declare.
* config/ia64/hpux.h (STACK_CHECK_STATIC_BUILTIN): Define.
(STACK_CHECK_PROTECT): Likewise.
* config/ia64/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
Co-Authored-By: Tristan Gingold <gingold@adacore.com>
From-SVN: r187383
Jan Hubicka [Thu, 10 May 2012 21:50:22 +0000 (23:50 +0200)]
ipa-inline.c (update_all_callee_keys): Remove.
* ipa-inline.c (update_all_callee_keys): Remove.
(inline_small_functions): Simplify priority updating.
From-SVN: r187382
Jan Hubicka [Thu, 10 May 2012 21:41:38 +0000 (23:41 +0200)]
* ipa.c (symtab_remove_unreachable_nodes): Fix marking of clones.
From-SVN: r187381
Paolo Carlini [Thu, 10 May 2012 21:14:09 +0000 (21:14 +0000)]
re PR c++/53158 ([C++11] Bogus error in loop condition)
/cp
2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53158
* cvt.c (ocp_convert): Error out early for void -> bool conversions.
* typeck.c (decay_conversion): Use error_at.
* call.c (build_integral_nontype_arg_conv, convert_like_real,
convert_arg_to_ellipsis, perform_implicit_conversion_flags,
initialize_reference): Likewise.
* cvt.c (warn_ref_binding): Add location_t parameter.
(cp_convert_to_pointer, convert_to_reference, ocp_convert,
convert_to_void, ): Use error_at and warning_at.
/c-family
2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53158
* c-common.c (warnings_for_convert_and_check): Use warning_at.
/testsuite
2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53158
* g++.dg/cpp0x/lambda/lambda-err2.C: New.
* g++.dg/parse/error26.C: Tweak dg-error column number.
From-SVN: r187380
Paolo Carlini [Thu, 10 May 2012 21:06:05 +0000 (21:06 +0000)]
re PR c++/53301 (Spurious -Wzero-as-null-pointer-constant with reference arguments)
/cp
2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53301
* decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
/testsuite
2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53301
* g++.dg/warn/Wzero-as-null-pointer-constant-6.C: New.
From-SVN: r187377
DJ Delorie [Thu, 10 May 2012 20:32:47 +0000 (16:32 -0400)]
random.tcc (seed_seq::generate): Cast max() operands to size_t to ensure a template match.
* include/bits/random.tcc (seed_seq::generate): Cast max()
operands to size_t to ensure a template match.
* include/std/bitset (_M_copy_from_ptr): Cast min() operands to
size_t to ensure a template match.
From-SVN: r187376
Jan Hubicka [Thu, 10 May 2012 20:17:36 +0000 (22:17 +0200)]
cgraph.h (cgraph_remove_unreachable_nodes): Rename to ...
* cgraph.h (cgraph_remove_unreachable_nodes): Rename to ...
(symtab_remove_unreachable_nodes): ... this one.
* ipa-cp.c (ipcp_driver): Do not remove unreachable nodes.
* cgraphunit.c (ipa_passes): Update.
* cgraphclones.c (cgraph_materialize_all_clones): Update.
* cgraph.c (cgraph_release_function_body): Only turn initial
into error mark when initial was previously set.
* ipa-inline.c (ipa_inline): Update.
* ipa.c: Include ipa-inline.h
(enqueue_cgraph_node, enqueue_varpool_node): Remove.
(enqueue_node): New function.
(process_references): Update.
(symtab_remove_unreachable_nodes): Cleanup.
* passes.c (execute_todo, execute_one_pass): Update.
From-SVN: r187375
Vladimir Makarov [Thu, 10 May 2012 19:59:29 +0000 (19:59 +0000)]
Fix typo in last Changelog entry.
From-SVN: r187374
Vladimir Makarov [Thu, 10 May 2012 19:58:01 +0000 (19:58 +0000)]
re PR rtl-optimization/53125 (Very slow compilation on SPARC)
2012-05-10 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/53125
* ira.c (ira): Call find_moveable_pseudos or
move_unallocated_pseudos if only ira_conflicts_p is true.
From-SVN: r187373
Uros Bizjak [Thu, 10 May 2012 19:34:19 +0000 (21:34 +0200)]
i386.md (*movoi_internal_avx): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL and TARGET_SSE_TYPELESS_STORES.
* config/i386/i386.md (*movoi_internal_avx): Handle
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL and TARGET_SSE_TYPELESS_STORES.
(*movti_internal_rex64): Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
(*movti_internal_sse): Ditto.
(*movtf_internal): Ditto.
* config/i386/sse.md (ssePSmode): New mode attribute.
(*move<mode>_internal): Use ssePSmode.
(*<sse>_movu<ssemodesuffix><avxsizesuffix>): Ditto.
(*<sse2>_movdqu<avxsizesuffix>): Ditto.
* config/i386/i386.c (standard_sse_constant_opcode): Do not handle
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL here.
From-SVN: r187372
Eric Botcazou [Thu, 10 May 2012 15:05:39 +0000 (15:05 +0000)]
Fix copyright date
From-SVN: r187371
Eric Botcazou [Thu, 10 May 2012 14:57:48 +0000 (14:57 +0000)]
gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the DECL_ORIGINAL_TYPE if it is present.
* gimplify.c (gimplify_decl_expr): For a TYPE_DECL, also gimplify the
DECL_ORIGINAL_TYPE if it is present.
From-SVN: r187369
Nick Clifton [Thu, 10 May 2012 13:40:20 +0000 (13:40 +0000)]
re PR target/53120 (ICE exposing strict_low_part / in/out operand thinko -fno-tree-sra)
PR target/53120
* config/m32c/bitops.md (bset_qi): Change operand 2 from having
a "0" constraint to being a (match_dup 0).
From-SVN: r187368
Richard Guenther [Thu, 10 May 2012 10:28:31 +0000 (10:28 +0000)]
stor-layout.c (byte_from_pos): Amend comment.
2012-05-10 Richard Guenther <rguenther@suse.de>
* stor-layout.c (byte_from_pos): Amend comment.
From-SVN: r187367
Rainer Orth [Thu, 10 May 2012 09:11:05 +0000 (09:11 +0000)]
Always compile atomic builtin tests with $XCFLAGS
PR other/53284
* acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Add -O0 -S to CFLAGS
instead of overriding.
* configure: Regenerate.
From-SVN: r187366
Rainer Orth [Thu, 10 May 2012 08:51:39 +0000 (08:51 +0000)]
Use i386-cpuinfo.c on all i386 targets
libgcc:
* config.host (i[34567]86-*-linux*, x86_64-*-linux*)
(i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu)
(i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*): Move
i386/t-cpuinfo ...
(i[34567]86-*-*, x86_64-*-*): ... here.
* config/i386/libgcc-bsd.ver (GCC_4.8.0): New version.
* config/i386/libgcc-sol2.ver (GCC_4.8.0): New version.
* config/i386/i386-cpuinfo.c: Rename to ...
* config/i386/cpuinfo.c: ... this.
* config/i386/t-cpuinfo (LIB2ADD): Reflect this.
* configure.ac (AC_CONFIG_HEADER): Call for auto-target.h.
(libgcc_cv_init_priority): New test.
* configure: Regenerate.
* config.in: New file.
* Makefile.in (clean): Rename config.h to auto-target.h.
(config.h): Likewise.
(stamp-h): Likewise.
* config/i386/cpuinfo.c (auto-target.h): Include.
(CONSTRUCTOR_PRIORITY): Define.
(__cpu_indicator_init): Use it.
gcc
* doc/extend.texi (X86 Built-in Functions, __builtin_cpu_init):
Document requirement to call in constructors.
* config/i386/i386.c: Update comments for i386-cpuinfo.c name
change.
From-SVN: r187365
Tristan Gingold [Thu, 10 May 2012 08:04:18 +0000 (08:04 +0000)]
expr.c (interpret_float_suffix): Add a guard.
2012-05-10 Tristan Gingold <gingold@adacore.com>
* expr.c (interpret_float_suffix): Add a guard.
From-SVN: r187364
Richard Guenther [Thu, 10 May 2012 07:58:27 +0000 (07:58 +0000)]
cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.
2012-05-10 Richard Guenther <rguenther@suse.de>
ada/
* gcc-interface/cuintp.c (UI_From_gnu): Remove TYPE_IS_SIZETYPE use.
c-family/
* c-common.c (c_sizeof_or_alignof_type): Remove assert and
adjust commentary about TYPE_IS_SIZETYPE types.
* tree.h (TYPE_IS_SIZETYPE): Remove.
* fold-const.c (int_const_binop_1): Remove TYPE_IS_SIZETYPE use.
(extract_muldiv_1): Likewise.
* gimple.c (gtc_visit): Likewise.
(gimple_types_compatible_p): Likewise.
(iterative_hash_canonical_type): Likewise.
(gimple_canonical_types_compatible_p): Likewise.
* gimplify.c (gimplify_one_sizepos): Likewise.
* print-tree.c (print_node): Likewise.
* stor-layout.c (initialize_sizetypes): Do not set TYPE_IS_SIZETYPE.
From-SVN: r187363
GCC Administrator [Thu, 10 May 2012 00:18:52 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r187362
Ian Lance Taylor [Wed, 9 May 2012 21:17:23 +0000 (21:17 +0000)]
compiler: Add -fgo-pkgpath option.
* lang.opt: Add -fgo-pkgpath.
* go-lang.c (go_pkgpath): New static variable.
(go_prefix): New static variable.
(go_langhook_init): Pass go_pkgpath and go_prefix to
go_create_gogo.
(go_langhook_handle_option): Handle -fgo-pkgpath. Change
-fgo-prefix handling to just set go_prefix.
* go-c.h (go_set_prefix): Don't declare.
(go_create_gogo): Add pkgpath and prefix to declaration.
* go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
to pkgpath. Don't include the package name in the asm name.
* gccgo.texi (Invoking gccgo): Document -fgo-pkgpath. Update the
docs for -fgo-prefix.
From-SVN: r187356
Manuel López-Ibáñez [Wed, 9 May 2012 21:14:15 +0000 (21:14 +0000)]
re PR c++/53289 (unnecessary repetition of caret diagnostics)
2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/53289
gcc/
* diagnostic.h (diagnostic_context): Add last_location.
* diagnostic.c (diagnostic_initialize): Initialize it.
(diagnostic_show_locus): Use it.
From-SVN: r187355
Uros Bizjak [Wed, 9 May 2012 20:41:08 +0000 (22:41 +0200)]
re PR target/52908 (xop-mul-1:f9 miscompiled on bulldozer (-mxop))
PR target/52908
* config/i386/sse.md (vec_widen_smult_hi_v4si): Expand using
xop_pmacsdqh insn pattern instead of xop_mulv2div2di3_high.
(vec_widen_smult_lo_v4si): Expand using xop_pmacsdql insn pattern
instead of xop_mulv2div2di3_low.
(xop_p<macs>dql): Fix vec_select selector.
(xop_p<macs>dqh): Ditto.
(xop_mulv2div2di3_low): Remove insn_and_split pattern.
(xop_mulv2div2di3_high): Ditto.
testsuite/ChangeLog:
PR target/52908
* gcc.target/i386/xop-imul32widen-vector.c: Update scan-assembler
directive to Scan for vpmuldq, not vpmacsdql.
From-SVN: r187354
Manuel López-Ibáñez [Wed, 9 May 2012 19:51:17 +0000 (19:51 +0000)]
extend.texi (Function Attributes): Point xref to section about Pragmas.
2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
* doc/extend.texi (Function Attributes): Point xref to section
about Pragmas.
From-SVN: r187353
Uros Bizjak [Wed, 9 May 2012 18:48:31 +0000 (20:48 +0200)]
i386.c (*movdf_internal_rex64): Remove TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
* config/i386/i386.c (*movdf_internal_rex64): Remove
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
Calculate "mode" attribute according to
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag.
(*movdf_internal): Ditto.
From-SVN: r187348
Uros Bizjak [Wed, 9 May 2012 18:06:47 +0000 (20:06 +0200)]
re PR target/44141 (Redundant loads and stores generated for AMD bdver1 target)
PR target/44141
* config/i386/i386.c (ix86_expand_vector_move_misalign): Do not handle
128 bit vectors specially for TARGET_AVX. Emit sse2_movupd and
sse_movupd RTXes for TARGET_AVX, TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
or when optimizing for size.
* config/i386/sse.md (*mov<mode>_internal): Remove
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling from asm output code.
Calculate "mode" attribute according to optimize_function_for_size_p
and TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flag.
(*<sse>_movu<ssemodesuffix><avxsizesuffix>): Choose asm template
depending on the mode of the instruction. Calculate "mode" attribute
according to optimize_function_for_size_p, TARGET_SSE_TYPELESS_STORES
and TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL flags.
(*<sse2>_movdqu<avxsizesuffix>): Ditto.
From-SVN: r187347
Georg-Johann Lay [Wed, 9 May 2012 16:28:53 +0000 (16:28 +0000)]
re PR target/53256 ([avr] Attribute 'interrupt' shall override attribute 'signal')
PR target/53256
* config/avr/elf.h (ASM_DECLARE_FUNCTION_NAME): Remove.
* config/avr/avr-protos.h (avr_asm_declare_function_name): Remove.
* config/avr/avr.h (struct machine_function): Add attributes_checked_p.
* config/avr/avr.c (avr_asm_declare_function_name): Remove.
(expand_prologue): Move initialization of cfun->machine->is_naked,
is_interrupt, is_signal, is_OS_task, is_OS_main from here to...
(avr_set_current_function): ...this new static function.
(TARGET_SET_CURRENT_FUNCTION): New define.
(avr_function_ok_for_sibcall): Use cfun->machine->is_* instead of
checking attributes of current_function_decl.
(avr_regs_to_save): Ditto.
(signal_function_p): Rename to avr_signal_function_p.
(interrupt_function_p): Rename to avr_interrupt_function_p.
* doc/extend.texi (Function Attributes): Better explanation of
'interrupt' and 'signal' for AVR. Move 'ifunc' down to establish
alphabetical order.
From-SVN: r187342
Nick Clifton [Wed, 9 May 2012 16:20:17 +0000 (16:20 +0000)]
re PR bootstrap/50461 (mpfr.h found in mpfr-3.1.0/src instead of mpfr-3.0.1/. as previously)
PR bootstrap/50461
* configure.ac (mpfr-dir): When using in-tree MPFR sources
allow for the fact that from release v3.1.0 of MPFR the source
files were moved into a src sub-directory.
* configure: Regenerate.
Co-Authored-By: Paul Smith <psmith@gnu.org>
From-SVN: r187341
Michael Matz [Wed, 9 May 2012 16:08:26 +0000 (16:08 +0000)]
re PR tree-optimization/53185 (segmentation fault in vectorizable_load)
PR tree-optimization/53185
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Disable
peeling when we see strided loads.
testsuite/
* gcc.dg/vect/pr53185.c: New test.
From-SVN: r187340
Matthias Klose [Wed, 9 May 2012 16:00:58 +0000 (16:00 +0000)]
gcc-ar.c (main): Don't check for execute bits for the plugin.
2012-05-09 Matthias Klose <doko@ubuntu.com>
* gcc-ar.c (main): Don't check for execute bits for the plugin.
From-SVN: r187338
David Edelsohn [Wed, 9 May 2012 15:35:00 +0000 (15:35 +0000)]
* gcc_update: Use $GCC_SVN to retrieve branch and revision.
From-SVN: r187337
H.J. Lu [Wed, 9 May 2012 13:36:19 +0000 (13:36 +0000)]
Use a URL for FSF address and replace spaces with tab
* longlong.h: Use a URL instead of an FSF postal address.
Replace spaces with tab.
From-SVN: r187333
H.J. Lu [Wed, 9 May 2012 13:32:13 +0000 (13:32 +0000)]
Add a test for PR middle-end/53249
PR middle-end/53249
* gcc.target/i386/pr53249.c: New.
From-SVN: r187331
Richard Guenther [Wed, 9 May 2012 12:59:46 +0000 (12:59 +0000)]
re PR tree-optimization/18437 (vectorizer failed for matrix multiplication)
2012-05-09 Richard Guenther <rguenther@suse.de>
PR tree-optimization/18437
* gfortran.dg/vect/rnflow-trs2a2.f90: Move ...
* gfortran.dg/vect/fast-math-rnflow-trs2a2.f90: ... here.
From-SVN: r187330
Ramana Radhakrishnan [Wed, 9 May 2012 12:51:36 +0000 (12:51 +0000)]
tree-ssa-loop-ivopts.c (add_autoinc_candidates, [...]): Replace use of HAVE_{POST/PRE}_{INCREMENT/DECREMENT} with...
2012-05-09 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
* tree-ssa-loop-ivopts.c (add_autoinc_candidates, get_address_cost):
Replace use of HAVE_{POST/PRE}_{INCREMENT/DECREMENT} with
USE_{LOAD/STORE}_{PRE/POST}_{INCREMENT/DECREMENT} appropriately.
* config/arm/arm.h (ARM_AUTOINC_VALID_FOR_MODE_P): New.
(USE_LOAD_POST_INCREMENT): Define.
(USE_LOAD_PRE_INCREMENT): Define.
(USE_LOAD_POST_DECREMENT): Define.
(USE_LOAD_PRE_DECREMENT): Define.
(USE_STORE_PRE_DECREMENT): Define.
(USE_STORE_PRE_INCREMENT): Define.
(USE_STORE_POST_DECREMENT): Define.
(USE_STORE_POST_INCREMENT): Define.
(arm_auto_incmodes): Add enumeration.
* config/arm/arm-protos.h (arm_autoinc_modes_ok_p): Declare.
* config/arm/arm.c (arm_autoinc_modes_ok_p): Define.
From-SVN: r187329
Jakub Jelinek [Wed, 9 May 2012 12:19:34 +0000 (14:19 +0200)]
re PR tree-optimization/53226 (Endless loop in forwprop)
PR tree-optimization/53226
* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Remove
prev and prev_initialized vars, gimple_set_plf (stmt, GF_PLF_1, false)
before processing it and gimple_set_plf (stmt, GF_PLF_1, true) if it
doesn't need to be revisited, look for earliest stmt with
!gimple_plf (stmt, GF_PLF_1) if something changed.
* gcc.c-torture/compile/pr53226.c: New test.
From-SVN: r187328
Terry Guo [Wed, 9 May 2012 11:52:11 +0000 (11:52 +0000)]
genmultilib: Update copyright dates.
* genmultilib: Update copyright dates.
* doc/fragments.texi: Ditto.
From-SVN: r187327
Terry Guo [Wed, 9 May 2012 11:38:47 +0000 (11:38 +0000)]
Makefile.in (s-mlib): Add new argument MULTILIB_REQUIRED.
* Makefile.in (s-mlib): Add new argument MULTILIB_REQUIRED.
* genmultilib (MULTILIB_REQUIRED): New.
* doc/fragments.texi: Document the MULTILIB_REQUIRED.
From-SVN: r187325
Richard Guenther [Wed, 9 May 2012 11:01:16 +0000 (11:01 +0000)]
tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
2012-05-09 Richard Guenther <rguenther@suse.de>
* tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
(vect_do_peeling_for_loop_bound): Likewise.
(vect_do_peeling_for_alignment): Likewise.
* tree-vect-loop-manip.c (conservative_cost_threshold): Remove.
(vect_do_peeling_for_loop_bound): Get check_profitability and
threshold as parameters.
(vect_do_peeling_for_alignment): Likewise.
(vect_loop_versioning): Likewise.
* tree-vect-loop.c (vect_transform_loop): Compute check_profitability
and threshold here. Control where to put the check here.
From-SVN: r187323
Rainer Orth [Wed, 9 May 2012 10:49:17 +0000 (10:49 +0000)]
Fix gcc.target/i386/hle-* testcases with Sun as
* gcc.target/i386/hle-add-acq-1.c: Allow for ; after lock.
* gcc.target/i386/hle-add-rel-1.c: Likewise.
* gcc.target/i386/hle-and-acq-1.c: Likewise.
* gcc.target/i386/hle-and-rel-1.c: Likewise.
* gcc.target/i386/hle-cmpxchg-acq-1.c: Likewise.
* gcc.target/i386/hle-cmpxchg-rel-1.c: Likewise.
* gcc.target/i386/hle-or-acq-1.c: Likewise.
* gcc.target/i386/hle-or-rel-1.c: Likewise.
* gcc.target/i386/hle-sub-acq-1.c: Likewise.
* gcc.target/i386/hle-sub-rel-1.c: Likewise.
* gcc.target/i386/hle-xadd-acq-1.c: Likewise.
* gcc.target/i386/hle-xadd-rel-1.c: Likewise.
* gcc.target/i386/hle-xor-acq-1.c: Likewise.
* gcc.target/i386/hle-xor-rel-1.c: Likewise.
From-SVN: r187321
Richard Sandiford [Wed, 9 May 2012 09:22:57 +0000 (09:22 +0000)]
re PR bootstrap/53249 (Bootstrap failure)
gcc/
PR middle-end/53249
* dwarf2out.h (get_address_mode): Move declaration to...
* rtl.h: ...here.
* dwarf2out.c (get_address_mode): Move definition to...
* rtlanal.c: ...here.
* var-tracking.c (get_address_mode): Delete.
* combine.c (find_split_point): Use get_address_mode instead of
targetm.addr_space.address_mode.
* cselib.c (cselib_record_sets): Likewise.
* dse.c (canon_address, record_store): Likewise.
* emit-rtl.c (adjust_address_1, offset_address): Likewise.
* expr.c (move_by_pieces, emit_block_move_via_loop, store_by_pieces)
(store_by_pieces_1, expand_assignment, store_expr, store_constructor)
(expand_expr_real_1): Likewise.
* ifcvt.c (noce_try_cmove_arith): Likewise.
* optabs.c (maybe_legitimize_operand_same_code): Likewise.
* reload.c (find_reloads): Likewise.
* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
* sel-sched-dump.c (debug_mem_addr_value): Likewise.
From-SVN: r187320