Richard Henderson [Wed, 27 Jun 2012 21:30:41 +0000 (14:30 -0700)]
i386: Fix logic error in r188785
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
Jason Merrill [Wed, 27 Jun 2012 19:19:18 +0000 (15:19 -0400)]
parser.c (cp_parser_check_for_invalid_template_id): tag_type parm.
* 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 [Wed, 27 Jun 2012 19:19:09 +0000 (15:19 -0400)]
re PR c++/53563 (ICE in start_decl, at cp/decl.c:4427)
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 [Wed, 27 Jun 2012 19:19:01 +0000 (15:19 -0400)]
comment
From-SVN: r189023
Janus Weil [Wed, 27 Jun 2012 17:38:00 +0000 (19:38 +0200)]
re PR fortran/41951 ([OOP] Not diagnosing ambiguous operators (TB vs. INTERFACE))
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
Jakub Jelinek [Wed, 27 Jun 2012 14:45:55 +0000 (16:45 +0200)]
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
Ramana Radhakrishnan [Wed, 27 Jun 2012 14:19:17 +0000 (14:19 +0000)]
re PR c++/51033 (generic vector subscript and shuffle support was not added to C++)
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
Kai Tietz [Wed, 27 Jun 2012 14:03:08 +0000 (16:03 +0200)]
re PR preprocessor/37215 (ICE on 'gcc -E -dM -fpreprocessed - < /dev/null')
PR preprocessor/37215
* c-ppoutput.c (preprocess_file): Check for nonempty buffer.
From-SVN: r189016
Nick Clifton [Wed, 27 Jun 2012 13:03:47 +0000 (13:03 +0000)]
rx.md (comparesi3_extend): Remove = modifier from input operand.
* config/rx/rx.md (comparesi3_extend): Remove = modifier from
input operand.
From-SVN: r189014
Richard Guenther [Wed, 27 Jun 2012 11:32:30 +0000 (11:32 +0000)]
re PR middle-end/53676 (empty loop is not always removed now)
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 [Wed, 27 Jun 2012 11:29:04 +0000 (11:29 +0000)]
re PR tree-optimization/53774 (Reassociator generates non-canonical addition)
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
Nick Clifton [Wed, 27 Jun 2012 07:22:52 +0000 (07:22 +0000)]
* config/rx/rx.md (simple_return): Use the simple_return rtx.
From-SVN: r189010
Richard Henderson [Wed, 27 Jun 2012 03:20:08 +0000 (20:20 -0700)]
i386: Correct costs on CONST_DOUBLE and CONST_VECTOR
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 [Wed, 27 Jun 2012 03:19:59 +0000 (20:19 -0700)]
i386: Implement widen_smul_*_v4si for plain sse2
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 [Wed, 27 Jun 2012 03:19:51 +0000 (20:19 -0700)]
i386: Expand mul<VI8_AVX2> earlier
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
GCC Administrator [Wed, 27 Jun 2012 00:18:00 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r189003
Steven Bosscher [Tue, 26 Jun 2012 21:47:18 +0000 (21:47 +0000)]
system.h (USE_COMMON_FOR_ONE_ONLY): Poison.
* 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
Alexandre Oliva [Tue, 26 Jun 2012 20:33:32 +0000 (20:33 +0000)]
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
Janis Johnson [Tue, 26 Jun 2012 20:17:00 +0000 (20:17 +0000)]
scandump.exp (scan-dump, [...]): Use printable pattern in test name.
* lib/scandump.exp (scan-dump, scan-dump-not, scan-dump-dem,
scan-dump-dem-not): Use printable pattern in test name.
From-SVN: r188996
Arnaud Charlet [Tue, 26 Jun 2012 20:11:28 +0000 (22:11 +0200)]
[multiple changes]
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
Sterling Augustine [Tue, 26 Jun 2012 18:26:08 +0000 (18:26 +0000)]
pubtypes-2.c: Update expected output.
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 [Tue, 26 Jun 2012 18:25:15 +0000 (18:25 +0000)]
Obvious ChangeLog formatting fix.
From-SVN: r188993
Sterling Augustine [Tue, 26 Jun 2012 17:54:02 +0000 (17:54 +0000)]
dwarf2out.c (output_pubnames): Add check for DW_TAG_enumerator.
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
Steven Bosscher [Tue, 26 Jun 2012 17:26:19 +0000 (17:26 +0000)]
system.h (UNALIGNED_SHORT_ASM_OP, [...]): Poison.
* 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
Bill Schmidt [Tue, 26 Jun 2012 16:27:50 +0000 (16:27 +0000)]
tree-pass.h (pass_strength_reduction): New decl.
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
Matt Turner [Tue, 26 Jun 2012 14:59:45 +0000 (14:59 +0000)]
re PR target/35294 (iwmmxt intrinsics, internal compiler error)
* 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
Richard Guenther [Tue, 26 Jun 2012 13:55:34 +0000 (13:55 +0000)]
re PR c++/53752 (ice in write_array_type)
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 [Tue, 26 Jun 2012 13:08:50 +0000 (13:08 +0000)]
revert: tree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly.
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
Steven Bosscher [Tue, 26 Jun 2012 11:27:41 +0000 (11:27 +0000)]
re PR middle-end/33190 (tm.texi describes some non-existing hooks)
PR other/33190
* doc/tm.texi.in: Document LOGICAL_OP_NON_SHORT_CIRCUIT.
* doc/tm.texi: Regenerate.
From-SVN: r188984
Steven Bosscher [Tue, 26 Jun 2012 10:47:01 +0000 (10:47 +0000)]
re PR middle-end/33190 (tm.texi describes some non-existing hooks)
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
Jan Hubicka [Tue, 26 Jun 2012 10:15:18 +0000 (12:15 +0200)]
re PR lto/53572 (Some public symbols don't get to serialized LTO)
PR lto/53572
* cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
used symbols.
From-SVN: r188982
Dehao Chen [Tue, 26 Jun 2012 10:13:11 +0000 (10:13 +0000)]
tree-inline.c: (expand_call_inline): Ensure that lexical block's source location is consistant...
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
Ulrich Weigand [Tue, 26 Jun 2012 09:05:48 +0000 (09:05 +0000)]
re PR regression/53729 (PR53636 fix caused bb-slp-16.c to FAIL on sparc64 and powerpc64)
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
Steven Bosscher [Tue, 26 Jun 2012 08:46:08 +0000 (08:46 +0000)]
rl78.h: Do not undefine DONT_USE_BUILTIN_SETJMP.
* config/rl78/rl78.h: Do not undefine DONT_USE_BUILTIN_SETJMP.
Do not define JMP_BUF_SIZE.
From-SVN: r188978
Jakub Jelinek [Tue, 26 Jun 2012 08:02:20 +0000 (10:02 +0200)]
re PR tree-optimization/53748 (ice in fold_convert_loc)
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
Jason Merrill [Tue, 26 Jun 2012 03:42:34 +0000 (23:42 -0400)]
re PR c++/53498 (Compiler crashes during C++11 template magic compilation)
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
Janis Johnson [Tue, 26 Jun 2012 03:10:43 +0000 (03:10 +0000)]
target-supports-dg.exp (testname-for-summary): New.
* 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
GCC Administrator [Tue, 26 Jun 2012 00:17:54 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r188971
Edward Smith-Rowland [Tue, 26 Jun 2012 00:14:00 +0000 (00:14 +0000)]
Add C++11 isms to tr2/dynamic_bitset and tr2/bool_set.
From-SVN: r188967
Sterling Augustine [Mon, 25 Jun 2012 22:56:04 +0000 (22:56 +0000)]
Obvious ChangeLog fix.
From-SVN: r188966
Benjamin Kosnik [Mon, 25 Jun 2012 22:20:15 +0000 (22:20 +0000)]
user.cfg.in: Change COMPACT_LATEX to NO.
2012-06-25 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in: Change COMPACT_LATEX to NO.
From-SVN: r188965
Janis Johnson [Mon, 25 Jun 2012 22:01:34 +0000 (22:01 +0000)]
profopt.exp: Make prof_option_list local to profopt-execute.
* lib/profopt.exp: Make prof_option_list local to profopt-execute.
* g++.dg/tree-prof/tree-prof.exp (PROFOPT_OPTIONS): Define after
including profopt.opt; save and restore existing value.
* g++.dg/bprob/bprob.exp: Likewise.
* gcc.dg/matrix/matrix.exp: Likewise.
* gcc.dg/tree-prof/tree-prof.exp: Likewise.
* gcc.misc-tests/bprob.exp: Likewise; also replace formerly-ignored
PROFOPT_OPTIONS.
From-SVN: r188964
Sterling Augustine [Mon, 25 Jun 2012 20:59:42 +0000 (20:59 +0000)]
Obvious fix to Changelog entry.
From-SVN: r188961
Richard Henderson [Mon, 25 Jun 2012 20:42:11 +0000 (13:42 -0700)]
i386: Delete sse sdot_prod; add sdot_prodv4si for xop
Now that we support mult_even/odd hooks, the vectorizer can
generate the exact same code for plain sse dot_prod by itself,
as well as other reductions other than plus.
From-SVN: r188960
Richard Henderson [Mon, 25 Jun 2012 20:42:00 +0000 (13:42 -0700)]
i386: Add widen_multiply_even/odd builtins and hooks
From-SVN: r188959
Richard Henderson [Mon, 25 Jun 2012 20:41:51 +0000 (13:41 -0700)]
i386: Use vpmacsdd for mulv4si3
From-SVN: r188958
Richard Henderson [Mon, 25 Jun 2012 20:41:42 +0000 (13:41 -0700)]
i386: Cleanup and unify widening multiply patterns
Prepares for exposing builtin_mul_widen_even/odd hooks
for more efficient reduction. Adds QImode multiplication.
Shares code between mulv4si3 and the widening multiplies.
From-SVN: r188957
Richard Henderson [Mon, 25 Jun 2012 20:41:27 +0000 (13:41 -0700)]
Testcase for pr53749
From-SVN: r188956
Jason Merrill [Mon, 25 Jun 2012 20:39:47 +0000 (16:39 -0400)]
re PR c++/52988 (std::async not executed on function returning nullptr_t)
PR c++/52988
* typeck.c (decay_conversion): Don't discard side-effects from
expressions of nullptr_t.
From-SVN: r188955
Christophe Lyon [Mon, 25 Jun 2012 20:11:35 +0000 (22:11 +0200)]
Commit for Christophe Lyon.
2012-06-25 Christophe Lyon <christophe.lyon@st.com>
* config/arm/neon.md (UNSPEC_VLD1_DUP): Remove.
(neon_vld1_dup): Restrict to VQ operands.
(neon_vld1_dupv2di): New, fixes vld1q_dup_s64.
2012-06-25 Christophe Lyon <christophe.lyon@st.com>
* gcc.target/arm/neon-vld1_dupQ.c: New.
From-SVN: r188951
Florian Weimer [Mon, 25 Jun 2012 17:03:10 +0000 (19:03 +0200)]
C++: Reject variably modified types in operator new
From-SVN: r188948
Matthew Gretton-Dann [Mon, 25 Jun 2012 16:30:53 +0000 (16:30 +0000)]
arm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.
2012-05-25 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
James Greenhalgh <james.greenhalgh@arm.com>
* gcc/config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.
(TARGET_FMA): New macro.
(TARGET_ARM_QBIT, TARGET_ARM_SAT): Likewise.
(TARGET_ARM_ARCH): Likewise.
(TARGET_ARM_ARCH_ISA_THUMB): Likewise.
(TARGET_V6M, TARGET_V7M): Likewise.
(TARGET_ARM_ARCH_PROFILE): Likewise.
(TARGET_ARM_FEATURE_LDREX): Likewise.
(TARGET_ARM_FP, TARGET_NEON_FP): Likewise.
(ARM_MIN_ENUM_SIZE): Likewise.
* gcc/config/arm/arm.c (arm_file_start): Refactor appropriately.
(base_architecture): New enumeration.
(arm_base_arch): New global variable.
(processors): Add field base_arch.
(ARM_ARCH, ARM_CORE): Adjust accordingly.
(arm_option_override): Add initialization of arm_base_arch.
* gcc/doc/cpp.texi (system-specific predefined macros.): Change.
* gcc/testsuite/gcc.target/arm/ftest-support-arm.h New testcase.
* gcc/testsuite/gcc.target/arm/ftest-support-thumb.h Likewise.
* gcc/testsuite/gcc.target/arm/ftest-support.h Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv4t-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv5t-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv5t-thumb.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv5te-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6-thumb.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6k-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6k-thumb.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6z-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7m-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7em-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c Likewise.
* gcc/testsuite/lib/target-supports.exp
(check_effective_target_arm_arch_FUNC): Add support for more
architectures.
(add_options_for_arm_arch_FUNC): Likewise.
(check_effective_target_arm_arch_FUNC_multilib): New functions.
Co-Authored-By: James Greenhalgh <james.greenhalgh@arm.com>
From-SVN: r188946
Ian Lance Taylor [Mon, 25 Jun 2012 16:26:27 +0000 (16:26 +0000)]
gotest: Only look in data segment for ppc64, not ppc*.
From Andreas Schwab.
From-SVN: r188944
Ian Lance Taylor [Mon, 25 Jun 2012 16:20:03 +0000 (16:20 +0000)]
libgo: Update to Go 1.0.2 release.
From-SVN: r188943
Jason Merrill [Mon, 25 Jun 2012 15:17:59 +0000 (11:17 -0400)]
re PR c++/53202 (Copy constructor not called when starting a thread)
PR c++/53202
* semantics.c (build_data_member_initialization): Always keep
initializer for empty base.
(cxx_eval_bare_aggregate): Discard it here.
From-SVN: r188940
Jason Merrill [Mon, 25 Jun 2012 15:17:48 +0000 (11:17 -0400)]
re PR c++/53565 (FAIL: libgomp.c++/for-7.C)
PR c++/53565
* pt.c (tsubst_omp_for_iterator): Simplify DECL_EXPR handling.
(tsubst_expr) [OMP_FOR]: Here, too.
From-SVN: r188939
Jakub Jelinek [Mon, 25 Jun 2012 14:52:59 +0000 (16:52 +0200)]
re PR target/53759 (gcc -mavx emits vshufps for __builtin_ia32_loadlps)
PR target/53759
* config/i386/sse.md (sse_loadlps): Use x m x constraints instead
of x x x in the vmovlps load alternative.
* gcc.target/i386/pr53759.c: New test.
From-SVN: r188937
Richard Sandiford [Mon, 25 Jun 2012 14:20:19 +0000 (14:20 +0000)]
re PR debug/53740 (--enable-checking=yes,rtl bootstrap failure with ada)
PR debug/53740
* df.h, df-problems.c, dce.c: Revert last patch.
From-SVN: r188935
Richard Sandiford [Mon, 25 Jun 2012 13:25:39 +0000 (13:25 +0000)]
re PR debug/53740 (--enable-checking=yes,rtl bootstrap failure with ada)
gcc/
PR debug/53740
* df.h (dead_debug_add): Remove third argument.
* df-problems.c (dead_debug_add): Likewise. Use the REGNO of the
REG that we want to replace instead.
(dead_debug_insert_temp): Use the REGNO of the reg that we want
to replace instead of DF_REF_REGNO. Require there to always be
at least one such use. Check for cases where the same location
has more than df_ref associated with it.
(df_note_bb_compute): Remove third dead_debug_add argument.
* dce.c (word_dce_process_block): Likewise.
From-SVN: r188934
Steven Bosscher [Mon, 25 Jun 2012 13:09:42 +0000 (13:09 +0000)]
v850.c: Remove redundant extern declarations for last_assemble_variable_decl and...
* config/v850/v850.c: Remove redundant extern declarations for
last_assemble_variable_decl and size_directive_output.
* doc/tm.texi.in: Document JMP_BUF_SIZE.
* doc/tm.texi: Regenerate.
* config/sparc/sparc.h (JMP_BUF_SIZE): Do not define.
* config/pa/pa.h (JMP_BUF_SIZE): Likewise.
* config/stormy16/stormy16.h: Likewise.
* config/picochip/picochip.c: Do not define DONT_USE_BUILTIN_SETJMP.
* doc/sourcebuild.texi: Add missing subdirectories.
From-SVN: r188933
Tristan Gingold [Mon, 25 Jun 2012 08:30:30 +0000 (08:30 +0000)]
i386.h: Fix typo.
2012-06-25 Tristan Gingold <gingold@adacore.com>
* config/i386/i386.h: Fix typo.
From-SVN: r188931
Tristan Gingold [Mon, 25 Jun 2012 08:25:43 +0000 (08:25 +0000)]
winnt.c (i386_pe_seh_end_prologue): Move code to ...
2012-06-25 Tristan Gingold <gingold@adacore.com>
* config/i386/winnt.c (i386_pe_seh_end_prologue): Move code to ...
(seh_cfa_adjust_cfa): ... that function.
(seh_emit_stackalloc): Do not emit out of range values.
* config/i386/i386.md: Delete unused UNSPEC_REG_SAVE,
UNSPEC_DEF_CFA constants.
* config/i386/i386.h (SEH_MAX_FRAME_SIZE): Define.
* config/i386/i386.c (ix86_frame_pointer_required): Required
for very large frames on SEH target.
(ix86_compute_frame_layout): Save area is before frame pointer
on SEH target. Handle very large frames.
(ix86_expand_prologue): Likewise.
From-SVN: r188928
Iain Sandoe [Mon, 25 Jun 2012 07:52:21 +0000 (07:52 +0000)]
MAINTAINERS (Write After Approval): Update my email address.
* MAINTAINERS (Write After Approval): Update my email address.
From-SVN: r188927
Jakub Jelinek [Mon, 25 Jun 2012 06:48:04 +0000 (08:48 +0200)]
re PR c++/53594 ([C++11] Spurious -Wuninitialized warning for member with NSDMI)
PR c++/53594
* class.c (check_bases_and_members): Avoid -Wuninitialized
diagnostics for non-static const members or references if they
use NSDMI.
* g++.dg/cpp0x/nsdmi7.C: New test.
From-SVN: r188925
Benjamin Kosnik [Mon, 25 Jun 2012 06:01:13 +0000 (06:01 +0000)]
02_match: To...
2012-06-24 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/28_regex/algorithms/02_match: To...
* testsuite/28_regex/algorithms/match: ...this.
* testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc: Remove
duplicate.
From-SVN: r188923
GCC Administrator [Mon, 25 Jun 2012 00:18:06 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r188922
Steven Bosscher [Sun, 24 Jun 2012 17:58:46 +0000 (17:58 +0000)]
output.h: (current_function_is_leaf...
* output.h: (current_function_is_leaf,
current_function_sp_is_unchanging,
current_function_uses_only_leaf_regs): Remove.
* function.c (current_function_is_leaf,
current_function_sp_is_unchanging,
current_function_uses_only_leaf_regs): Remove.
(rest_of_handle_check_leaf_regs): Set crtl->uses_only_leaf_regs
instead of current_function_uses_only_leaf_regs.
* function.h (struct rtl_data): New fields sp_is_unchanging,
is_leaf, uses_only_leaf_regs.
* resource.c (init_resource_info): Replace current_function_is_leaf,
current_function_sp_is_unchanging, and
current_function_uses_only_leaf_regs with new crtl fields.
* sdbout.c (sdbout_symbol): Likewise.
* df-core.c (rest_of_handle_df_initialize): Likewise.
* ira.c (ira): Likewise.
* final.c (final_start_function): Likewise.
* reorg.c (fill_simple_delay_slots): Likewise.
* regrename.c (check_new_reg_p): Likewise.
* stack-ptr-mod.c (notice_stack_pointer_modification_1): Likewise.
(notice_stack_pointer_modification): Likewise.
* dbxout.c (dbxout_symbol): Likewise.
(dbxout_parms): Likewise.
* sel-sched.c (init_regs_for_mode): Likewise.
* dwarf2out.c (dbx_reg_number): Likewise.
(multiple_reg_loc_descriptor): Likewise.
* config/i386/i386.c (ix86_frame_pointer_required): Likewise.
(gen_pop): Likewise.
(ix86_select_alt_pic_regnum): Likewise.
(ix86_compute_frame_layout): Likewise.
(ix86_finalize_stack_realign_flags): Likewise.
(ix86_expand_epilogue): Likewise.
* config/rs6000/rs6000.c (rs6000_stack_info): Likewise.
* config/h8300/h8300.c (byte_reg): Likewise.
* config/c6x/c6x.c (must_reload_pic_reg_p): Likewise.
(c6x_save_reg): Likewise.
(c6x_compute_frame_layout): Likewise.
* config/pa/pa.c (pa_compute_frame_size): Likewise.
(pa_output_function_prologue): Likewise.
* config/stormy16/stormy16.c (struct xstormy16_stack_layout): Likewise.
* config/sparc/sparc.md (attr "leaf_function"): Likewise.
* config/sparc/sparc.c (sparc_initial_elimination_offset): Likewise.
(sparc_expand_prologue): Likewise.
(sparc_flat_expand_prologue): Likewise.
(sparc_asm_function_prologue): Likewise.
(sparc_output_mi_thunk): Likewise.
(sparc_frame_pointer_required): Likewise.
* config/epiphany/epiphany.c (epiphany_compute_function_type): Likewise.
(epiphany_compute_frame_size): Likewise.
* config/lm32/lm32.c (lm32_compute_frame_size): Likewise.
* config/cris/cris.c (cris_md_asm_clobbers): Likewise.
(cris_frame_pointer_required): Likewise.
* config/tilepro/tilepro.c (emit_sp_adjust): Likewise.
(tilepro_current_function_is_leaf): Likewise.
* config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Likewise.
* config/pdp11/pdp11.c (pdp11_expand_epilogue): Likewise.
* config/ia64/ia64.c (find_gr_spill): Likewise.
(ia64_compute_frame_size): Likewise.
(ia64_can_eliminate): Likewise.
(ia64_initial_elimination_offset): Likewise.
* config/m68k/m68k.c (m68k_save_reg): Likewise.
(m68k_expand_epilogue): Likewise.
* config/rx/rx.c (rx_get_stack_layout): Likewise.
* config/tilegx/tilegx.c (tilegx_current_function_is_leaf): Likewise.
* config/picochip/picochip.c (picochip_can_eliminate_link_sp_save):
Likewise.
(picochip_output_frame_debug): Likewise.
* config/sh/sh.c (sh_media_register_for_return): Likewise.
(sh_allocate_initial_value): Likewise.
(sh_output_mi_thunk): Likewise.
* config/microblaze/microblaze.c (microblaze_must_save_register): Likewise.
(compute_frame_size): Likewise.
(microblaze_initial_elimination_offset): Likewise.
(microblaze_expand_prologue): Likewise.
(microblaze_expand_epilogue): Likewise.
* config/frv/frv.c (frv_expand_epilogue): Likewise.
(frv_frame_pointer_required): Likewise.
* config/spu/spu.c (get_pic_reg): Likewise.
(direct_return): Likewise.
(spu_expand_prologue): Likewise.
(spu_expand_epilogue): Likewise.
(spu_initial_elimination_offset): Likewise.
* config/mips/mips.c (mips_global_pointer): Likewise.
(mips_cfun_might_clobber_call_saved_reg_p): Likewise.
(mips_compute_frame_info): Likewise.
* config/mep/mep.c (mep_interrupt_saved_reg): Likewise.
(mep_reload_pointer): Likewise.
* config/rl78/rl78.c (need_to_save): Likewise.
* config/cr16/cr16.c (cr16_compute_save_regs): Likewise.
* config/score/score.c (score_compute_frame_size): Likewise.
(score_function_prologue): Likewise.
* config/bfin/bfin.c (must_save_p): Likewise.
(expand_prologue_reg_save): Likewise.
(expand_epilogue_reg_restore): Likewise.
(bfin_frame_pointer_required): Likewise.
(n_regs_saved_by_prologue): Likewise.
(add_to_reg): Likewise.
(expand_interrupt_handler_prologue): Likewise.
(expand_interrupt_handler_epilogue): Likewise.
(bfin_expand_prologue): Likewise.
* config/avr/avr.c (avr_regs_to_save): Likewise.
(avr_prologue_setup_frame): Likewise.
(expand_epilogue): Likewise.
* config/s390/s390.c (s390_regs_ever_clobbered): Likewise.
(s390_register_info): Likewise.
(s390_frame_info): Likewise.
(s390_init_frame_layout): Likewise.
(s390_emit_prologue): Likewise.
From-SVN: r188918
Steven Bosscher [Sun, 24 Jun 2012 13:22:29 +0000 (13:22 +0000)]
system.h: Poison ASM_BYTE_OP and ASM_OUTPUT_BYTE.
* system.h: Poison ASM_BYTE_OP and ASM_OUTPUT_BYTE.
* vmsdbgout: Do not undefine it if defined.
Rename local ASM_BYTE_OP definition to VMS_ASM_BYTE_OP.
* config/microblaze/microblaze/h: Do no define ASM_BYTE_OP.
* config/mep/mep.h: Do not define ASM_OUTPUT_BYTE.
From-SVN: r188917
Kai Tietz [Sun, 24 Jun 2012 12:09:22 +0000 (14:09 +0200)]
pr23943.c (size_t): Use compatible type-definition for LLP64 targets.
* gcc.target/i386/pr23943.c (size_t): Use compatible type-definition
for LLP64 targets.
* gcc.target/i386/pr38988.c: Likewise.
From-SVN: r188916
Richard Sandiford [Sun, 24 Jun 2012 10:26:33 +0000 (10:26 +0000)]
mips.c (mips_process_sync_loop): Add missing enum cast.
gcc/
* config/mips/mips.c (mips_process_sync_loop): Add missing
enum cast.
From-SVN: r188915
GCC Administrator [Sun, 24 Jun 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r188913
Richard Henderson [Sat, 23 Jun 2012 16:42:19 +0000 (09:42 -0700)]
re PR target/53749 (ice in expand_shift_1)
PR target/53749
* config/i386/i386.c (ix86_rtx_costs): Add reasonable costs for
V*QImode shifts and multiply.
(ix86_expand_vecop_qihi): Support shifts.
* config/i386/i386.md (any_shift): New code iterator.
* config/i386/sse.md (ashlv16qi3): Merge ...
(<any_shiftrt>v16qi3): ... into ...
(<any_shift><VI1_AVX2>3): ... here. Use ix86_expand_vecop_qihi
to support SSE and AVX.
From-SVN: r188909
Richard Henderson [Sat, 23 Jun 2012 16:42:07 +0000 (09:42 -0700)]
i386: Pass ix86_expand_sse_unpack operands by value
* config/i386/i386.c (ix86_expand_sse_unpack): Split operands[]
parameter into src and dest.
* config/i386/sse.md (vec_unpacku_hi_<V124_AVX2>): Update call.
(vec_unpacks_hi_<V124_AVX2>): Likewise.
(vec_unpacku_lo_<V124_AVX2>): Likewise.
(vec_unpacks_lo_<V124_AVX2>): Likewise.
* config/i386/i386-protos.h: Update.
From-SVN: r188908
Richard Henderson [Sat, 23 Jun 2012 16:41:53 +0000 (09:41 -0700)]
i386: Extract the guts of mulv16qi3 to ix86_expand_vecop_qihi
* config/i386/sse.md (mul<VI1_AVX2>3): Change from insn_and_split to
pure expander; move expansion code ...
* config/i386/i386.c (ix86_expand_vecop_qihi): ... here. New function.
* config/i386/i386-protos.h: Update.
From-SVN: r188907
GCC Administrator [Sat, 23 Jun 2012 00:18:25 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r188906
Janus Weil [Fri, 22 Jun 2012 21:05:51 +0000 (23:05 +0200)]
re PR fortran/47710 ([OOP] Improve ambiguity check for GENERIC TBP w/ PASS and NOPASS)
2012-06-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/47710
PR fortran/53328
* interface.c (count_types_test, generic_correspondence,
gfc_compare_interfaces): Ignore PASS arguments.
(check_interface1, compare_parameter): Pass NULL arguments to
gfc_compare_interfaces.
* gfortran.h (gfc_compare_interfaces): Modified prototype.
* expr.c (gfc_check_pointer_assign): Pass NULL arguments to
gfc_compare_interfaces.
* resolve.c (resolve_structure_cons): Ditto.
(check_generic_tbp_ambiguity): Determine PASS arguments and pass them
to gfc_compare_interfaces.
2012-06-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/47710
PR fortran/53328
* gfortran.dg/typebound_generic_12.f03: New.
* gfortran.dg/typebound_generic_13.f03: New.
From-SVN: r188902
Edmar Wienskoski [Fri, 22 Jun 2012 20:13:23 +0000 (20:13 +0000)]
rs6000.md (define_attr "type"): New type popcnt.
2012-06-22 Edmar Wienskoski <edmar@freescale.com>
* config/rs6000/rs6000.md (define_attr "type"): New type popcnt.
(popcntb<mode>2): Add attribute type popcnt.
(popcntd<mode>2): Ditto.
* config/rs6000/power4.md (define_insn_reservation): Add type popcnt.
* config/rs6000/power5.md (define_insn_reservation): Ditto.
* config/rs6000/power7.md (define_insn_reservation): Ditto.
* config/rs6000/476.md (define_insn_reservation): Ditto.
* config/rs6000/power6.md (define_insn_reservation): New
reservation for popcnt instructions.
From-SVN: r188901
H.J. Lu [Fri, 22 Jun 2012 18:27:58 +0000 (18:27 +0000)]
Update -mpreferred-stack-boundary=3 warning
* doc/invoke.texi: Update -mpreferred-stack-boundary=3 warning.
From-SVN: r188900
H.J. Lu [Fri, 22 Jun 2012 17:10:58 +0000 (17:10 +0000)]
Allow -mpreferred-stack-boundary=3 on x86-64
PR target/53383
* doc/invoke.texi: Add a warning for -mpreferred-stack-boundary=3.
* config/i386/i386.c (ix86_option_override_internal): Allow
-mpreferred-stack-boundary=3 for 64-bit if SSE is disabled.
* config/i386/i386.h (MIN_STACK_BOUNDARY): Set to 64 for 64-bit
if SSE is disabled.
From-SVN: r188893
Bill Schmidt [Fri, 22 Jun 2012 16:37:40 +0000 (16:37 +0000)]
double-int.c (double_int_multiple_of): New function.
2012-06-22 Bill Schmidt <wschmidt@linux.ibm.com>
* double-int.c (double_int_multiple_of): New function.
* double-int.h (double_int_multiple_of): New decl.
* tree-ssa-loop-ivopts.c (add_cost, zero_cost): Remove undefs.
(mbc_entry_hash): New forward decl.
(mbc_entry_eq): Likewise.
(zero_cost): Change to no_cost.
(mult_costs): New static var.
(cost_tables_exist): Likewise.
(initialize_costs): New function.
(finalize_costs): Likewise.
(tree_ssa_iv_optimize_init): Call initialize_costs.
(add_cost): Change to add_regs_cost; distinguish costs by speed.
(multiply_regs_cost): New function.
(add_const_cost): Likewise.
(extend_or_trunc_reg_cost): Likewise.
(negate_reg_cost): Likewise.
(multiply_by_cost): Change to multiply_by_const_cost; distinguish
costs by speed.
(get_address_cost): Change add_cost to add_regs_cost; change
multiply_by_cost to multiply_by_const_cost.
(force_expr_to_var_cost): Change zero_cost to no_cost; change
add_cost to add_regs_cost; change multiply_by_cost to
multiply_by_const_cost.
(split_cost): Change zero_cost to no_cost.
(ptr_difference_cost): Likewise.
(difference_cost): Change zero_cost to no_cost; change multiply_by_cost
to multiply_by_const_cost.
(get_computation_cost_at): Change add_cost to add_regs_cost; change
multiply_by_cost to multiply_by_const_cost.
(determine_use_iv_cost_generic): Change zero_cost to no_cost.
(determine_iv_cost): Change add_cost to add_regs_cost.
(iv_ca_new): Change zero_cost to no_cost.
(tree_ssa_iv_optimize_finalize): Call finalize_costs.
* tree-ssa-address.c (most_expensive_mult_to_index): Change
multiply_by_cost to multiply_by_const_cost.
* tree-flow.h (multiply_by_cost): Change to multiply_by_const_cost.
(add_regs_cost): New decl.
(multiply_regs_cost): Likewise.
(add_const_cost): Likewise.
(extend_or_trunc_reg_cost): Likewise.
(negate_reg_cost): Likewise.
From-SVN: r188891
Richard Guenther [Fri, 22 Jun 2012 12:29:33 +0000 (12:29 +0000)]
[multiple changes]
2012-06-22 Richard Guenther <rguenther@suse.de>
Merge from graphite branch
2011-08-10 Sebastian Pop <sebpop@gmail.com>
* graphite-sese-to-poly.c (build_scop_drs): Fix memory leak.
2012-01-13 Tobias Grosser <tobias@grosser.es>
* tree-flow.h (parallelized_function_p): Declare.
* tree-parloops.c (parallelized_function_p): Export.
* graphite.c (graphite_transform_loops): Do not run graphite on
already parallel functions.
libgomp/
* testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
* testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
From-SVN: r188885
Alan Modra [Fri, 22 Jun 2012 12:14:12 +0000 (21:44 +0930)]
rs6000.c (rs6000_pre_atomic_barrier): Pass in and return mem.
* config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Pass in and
return mem. Convert to indirect addressing if not indirect or
indexed. Adjust all callers.
From-SVN: r188884
Richard Guenther [Fri, 22 Jun 2012 10:12:46 +0000 (10:12 +0000)]
gcov-iov.c: Include bconfig.h and system.h.
2012-06-22 Richard Guenther <rguenther@suse.de>
* gcov-iov.c: Include bconfig.h and system.h.
From-SVN: r188881
Andreas Schwab [Fri, 22 Jun 2012 09:22:47 +0000 (09:22 +0000)]
* doc/include/texinfo.tex: Update to version 2012-06-05.14.
From-SVN: r188880
Richard Guenther [Fri, 22 Jun 2012 08:07:47 +0000 (08:07 +0000)]
re PR gcov-profile/53744 (gcov version oscillates between 407* and 407p on branches)
2012-06-22 Richard Guenther <rguenther@suse.de>
PR gcov-profile/53744
* gcov-iov.c (main): Treat "" and "prerelease" the same.
From-SVN: r188876
Eric Botcazou [Fri, 22 Jun 2012 07:22:42 +0000 (07:22 +0000)]
Fix entry
From-SVN: r188875
Eric Botcazou [Fri, 22 Jun 2012 07:18:50 +0000 (07:18 +0000)]
re PR debug/53704 (ICE: in based_loc_descr, at dwarf2out.c:10027 after revision 188621)
PR debug/53704
* dwarf2out.c (gen_compile_unit_die): Use DW_LANG_Fortran90 as language
for GNU Fortran if in strict DWARF2 mode.
From-SVN: r188874
Eric Botcazou [Fri, 22 Jun 2012 06:41:09 +0000 (06:41 +0000)]
tree-ssa-live.c (remove_unused_scope_block_p): Remove again DECL_IGNORED_P non-reg vars even if they are used.
* tree-ssa-live.c (remove_unused_scope_block_p): Remove again
DECL_IGNORED_P non-reg vars even if they are used.
From-SVN: r188872
Alexandre Oliva [Fri, 22 Jun 2012 01:34:05 +0000 (01:34 +0000)]
re PR debug/53671 (Many guality test failures)
PR debug/53671
PR debug/49888
* var-tracking.c (vt_get_canonicalize_base): New.
(vt_canonicalize_addr, vt_stack_offset_p): New.
(vt_canon_true_dep): New.
(drop_overlapping_mem_locs): Use vt_canon_true_dep.
(clobber_overlaping_mems): Use vt_canonicalize_addr.
From-SVN: r188871
Alexandre Oliva [Fri, 22 Jun 2012 01:33:46 +0000 (01:33 +0000)]
re PR debug/53671 (Many guality test failures)
PR debug/53671
PR debug/49888
* var-tracking.c (vt_initialize): Record initial offset between
arg pointer and stack pointer.
From-SVN: r188870
Alexandre Oliva [Fri, 22 Jun 2012 01:33:21 +0000 (01:33 +0000)]
re PR debug/53671 (Many guality test failures)
PR debug/53671
PR debug/49888
* var-tracking.c (vt_init_cfa_base): Drop redundant recording of
CFA base.
From-SVN: r188869
Alexandre Oliva [Fri, 22 Jun 2012 01:30:16 +0000 (01:30 +0000)]
re PR debug/53671 (Many guality test failures)
PR debug/53671
PR debug/49888
* alias.c (memrefs_conflict_p): Improve handling of AND for
alignment.
From-SVN: r188868
Alexandre Oliva [Fri, 22 Jun 2012 01:30:00 +0000 (01:30 +0000)]
* ddg.c (build_intra_loop_deps): Discard deps of nondebug on debug.
From-SVN: r188867
Alexandre Oliva [Fri, 22 Jun 2012 01:29:28 +0000 (01:29 +0000)]
re PR target/53682 (ICE in cselib_lookup (SEGV) on i586-linux-gnu)
PR debug/53682
* cselib.c (promote_debug_loc): Don't crash on NULL argument.
From-SVN: r188866
GCC Administrator [Fri, 22 Jun 2012 00:19:04 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r188865
Meador Inge [Thu, 21 Jun 2012 20:20:30 +0000 (20:20 +0000)]
re PR c/53702 (ICE with -Wall and nested functions and unused typedef)
PR c/53702
* c-decl.c (c_push_function_context): Restore the behavior to reuse
the language function allocated for -Wunused-local-typedefs.
(c_pop_function_context): If necessary, clear the language function
created in c_push_function_context. Always clear out the
x_cur_stmt_list field of the restored language function.
testsuite/
* gcc.dg/Wunused-local-typedefs.c: New testcase.
From-SVN: r188860
Meador Inge [Thu, 21 Jun 2012 20:05:28 +0000 (20:05 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2012-06-21 Meador Inge <meadori@codesourcery.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r188859
Janne Blomqvist [Thu, 21 Jun 2012 18:47:01 +0000 (21:47 +0300)]
PR 39654 FTELL intrinsic function return type.
frontend ChangeLog:
2012-06-21 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/39654
* iresolve.c (gfc_resolve_ftell): Fix result kind and use new
library function.
library ChangeLog:
2012-06-21 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/39654
* io/intrinsics.c (ftell2): New function.
* gfortran.map (_gfortran_ftell2): Export function.
From-SVN: r188858
Sterling Augustine [Thu, 21 Jun 2012 18:16:05 +0000 (18:16 +0000)]
dwarf2out.c (is_cu_die, [...]): New functions.
2012-06-21 Sterling Augustine <saugustine@google.com>
Cary Coutant <ccoutant@google.com>
* dwarf2out.c (is_cu_die, is_namespace_die, is_class_die,
add_AT_pubnames, add_enumerator_pubname, want_pubnames): New functions.
(comdat_type_struct): New field 'skeleton_die'.
(breakout_comdat_types): Update it.
(add_pubname): Rework logic. Call is_class_die, is_cu_die and
is_namespace_die. Fix minor style violation. Call want_pubnames.
(add_pubname_string): Call want_pubnames.
(add_pubtype): Rework logic for calculating type name. Call
is_namespace_die. Call want_pubnames.
(output_pubnames): Move conditional logic deciding when to produce the
section from dwarf2out_finish. Use new skeleton_die field.
(base_type_die): Call add_pubtype.
(gen_enumeration_type_die): Unconditionally call add_pubtype.
(gen_subprogram_die): Adjust calls to add_pubname.
(gen_namespace_die): Call add_pubname_string.
(dwarf2out_finish): Call add_AT_pubnames; Move logic on when to
produce pubnames and pubtypes sections to output_pubnames.
(common.opt): New option '-gpubnames'.
(invoke.texi): Document it.
Co-Authored-By: Cary Coutant <ccoutant@google.com>
From-SVN: r188857
Steven Bosscher [Thu, 21 Jun 2012 16:53:45 +0000 (16:53 +0000)]
c-common.h (c_common_print_pch_checksum): Remove.
c-family/
* c-common.h (c_common_print_pch_checksum): Remove.
* c-pch.c: Do not include output.h.
(CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
(asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
(asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
(struct c_pch_header): Remove.
(get_ident): Update gpch version.
(pch_init): Do not print executable_checksum to asm_out_file.
Do not fail if there is no asm_out_file to read back from. Set
asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
(c_common_write_pch): Verify that nothing was written to asm_out_file
since pch_init was called. Do not write a c_pch_header, and do not
copy from asm_out_file to the PCH.
(c_common_read_pch): Do not read a c_pch_header, and do not restore
the content of asm_out_file from the PCH.
(c_common_print_pch_checksum): Remove.
* c-opts.c (c_common_init): Print out executable_checksum directly.
testsuite/
* testsuite/gcc.dg/pch/ident-1.c: New test.
* testsuite/gcc.dg/pch/ident-1.hs: Header file for new test.
From-SVN: r188856