1. 27 Jun, 2012 17 commits
    • Add MULT_HIGHPART_EXPR · 98449720
              * tree.def (MULT_HIGHPART_EXPR): New.
              * cfgexpand.c (expand_debug_expr): Ignore it.
              * expr.c (expand_expr_real_2): Handle it.
              * fold-const.c (int_const_binop_1): Likewise.
              * optabs.c (optab_for_tree_code): Likewise.
              * tree-cfg.c (verify_gimple_assign_binary): Likewise.
              * tree-inline.c (estimate_operator_cost): Likewise.
              * tree-pretty-print.c (dump_generic_node): Likewise.
              (op_code_prio, op_symbol_code): Likewise.
              * tree.c (commutative_tree_code): Likewise.  Also handle
              WIDEN_MULT_EXPR, VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR.
      
      From-SVN: r189027
      Richard Henderson committed
    • i386: Fix logic error in r188785 · ff4d1662
      PR target/53749
              * config/i386/i386.c (ix86_rtx_costs): Fix typo vs UNITS_PER_WORD
              in 2012-06-23 change.  Adjust two other DImode tests as well.
      
      From-SVN: r189026
      Richard Henderson committed
    • parser.c (cp_parser_check_for_invalid_template_id): tag_type parm. · ae52af05
      	* parser.c (cp_parser_check_for_invalid_template_id): tag_type parm.
      	(cp_parser_simple_type_specifier, cp_parser_class_head): Adjust.
      	(cp_parser_elaborated_type_specifier): Adjust.
      	* decl.c (duplicate_decls): Return error_mark_node on template
      	mismatch.
      
      From-SVN: r189025
      Jason Merrill committed
    • re PR c++/53563 (ICE in start_decl, at cp/decl.c:4427) · b298aa9b
      	PR c++/53563
      	* parser.c (cp_parser_template_id): Add tag_type parm.
      	(cp_parser_template_name): Likewise.
      	(cp_parser_id_expression, cp_parser_unqualified_id): Adjust.
      	(cp_parser_pseudo_destructor_name, cp_parser_type_name): Adjust.
      	(cp_parser_simple_type_specifier, cp_parser_class_name): Adjust.
      	(cp_parser_elaborated_type_specifier, cp_parser_class_head): Adjust.
      
      From-SVN: r189024
      Jason Merrill committed
    • comment · a05deb55
      From-SVN: r189023
      Jason Merrill committed
    • re PR fortran/41951 ([OOP] Not diagnosing ambiguous operators (TB vs. INTERFACE)) · 362aa474
      2012-06-27  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/41951
      	PR fortran/49591
      	* interface.c (check_new_interface): Rename, add 'loc' argument,
      	make non-static.
      	(gfc_add_interface): Rename 'check_new_interface'
      	* gfortran.h (gfc_check_new_interface): Add prototype.
      	* resolve.c (resolve_typebound_intrinsic_op): Add typebound operator
      	targets to non-typebound operator list.
      
      
      2012-06-27  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/41951
      	PR fortran/49591
      	* gfortran.dg/typebound_operator_16.f03: New.
      
      From-SVN: r189022
      Janus Weil committed
    • sse4_1-pmuldq.c (TEST): Initialize even src1.i and src2.i fields even in the… · b585a51f
      sse4_1-pmuldq.c (TEST): Initialize even src1.i and src2.i fields even in the second half of the arrays.
      
      	* gcc.target/i386/sse4_1-pmuldq.c (TEST): Initialize
      	even src1.i and src2.i fields even in the second half of the arrays.
      
      From-SVN: r189018
      Jakub Jelinek committed
    • re PR c++/51033 (generic vector subscript and shuffle support was not added to C++) · c523fc89
      
      2012-06-27  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
      
      	PR C++/51033
      	* semantics.c (constexpr_call): Fix typo in comment.
      	(cxx_eval_vec_perm_expr): New.
      	(cxx_eval_constant_expression): Fold VEC_PERM_EXPRs.
      
      2012-06-27  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
      
      	PR c++/51033.
      	* g++.dg/torture/vshuf-16.inc: New test.
      	* g++.dg/torture/vshuf-2.inc: New test.
      	* g++.dg/torture/vshuf-4.inc: New test.
      	* g++.dg/torture/vshuf-8.inc: New test.
      	* g++.dg/torture/vshuf-main.inc: New test.
      	* g++.dg/torture/vshuf-v16hi.C: New test.
      	* g++.dg/torture/vshuf-v16qi.C: New test.
      	* g++.dg/torture/vshuf-v2df.C: New test.
      	* g++.dg/torture/vshuf-v2di.C: New test.
      	* g++.dg/torture/vshuf-v2sf.C: New test.
      	* g++.dg/torture/vshuf-v2si.C: New test.
      	* g++.dg/torture/vshuf-v4df.C: New test.
      	* g++.dg/torture/vshuf-v4di.C: New test.
      	* g++.dg/torture/vshuf-v4sf.C: New test.
      	* g++.dg/torture/vshuf-v4si.C: New test.
      	* g++.dg/torture/vshuf-v8hi.C: New test.
      	* g++.dg/torture/vshuf-v8qi.C: New test.
      	* g++.dg/torture/vshuf-v8si.C: New test.
      
      From-SVN: r189017
      Ramana Radhakrishnan committed
    • re PR preprocessor/37215 (ICE on 'gcc -E -dM -fpreprocessed - < /dev/null') · 6f3a2e23
              PR preprocessor/37215
              * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
      
      From-SVN: r189016
      Kai Tietz committed
    • rx.md (comparesi3_extend): Remove = modifier from input operand. · 4b3650e3
      	* config/rx/rx.md (comparesi3_extend): Remove = modifier from
      	input operand.
      
      From-SVN: r189014
      Nick Clifton committed
    • re PR middle-end/53676 (empty loop is not always removed now) · 195b4c50
      2012-06-27  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/53676
      	* tree-chrec.c (chrec_convert_1): Represent truncation to
      	a type with undefined overflow as truncation to an unsigned
      	type converted to the type with undefined overflow.
      	* tree-scalar-evolution.c (interpret_rhs_expr): For computing
      	the scalar evolution of a truncated widened operation avoid
      	looking at the non-existing evolution of the widened operation
      	result.
      
      	* gcc.dg/tree-ssa/scev-6.c: New testcase.
      
      From-SVN: r189013
      Richard Guenther committed
    • re PR tree-optimization/53774 (Reassociator generates non-canonical addition) · be7493ca
      2012-06-27  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/53774
      	* tree-ssa-reassoc.c (get_rank): All default defs have
      	precomputed rank.
      	(init_reassoc): Precompute rank for all SSA default defs.
      
      From-SVN: r189012
      Richard Guenther committed
    • * config/rx/rx.md (simple_return): Use the simple_return rtx. · d3f7b31e
      From-SVN: r189010
      Nick Clifton committed
    • i386: Correct costs on CONST_DOUBLE and CONST_VECTOR · a247af83
      We were always falling through to the memory default.
      Also use standard_sse_constant_p on CONST_VECTOR.
      
              * config/i386/i386.c (ix86_rtx_costs): Use standard_sse_constant_p
              and don't fall thru from standard_80387_constant_p to the memory
              fallback,
      
      From-SVN: r189007
      Richard Henderson committed
    • i386: Implement widen_smul_*_v4si for plain sse2 · 87b78516
      If we don't implement this pattern, the vectorizer is happy to
      unpack the v4si and use the full mulv2di3.  This results in
      more element shuffling than is required.
      
              * config/i386/i386.c (bdesc_args): Update.  Change
              IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI to OPTION_MASK_ISA_SSE2.
              (IX86_BUILTIN_VEC_WIDEN_SMUL_EVEN_V4SI): New.
              (ix86_builtin_mul_widen_even): Use it.
              (ix86_builtin_mul_widen_odd): Relax SMUL_ODD from sse4 to sse2.
              (ix86_expand_mul_widen_evenodd): Handle signed for sse2.
              * config/i386/sse.md (vec_widen_<s>mult_hi_<V124_AVX2>): Allow
              for all SSE2.
              (vec_widen_<s>mult_lo_<V124_AVX2>): Likewise.
              (vec_widen_<s>mult_odd_<VI4_AVX2>): Likewise.  Relax from V124_AVX2.
              (vec_widen_smult_even_v4si): New.
      
      From-SVN: r189006
      Richard Henderson committed
    • i386: Expand mul<VI8_AVX2> earlier · 298301d9
      Move the expansion code to i386.c next to mulv4si3.  Eliminate
      one shift by adding the highparts before shifting.  Correct costs.
      
              * config/i386/sse.md (mul<VI8_AVX2>3): Change from insn_and_split
              to expander; move guts to ...
              * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): ... here.  Add
              highparts before shifting up.
              * config/i386/i386-protos.h: Update.
      
      From-SVN: r189005
      Richard Henderson committed
    • Daily bump. · e2a3a098
      From-SVN: r189003
      GCC Administrator committed
  2. 26 Jun, 2012 23 commits
    • system.h (USE_COMMON_FOR_ONE_ONLY): Poison. · 4e2edffd
      	* system.h (USE_COMMON_FOR_ONE_ONLY): Poison.
      	* defaults.h (USE_COMMON_FOR_ONE_ONLY): Do not provide default.
      	* config/darwin.h (USE_COMMON_FOR_ONE_ONLY): Do not define.
      
      From-SVN: r188999
      Steven Bosscher committed
    • var-tracking.c (vt_add_function_parameter): Use a preserved VALUE for the MEM… · de2c775d
      var-tracking.c (vt_add_function_parameter): Use a preserved VALUE for the MEM address of an incoming parameter.
      
      * var-tracking.c (vt_add_function_parameter): Use a preserved
      VALUE for the MEM address of an incoming parameter.
      
      From-SVN: r188998
      Alexandre Oliva committed
    • scandump.exp (scan-dump, [...]): Use printable pattern in test name. · 2ef1bce6
      	* lib/scandump.exp (scan-dump, scan-dump-not, scan-dump-dem,
      	scan-dump-dem-not): Use printable pattern in test name.
      
      From-SVN: r188996
      Janis Johnson committed
    • [multiple changes] · 8a0320ad
      2012-06-26  Vincent Pucci  <pucci@adacore.com>
      
      	* exp_ch3.adb (Build_Init_Statements): Don't check the parents
      	in the Rep Item Chain of the task for aspects Interrupt_Priority,
      	Priority, CPU and Dispatching_Domain.
      	* exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority,
      	_CPU and _Domain are present in the corresponding record type
      	only if the task entity has a pragma, attribute definition
      	clause or aspect specification.
      	(Make_Initialize_Protection): Don't check the parents in the Rep Item
      	Chain of the task for aspects Interrupt_Priority, Priority, CPU and
      	Dispatching_Domain.
      	* freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point
      	call replaced by Analyze_Aspects_At_Freeze_Point.
      	* sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point):
      	Renaming of Evaluate_Aspects_At_Freeze_Point.
      
      2012-06-26  Yannick Moy  <moy@adacore.com>
      
      	* sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a
      	postcondition, and issue an error in such a case.
      
      2012-06-26  Yannick Moy  <moy@adacore.com>
      
      	* gnat_rm.texi: Minor editing.
      
      2012-06-26  Tristan Gingold  <gingold@adacore.com>
      
      	* raise-gcc.c: Minor cleanup: remove unused prototype.
      	* seh_init.c: Do not create an image wide unwind info to catch
      	SEH when SEH unwind info are emitted by the compiler.
      
      From-SVN: r188995
      Arnaud Charlet committed
    • pubtypes-2.c: Update expected output. · 59b7e90f
      2012-06-26  Sterling Augustine  <saugustine@google.com>
      	    Dominique Dhumieres  <dominiq@lps.ens.fr>
      
      	* gcc.dg/pubtypes-2.c: Update expected output.
      	* gcc.dg/pubtypes-3.c: Likewise.
      	* gcc.dg/pubtypes-4.c: Likewise.
      
      
      
      Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
      
      From-SVN: r188994
      Sterling Augustine committed
    • Obvious ChangeLog formatting fix. · 1542460a
      From-SVN: r188993
      Sterling Augustine committed
    • dwarf2out.c (output_pubnames): Add check for DW_TAG_enumerator. · d44f5f25
      2012-06-26  Sterling Augustine <saugustine@google.com>
      
              * dwarf2out.c (output_pubnames): Add check for DW_TAG_enumerator.
              (prune_unused_types): Likewise.
      
      From-SVN: r188992
      Sterling Augustine committed
    • system.h (UNALIGNED_SHORT_ASM_OP, [...]): Poison. · 01a07a64
      	* system.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
      	UNALIGNED_LONG_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Poison.
      	* vmsdbgout.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
      	UNALIGNED_LONG_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Rename to
      	VMS_UNALIGNED_SHORT_ASM_OP, VMS_UNALIGNED_INT_ASM_OP,
      	VMS_UNALIGNED_LONG_ASM_OP, and VMS_UNALIGNED_DOUBLE_INT_ASM_OP.
      	* config/microblaze/microblaze.h (UNALIGNED_SHORT_ASM_OP,
      	UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Do not define.
      	* doc/tm.texi.in: Remove UNALIGNED_INT_ASM_OP reference from the
      	documentation.
      	* doc/tm.texi: Regenerate.
      	* doc/cpp.texi: Make example for #error generic.
      	* config/frv/frv.h: Fix example text to match tm.texi.
      
      From-SVN: r188991
      Steven Bosscher committed
    • tree-pass.h (pass_strength_reduction): New decl. · f9453c07
      gcc:
      
      2012-06-26  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* tree-pass.h (pass_strength_reduction): New decl.
      	* tree-ssa-loop-ivopts.c (initialize_costs): Make non-static.
      	(finalize_costs): Likewise.
      	* timevar.def (TV_TREE_SLSR): New timevar.
      	* gimple-ssa-strength-reduction.c: New.
      	* tree-flow.h (initialize_costs): New decl.
      	(finalize_costs): Likewise.
      	* Makefile.in (tree-ssa-strength-reduction.o): New dependencies.
      	* passes.c (init_optimization_passes): Add pass_strength_reduction.
      
      gcc/testsuite:
      
      2012-06-26  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* gcc.dg/tree-ssa/slsr-1.c: New test.
      	* gcc.dg/tree-ssa/slsr-2.c: Likewise.
      	* gcc.dg/tree-ssa/slsr-3.c: Likewise.
      	* gcc.dg/tree-ssa/slsr-4.c: Likewise.
      
      From-SVN: r188989
      Bill Schmidt committed
    • re PR target/35294 (iwmmxt intrinsics, internal compiler error) · 703ae70c
      	* doc/extend.texi (__builtin_arm_tinsrb): Add missing second
      	parameter.
      	(__builtin_arm_tinsrh): Likewise.
      	(__builtin_arm_tinsrw): Likewise.
      	(__builtin_arm_wsadb): Add missing v2si parameter.
      	(__builtin_arm_wsadh): Likewise.
      	(__builtin_arm_getwcx): Delete.
      	(__builtin_arm_setwcx): Delete.
      	(__builtin_arm_getwcgr0): Add.
      	(__builtin_arm_getwcgr1): Add.
      	(__builtin_arm_getwcgr2): Add.
      	(__builtin_arm_getwcgr3): Add.
      	(__builtin_arm_setwcgr0): Add.
      	(__builtin_arm_setwcgr1): Add.
      	(__builtin_arm_setwcgr2): Add.
      	(__builtin_arm_setwcgr3): Add.
      
      	PR target/35294
      	* gcc.target/arm/mmx-2.c: New.
      
      From-SVN: r188988
      Matt Turner committed
    • re PR c++/53752 (ice in write_array_type) · 72e732f8
      2012-06-26  Richard Guenther  <rguenther@suse.de>
      
      	PR c++/53752
      	* mangle.c (write_array_type): Truncate the number-of-elements
      	result.
      
      	* g++.dg/torture/pr53752.C: New testcase.
      
      From-SVN: r188986
      Richard Guenther committed
    • revert: tree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly. · 3c04921b
      2012-06-26  Richard Guenther  <rguenther@suse.de>
      
      	Revert
      	2012-06-21  Richard Guenther  <rguenther@suse.de>
      
      	* tree-inline.c (estimate_num_insns): Estimate call cost for
      	tailcalls properly.
      
      From-SVN: r188985
      Richard Guenther committed
    • re PR middle-end/33190 (tm.texi describes some non-existing hooks) · a8d56c30
              PR other/33190
      	* doc/tm.texi.in: Document LOGICAL_OP_NON_SHORT_CIRCUIT.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r188984
      Steven Bosscher committed
    • re PR middle-end/33190 (tm.texi describes some non-existing hooks) · 0c93ed52
      	PR other/33190
      	* config/mips/mips.h: Do not define ALL_COP_ADDITIONAL_REGISTER_NAMES.
      	* config/frv/frv.h: Do not define REVERSE_CONDEXEC_PREDICATES_P.
      	* doc/tm.texi.in: Remove documentation for unused target macros
      	ALL_COP_ADDITIONAL_REGISTER_NAMES, DBX_OUTPUT_LBRAC, DBX_OUTPUT_NFUN,
      	DBX_OUTPUT_RBRAC, RANGE_TEST_NON_SHORT_CIRCUIT, REAL_VALUE_TRUNCATE,
      	REVERSE_CONDEXEC_PREDICATES_P, TARGET_ALIGN_ANON_BITFIELDS, and
      	TARGET_NARROW_VOLATILE_BITFIELDS.
      	Document that MD_HANDLE_UNWABI is a macro in libgcc.
      	* doc/tm.texi: Regenerate.
      	* system.h: Poison target macros
      	ALL_COP_ADDITIONAL_REGISTER_NAMES, DBX_OUTPUT_LBRAC, DBX_OUTPUT_NFUN,
      	DBX_OUTPUT_RBRAC, RANGE_TEST_NON_SHORT_CIRCUIT, REAL_VALUE_TRUNCATE,
      	REVERSE_CONDEXEC_PREDICATES_P, TARGET_ALIGN_ANON_BITFIELDS, and
      	TARGET_NARROW_VOLATILE_BITFIELDS
      
      From-SVN: r188983
      Steven Bosscher committed
    • re PR lto/53572 (Some public symbols don't get to serialized LTO) · 3d2e04fd
      
      	PR lto/53572
      	* cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
      	used symbols.
      
      From-SVN: r188982
      Jan Hubicka committed
    • tree-inline.c: (expand_call_inline): Ensure that lexical block's source location is consistant... · 035775c8
      2012-06-26  Dehao Chen  <dehao@google.com>
      
      	* tree-inline.c: (expand_call_inline): Ensure that lexical block's
      	source location is consistant with the call stmt.
      
      From-SVN: r188981
      Dehao Chen committed
    • re PR regression/53729 (PR53636 fix caused bb-slp-16.c to FAIL on sparc64 and powerpc64) · 38eec4c6
      	PR tree-optimization/53729
      	PR tree-optimization/53636
      	* tree-vect-slp.c (vect_slp_analyze_bb_1): Delay call to
      	vect_verify_datarefs_alignment until after statements have
      	been marked as relevant/irrelevant.
      	* tree-vect-data-refs.c (vect_verify_datarefs_alignment):
      	Skip irrelevant statements.
      	(vect_enhance_data_refs_alignment): Use STMT_VINFO_RELEVANT_P
      	instead of STMT_VINFO_RELEVANT.
      	(vect_get_data_access_cost): Do not check for supportable
      	alignment before calling vect_get_load_cost/vect_get_store_cost.
      	* tree-vect-stmts.c (vect_get_store_cost): Do not abort when
      	handling unsupported alignment.
      	(vect_get_load_cost): Likewise.
      
      From-SVN: r188979
      Ulrich Weigand committed
    • rl78.h: Do not undefine DONT_USE_BUILTIN_SETJMP. · e4ae19bc
      	* config/rl78/rl78.h: Do not undefine DONT_USE_BUILTIN_SETJMP.
      	Do not define JMP_BUF_SIZE.
      
      From-SVN: r188978
      Steven Bosscher committed
    • re PR tree-optimization/53748 (ice in fold_convert_loc) · 5dcf6b7f
      	PR tree-optimization/53748
      	* tree-ssa-phiopt.c (conditional_replacement): Only optimize
      	if arg0/arg1 have integral or pointer types.
      
      	* gcc.c-torture/compile/pr53748.c: New test.
      
      From-SVN: r188975
      Jakub Jelinek committed
    • re PR c++/53498 (Compiler crashes during C++11 template magic compilation) · eaccea2a
      	PR c++/53498
      	PR c++/53305
      	* pt.c (tsubst_decl) [PARM_DECL]: Don't recurse into DECL_CHAIN
      	if cp_unevaluated_operand is set.
      	(tsubst_copy) [PARM_DECL]: Don't copy before tsubsting.
      
      From-SVN: r188973
      Jason Merrill committed
    • target-supports-dg.exp (testname-for-summary): New. · e3b205be
      	* lib/target-supports-dg.exp (testname-for-summary): New.
      	* lib/profopt.exp (profopt_execute): Define testname_with_flags.
      	* lib/gcc-dg.exp (cleanup-coverage-files, cleanup-repo-notes,
      	cleanup-stack-usage, cleanup-dump, cleanup-saved-temps, scan-module,
      	scan-module-absence, output-exists, output-exists-not: Use
      	testname-for-summary.
      	(dg-test): Clean up testname_with_flags.
      	* lib/scanasm.exp (scan-assembler, scan-assembler-not, scan-hidden,
      	scan-not-hidden, scan-file, scan-file-not, scan-stack-usage,
      	scan-stack-usage-not, scan-assembler-times, scan-assembler-dem,
      	scan-assembler-dem-not, object-size: Use testname-for-summary.
      	* lib/gcov.exp (run-gcov): Likewise.
      	* lib/scandump.exp (scan-dump, scan-dump-times, scan-dump-not,
      	scan-dump-dem, scan-dump-dem-note): Likewise.
      
      From-SVN: r188972
      Janis Johnson committed
    • Daily bump. · 25038c7e
      From-SVN: r188971
      GCC Administrator committed