platform/upstream/gcc.git
11 years agofp-bit.h [FLOAT] (QUIET_NAN): Correct value.
Thomas Schwinge [Mon, 6 May 2013 08:22:48 +0000 (10:22 +0200)]
fp-bit.h [FLOAT] (QUIET_NAN): Correct value.

libgcc/
* fp-bit.h [FLOAT] (QUIET_NAN): Correct value.

From-SVN: r198621

11 years agolinux.h (DEFAULT_ASM_ENDIAN): Define.
Alan Modra [Mon, 6 May 2013 02:57:43 +0000 (12:27 +0930)]
linux.h (DEFAULT_ASM_ENDIAN): Define.

* config/rs6000/linux.h (DEFAULT_ASM_ENDIAN): Define.
(LINK_OS_LINUX_EMUL): Use ENDIAN_SELECT.
* config/rs6000/linux64.h (DEFAULT_ASM_ENDIAN): Define.
* config/rs6000/sysv4le.h (DEFAULT_ASM_ENDIAN): Define.
(LINK_TARGET_SPEC): Use ENDIAN_SELECT.
* config/rs6000/sysv4.h (DEFAULT_ASM_ENDIAN): Define as -mbig.

From-SVN: r198620

11 years agosysv4.h (ENDIAN_SELECT): Define, extracted from
Alan Modra [Mon, 6 May 2013 00:20:29 +0000 (09:50 +0930)]
sysv4.h (ENDIAN_SELECT): Define, extracted from

* config/rs6000/sysv4.h (ENDIAN_SELECT): Define, extracted from
(ASM_SPEC): ..here.  Emit DEFAULT_ASM_ENDIAN too.
(DEFAULT_ASM_ENDIAN): Define.
(CC1_SPEC, LINK_TARGET_SPEC): Use ENDIAN_SELECT.
* config/rs6000/linux64.h (ASM_SPEC32): Remove endian options.
Update -K PIC clause from sysv4.h.
(ASM_SPEC_COMMON): Use ENDIAN_SELECT.
(LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Likewise.

From-SVN: r198619

11 years agors6000.md (bswapdi 2nd splitter): Don't swap words twice for little-endian.
Alan Modra [Mon, 6 May 2013 00:19:07 +0000 (09:49 +0930)]
rs6000.md (bswapdi 2nd splitter): Don't swap words twice for little-endian.

* config/rs6000/rs6000.md (bswapdi 2nd splitter): Don't swap words
twice for little-endian.
(ashrdi3_no_power, ashrdi3): Support little-endian.

From-SVN: r198618

11 years agore PR target/55303 ([SH] Add support for clips / clipu instructions)
Oleg Endo [Mon, 6 May 2013 00:16:55 +0000 (00:16 +0000)]
re PR target/55303 ([SH] Add support for clips / clipu instructions)

PR target/55303
* config/sh/sh.c (sh_rtx_costs): Handle SMIN and SMAX cases.
* config/sh/sh.md (*clips, uminsi3, *clipu, clipu_one): New insns and
related expanders.
* config/sh/iterators.md (SMIN_SMAX): New code iterator.
* config/sh/predicates.md (arith_reg_or_0_or_1_operand,
clips_min_const_int, clips_max_const_int, clipu_max_const_int):
New predicates.

PR target/55303
* gcc.target/sh/pr55303-1.c: New.
* gcc.target/sh/pr55303-2.c: New.
* gcc.target/sh/pr55303-3.c: New.

From-SVN: r198617

11 years agoDaily bump.
GCC Administrator [Mon, 6 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198616

11 years agolibcaf.h (_gfortran_caf_critical): Add a prototype.
David Edelsohn [Sun, 5 May 2013 23:47:22 +0000 (23:47 +0000)]
libcaf.h (_gfortran_caf_critical): Add a prototype.

        * caf/libcaf.h (_gfortran_caf_critical): Add a prototype.
        (_gfortran_caf_end_critical): Same.

From-SVN: r198613

11 years agoconfig.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default.
Steven Bosscher [Sun, 5 May 2013 20:47:24 +0000 (20:47 +0000)]
config.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default.

* config.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default.
* config/pa/pa.opt: Make mbig-switch a no-op.
* config/pa/pa.h (TARGET_DEFAULT): Remove MASK_BIG_SWITCH.
(CASE_VECTOR_MODE): Always return SImode.
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove code
for the !TARGET_BIG_SWITCH case.
* config/pa/pa-linux.h: Likewise.
* config/pa/pa-openbsd.h: Likewise.
* config/pa/pa-hpux.h: Define TARGET_DEFAULT to 0.
* config/pa/pa.md (short_jump): Remove define_insn.
(casesi): Remove code for the !TARGET_BIG_SWITCH case.
(casesi0): Remove define_insn.
(type): Remove btable_branch.
(pa_combine_type): Likewise.
(in_nullified_branch_delay): Likewise.
(in_call_delay): Likewise.
(define_delay): Likewise.
(define_insn_reservation "Z3"): Likewise.
(define_insn_reservation "Z4"): Likewise.
* config/pa/pa.c  (pa_reorg): Remove code for !TARGET_BIG_SWITCH.
(pa_adjust_insn_length): Remove adjustment for btable branches.
* doc/invoke.texi (HPPA Options): Delete documentation for mbig-switch
and mno-big-switch

Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
From-SVN: r198612

11 years agosse.md (*vec_extract<ssevecmodelower>_0): Merge from sse2_stored and *sse2_storeq_rex...
Uros Bizjak [Sun, 5 May 2013 17:25:50 +0000 (19:25 +0200)]
sse.md (*vec_extract<ssevecmodelower>_0): Merge from sse2_stored and *sse2_storeq_rex64 using SWI48 mode iterator.

* config/i386/sse.md (*vec_extract<ssevecmodelower>_0): Merge
from sse2_stored and *sse2_storeq_rex64 using SWI48 mode iterator.
Add m->r,x alternatives.
(*vec_extract<ssevecmodelower>_0 splitters): Merge V2DI and V4SI
splitters using SWI48x mode iterator.
(*vec_extract_v2di_0_sse): Rename from *sse2_storeq.  Disable for
TARGET_64BIT.  Add m->x alternative.
(*vec_extractv4si_mem): Rename from *vec_ext_v4si_mem.
Add o->x alternative.  Enable for TARGET_SSE.
(sse_storeq): Remove expander.
(*vec_extractv2di_1): Enable for TARGET_SSE. Split alternatives
with memory input operand.
(*vec_extractv2di_1 splitter): New.
(*vec_extractv4sf_mem): Rename from *vec_extract_v4sf_mem.
* config/i386/i386.md (ssevecmodelower): New mode attribute.

From-SVN: r198611

11 years agoresolve.c (conformable_arrays): Avoid segfault when ar.start[i] == NULL.
Tobias Burnus [Sun, 5 May 2013 14:04:07 +0000 (16:04 +0200)]
resolve.c (conformable_arrays): Avoid segfault when ar.start[i] == NULL.

2013-05-05  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (conformable_arrays): Avoid segfault
        when ar.start[i] == NULL.

2013-05-05  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/allocate_with_source_3.f90: New.

From-SVN: r198610

11 years agore PR fortran/57141 (Cannot change attributes of USE-associated intrinsic)
Tobias Burnus [Sun, 5 May 2013 14:01:38 +0000 (16:01 +0200)]
re PR fortran/57141 (Cannot change attributes of USE-associated intrinsic)

2013-05-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57141
        * decl.c (gfc_match_null): Permit use-associated
        NULL intrinsic.

2013-05-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57141
        * gfortran.dg/null_8.f90: New.

From-SVN: r198609

11 years agopt.c (convert_nontype_argument): Add missing whitespace in error message.
Paolo Carlini [Sun, 5 May 2013 11:36:27 +0000 (11:36 +0000)]
pt.c (convert_nontype_argument): Add missing whitespace in error message.

2013-05-05  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (convert_nontype_argument): Add missing whitespace in
error message.

From-SVN: r198608

11 years agore PR c++/53745 ([C++11] Poor diagnostic for ill-formed narrowing conversion in enume...
Paolo Carlini [Sun, 5 May 2013 00:27:46 +0000 (00:27 +0000)]
re PR c++/53745 ([C++11] Poor diagnostic for ill-formed narrowing conversion in enumerator initializer)

/cp
2013-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53745
* decl.c (build_enumerator): Improve error message.

/testsuite
2013-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53745
* g++.dg/cpp0x/enum27.C: New.
* g++.dg/cpp0x/enum_base.C: Adjust.

From-SVN: r198607

11 years agoDaily bump.
GCC Administrator [Sun, 5 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198606

11 years agoenviron.c: Include unistd.h.
David Edelsohn [Sat, 4 May 2013 21:23:11 +0000 (21:23 +0000)]
environ.c: Include unistd.h.

        * runtime/environ.c: Include unistd.h.
        * runtime/pause.c: Test HAVE_UNISTD_H.
        * runtime/stop.c: Same.
        * io/open.c: Same.
        * io/unix.c: Same.
        * io/read.c (si_max): Protect declaration of value.

From-SVN: r198603

11 years agors6000.c (INT_P): Reformat.
Segher Boessenkool [Sat, 4 May 2013 21:22:09 +0000 (23:22 +0200)]
rs6000.c (INT_P): Reformat.

        * config/rs6000/rs6000.c (INT_P): Reformat.  Delete obsolete comment.
        (INT_LOWPART): Delete.
        (extract_MB): Adjust.
        (extract_ME): Adjust.
        (print_operand): Adjust.

From-SVN: r198602

11 years agopredicates.md (reg_or_add_cint_operand, [...]): Delete "HOST_BITS_PER_WIDE_INT =...
Segher Boessenkool [Sat, 4 May 2013 21:19:08 +0000 (23:19 +0200)]
predicates.md (reg_or_add_cint_operand, [...]): Delete "HOST_BITS_PER_WIDE_INT == 32" case.

       * config/rs6000/predicates.md (reg_or_add_cint_operand,
       reg_or_sub_cint_operand): Delete "HOST_BITS_PER_WIDE_INT == 32" case.
       (reg_or_logical_cint_operand, easy_fp_constant,
       logical_const_operand): Delete "CONST_DOUBLE" case.
       * config/rs6000/rs6000.c (num_insns_constant_wide): Delete
       "HOST_BITS_PER_WIDE_INT == 64" test.
       (num_insns_constant): Ditto.  Delete CONST_DOUBLE DImode/VOIDmode
       case.
       (build_mask64_2_operands): Delete "HOST_BITS_PER_WIDE_INT >= 64" test.
       (rs6000_emit_set_const): Delete CONST_DOUBLE case.
       (rs6000_emit_set_long_const): Delete "HOST_BITS_PER_WIDE_INT >= 64"
       test.
       (includes_rldic_lshift_p, includes_rldicr_lshift_p): Delete
       CONST_DOUBLE DImode/VOIDmode case.
       (INT_P, INT_LOWPART): Delete CONST_DOUBLE case.
       (print_operand): Delete "HOST_BITS_PER_WIDE_INT == 32" case.  Delete
       CONST_DOUBLE VOIDmode case.
       (output_toc): Delete "HOST_BITS_PER_WIDE_INT == 32" case.
       (rs6000_rtx_costs): Delete CONST_DOUBLE DImode/VOIDmode case.
       * config/rs6000/rs6000.md (iordi3, xordi3, splitter for these):
       Delete CONST_DOUBLE case.
       (splitters for mov FMOVE64 const_double): Delete
       "HOST_BITS_PER_WIDE_INT == 32" case.  Delete
       "HOST_BITS_PER_WIDE_INT >= 64" test.
       (splitter for mov DI const_int): Delete "HOST_BITS_PER_WIDE_INT == 32"
       case.
       (mov DI const_double): Delete.

From-SVN: r198601

11 years agore PR tree-optimization/56205 (stdarg pass confused by jump threading)
Jakub Jelinek [Sat, 4 May 2013 18:23:46 +0000 (20:23 +0200)]
re PR tree-optimization/56205 (stdarg pass confused by jump threading)

PR tree-optimization/56205
* gcc.dg/tree-ssa/stdarg-6.c: Add cleanup-tree-dump "stdarg".

From-SVN: r198599

11 years agodecl.c (gfc_verify_c_interop_param): Permit allocatable and pointer with -std=f2008ts.
Tobias Burnus [Sat, 4 May 2013 17:49:31 +0000 (19:49 +0200)]
decl.c (gfc_verify_c_interop_param): Permit allocatable and pointer with -std=f2008ts.

2013-05-04  Tobias Burnus  <burnus@net-b.de>

        * decl.c (gfc_verify_c_interop_param): Permit allocatable
        and pointer with -std=f2008ts.

2013-05-04  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/bind_c_array_params.f03: Update dg-error.
        * gfortran.dg/bind_c_usage_27.f90: New.
        * gfortran.dg/bind_c_usage_28.f90: New.

From-SVN: r198597

11 years agoinclhack.def (aix_null): New.
David Edelsohn [Sat, 4 May 2013 14:49:59 +0000 (10:49 -0400)]
inclhack.def (aix_null): New.

        * inclhack.def (aix_null): New.
        (void_null): Update replacement definition of NULL.
        * fixincl.x: Regenerate.
        * tests/base/curses.h: Update for new fix.

From-SVN: r198596

11 years agocombine.c (combine_simplify_rtx): If nonzero_bits on op shows all bits zero in mode...
Jakub Jelinek [Sat, 4 May 2013 12:41:52 +0000 (14:41 +0200)]
combine.c (combine_simplify_rtx): If nonzero_bits on op shows all bits zero in mode of a lowpart subreg, return zero.

* combine.c (combine_simplify_rtx) <case SUBREG>: If nonzero_bits
on op shows all bits zero in mode of a lowpart subreg, return zero.

From-SVN: r198595

11 years agore PR c++/51927 ([C++0x] Cannot access non-static members in initializer)
Paolo Carlini [Sat, 4 May 2013 12:32:05 +0000 (12:32 +0000)]
re PR c++/51927 ([C++0x] Cannot access non-static members in initializer)

2013-05-04  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51927
* g++.dg/cpp0x/lambda/lambda-nsdmi4.C: New.

From-SVN: r198594

11 years agore PR target/57150 (GCC when targeting power7 spills long double using VSX instructions.)
Michael Meissner [Sat, 4 May 2013 05:38:47 +0000 (05:38 +0000)]
re PR target/57150 (GCC when targeting power7 spills long double using VSX instructions.)

[gcc]
2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/57150
* config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
to save TFmode registers and DImode to save TImode registers for
caller save operations.
(HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
mark being partially clobbered since they only use the first
double word.

* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
and TDmode only use the upper 64-bits of each VSX register.

[gcc/testsuite]
2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/57150
* gcc.target/powerpc/pr57150.c: New file.

From-SVN: r198593

11 years agogimple-ssa-strength-reduction.c (slsr_process_phi): Disable.
Bill Schmidt [Sat, 4 May 2013 04:57:32 +0000 (04:57 +0000)]
gimple-ssa-strength-reduction.c (slsr_process_phi): Disable.

gcc:

2013-05-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (slsr_process_phi): Disable.
(find_candidates_in_block): Disable slsr_process_phi.

gcc/testsuite:

2013-05-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/tree-ssa/slsr-32.c: Skip test for now.
* gcc.dg/tree-ssa/slsr-33.c: Likewise.
* gcc.dg/tree-ssa/slsr-34.c: Likewise.
* gcc.dg/tree-ssa/slsr-35.c: Likewise.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.
* gcc.dg/tree-ssa/slsr-37.c: Likewise.
* gcc.dg/tree-ssa/slsr-38.c: Likewise.

From-SVN: r198592

11 years agocoverage.c (coverage_obj_init): Move the construction of gcov constructor to
Guozhi Wei [Sat, 4 May 2013 01:26:52 +0000 (01:26 +0000)]
coverage.c (coverage_obj_init): Move the construction of gcov constructor to

* coverage.c (coverage_obj_init): Move the construction of gcov
constructor to
(build_init_ctor): here.

From-SVN: r198591

11 years agoDaily bump.
GCC Administrator [Sat, 4 May 2013 00:16:17 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198590

11 years agoRemove "\\" from scan-assembler-times
Dominique d'Humieres [Fri, 3 May 2013 20:08:19 +0000 (22:08 +0200)]
Remove "\\" from scan-assembler-times

2013-05-03  Dominique d'Humieres  <dominiq@lps.ens.fr>
p
* gcc.target/i386/sse2-init-v2di-2.c: Remove "\\" from
scan-assembler-times.

From-SVN: r198587

11 years agogimple-ssa-strength-reduction.c (cand_kind): Add CAND_PHI.
Bill Schmidt [Fri, 3 May 2013 18:56:39 +0000 (18:56 +0000)]
gimple-ssa-strength-reduction.c (cand_kind): Add CAND_PHI.

gcc:

2013-05-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gimple-ssa-strength-reduction.c (cand_kind): Add CAND_PHI.
(slsr_cand_d): Redefine def_phi.
(stride_status, phi_adjust_status, count_phis_status): New enums.
(find_phi_def): New.
(find_basis_for_base_expr): New.
(find_basis_for_candidate): Handle hidden bases.
(alloc_cand_and_find_basis): Handle phi candidates.
(slsr_process_phi): New.
(create_mul_ssa_cand): Exclude phi base candidates; use integer_onep.
(create_mul_imm_cand): Likewise.
(create_add_ssa_cand): Exclude phi base candidates.
(create_add_imm_cand): Likewise.
(slsr_process_cast): Likewise.
(slsr_process_copy): Likewise.
(find_candidates_in_block): Handle phi candidates.
(dump_candidate): Likewise.
(unconditional_cands): Delete.
(unconditional_cands_with_known_stride_p): Delete.
(phi_dependent_cand_p): New.
(cand_increment): Handle phi-dependent candidates.
(replace_dependent): Delete.
(replace_mult_candidate): New.
(replace_unconditional_candidate): New.
(incr_vec_index): Move to avoid forward reference.
(create_add_on_incoming_edge): New.
(create_phi_basis): New.
(replace_dependents): Delete.
(replace_conditional_candidate): New.
(phi_add_costs): New.
(replace_uncond_cands_and_profitable_phis): New.
(record_increment): Handle phi adjustments.
(record_phi_increments): New.
(record_increments): Handle phi adjustments.
(phi_incr_cost): New.
(lowest_cost_path): Handle phis.
(total_savings): Likewise.
(analyze_increments): Likewise.
(ncd_with_phi): New.
(ncd_of_cand_and_phis): New.
(nearest_common_dominator_for_cands): Handle phi increments.
(all_phi_incrs_profitable): New.
(replace_profitable_candidates): Handle phi-dependent candidates.
(analyze_candidates_and_replace): Likewise.

gcc/testsuite:

2013-05-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.dg/tree-ssa/slsr-32.c: New.
* gcc.dg/tree-ssa/slsr-33.c: New.
* gcc.dg/tree-ssa/slsr-34.c: New.
* gcc.dg/tree-ssa/slsr-35.c: New.
* gcc.dg/tree-ssa/slsr-36.c: New.
* gcc.dg/tree-ssa/slsr-37.c: New.
* gcc.dg/tree-ssa/slsr-38.c: New.

From-SVN: r198586

11 years agoAArch64 test cases for TST instruction
Ian Bolton [Fri, 3 May 2013 18:30:00 +0000 (18:30 +0000)]
AArch64 test cases for TST instruction

From-SVN: r198585

11 years agore PR bootstrap/57154 (Bootstrap broken for powerpc64-unknown-linux-gnu)
Teresa Johnson [Fri, 3 May 2013 16:48:24 +0000 (16:48 +0000)]
re PR bootstrap/57154 (Bootstrap broken for powerpc64-unknown-linux-gnu)

2013-05-03  Teresa Johnson  <tejohnson@google.com>

PR bootstrap/57154
* sched-rgn.c (compute_dom_prob_ps): Ensure accumulated probabilities
do not exceed REG_BR_PROB_BASE.

From-SVN: r198584

11 years agoFix typos in ChangeLog entries
Jeff Law [Fri, 3 May 2013 16:47:21 +0000 (10:47 -0600)]
Fix typos in ChangeLog entries

From-SVN: r198583

11 years agore PR tree-optimization/57411 (ICE: verify_ssa failed: definition in block 4 does...
Jeff Law [Fri, 3 May 2013 16:35:04 +0000 (10:35 -0600)]
re PR tree-optimization/57411 (ICE: verify_ssa failed: definition in block 4 does not dominate use in block 11 with -fno-tree-dce -ftree-vectorize)

PR tree-optimization/57411
* tree-vrp.c (simplify_cond_using_ranges): Verify the constant
operand of the condition will bit into the new type when eliminating
a cast feeding a condition.

PR tree-optimization/57411
* gcc.c-torture/execute/pr57144.c: New test.

From-SVN: r198582

11 years agore PR rtl-optimization/57130 (Incorrect "and --> extract" conversion in combine)
Jakub Jelinek [Fri, 3 May 2013 12:56:12 +0000 (14:56 +0200)]
re PR rtl-optimization/57130 (Incorrect "and --> extract" conversion in combine)

PR rtl-optimization/57130
* combine.c (make_compound_operation) <case SUBREG>: Pass
SET instead of COMPARE as in_code to the recursive call
if needed.

* gcc.c-torture/execute/pr57130.c: New test.

From-SVN: r198579

11 years agoi386.md (isa): Add x64_sse4_noavx and x64_avx members.
Uros Bizjak [Fri, 3 May 2013 12:03:29 +0000 (14:03 +0200)]
i386.md (isa): Add x64_sse4_noavx and x64_avx members.

* config/i386/i386.md (isa): Add x64_sse4_noavx and x64_avx members.
(enabled): Handle new members.
* config/i386/sse.md (*vec_concatv2si): Merge from
*vec_concatv2si_sse2 and vec_concatv2si_sse.
(vec_concatv2di): Merge with *vec_concatv2di_rex64.

testsuite/ChangeLog:

* gcc.target/i386/sse2-init-v2di-2.c: Update scan assembler string.

From-SVN: r198578

11 years agore PR tree-optimization/57027 (ICE in gimple_assign_rhs_code, at gimple.h:2022)
Joern Rennecke [Fri, 3 May 2013 11:18:37 +0000 (11:18 +0000)]
re PR tree-optimization/57027 (ICE in gimple_assign_rhs_code, at gimple.h:2022)

2013-05-03  Joern Rennecke <joern.rennecke@embecosm.com>

        PR tree-optimization/57027
        * tree-ssa-math-opts.c (convert_mult_to_fma): When checking for
        fnms opportunity, check we got the prerequisite kind of tree / gimple
        before using accessor functions.

From-SVN: r198577

11 years agodouble-int.h (lshift): New overload without precision and arith argument.
Richard Biener [Fri, 3 May 2013 11:09:59 +0000 (11:09 +0000)]
double-int.h (lshift): New overload without precision and arith argument.

2013-05-03  Richard Biener  <rguenther@suse.de>

* double-int.h (lshift): New overload without precision
and arith argument.
(operator *=, operator +=, operator -=): Move ...
* double-int.c (operator *=, operator +=, operator -=): ... here
and implement more efficiently.
(mul_double_with_sign): Remove.
(lshift_double): Adjust to take unsinged shift argument, push
dispatching code to callers.
(mul_double_wide_with_sign): Add early out for callers that
are not interested in high parts or overflow.
(lshift): New function.
(lshift, rshift, alshift, arshift, llshift, lrshift): Add
dispatch code here.
(lrotate, rrotate): Use logical shifts.
* expr.c (get_inner_reference): Use lshift.
* fixed-value.c (do_fixed_divide): Likewise.
* tree-dfa.c (get_ref_base_and_extent): Likewise.
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
(indirect_refs_may_alias_p): Likewise.
(stmt_kills_ref_p_1): Likewise.

From-SVN: r198576

11 years ago[AArch64] Correct simd_fabd comment text.
Vidya Praveen [Fri, 3 May 2013 10:21:16 +0000 (11:21 +0100)]
[AArch64] Correct simd_fabd comment text.

From-SVN: r198575

11 years ago[AArch64] Support scalar FABD
Vidya Praveen [Fri, 3 May 2013 10:17:57 +0000 (11:17 +0100)]
[AArch64] Support scalar FABD

gcc/ChangeLog

2013-05-02  Vidya Praveen  <vidyapraveen@arm.com>

        * config/aarch64/aarch64-simd.md (*fabd_scalar<mode>3): Support
          scalar form of FABD instruction.

gcc/testsuite/ChangeLog

2013-05-02  Vidya Praveen <vidyapraveen@arm.com>

        * gcc.target/aarch64/fabd.c: New file.

From-SVN: r198574

11 years agore PR c++/54318 ([C++11] Bogus "template instantiation depth exceeds maximum" error...
Paolo Carlini [Fri, 3 May 2013 09:35:42 +0000 (09:35 +0000)]
re PR c++/54318 ([C++11] Bogus "template instantiation depth exceeds maximum" error + segfault)

2013-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54318
* g++.dg/cpp0x/pr54318.C: New.

From-SVN: r198573

11 years agore PR c++/14283 (Diagnostic for invalid template-id could be improved)
Paolo Carlini [Fri, 3 May 2013 09:02:15 +0000 (09:02 +0000)]
re PR c++/14283 (Diagnostic for invalid template-id could be improved)

/cp
2013-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/14283
* parser.c (cp_parser_diagnose_invalid_type_name): Improve error
messages for template types and fix column numbers.

/testsuite
2013-05-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/14283
* g++.dg/parse/error51.C: New.
* g++.dg/parse/error15.C: Adjust column numbers.

From-SVN: r198572

11 years agoDaily bump.
GCC Administrator [Fri, 3 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198568

11 years agoAdd ChangeLog entry for r197770 (in boehm-gc).
Yvan Roux [Thu, 2 May 2013 19:48:45 +0000 (21:48 +0200)]
Add ChangeLog entry for r197770 (in boehm-gc).

From-SVN: r198562

11 years agolra-constraints.c (process_alt_operands): Add checking alt number to choose the best...
Vladimir Makarov [Thu, 2 May 2013 19:02:19 +0000 (19:02 +0000)]
lra-constraints.c (process_alt_operands): Add checking alt number to choose the best alternative.

2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constraints.c (process_alt_operands): Add checking alt
number to choose the best alternative.

From-SVN: r198558

11 years agotree-eh.c (cleanup_empty_eh_merge_phis): Remove rename_virts bitmap and its handling.
Richard Biener [Thu, 2 May 2013 17:24:26 +0000 (17:24 +0000)]
tree-eh.c (cleanup_empty_eh_merge_phis): Remove rename_virts bitmap and its handling.

* tree-eh.c (cleanup_empty_eh_merge_phis): Remove rename_virts
bitmap and its handling.
(pass_cleanup_eh): Set todo_flags_finish to TODO_verify_ssa.

From-SVN: r198552

11 years agore PR fortran/57142 (SIZE/SHAPE overflow despite kind=8)
Tobias Burnus [Thu, 2 May 2013 16:29:14 +0000 (18:29 +0200)]
re PR fortran/57142 (SIZE/SHAPE overflow despite kind=8)

2013-05-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57142
        * simplify.c (gfc_simplify_size): Renamed from
        simplify_size; fix kind=8 handling.
        (gfc_simplify_size): New function.
        (gfc_simplify_shape): Add range check.
        * resolve.c (resolve_function): Fix handling
        for ISYM_SIZE.

2013-05-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57142
        * gfortran.dg/size_kind_2.f90: New.
        * gfortran.dg/size_kind_3.f90: New.

From-SVN: r198549

11 years agore PR middle-end/57140 (Segmentation fault in backtrace_dwarf_add)
Richard Biener [Thu, 2 May 2013 15:46:12 +0000 (15:46 +0000)]
re PR middle-end/57140 (Segmentation fault in backtrace_dwarf_add)

2013-05-02  Richard Biener  <rguenther@suse.de>

PR middle-end/57140
* tree-inline.c (copy_loops): Properly handle removed loops.
(copy_cfg_body): Mark destination loops for fixup if source
loops needed fixup.

* g++.dg/torture/pr57140.C: New testcase.

From-SVN: r198548

11 years agore PR rtl-optimization/56732 (ICE in advance_target_bb)
Greta Yorsh [Thu, 2 May 2013 15:45:10 +0000 (16:45 +0100)]
re PR rtl-optimization/56732 (ICE in advance_target_bb)

gcc/ChangeLog

2013-05-02  Greta Yorsh  <Greta.Yorsh@arm.com>

PR target/56732
* config/arm/arm.c (arm_expand_epilogue): Check really_return before
generating simple_return for naked functions.

gcc/testsuite/ChangeLog

2013-05-02  Greta Yorsh  <Greta.Yorsh@arm.com>

PR target/56732
* gcc.target/arm/pr56732-1.c: New test.

From-SVN: r198547

11 years agore PR middle-end/56988 (ipa-cp incorrectly propagates a field of an aggregate)
Martin Jambor [Thu, 2 May 2013 14:03:02 +0000 (16:03 +0200)]
re PR middle-end/56988 (ipa-cp incorrectly propagates a field of an aggregate)

2013-05-02  Martin Jambor  <mjambor@suse.cz>

PR middle-end/56988
* ipa-prop.h (ipa_agg_replacement_value): New flag by_ref.
* ipa-cp.c (ipa_get_indirect_edge_target_1): Also check that by_ref
flags match.
(find_aggregate_values_for_callers_subset): Fill in the by_ref flag of
ipa_agg_replacement_value structures.
(known_aggs_to_agg_replacement_list): Likewise.
* ipa-prop.c (write_agg_replacement_chain): Stream by_ref flag.
(read_agg_replacement_chain): Likewise.
(ipcp_transform_function): Also check that by_ref flags match.

testsuite/
* gcc.dg/ipa/pr56988.c: New test.

From-SVN: r198540

11 years agographds.h (struct graph): Add obstack member.
Richard Biener [Thu, 2 May 2013 13:59:38 +0000 (13:59 +0000)]
graphds.h (struct graph): Add obstack member.

2013-05-02  Richard Biener  <rguenther@suse.de>

* graphds.h (struct graph): Add obstack member.
* graphds.c (new_graph): Initialize obstack and allocate
vertices from it.
(add_edge): Allocate edge from the obstack.
(free_graph): Free the obstack instead of all edges and
vertices.

From-SVN: r198539

11 years agoFollow-on patch to r197595 to complete the replacement of truncating divides in...
Teresa Johnson [Thu, 2 May 2013 13:20:47 +0000 (13:20 +0000)]
Follow-on patch to r197595 to complete the replacement of truncating divides in...

Follow-on patch to r197595 to complete the replacement of truncating divides
in profile scaling code with rounding divide equivalents using helper routines
in basic-block.h.

In addition to bootstrap and profiledbootstrap builds and tests (with and
without LTO), I built and tested performance of the SPEC cpu2006 benchmarks
with FDO on a Nehalem system. I didn't see any performance changes that
looked significant.

2013-05-02  Teresa Johnson  <tejohnson@google.com>

* loop-unswitch.c (unswitch_loop): Use helper routines with rounding
        divides.
* cfg.c (update_bb_profile_for_threading): Ditto.
* tree-inline.c (copy_bb): Ditto.
(copy_edges_for_bb): Ditto.
(initialize_cfun): Ditto.
(copy_cfg_body): Ditto.
(expand_call_inline): Ditto.
* ipa-inline-analysis.c (estimate_edge_size_and_time): Ditto.
(estimate_node_size_and_time): Ditto.
(inline_merge_summary): Ditto.
* cgraphclones.c (cgraph_clone_edge): Ditto.
(cgraph_clone_node): Ditto.
* sched-rgn.c (compute_dom_prob_ps): Ditto.
(compute_trg_info): Ditto.

From-SVN: r198532

11 years agoAArch64 fix for LDR/STR from/to S and D regs
Ian Bolton [Thu, 2 May 2013 12:54:16 +0000 (12:54 +0000)]
AArch64 fix for LDR/STR from/to S and D regs

From-SVN: r198527

11 years agoAArch64 Support for BICS in the backend
Ian Bolton [Thu, 2 May 2013 12:52:22 +0000 (12:52 +0000)]
AArch64 Support for BICS in the backend

From-SVN: r198526

11 years agotree-scalar-evolution.c (scev_info_hasher): Remove.
Richard Biener [Thu, 2 May 2013 12:23:20 +0000 (12:23 +0000)]
tree-scalar-evolution.c (scev_info_hasher): Remove.

2013-05-02  Richard Biener  <rguenther@suse.de>

* tree-scalar-evolution.c (scev_info_hasher): Remove.
(struct instantiate_cache_entry): New type.
(struct instantiate_cache_entry_hasher): New hashtable descriptor.
(struct instantiate_cache_type): New type.
(set_instantiated_value, get_instantiated_value): Remove.
(get_instantiated_value_entry): New function.
(instantiate_scev_name): Use the new cache and adjust.
(instantiate_scev_poly): Adjust.
(instantiate_scev_binary): Likewise.
(instantiate_array_ref): Likewise.
(instantiate_scev_convert): Likewise.
(instantiate_scev_not): Likewise.
(instantiate_scev_3): Likewise.
(instantiate_scev_2): Likewise.
(instantiate_scev_r): Likewise.
(instantiate_scev): Likewise.
(resolve_mixers): Likewise.

From-SVN: r198523

11 years agoconstexpr_data.cc: Move...
Paolo Carlini [Thu, 2 May 2013 12:03:30 +0000 (12:03 +0000)]
constexpr_data.cc: Move...

2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
constexpr_data.cc: Move...
* testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
... here.
* testsuite/20_util/integral_constant/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/integral_constant/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/static_definition.cc: Likewise.
* testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
Likewise.
* testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
* testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.

From-SVN: r198521

11 years agoMove libitm ChangeLog entry to the right ChangeLog file.
Jakub Jelinek [Thu, 2 May 2013 11:32:11 +0000 (13:32 +0200)]
Move libitm ChangeLog entry to the right ChangeLog file.

From-SVN: r198519

11 years agotype_traits (is_null_pointer): Add.
Paolo Carlini [Thu, 2 May 2013 11:00:26 +0000 (11:00 +0000)]
type_traits (is_null_pointer): Add.

2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (is_null_pointer): Add.
(__is_nullptr_t): Implement in terms of the latter.
(is_fundamental, is_scalar): Adjust.
* testsuite/20_util/is_null_pointer/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_null_pointer/value.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.

From-SVN: r198516

11 years agocstdio: Add comment about LWG 2249.
Paolo Carlini [Thu, 2 May 2013 09:48:07 +0000 (09:48 +0000)]
cstdio: Add comment about LWG 2249.

2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cstdio: Add comment about LWG 2249.
* include/c_std/cstdio: Likewise.

From-SVN: r198512

11 years agore PR rtl-optimization/57131 (Wrong register assignment?)
Jakub Jelinek [Thu, 2 May 2013 06:00:46 +0000 (08:00 +0200)]
re PR rtl-optimization/57131 (Wrong register assignment?)

PR rtl-optimization/57131
* gcc.c-torture/execute/pr57131.c: New test.

From-SVN: r198511

11 years agoDaily bump.
GCC Administrator [Thu, 2 May 2013 00:16:22 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198510

11 years agore PR c++/57132 (spurious warning: division by zero [-Wdiv-by-zero] in if (m) res...
Paolo Carlini [Wed, 1 May 2013 19:19:44 +0000 (19:19 +0000)]
re PR c++/57132 (spurious warning: division by zero [-Wdiv-by-zero] in  if (m) res %=m;)

/cp
2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57132
* pt.c (tsubst_copy_and_build, MODOP_EXPR): Increase / decrease
c_inhibit_evaluation_warnings around build_x_modify_expr call.

/testsuite
2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57132
* g++.dg/warn/Wdiv-by-zero-bogus-2.C: New.

From-SVN: r198504

11 years agore PR target/57091 (ICE: in assign_by_spills, at lra-assigns.c:1268 with -mcmodel...
Vladimir Makarov [Wed, 1 May 2013 18:54:17 +0000 (18:54 +0000)]
re PR target/57091 (ICE: in assign_by_spills, at lra-assigns.c:1268 with -mcmodel=large and indirect call)

2013-05-01  Vladimir Makarov  <vmakarov@redhat.com>

PR target/57091
* lra-constraints.c (best_small_class_operands_num): Remove.
(process_alt_operands): Remove small_class_operands_num.  Take
small classes operands into losers and only if the operand is not
matched.  Modify debugging output.
(curr_insn_transform): Remove best_small_class_operands_num.
Print insn name.

2013-05-01  Vladimir Makarov  <vmakarov@redhat.com>

PR target/57091
* gcc.target/i386/pr57091.c: New test.

From-SVN: r198503

11 years ago[AArch64] Refactor reduc_<su>plus patterns.
James Greenhalgh [Wed, 1 May 2013 15:37:52 +0000 (15:37 +0000)]
[AArch64] Refactor reduc_<su>plus patterns.

gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_gimple_fold_builtin.c): Fold more modes for reduc_splus_.
* config/aarch64/aarch64-simd-builtins.def
(reduc_splus_): Add new modes.
(reduc_uplus_): New.
* config/aarch64/aarch64-simd.md (aarch64_addvv4sf): Remove.
(reduc_uplus_v4sf): Likewise.
(reduc_splus_v4sf): Likewise.
(aarch64_addv<mode>): Likewise.
(reduc_uplus_<mode>): Likewise.
(reduc_splus_<mode>): Likewise.
(aarch64_addvv2di): Likewise.
(reduc_uplus_v2di): Likewise.
(reduc_splus_v2di): Likewise.
(aarch64_addvv2si): Likewise.
(reduc_uplus_v2si): Likewise.
(reduc_splus_v2si): Likewise.
(reduc_<sur>plus_<mode>): New.
(reduc_<sur>plus_v2di): Likewise.
(reduc_<sur>plus_v2si): Likewise.
(reduc_<sur>plus_v4sf): Likewise.
(aarch64_addpv4sf): Likewise.
* config/aarch64/arm_neon.h
(vaddv<q>_<s,u,f><8, 16, 32, 64): Rewrite using builtins.
* config/aarch64/iterators.md (unspec): Remove UNSPEC_ADDV,
add UNSPEC_SADDV, UNSPEC_UADDV.
(SUADDV): New.
(sur): Add UNSPEC_SADDV, UNSPEC_UADDV.

gcc/testsuite/
* gcc.target/aarch64/vect-vaddv.c: New.

From-SVN: r198500

11 years ago[AArch64] Rewrite v<max,min><nm><q><v>_<sfu><8, 16, 32, 64> intrinsics using builtins.
James Greenhalgh [Wed, 1 May 2013 15:33:34 +0000 (15:33 +0000)]
[AArch64] Rewrite v<max,min><nm><q><v>_<sfu><8, 16, 32, 64> intrinsics using builtins.

gcc/
* config/aarch64/arm_neon.h
(v<max,min><nm><q><v>_<sfu><8, 16, 32, 64>): Rewrite using builtins.

gcc/testsuite/
* gcc.target/aarch64/vect-vmaxv.c: New.
* gcc.target/aarch64/vect-vfmaxv.c: Likewise.

From-SVN: r198499

11 years ago[AArch64] Fold max and min reduction builtins to tree.
James Greenhalgh [Wed, 1 May 2013 15:18:18 +0000 (15:18 +0000)]
[AArch64] Fold max and min reduction builtins to tree.

gcc/
* config/aarch64/aarch64-builtins
(aarch64_gimple_fold_builtin): Fold reduc_<su><maxmin>_ builtins.

From-SVN: r198498

11 years ago[AArch64] Refactor vector max and min RTL and builtins.
James Greenhalgh [Wed, 1 May 2013 15:16:14 +0000 (15:16 +0000)]
[AArch64] Refactor vector max and min RTL and builtins.

gcc/
* config/aarch64/aarch64-simd-builtins.def
(reduc_smax_): New.
(reduc_smin_): Likewise.
(reduc_umax_): Likewise.
(reduc_umin_): Likewise.
(reduc_smax_nan_): Likewise.
(reduc_smin_nan_): Likewise.
(fmax): Remove.
(fmin): Likewise.
(smax): Update for V2SF, V4SF and V2DF modes.
(smin): Likewise.
(smax_nan): New.
(smin_nan): Likewise.
* config/aarch64/aarch64-simd.md (<maxmin><mode>3): Rename to...
(<su><maxmin><mode>3): ...This, refactor.
(s<maxmin><mode>3): New.
(<maxmin_uns><mode>3): Likewise.
(reduc_<maxmin_uns>_<mode>): Refactor.
(reduc_<maxmin_uns>_v4sf): Likewise.
(reduc_<maxmin_uns>_v2si): Likewise.
(aarch64_<fmaxmin><mode>: Remove.
* config/aarch64/arm_neon.h (vmax<q>_f<32,64>): Rewrite to use
new builtin names.
(vmin<q>_f<32,64>): Likewise.
* config/iterators.md (unspec): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
(FMAXMIN): New.
(su): Add mappings for smax, smin, umax, umin.
(maxmin): New.
(FMAXMINV): Add UNSPEC_FMAXNMV, UNSPEC_FMINNMV.
(FMAXMIN): Rename as...
(FMAXMIN_UNS): ...This.
(maxminv): Remove.
(fmaxminv): Likewise.
(fmaxmin): Likewise.
(maxmin_uns): New.
(maxmin_uns_op): Likewise.

From-SVN: r198497

11 years ago[AArch64] Add testcases for FAC, FCM changes.
James Greenhalgh [Wed, 1 May 2013 10:52:13 +0000 (10:52 +0000)]
[AArch64] Add testcases for FAC, FCM changes.

gcc/testsuite/
* gcc.target/aarch64/scalar-vca.c: New.
* gcc.target/aarch64/vect-vca.c: Likewise.

From-SVN: r198496

11 years ago[AArch64] Rewrite vca<ge, gt, le, lt> Neon patterns in C.
James Greenhalgh [Wed, 1 May 2013 10:49:31 +0000 (10:49 +0000)]
[AArch64] Rewrite vca<ge, gt, le, lt> Neon patterns in C.

gcc/
* config/aarch64/arm_neon.h
(vac<ge, gt><sd>_f<32, 64>): Rename to...
(vca<ge, gt><sd>_f<32, 64>): ...this, reimpliment in C.
(vca<ge, gt, lt, le><q>_f<32, 64>): Reimpliment in C.

From-SVN: r198495

11 years ago[AArch64] Add combiner patterns for FAC instructions
James Greenhalgh [Wed, 1 May 2013 10:46:00 +0000 (10:46 +0000)]
[AArch64] Add combiner patterns for FAC instructions

gcc/
* config/aarch64/aarch64-simd.md (*aarch64_fac<optab><mode>): New.
* config/aarch64/iterators.md (FAC_COMPARISONS): New.

From-SVN: r198494

11 years ago[AArch64 Testsuite] Fix fallout from FCM changes.
James Greenhalgh [Wed, 1 May 2013 10:43:02 +0000 (10:43 +0000)]
[AArch64 Testsuite] Fix fallout from FCM changes.

gcc/testsuite/
* gcc.target/aarch64/scalar_intrinsics.c (force_simd): New.
(test_vceqd_s64): Force arguments to SIMD registers.
(test_vceqzd_s64): Likewise.
(test_vcged_s64): Likewise.
(test_vcled_s64): Likewise.
(test_vcgezd_s64): Likewise.
(test_vcged_u64): Likewise.
(test_vcgtd_s64): Likewise.
(test_vcltd_s64): Likewise.
(test_vcgtzd_s64): Likewise.
(test_vcgtd_u64): Likewise.
(test_vclezd_s64): Likewise.
(test_vcltzd_s64): Likewise.
(test_vtst_s64): Likewise.
(test_vtst_u64): Likewise.

From-SVN: r198493

11 years ago[AArch64] Add special case when expanding vcond with arms {-1, -1}, {0, 0}.
James Greenhalgh [Wed, 1 May 2013 10:40:23 +0000 (10:40 +0000)]
[AArch64] Add special case when expanding vcond with arms {-1, -1}, {0, 0}.

gcc/
* config/aarch64/aarch64-simd.md
(vcond<mode>_internal): Handle special cases for constant masks.
(vcond<mode><mode>): Allow nonmemory_operands for outcome vectors.
(vcondu<mode><mode>): Likewise.
(vcond<v_cmp_result><mode>): New.

From-SVN: r198492

11 years ago[AArch64] Remap neon vcmp functions to C/TREE
James Greenhalgh [Wed, 1 May 2013 10:37:28 +0000 (10:37 +0000)]
[AArch64] Remap neon vcmp functions to C/TREE

gcc/
* config/aarch64/aarch64-builtins.c (BUILTIN_VALLDI): Define.
(aarch64_fold_builtin): Add folding for cm<eq,ge,gt,tst>.
* config/aarch64/aarch64-simd-builtins.def
(cmeq): Update to BUILTIN_VALLDI.
(cmgt): Likewise.
(cmge): Likewise.
(cmle): Likewise.
(cmlt): Likewise.
* config/aarch64/arm_neon.h
(vc<eq, lt, le, gt, ge, tst><z><qsd>_<fpsu><8,16,32,64>): Remap
to builtins or C as appropriate.

From-SVN: r198491

11 years ago[AArch64] Improve description of <F>CM instructions in RTL
James Greenhalgh [Wed, 1 May 2013 10:33:57 +0000 (10:33 +0000)]
[AArch64] Improve description of <F>CM instructions in RTL

gcc/
* config/aarch64/aarch64-simd-builtins.def (cmhs): Rename to...
(cmgeu): ...This.
(cmhi): Rename to...
(cmgtu): ...This.
* config/aarch64/aarch64-simd.md
(simd_mode): Add SF.
(aarch64_vcond_internal): Use new names for unsigned comparison insns.
(aarch64_cm<optab><mode>): Rewrite to not use UNSPECs.
* config/aarch64/aarch64.md (*cstore<mode>_neg): Rename to...
(cstore<mode>_neg): ...This.
* config/aarch64/iterators.md
(VALLF): new.
(unspec): Remove UNSPEC_CM<EQ, LE, LT, GE, GT, HS, HI, TST>.
(COMPARISONS): New.
(UCOMPARISONS): Likewise.
(optab): Add missing comparisons.
(n_optab): New.
(cmp_1): Likewise.
(cmp_2): Likewise.
(CMP): Likewise.
(cmp): Remove.
(VCMP_S): Likewise.
(VCMP_U): Likewise.
(V_cmp_result): Add DF, SF modes.
(v_cmp_result): Likewise.
(v): Likewise.
(vmtype): Likewise.
* config/aarch64/predicates.md (aarch64_reg_or_fp_zero): New.

From-SVN: r198490

11 years agothumb2.md (thumb2_smaxsi3,thumb2_sminsi3): Convert define_insn to define_insn_and_split.
Greta Yorsh [Wed, 1 May 2013 10:25:28 +0000 (11:25 +0100)]
thumb2.md (thumb2_smaxsi3,thumb2_sminsi3): Convert define_insn to define_insn_and_split.

2013-05-01  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/thumb2.md (thumb2_smaxsi3,thumb2_sminsi3): Convert
define_insn to define_insn_and_split.
(thumb32_umaxsi3,thumb2_uminsi3): Likewise.
(thumb2_negdi2,thumb2_abssi2,thumb2_neg_abssi2): Likewise.
(thumb2_mov_scc,thumb2_mov_negscc,thumb2_mov_notscc): Likewise.
(thumb2_movsicc_insn,thumb2_and_scc,thumb2_ior_scc): Likewise.
(thumb2_negscc): Likewise.

From-SVN: r198489

11 years agore PR c++/57092 (Using decltype of function pointer type to define a data member...
Paolo Carlini [Wed, 1 May 2013 09:21:30 +0000 (09:21 +0000)]
re PR c++/57092 (Using decltype of function pointer type to define a data member causes compiler crash)

/cp
2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57092
* semantics.c (finish_decltype_type): Handle instantiated template
non-type arguments.

/testsuite
2013-05-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57092
* g++.dg/cpp0x/decltype53.C: New.

From-SVN: r198487

11 years agofrontend-passes.c (optimize_power): Fix typo in comment.
Thomas Koenig [Wed, 1 May 2013 08:28:57 +0000 (08:28 +0000)]
frontend-passes.c (optimize_power): Fix typo in comment.

2013-05-01  Thomas Koenig  <tkoenig@gcc.gnu.org>

* frontend-passes.c (optimize_power):  Fix typo
in comment.

From-SVN: r198486

11 years agoDaily bump.
GCC Administrator [Wed, 1 May 2013 00:16:23 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198484

11 years agore PR fortran/57071 (Optimize (-1)**k to 1 - 2 * mod(K, 2))
Thomas Koenig [Tue, 30 Apr 2013 21:45:13 +0000 (21:45 +0000)]
re PR fortran/57071 (Optimize  (-1)**k  to 1 - 2 * mod(K, 2))

2013-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/57071
* frontend-passes.c (optimize_power):  Simplify
1**k to 1.

2013-04-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/57071
* gfortran.dg/power_5.f90:  New test.

From-SVN: r198476

11 years agoMAINTAINERS: Update my email; move myself from Fortran reviewer to Write After Approval.
Brooks Moses [Tue, 30 Apr 2013 18:31:46 +0000 (11:31 -0700)]
MAINTAINERS: Update my email; move myself from Fortran reviewer to Write After Approval.

* MAINTAINERS: Update my email; move myself from Fortran
reviewer to Write After Approval.

From-SVN: r198469

11 years agothumb2.md (thumb2_incscc, [...]): Delete.
Greta Yorsh [Tue, 30 Apr 2013 17:08:25 +0000 (18:08 +0100)]
thumb2.md (thumb2_incscc, [...]): Delete.

2013-04-30  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/thumb2.md (thumb2_incscc, thumb2_decscc): Delete.

From-SVN: r198465

11 years agoCommitted as obvious.
Greta Yorsh [Tue, 30 Apr 2013 16:50:12 +0000 (17:50 +0100)]
Committed as obvious.

2013-04-30  Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/thumb2.md: Remove trailing whitespaces.

From-SVN: r198464

11 years agoexplow.c (plus_constant): Pass "mode" to immed_double_int_const.
Richard Sandiford [Tue, 30 Apr 2013 16:15:55 +0000 (16:15 +0000)]
explow.c (plus_constant): Pass "mode" to immed_double_int_const.

gcc/
* explow.c (plus_constant): Pass "mode" to immed_double_int_const.
Use gen_int_mode rather than GEN_INT.

From-SVN: r198462

11 years agoFix a typo in ChangeLog
H.J. Lu [Tue, 30 Apr 2013 15:53:58 +0000 (08:53 -0700)]
Fix a typo in ChangeLog

From-SVN: r198458

11 years agoRemove the trayed debug_gimple_stmt
H.J. Lu [Tue, 30 Apr 2013 15:53:03 +0000 (15:53 +0000)]
Remove the trayed debug_gimple_stmt

* value-prof.c (stream_in_histogram_value): Remove the trayed
debug_gimple_stmt.

From-SVN: r198457

11 years agore PR tree-optimization/57122 (ICE in verify_loop_structure, at cfgloop.c:1647 (loop...
Richard Biener [Tue, 30 Apr 2013 15:03:58 +0000 (15:03 +0000)]
re PR tree-optimization/57122 (ICE in verify_loop_structure, at cfgloop.c:1647 (loop n’s latch does not have an edge to its header !))

2013-04-30  Richard Biener  <rguenther@suse.de>

PR middle-end/57122
* cfghooks.c (split_edge): Properly check for the loop
latch edge.

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

From-SVN: r198456

11 years agore PR middle-end/57107 (tree check fail in unlink_stmt_vdef)
Richard Biener [Tue, 30 Apr 2013 13:54:14 +0000 (13:54 +0000)]
re PR middle-end/57107 (tree check fail in unlink_stmt_vdef)

2013-04-30  Richard Biener  <rguenther@suse.de>

PR middle-end/57107
* tree-eh.c (sink_clobbers): Preserve virtual SSA form.

* g++.dg/torture/pr57107.C: New testcase.

From-SVN: r198454

11 years agore PR rtl-optimization/56957 (ICE in add_insn_after, at emit-rtl.c:3783)
Andrey Belevantsev [Tue, 30 Apr 2013 10:55:52 +0000 (14:55 +0400)]
re PR rtl-optimization/56957 (ICE in add_insn_after, at emit-rtl.c:3783)

        PR rtl-optimization/56957
        PR rtl-optimization/57105

        * sel-sched.c (move_op_orig_expr_found): Remove insn_emitted
        variable.  Use just INSN_UID for determining whether an insn
        should be only disconnected from the insn stream.
        * sel-sched-ir.h (EXPR_WAS_CHANGED): Remove.

* gcc.dg/pr57105.c: New test.

From-SVN: r198449

11 years agore PR sanitizer/57104 (ICE: in expand_expr_addr_expr_1, at expr.c:7594 with -fsanitiz...
Jakub Jelinek [Tue, 30 Apr 2013 08:52:39 +0000 (10:52 +0200)]
re PR sanitizer/57104 (ICE: in expand_expr_addr_expr_1, at expr.c:7594 with -fsanitize=thread and hardreg variable)

PR tree-optimization/57104
* tsan.c (instrument_expr): Don't instrument accesses to
DECL_HARD_REGISTER VAR_DECLs.

* gcc.dg/pr57104.c: New test.

From-SVN: r198445

11 years agoconfig-list.mk (LIST): Add aarch64-elf and aarch64-linux-gnu.
Sofiane Naci [Tue, 30 Apr 2013 08:35:17 +0000 (08:35 +0000)]
config-list.mk (LIST): Add aarch64-elf and aarch64-linux-gnu.

From-SVN: r198443

11 years agofunction.h (loops_for_fn): New inline function.
Richard Biener [Tue, 30 Apr 2013 08:14:09 +0000 (08:14 +0000)]
function.h (loops_for_fn): New inline function.

2013-04-30  Richard Biener  <rguenther@suse.de>

* function.h (loops_for_fn): New inline function.
(set_loops_for_fn): Likewise.
* cfgloop.h (place_new_loop): Add struct function parameter.
(get_loop): Likewise.
(get_loops): Likewise.
(number_of_loops): Likewise.
(fel_next): Adjust.
(fel_init): Likewise.
* cfg.c (get_loop_copy): Adjust.
* cfgloop.c (flow_loops_dump): Likewise.
(record_loop_exits): Likewise.
(verify_loop_structure): Likewise.
* cfgloopanal.c (mark_irreducible_loops): Likewise.
(estimate_reg_pressure_cost): Likewise.
(mark_loop_exit_edges): Likewise.
* cfgloopmanip.c (place_new_loop): Likewise.
(add_loop): Likewise.
(duplicate_loop): Likewise.
* graph.c (draw_cfg_nodes): Likewise.
* graphite-clast-to-gimple.c (translate_clast_user): Likewise.
* graphite-sese-to-poly.c (build_scop_scattering): Likewise.
(extract_affine_chrec): Likewise.
(build_scop_iteration_domain): Likewise.
* graphite.c (graphite_initialize): Likewise.
* ira-build.c (create_loop_tree_nodes): Likewise.
(more_one_region_p): Likewise.
(rebuild_regno_allocno_maps): Likewise.
(mark_loops_for_removal): Likewise.
(mark_all_loops_for_removal): Likewise.
(remove_unnecessary_regions): Likewise.
(ira_build): Likewise.
* ira-emit.c (setup_entered_from_non_parent_p): Likewise.
* loop-init.c (fix_loop_structure): Likewise.
(gate_rtl_move_loop_invariants): Likewise.
(gate_rtl_unswitch): Likewise.
(gate_rtl_unroll_and_peel_loops): Likewise.
(rtl_doloop): Likewise.
* lto-streamer-in.c (input_cfg): Likewise.
* lto-streamer-out.c (output_cfg): Likewise.
* modulo-sched.c (sms_schedule): Likewise.
* predict.c (tree_estimate_probability): Likewise.
(tree_estimate_probability_driver): Likewise.
(estimate_loops): Likewise.
* tree-cfg.c (fixup_loop_arrays_after_move): Likewise.
(move_sese_region_to_fn): Likewise.
(debug_loop_num): Likewise.
* tree-chrec.c (chrec_evaluate): Likewise.
(hide_evolution_in_other_loops_than_loop): Likewise.
(chrec_component_in_loop_num): Likewise.
(reset_evolution_in_loop): Likewise.
(evolution_function_is_invariant_rec_p): Likewise.
* tree-if-conv.c (main_tree_if_conversion): Likewise.
* tree-inline.c (copy_loops): Likewise.
(copy_cfg_body): Likewise.
(tree_function_versioning): Likewise.
* tree-loop-distribution.c (rdg_flag_loop_exits): Likewise.
* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
Likewise.
(add_to_evolution_1): Likewise.
(scev_const_prop): Likewise.
* tree-scalar-evolution.h (get_chrec_loop): Likewise.
* tree-ssa-loop-ch.c (copy_loop_headers): Likewise.
* tree-ssa-loop-im.c (analyze_memory_references): Likewise.
(tree_ssa_lim_initialize): Likewise.
* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa): Likewise.
(verify_loop_closed_ssa): Likewise.
* tree-ssa-loop.c  (tree_ssa_loop_init): Likewise.
(tree_ssa_loop_im): Likewise.
(tree_ssa_loop_unswitch): Likewise.
(tree_vectorize): Likewise.
(check_data_deps): Likewise.
(tree_ssa_loop_ivcanon): Likewise.
(tree_ssa_loop_bounds): Likewise.
(tree_complete_unroll): Likewise.
(tree_complete_unroll_inner): Likewise.
(tree_parallelize_loops): Likewise.
(tree_ssa_loop_prefetch): Likewise.
(tree_ssa_loop_ivopts): Likewise.
* tree-ssa.c (execute_update_addresses_taken): Liekwise.
* tree-vectorizer.c (vectorize_loops): Likewise.

From-SVN: r198441

11 years agogcc: arm: linux-eabi: fix handling of armv4 bx fixups when linking
Mike Frysinger [Tue, 30 Apr 2013 04:07:23 +0000 (04:07 +0000)]
gcc: arm: linux-eabi: fix handling of armv4 bx fixups when linking

The bpabi.h header already sets up defines to automatically use the
--fix-v4bx flag with the assembler & linker as needed, and creates a
default assembly & linker spec which uses those.  Unfortunately, the
linux-eabi.h header clobbers the LINK_SPEC define and doesn't include
the v4bx define when setting up its own.  So while the assembler spec
is retained and works fine to generate the right relocs, building for
armv4 targets doesn't invoke the linker correctly so all the relocs
get processed as if we had an armv4t target.

You can see this with -dumpspecs when configuring gcc for an armv4
target and using --with-arch=armv4:
$ armv4l-unknown-linux-gnueabi-gcc -dumpspecs |& grep -B 1 fix-v4bx
*subtarget_extra_asm_spec:
.... %{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4|mcpu=fa526|mcpu=fa626:--fix-v4bx} ...

With this fix in place, we also get the link spec:
$ armv4l-unknown-linux-gnueabi-gcc -dumpspecs |& grep -B 1 fix-v4bx
*link:
...  %{mcpu=arm8|mcpu=arm810|mcpu=strongarm*|march=armv4|mcpu=fa526|mcpu=fa626:--fix-v4bx} ...

And all my hello world tests / glibc builds automatically turn the
bx insn into the 'mov pc, lr' insn and all is right in the world.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
From-SVN: r198438

11 years agoDaily bump.
GCC Administrator [Tue, 30 Apr 2013 00:16:40 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r198437

11 years agore PR target/44578 (GCC generates MMX instructions but fails to generate "emms")
Uros Bizjak [Mon, 29 Apr 2013 20:16:48 +0000 (22:16 +0200)]
re PR target/44578 (GCC generates MMX instructions but fails to generate "emms")

PR target/44578
* config/i386/i386.md (*zero_extendsidi2): Add "!" to m->?*y
alternative.

testsuite/ChangeLog:

PR target/44578
* gcc.target/i386/pr44578.c: New test.

From-SVN: r198433

11 years agore PR target/57097 (ICE: in find_hard_regno_for, at lra-assigns.c:561 with -O2 -fPIC...
Vladimir Makarov [Mon, 29 Apr 2013 19:42:20 +0000 (19:42 +0000)]
re PR target/57097 (ICE: in find_hard_regno_for, at lra-assigns.c:561 with -O2 -fPIC -m32)

2013-04-29  Vladimir Makarov  <vmakarov@redhat.com>

PR target/57097
        * lra-constraints.c (process_alt_operands): Discourage a bit more
using memory for pseudos.  Print cost dump for alternatives.
Modify cost values for conflicts with early clobbers.
(curr_insn_transform): Spill pseudos reassigned to NO_REGS.

2013-04-29  Vladimir Makarov  <vmakarov@redhat.com>

PR target/57097
* gcc.target/i386/pr57097.c: New test.

From-SVN: r198432

11 years agore PR target/57098 (ICE: in extract_insn, at recog.c:2154 (unrecognizable insn) with...
Uros Bizjak [Mon, 29 Apr 2013 18:20:58 +0000 (20:20 +0200)]
re PR target/57098 (ICE: in extract_insn, at recog.c:2154 (unrecognizable insn) with -mcmodel=large -msse4 and __builtin_shuffle())

PR target/57098
* config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.

testsuite/ChangeLog:

PR target/57098
* gcc.target/i386/pr57098.c: New test.

From-SVN: r198430

11 years agore PR fortran/57114 (wrong information at http://gcc.gnu.org/onlinedocs/gfortran...
Tobias Burnus [Mon, 29 Apr 2013 18:05:00 +0000 (20:05 +0200)]
re PR fortran/57114 (wrong information at gcc.gnu.org/onlinedocs/gfortran/RANK.html)

2013-04-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57114
        * intrinsic.texi (RANK): Correct syntax description and
        expected result.

From-SVN: r198429

11 years ago* gcc.c-torture/execute/pr55875.c
Kai Tietz [Mon, 29 Apr 2013 16:23:50 +0000 (18:23 +0200)]
* gcc.c-torture/execute/pr55875.c

From-SVN: r198426

11 years ago[AArch64] Support LDR/STR from/to S and D registers
Ian Bolton [Mon, 29 Apr 2013 16:13:16 +0000 (16:13 +0000)]
[AArch64] Support LDR/STR from/to S and D registers

From-SVN: r198425

11 years agoEnable REE pass by default for AArch64 at O2 or higher
Ian Bolton [Mon, 29 Apr 2013 15:59:19 +0000 (15:59 +0000)]
Enable REE pass by default for AArch64 at O2 or higher

From-SVN: r198424

11 years agore PR tree-optimization/57075 (verify_flow_info failed: control flow in the middle...
Richard Biener [Mon, 29 Apr 2013 15:06:18 +0000 (15:06 +0000)]
re PR tree-optimization/57075 (verify_flow_info failed: control flow in the middle of basic block)

2013-04-29  Richard Biener  <rguenther@suse.de>

PR middle-end/57075
* tree-inline.c (copy_edges_for_bb): Still split the bbs,
even if not adding abnormal edges for calls that can make
abnormal gotos.

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

From-SVN: r198423

11 years agore PR middle-end/57103 (ICE: verify_gimple failed: location references block not...
Richard Biener [Mon, 29 Apr 2013 14:12:54 +0000 (14:12 +0000)]
re PR middle-end/57103 (ICE: verify_gimple failed: location references block not in block tree with -ftree-parallelize-loops=4)

2013-04-29  Richard Biener  <rguenther@suse.de>

PR middle-end/57103
* tree-cfg.c (move_stmt_op): Fix condition under which to update
TREE_BLOCK.
(move_stmt_r): Remove redundant checking.

* gcc.dg/autopar/pr57103.c: New testcase.

From-SVN: r198418