gcc.git
12 years ago* config/rx/rx.md (simple_return): Use the simple_return rtx.
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

12 years agoi386: Correct costs on CONST_DOUBLE and CONST_VECTOR
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

12 years agoi386: Implement widen_smul_*_v4si for plain sse2
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

12 years agoi386: Expand mul<VI8_AVX2> earlier
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

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

From-SVN: r189003

12 years agosystem.h (USE_COMMON_FOR_ONE_ONLY): Poison.
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

12 years agovar-tracking.c (vt_add_function_parameter): Use a preserved VALUE for the MEM address...
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

12 years agoscandump.exp (scan-dump, [...]): Use printable pattern in test name.
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

12 years ago[multiple changes]
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

12 years agopubtypes-2.c: Update expected output.
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

12 years agoObvious ChangeLog formatting fix.
Sterling Augustine [Tue, 26 Jun 2012 18:25:15 +0000 (18:25 +0000)]
Obvious ChangeLog formatting fix.

From-SVN: r188993

12 years agodwarf2out.c (output_pubnames): Add check for DW_TAG_enumerator.
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

12 years agosystem.h (UNALIGNED_SHORT_ASM_OP, [...]): Poison.
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

12 years agotree-pass.h (pass_strength_reduction): New decl.
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

12 years agore PR target/35294 (iwmmxt intrinsics, internal compiler error)
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

12 years agore PR c++/53752 (ice in write_array_type)
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

12 years agorevert: tree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly.
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

12 years agore PR middle-end/33190 (tm.texi describes some non-existing hooks)
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

12 years agore PR middle-end/33190 (tm.texi describes some non-existing hooks)
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

12 years agore PR lto/53572 (Some public symbols don't get to serialized LTO)
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

12 years agotree-inline.c: (expand_call_inline): Ensure that lexical block's source location...
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

12 years agore PR regression/53729 (PR53636 fix caused bb-slp-16.c to FAIL on sparc64 and powerpc64)
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

12 years agorl78.h: Do not undefine DONT_USE_BUILTIN_SETJMP.
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

12 years agore PR tree-optimization/53748 (ice in fold_convert_loc)
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

12 years agore PR c++/53498 (Compiler crashes during C++11 template magic compilation)
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

12 years agotarget-supports-dg.exp (testname-for-summary): New.
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

12 years agoDaily bump.
GCC Administrator [Tue, 26 Jun 2012 00:17:54 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r188971

12 years agoAdd C++11 isms to tr2/dynamic_bitset and tr2/bool_set.
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

12 years agoObvious ChangeLog fix.
Sterling Augustine [Mon, 25 Jun 2012 22:56:04 +0000 (22:56 +0000)]
Obvious ChangeLog fix.

From-SVN: r188966

12 years agouser.cfg.in: Change COMPACT_LATEX to NO.
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

12 years agoprofopt.exp: Make prof_option_list local to profopt-execute.
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

12 years agoObvious fix to Changelog entry.
Sterling Augustine [Mon, 25 Jun 2012 20:59:42 +0000 (20:59 +0000)]
Obvious fix to Changelog entry.

From-SVN: r188961

12 years agoi386: Delete sse sdot_prod; add sdot_prodv4si for xop
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

12 years agoi386: Add widen_multiply_even/odd builtins and hooks
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

12 years agoi386: Use vpmacsdd for mulv4si3
Richard Henderson [Mon, 25 Jun 2012 20:41:51 +0000 (13:41 -0700)]
i386: Use vpmacsdd for mulv4si3

From-SVN: r188958

12 years agoi386: Cleanup and unify widening multiply patterns
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

12 years agoTestcase for pr53749
Richard Henderson [Mon, 25 Jun 2012 20:41:27 +0000 (13:41 -0700)]
Testcase for pr53749

From-SVN: r188956

12 years agore PR c++/52988 (std::async not executed on function returning nullptr_t)
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

12 years agoCommit for Christophe Lyon.
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

12 years agoC++: Reject variably modified types in operator new
Florian Weimer [Mon, 25 Jun 2012 17:03:10 +0000 (19:03 +0200)]
C++: Reject variably modified types in operator new

From-SVN: r188948

12 years agoarm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.
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

12 years agogotest: Only look in data segment for ppc64, not ppc*.
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

12 years agolibgo: Update to Go 1.0.2 release.
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

12 years agore PR c++/53202 (Copy constructor not called when starting a thread)
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

12 years agore PR c++/53565 (FAIL: libgomp.c++/for-7.C)
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

12 years agore PR target/53759 (gcc -mavx emits vshufps for __builtin_ia32_loadlps)
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

12 years agore PR debug/53740 (--enable-checking=yes,rtl bootstrap failure with ada)
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

12 years agore PR debug/53740 (--enable-checking=yes,rtl bootstrap failure with ada)
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

12 years agov850.c: Remove redundant extern declarations for last_assemble_variable_decl and...
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

12 years agoi386.h: Fix typo.
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

12 years agowinnt.c (i386_pe_seh_end_prologue): Move code to ...
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

12 years agoMAINTAINERS (Write After Approval): Update my email address.
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

12 years agore PR c++/53594 ([C++11] Spurious -Wuninitialized warning for member with NSDMI)
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

12 years ago02_match: To...
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

12 years agoDaily bump.
GCC Administrator [Mon, 25 Jun 2012 00:18:06 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188922

12 years agooutput.h: (current_function_is_leaf...
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

12 years agosystem.h: Poison ASM_BYTE_OP and ASM_OUTPUT_BYTE.
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

12 years agopr23943.c (size_t): Use compatible type-definition for LLP64 targets.
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

12 years agomips.c (mips_process_sync_loop): Add missing enum cast.
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

12 years agoDaily bump.
GCC Administrator [Sun, 24 Jun 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188913

12 years agore PR target/53749 (ice in expand_shift_1)
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

12 years agoi386: Pass ix86_expand_sse_unpack operands by value
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

12 years agoi386: Extract the guts of mulv16qi3 to ix86_expand_vecop_qihi
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

12 years agoDaily bump.
GCC Administrator [Sat, 23 Jun 2012 00:18:25 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188906

12 years agore PR fortran/47710 ([OOP] Improve ambiguity check for GENERIC TBP w/ PASS and NOPASS)
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

12 years agors6000.md (define_attr "type"): New type popcnt.
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

12 years agoUpdate -mpreferred-stack-boundary=3 warning
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

12 years agoAllow -mpreferred-stack-boundary=3 on x86-64
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

12 years agodouble-int.c (double_int_multiple_of): New function.
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

12 years ago[multiple changes]
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

12 years agors6000.c (rs6000_pre_atomic_barrier): Pass in and return mem.
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

12 years agogcov-iov.c: Include bconfig.h and system.h.
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

12 years ago* doc/include/texinfo.tex: Update to version 2012-06-05.14.
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

12 years agore PR gcov-profile/53744 (gcov version oscillates between 407* and 407p on branches)
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

12 years agoFix entry
Eric Botcazou [Fri, 22 Jun 2012 07:22:42 +0000 (07:22 +0000)]
Fix entry

From-SVN: r188875

12 years agore PR debug/53704 (ICE: in based_loc_descr, at dwarf2out.c:10027 after revision 188621)
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

12 years agotree-ssa-live.c (remove_unused_scope_block_p): Remove again DECL_IGNORED_P non-reg...
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

12 years agore PR debug/53671 (Many guality test failures)
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

12 years agore PR debug/53671 (Many guality test failures)
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

12 years agore PR debug/53671 (Many guality test failures)
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

12 years agore PR debug/53671 (Many guality test failures)
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

12 years ago* ddg.c (build_intra_loop_deps): Discard deps of nondebug on debug.
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

12 years agore PR target/53682 (ICE in cselib_lookup (SEGV) on i586-linux-gnu)
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

12 years agoDaily bump.
GCC Administrator [Fri, 22 Jun 2012 00:19:04 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r188865

12 years agore PR c/53702 (ICE with -Wall and nested functions and unused typedef)
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

12 years agoMAINTAINERS (Write After Approval): Add myself.
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

12 years agoPR 39654 FTELL intrinsic function return type.
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

12 years agodwarf2out.c (is_cu_die, [...]): New functions.
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

12 years agoc-common.h (c_common_print_pch_checksum): Remove.
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

12 years ago* config/m32c/m32c-pragma.c: Remove unnecessary includes.
Steven Bosscher [Thu, 21 Jun 2012 12:24:52 +0000 (12:24 +0000)]
* config/m32c/m32c-pragma.c: Remove unnecessary includes.

From-SVN: r188853

12 years agore PR middle-end/53688 (191.fma3d in SPEC CPU 2000 miscompiled)
Michael Matz [Thu, 21 Jun 2012 12:18:23 +0000 (12:18 +0000)]
re PR middle-end/53688 (191.fma3d in SPEC CPU 2000 miscompiled)

PR middle-end/53688
* builtins.c (get_memory_rtx): Always build an all-aliasing MEM_REF
with correct size.

testsuite/
* gcc.c-torture/execute/pr53688.c: New test.

From-SVN: r188852

12 years agotree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly.
Richard Guenther [Thu, 21 Jun 2012 09:24:53 +0000 (09:24 +0000)]
tree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly.

2012-06-21  Richard Guenther  <rguenther@suse.de>

* tree-inline.c (estimate_num_insns): Estimate call cost for
tailcalls properly.

From-SVN: r188849

12 years agoDaily bump.
GCC Administrator [Thu, 21 Jun 2012 00:18:59 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r188847

12 years agoi386.md (SINCOS): New int iterator.
Uros Bizjak [Wed, 20 Jun 2012 19:28:07 +0000 (21:28 +0200)]
i386.md (SINCOS): New int iterator.

2012-06-20  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (SINCOS): New int iterator.
(sincos): New int attribute.
(*<sincos>xf2_i387): Macroize insn from *{sin,cos}xf2_i387 using
SINCOS int iterator.
(*<sincos>_extend<mode>xf2_i387): Macroize insn from
*{sin,cos}_extend<mode>xf2_i387 using SINCOS int iterator.

2012-06-20  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/i386.md (RDFSGSBASE): New int iterator.
(WRFSGSBASE): Ditto.
(fsgs): New int attribute.
(rd<fsgs>base<mode>): Macroize insn from rd<fsgs>base<mode> using
RDFSGSBASE int iterator.
(wr<fsgs>base<mode>): Macroize insn from wr<fsgs>base<mode> using
WRFSGSBASE int iterator.

From-SVN: r188843

12 years agoMakefile.tpl (check-target-libgomp-c++): New.
Jason Merrill [Wed, 20 Jun 2012 18:26:04 +0000 (14:26 -0400)]
Makefile.tpl (check-target-libgomp-c++): New.

* Makefile.tpl (check-target-libgomp-c++): New.
(check-target-libitm-c++): New.
* Makefile.def (c++): Add them.
* Makefile.in: Regenerate.

From-SVN: r188842

12 years agoAdd DECL_SOURCE_COLUMN.
Rüdiger Sonderfeld [Wed, 20 Jun 2012 18:03:10 +0000 (18:03 +0000)]
Add DECL_SOURCE_COLUMN.

I'm currently writing a plugin for GCC and I need to extract the
column of a declaration. There exists DECL_SOURCE_FILE/LINE already
and for consistency reasons and ease of use I've added a
DECL_SOURCE_COLUMN macro.

2012-06-20  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>

* tree.h (DECL_SOURCE_COLUMN): New accessor

From-SVN: r188841

12 years agoi386.md (<rounding_insn><mode>2): Macroize expander from {floor,ceil,btrunc}<mode...
Uros Bizjak [Wed, 20 Jun 2012 17:37:40 +0000 (19:37 +0200)]
i386.md (<rounding_insn><mode>2): Macroize expander from {floor,ceil,btrunc}<mode>2 using FIST_ROUNDING int iterator.

* config/i386/i386.md (<rounding_insn><mode>2): Macroize expander
from {floor,ceil,btrunc}<mode>2 using FIST_ROUNDING int iterator.
(l<rounding_insn><MODEF:mode><SWI48:mode>2): Macroize expander
from l{floor,ceil}<MODEF:mode><SWI48:mode>2 using FIST_ROUNDING
int iterator.

From-SVN: r188840

12 years ago* system.h: Poison ASM_OUTPUT_IDENT and IDENT_ASM_OP.
Steven Bosscher [Wed, 20 Jun 2012 14:49:01 +0000 (14:49 +0000)]
* system.h: Poison ASM_OUTPUT_IDENT and IDENT_ASM_OP.

From-SVN: r188838

12 years agoFix typo.
David Edelsohn [Wed, 20 Jun 2012 13:48:40 +0000 (09:48 -0400)]
Fix typo.

From-SVN: r188833

12 years agolocks.h (compare_and_swap): Use GCC atomic intrinsics.
David Edelsohn [Wed, 20 Jun 2012 13:02:56 +0000 (13:02 +0000)]
locks.h (compare_and_swap): Use GCC atomic intrinsics.

2012-06-20  David Edelsohn  <dje.gcc@gmail.com>
            Alan Modra  <amodra@gmail.com>

        * sysdep/powerpc/locks.h (compare_and_swap): Use GCC atomic
        intrinsics.
        (release_set): Same.
        (compare_and_swap_release): Same.
        (read_barrier): Same.
        (write_barrier): Same.

Co-Authored-By: Alan Modra <amodra@gmail.com>
From-SVN: r188829