gcc.git
12 years agotarget.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.
Richard Henderson [Thu, 20 Oct 2011 20:10:05 +0000 (13:10 -0700)]
target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.

* target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.
* optabs.c (can_vec_perm_expr_p): Update to match.
(expand_vec_perm_expr): Likewise.
* config/i386/i386.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Rename
from TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK.
* doc/tm.texi.in: Likewise.

From-SVN: r180270

12 years agoChange Atom align_loops_max_skip to 15.
Sergey Ostanevich [Thu, 20 Oct 2011 19:29:52 +0000 (19:29 +0000)]
Change Atom align_loops_max_skip to 15.

2011-10-20  Sergey Ostanevich  <sergos.gnu@gmail.com>

PR target/50572
* config/i386/i386.c (processor_target_table): Change Atom
align_loops_max_skip to 15.

From-SVN: r180268

12 years agore PR c++/41449 (Partial aggregate initialization not cleaned up on exception)
Jason Merrill [Thu, 20 Oct 2011 19:13:51 +0000 (15:13 -0400)]
re PR c++/41449 (Partial aggregate initialization not cleaned up on exception)

PR c++/41449
* typeck2.c (split_nonconstant_init_1): Handle EH cleanup of
initialized subobjects.

From-SVN: r180267

12 years agoRemove TARGET_VECTORIZE_BUILTIN_VEC_PERM.
Richard Henderson [Thu, 20 Oct 2011 19:07:41 +0000 (12:07 -0700)]
Remove TARGET_VECTORIZE_BUILTIN_VEC_PERM.

From-SVN: r180266

12 years agoishft_3.f90: Update test.
Steven G. Kargl [Thu, 20 Oct 2011 18:07:10 +0000 (18:07 +0000)]
ishft_3.f90: Update test.

2011-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>

* gfortran.dg/ishft_3.f90:  Update test.

2011-10-20  Steven G. Kargl  <kargl@gcc.gnu.org>

* check.c (less_than_bitsize1): Check |shift| <= bit_size(i).
(gfc_check_ishftc):  Check |shift| <= bit_size(i) and check
that size is positive.

From-SVN: r180264

12 years agore PR fortran/50524 (*** glibc detected *** invalid free() pointer on illegal code...
Steven G. Kargl [Thu, 20 Oct 2011 17:15:06 +0000 (17:15 +0000)]
re PR fortran/50524 (*** glibc detected *** invalid free() pointer on illegal code  (r178939))

2011-10-15  Steven G. Kargl  <kargl@gcc.gcu.org>

PR fortran/50524
* resolve.c (resolve_ref): Check return value of resolve_substring().

2011-10-15  Steven G. Kargl  <kargl@gcc.gcu.org>

PR fortran/50524
* gfortran.dg/substring_integer_index.f90: New test.

From-SVN: r180262

12 years ago2011-10-16 Steven G. Kargl<kargl@gcc.gnu.org>
Steven G. Kargl [Thu, 20 Oct 2011 17:04:53 +0000 (17:04 +0000)]
2011-10-16  Steven G. Kargl<kargl@gcc.gnu.org>

* io.c (match_dt_format): Match a user-defined operator or a kind
type prefixed string.

2011-10-16  Steven G. Kargl<kargl@gcc.gnu.org>

* gfortran.dg/format_string.f: New test.

From-SVN: r180261

12 years agoFix building ggc-zone.c
Dodji Seketeli [Thu, 20 Oct 2011 15:22:17 +0000 (15:22 +0000)]
Fix building ggc-zone.c

* ggc-zone.c (ggc_internal_alloc_zone_stat): Rename
ggc_alloced_size_order_for_request into ggc_round_alloc_size like
it was done in ggc-page.c.

From-SVN: r180258

12 years agoipa-sra-2.c: Add dg-require-effective-target non_strict_align.
Uros Bizjak [Thu, 20 Oct 2011 15:20:34 +0000 (17:20 +0200)]
ipa-sra-2.c: Add dg-require-effective-target non_strict_align.

       * gcc.dg/ipa/ipa-sra-2.c: Add dg-require-effective-target
       non_strict_align.
       * gcc.dg/ipa/ipa-sra-6.c: Ditto.

From-SVN: r180257

12 years agore PR target/47989 (-mrecip causes 482.sphinx3, 464.h264ref and 481.wrf to miscompare)
Uros Bizjak [Thu, 20 Oct 2011 15:13:30 +0000 (17:13 +0200)]
re PR target/47989 (-mrecip causes 482.sphinx3, 464.h264ref and 481.wrf to miscompare)

PR target/47989
* config/i386/i386.h (RECIP_MASK_DEFAULT): New define.
* config/i386/i386.op (recip_mask): Initialize with RECIP_MASK_DEFAULT.
* doc/invoke.texi (ix86 Options, -mrecip): Document that GCC
implements vectorized single float division and vectorized sqrtf(x)
with reciprocal sequence with additional Newton-Raphson step with
-ffast-math.

From-SVN: r180256

12 years agoexception.c (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains.
Paul Brook [Thu, 20 Oct 2011 13:57:21 +0000 (13:57 +0000)]
exception.c (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains.

2011-10-17  Paul Brook  <paul@codesourcery.com>
            Matthias Klose  <doko@ubuntu.com>

        * exception.c (parse_lsda_header): hardcode ttype_encoding for older
        ARM EABI toolchains.
        (get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.

Co-Authored-By: Matthias Klose <doko@ubuntu.com>
From-SVN: r180255

12 years agoexception.cc (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains.
Paul Brook [Thu, 20 Oct 2011 13:56:12 +0000 (13:56 +0000)]
exception.cc (parse_lsda_header): hardcode ttype_encoding for older ARM EABI toolchains.

2011-10-17  Paul Brook  <paul@codesourcery.com>

        * exception.cc (parse_lsda_header): hardcode ttype_encoding for older
        ARM EABI toolchains.
        (get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.

From-SVN: r180254

12 years agopr40906-1.c, [...]: Do not use -mno-accumulate-outgoing-args.
Joseph Myers [Thu, 20 Oct 2011 13:04:34 +0000 (14:04 +0100)]
pr40906-1.c, [...]: Do not use -mno-accumulate-outgoing-args.

* gcc.target/i386/pr40906-1.c, gcc.target/i386/pr40906-2.c,
gcc.target/i386/pr46226.c: Do not use
-mno-accumulate-outgoing-args.

From-SVN: r180252

12 years agoval-prof-7.c: Declare bzero instead of including <strings.h>.
Joseph Myers [Thu, 20 Oct 2011 13:03:56 +0000 (14:03 +0100)]
val-prof-7.c: Declare bzero instead of including <strings.h>.

* gcc.dg/tree-prof/val-prof-7.c: Declare bzero instead of
including <strings.h>.

From-SVN: r180251

12 years agoUse @smallexample instead of @quotation in cppopts.texi
Dodji Seketeli [Thu, 20 Oct 2011 12:36:55 +0000 (12:36 +0000)]
Use @smallexample instead of @quotation in cppopts.texi

gcc/
PR other/50659
* doc/cppopts.texi: Use @smallexample/@end smallexample in
documentation for -fdebug-cpp instead of @quotation/@end quotation
that is not supported by contrib/texi2pod.pl.

From-SVN: r180250

12 years agoipa-inline.c (inline_small_functions): Always update all calles after inlining.
Jan Hubicka [Thu, 20 Oct 2011 12:18:56 +0000 (14:18 +0200)]
ipa-inline.c (inline_small_functions): Always update all calles after inlining.

* ipa-inline.c (inline_small_functions): Always update all calles after
inlining.

From-SVN: r180249

12 years agolto.c (node_cmp, [...]): New functions.
Jan Hubicka [Thu, 20 Oct 2011 11:49:31 +0000 (13:49 +0200)]
lto.c (node_cmp, [...]): New functions.

* lto.c (node_cmp, varpool_node_cmp): New functions.
(lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
(cmp_partitions): Rename to ...
(cmp_partitions_size): ... this one.
(cmp_partitions_order): New function.
(lto_wpa_write_files): Sort partitions by order when
-fno-toplevel-reorder is used.

From-SVN: r180248

12 years agore PR bootstrap/50709 (stage3 bootstrap comparison failure with --disable-checking...
Jan Hubicka [Thu, 20 Oct 2011 11:46:08 +0000 (13:46 +0200)]
re PR bootstrap/50709 (stage3 bootstrap comparison failure with --disable-checking config option)

PR bootstrap/50709
* ipa-inline.c (inline_small_functions): Fix checking code to not make
effect on fibheap stability.

From-SVN: r180247

12 years agoMake-lang.in (GNATLIBFLAGS, [...]): Reintroduce.
Eric Botcazou [Thu, 20 Oct 2011 11:33:35 +0000 (11:33 +0000)]
Make-lang.in (GNATLIBFLAGS, [...]): Reintroduce.

* gcc-interface/Make-lang.in (GNATLIBFLAGS, GNATLIBCFLAGS, THREAD_KIND,
TRACE): Reintroduce.
(ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o,
ada/initialize.o, ada/raise.o): Reintroduce explicit compilation rules.

From-SVN: r180246

12 years agolto.exp (lto_init): Test slib lto and no-liker-plugin path.
Jan Hubicka [Thu, 20 Oct 2011 11:33:07 +0000 (13:33 +0200)]
lto.exp (lto_init): Test slib lto and no-liker-plugin path.

* lib/lto.exp (lto_init): Test slib lto and no-liker-plugin path.
* lto/gcc-dg.exp (check_effective_target_lto): Likewise.
* lto/c-torture.exp: Likewise.
* execute/bultins/strstr-asm.c: Force fat LTO.
* gcc.c-torture/compile/sync-1.c: Likewise.
* gcc.c-torture/compile/sync-1.c: Likewise.
* gcc.c-torture/compile/sync-3.c: Likewise.
* gcc.dg/noncompile/invalid_asm.c: Likewise.
* gcc.dg/noncompile/920507-1.c: Likewise.
* gcc.dg/torture/pr36400.c: Likewise.
* g++.dg/torture/pr34850.C: Likewise.

From-SVN: r180245

12 years agot-linux (M68K_MLIB_CPU): Add ColdFire CPUs.
Maxim Kuvyrkov [Thu, 20 Oct 2011 11:29:56 +0000 (11:29 +0000)]
t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.

gcc/
* config/m68k/t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.

From-SVN: r180244

12 years agotrans.c (lhs_or_actual_p): New predicate.
Eric Botcazou [Thu, 20 Oct 2011 11:03:54 +0000 (11:03 +0000)]
trans.c (lhs_or_actual_p): New predicate.

* gcc-interface/trans.c (lhs_or_actual_p): New predicate.
(unchecked_conversion_nop): Use it.
(gnat_to_gnu): Likewise.

From-SVN: r180243

12 years agoback_end.adb (Call_Back_End): Pass the maximum logical line number instead of the...
Eric Botcazou [Thu, 20 Oct 2011 10:56:08 +0000 (10:56 +0000)]
back_end.adb (Call_Back_End): Pass the maximum logical line number instead of the maximum physical line...

* back_end.adb (Call_Back_End): Pass the maximum logical line number
instead of the maximum physical line number to gigi.
* gcc-interface/trans.c (Sloc_to_locus): Cope with line zero.

From-SVN: r180242

12 years agore PR target/50106 ([ARM] Wrong code with -march=armv5t -mthumb -Os)
Ramana Radhakrishnan [Thu, 20 Oct 2011 09:07:30 +0000 (09:07 +0000)]
re PR target/50106 ([ARM] Wrong code with -march=armv5t -mthumb -Os)

2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

       PR target/50106
       * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
reg size from 1-3.

From-SVN: r180240

12 years agoFix thinko in _cpp_remaining_tokens_num_in_context
Dodji Seketeli [Thu, 20 Oct 2011 08:49:29 +0000 (08:49 +0000)]
Fix thinko in _cpp_remaining_tokens_num_in_context

libcpp/

* lex.c (_cpp_remaining_tokens_num_in_context): Fix computation of
number of tokens.

From-SVN: r180239

12 years agotree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR and rotates to the set of expen...
Richard Guenther [Thu, 20 Oct 2011 07:57:48 +0000 (07:57 +0000)]
tree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR and rotates to the set of expensive operations.

2011-10-20  Richard Guenther  <rguenther@suse.de>

* tree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR
and rotates to the set of expensive operations.

From-SVN: r180237

12 years agoFix minor issues
Eric Botcazou [Thu, 20 Oct 2011 06:18:09 +0000 (06:18 +0000)]
Fix minor issues

From-SVN: r180236

12 years agoUse can_create_pseudo_p() in the sparc backend.
David S. Miller [Thu, 20 Oct 2011 04:16:45 +0000 (04:16 +0000)]
Use can_create_pseudo_p() in the sparc backend.

gcc/

* config/sparc/sparc.c (sparc_expand_move): Use
can_create_pseudo_p.
(sparc_emit_set_const32): Likewise.
(sparc_emit_set_const64_longway): Likewise.
(sparc_emit_set_const64): Likewise.
(sparc_legitimize_pic_address): Likewise.
(memory_ok_for_ldd): Likewise.

From-SVN: r180235

12 years agoprofile.c (compute_branch_probabilities): Compute and dump the overlap between the...
Dehao Chen [Thu, 20 Oct 2011 00:39:12 +0000 (00:39 +0000)]
profile.c (compute_branch_probabilities): Compute and dump the overlap between the static estimation and the...

2011-10-20  Dehao Chen  <dehao@google.com>

* profile.c (compute_branch_probabilities): Compute and dump the
overlap between the static estimation and the instrumentation profile.
(OVERLAP_BASE): New macro.
(compute_frequency_overlap): New function

From-SVN: r180233

12 years agoDaily bump.
GCC Administrator [Thu, 20 Oct 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180232

12 years agore PR c++/13657 (Error message incorrectly describes return type as argument type)
Paolo Carlini [Wed, 19 Oct 2011 22:45:58 +0000 (22:45 +0000)]
re PR c++/13657 (Error message incorrectly describes return type as argument type)

/cp
2011-10-19  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/13657
* class.c (instantiate_type): Fix error message.

/testsuite
2011-10-19  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/13657
* g++.dg/parse/error42.C: New.
* g++.old-deja/g++.other/ptrmem7.C: Tweak dg-errors.

From-SVN: r180228

12 years agore PR c++/50793 (G++ doesn't value-initialize all members of non-trivial type in...
Jason Merrill [Wed, 19 Oct 2011 22:29:15 +0000 (18:29 -0400)]
re PR c++/50793 (G++ doesn't value-initialize all members of non-trivial type in default argument)

PR c++/50793
* tree.c (bot_manip): Propagate AGGR_INIT_ZERO_FIRST.

From-SVN: r180227

12 years agoi386.c (expand_vec_perm_vpshufb2_vpermq_even_odd): Use d->op1 instead of d->op0 for...
Jakub Jelinek [Wed, 19 Oct 2011 22:08:21 +0000 (00:08 +0200)]
i386.c (expand_vec_perm_vpshufb2_vpermq_even_odd): Use d->op1 instead of d->op0 for the second vpshufb.

* config/i386/i386.c (expand_vec_perm_vpshufb2_vpermq_even_odd): Use
d->op1 instead of d->op0 for the second vpshufb.
(expand_vec_perm_even_odd_1): For V8SImode fix vpshufd immediates.
(ix86_expand_vec_perm_const): If mask indicates two operands are
needed, but both are the same and expanding them as d.op0 == d.op1
failed, retry with d.op0 != d.op1.
(ix86_expand_vec_perm_builtin): Likewise.  Handle sorry printing
also for d.nelt == 32.

* gcc.dg/torture/vshuf-32.inc: Add interleave permutations.
* gcc.dg/torture/vshuf-16.inc: Likewise.
* gcc.dg/torture/vshuf-8.inc: Likewise.
* gcc.dg/torture/vshuf-4.inc: Likewise.

From-SVN: r180212

12 years ago[multiple changes]
Benjamin Kosnik [Wed, 19 Oct 2011 22:05:26 +0000 (22:05 +0000)]
[multiple changes]

2011-10-19  Ed Smith-Rowland  <3dw4rd@verizon.net>

* include/tr2/bool_set (bool_set): New.
* include/tr2/bool_set.tcc: New.
* include/tr2/dynamic_bitset (dynamic_bitset): New.
* include/tr2/ratio (kibi, mebi, gibi, tebi, pebi, exbi): New.
* include/Makefile.am: Add files.
* include/Makefile.in: Regenerate.

2011-10-19  Benjamin Kosnik  <bkoz@redhat.com>

* doc/doxygen/user.cfg.in: Add tr2 files.
* testsuite/tr2/headers/all.cc: New.
* testsuite/tr2/headers/using_namespace_std_tr2.cc: New.

* include/tr2/type_traits: Tweak.

From-SVN: r180211

12 years agore PR fortran/47023 (C_Sizeof: Rejects valid code)
Janus Weil [Wed, 19 Oct 2011 22:05:23 +0000 (00:05 +0200)]
re PR fortran/47023 (C_Sizeof: Rejects valid code)

2011-10-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/47023
* check.c (gfc_check_sizeof): Reject procedures as argument of SIZEOF.
* intrinsinc.texi (SIZEOF): Document it.
(STORAGE_SIZE): Fix special characters. Fix line breaks.

2011-10-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/47023
* gfortran.dg/sizeof_proc.f90: New.

From-SVN: r180210

12 years agostruct-layout-1_generate.c: Also pass -mno-mmx -Wno-abi for i?86-*-mingw32* x86_64...
Joseph Myers [Wed, 19 Oct 2011 21:25:52 +0000 (22:25 +0100)]
struct-layout-1_generate.c: Also pass -mno-mmx -Wno-abi for i?86-*-mingw32* x86_64-*-mingw32* i?86-*-cygwin*.

* g++.dg/compat/struct-layout-1_generate.c: Also pass -mno-mmx
-Wno-abi for i?86-*-mingw32* x86_64-*-mingw32* i?86-*-cygwin*.

From-SVN: r180208

12 years agore PR testsuite/50796 (FAIL: gcc.dg/plugin/plugindir[1234].c)
Uros Bizjak [Wed, 19 Oct 2011 21:05:23 +0000 (23:05 +0200)]
re PR testsuite/50796 (FAIL: gcc.dg/plugin/plugindir[1234].c)

PR testsuite/50796
* gcc.dg/plugin/plugindir?.c Update dg_prune_output.

From-SVN: r180207

12 years agore PR c++/50787 (reference fails to bind directly to variable)
Jason Merrill [Wed, 19 Oct 2011 20:42:50 +0000 (16:42 -0400)]
re PR c++/50787 (reference fails to bind directly to variable)

PR c++/50787
* g++.dg/init/ref20.C: New.

From-SVN: r180206

12 years agore PR middle-end/50754 (ICE in expand_debug_expr, at cfgexpand.c:3341)
Jakub Jelinek [Wed, 19 Oct 2011 19:31:14 +0000 (21:31 +0200)]
re PR middle-end/50754 (ICE in expand_debug_expr, at cfgexpand.c:3341)

PR middle-end/50754
* cfgexpand.c (expand_debug_expr): Handle WIDEN_LSHIFT_EXPR, ignore
VEC_PERM_EXPR.

From-SVN: r180201

12 years agore PR middle-end/50795 (FAIL: gcc.dg/tree-ssa/builtin-expect-[1234].c)
Kai Tietz [Wed, 19 Oct 2011 17:44:35 +0000 (19:44 +0200)]
re PR middle-end/50795 (FAIL: gcc.dg/tree-ssa/builtin-expect-[1234].c)

        PR middle-end/50795
        * gcc.dg/tree-ssa/builtin-expect-1.c: Adjust test.
        * gcc.dg/tree-ssa/builtin-expect-2.c: Adjust test.
        * gcc.dg/tree-ssa/builtin-expect-3.c: Adjust test.
        * gcc.dg/tree-ssa/builtin-expect-4.c: Adjust test.
        * gcc.dg/tree-ssa/builtin-expect-5.c: Adjust test.

From-SVN: r180200

12 years agoregrename.h: New file.
Bernd Schmidt [Wed, 19 Oct 2011 17:26:26 +0000 (17:26 +0000)]
regrename.h: New file.

* regrename.h: New file.
* regrename.c: Include it.  Also include "emit-rtl.h".
(struct du_head, struct du_chain, du_head_p DEF_VEC and
DEF_VEC_ALLOC_P): Move to regrename.h.
(do_replace): Remove declaration.
(insn_rr): New variable.
(cur_operand): New static variable.
(regrename_chain_from_id): Renamed from chain_from_id and no longer
static.  All callers changed.
(record_operand_use): New static function.
(scan_rtx_reg): Use it.
(find_best_rename_reg): New function, broken out of rename_chains.
(rename_chains): Use it.  Don't update chain regno and nregs here, ...
(regrename_do_replace): ... do it here instead.  Renamed from
do_replace, and no longer static.  All callers changed.
(regrename_analyze): No longer static.  New arg bb_mask.
All callers changed.  If bb_mask is nonzero, use it to limit the
number of basic blocks we analyze.  If we failed to analyze a block,
clear insn operand data.
(record_out_operands): New arg insn_info.  Update cur_operand if it is
nonnull.
(build_def_use): If insn_rr is nonnull, pass an insn_info to
record_out_operands, and update cur_operand here as well.
(regrename_init, regrename_finish): New functions.
(regrename_optimize): Use them.
* Makefile.in (regrename.o): Adjust dependencies.

From-SVN: r180198

12 years agore PR tree-optimization/50769 (ICE: in phi_alternatives_equal, at tree-cfgcleanup...
Tom de Vries [Wed, 19 Oct 2011 16:29:42 +0000 (16:29 +0000)]
re PR tree-optimization/50769 (ICE: in phi_alternatives_equal, at tree-cfgcleanup.c:355 with -O2 -fno-delete-null-pointer-checks -fno-guess-branch-probability -fipa-pta)

2011-10-19  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50769
* tree-ssa-tail-merge.c (replace_block_by): Calculate phi_vuse2
unconditionally.  Handle case that phi_vuse2 is not an SSA_NAME.  Add
dummy argument .MEM to phi when increasing number of arguments of phi by
redirecting edges to the block with phi.

From-SVN: r180197

12 years agoProperly test for madvise on Solaris 10 (PR bootstrap/50777)
Rainer Orth [Wed, 19 Oct 2011 16:02:30 +0000 (16:02 +0000)]
Properly test for madvise on Solaris 10 (PR bootstrap/50777)

PR bootstrap/50777
* configure.ac: Save and restore CXXFLAGS around
gcc_AC_CHECK_DECLS uses.
Check for madvise() declaration with g++ if --enable-build-with-cxx.
* configure: Regenerate.
* config.in: Regenerate.
* ggc-page.c (USING_MADVISE): Also check HAVE_DECL_MADVISE.

From-SVN: r180195

12 years agore PR middle-end/49310 (Compile time hog in var-tracking emit)
Alexandre Oliva [Wed, 19 Oct 2011 15:50:00 +0000 (15:50 +0000)]
re PR middle-end/49310 (Compile time hog in var-tracking emit)

PR debug/49310
* var-tracking.c (loc_exp_dep, onepart_aux): New structs.
(variable_part): Replace offset with union.
(enum onepart_enum, onepart_enum_t): New.
(variable_def): Drop cur_loc_changed, add onepart.
(value_chain_def, const_value_chain): Remove.
(VAR_PART_OFFSET, VAR_LOC_1PAUX): New macros, with checking.
(VAR_LOC_DEP_LST, VAR_LOC_DEP_LSTP): New macros.
(VAR_LOC_FROM, VAR_LOC_DEPTH, VAR_LOC_DEP_VEC): Likewise.
(value_chain_pool, value_chains): Remove.
(dropped_values): New.
(struct parm_reg): Only if HAVE_window_save.
(vt_stack_adjustments): Don't record register arguments.
(dv_as_rtx): New.
(dv_onepart_p): Return a onepart_enum_t.
(onepart_pool): New.
(dv_pool): Remove.
(dv_from_rtx): New.
(variable_htab_free): Release onepart aux data.  Reset flags.
(value_chain_htab_hash, value_chain_htab_eq): Remove.
(unshare_variable): Use onepart field.  Propagate onepart aux
data or offset.  Drop cur_loc_changed.
(val_store): Cope with NULL insn.  Rephrase dump output.  Check
for unsuitable locs.  Add FIXME on using cselib locs.
(val_reset): Remove FIXME of unfounded concerns.
(val_resolve): Check for unsuitable locs.  Add FIXME on using
cselib locs.
(variable_union): Use onepart field, adjust access to offset.
(NO_LOC_P): New.
(VALUE_CHANGED, DECL_CHANGED): Update doc.
(set_dv_changed): Clear NO_LOC_P when changed.
(find_loc_in_1pdv): Use onepart field.
(intersect_loc_chains): Likewise.
(unsuitable_loc): New.
(loc_cmp): Keep ENTRY_VALUEs at the end of the loc list.
(add_value_chain, add_value_chains): Remove.
(add_cselib_value_chains, remove_value_chain): Likewise.
(remove_value_chains, remove_cselib_value_chains): Likewise.
(canonicalize_loc_order_check): Use onepart.  Drop cur_loc_changed.
(canonicalize_values_star, canonicalize_vars_star): Use onepart.
(variable_merge_over_cur): Likewise.  Adjust access to offset.
Drop cur_loc_changed.
(variable_merge_over_src): Use onepart field.
(remove_duplicate_values): Likewise.
(variable_post_merge_new_vals): Likewise.
(find_mem_expr_in_1pdv): Likewise.
(dataflow_set_preserve_mem_locs): Likewise.  Drop cur_loc_changed
and value chains.
(dataflow_set_remove_mem_locs): Likewise.  Use VAR_LOC_FROM.
(variable_different_p): Use onepart field.  Move onepart test out
of the loop.
(argument_reg_set): Drop.
(add_uses, add_stores): Preserve but do not record in dynamic
tables equivalences for ENTRY_VALUEs and CFA_based addresses.
Avoid unsuitable address expressions.
(EXPR_DEPTH): Unlimit.
(EXPR_USE_DEPTH): Repurpose PARAM_MAX_VARTRACK_EXPR_DEPTH.
(prepare_call_arguments): Use DECL_RTL_IF_SET.
(dump_var): Adjust access to offset.
(variable_from_dropped, recover_dropped_1paux): New.
(variable_was_changed): Drop cur_loc_changed.  Use onepart.
Preserve onepart aux in empty_var.  Recover empty_var and onepart
aux from dropped_values.
(find_variable_location_part): Special-case onepart.  Adjust
access to offset.
(set_slot_part): Use onepart.  Drop cur_loc_changed.  Adjust
access to offset.  Initialize onepaux.  Drop value chains.
(delete_slot_part): Drop value chains.  Use VAR_LOC_FROM.
(VEC (variable, heap), VEC (rtx, stack)): Define.
(expand_loc_callback_data): Drop dummy, cur_loc_changed,
ignore_cur_loc.  Add expanding, pending, depth.
(loc_exp_dep_alloc, loc_exp_dep_clear): New.
(loc_exp_dep_insert, loc_exp_dep_set): New.
(notify_dependents_of_resolved_value): New.
(update_depth, vt_expand_var_loc_chain): New.
(vt_expand_loc_callback): Revamped.
(resolve_expansions_pending_recursion): New.
(INIT_ELCD, FINI_ELCD): New.
(vt_expand_loc): Use the new macros above.  Drop ignore_cur_loc
parameter, adjust all callers.
(vt_expand_loc_dummy): Drop.
(vt_expand_1pvar): New.
(emit_note_insn_var_location): Operate on non-debug decls only.
Revamp multi-part cur_loc recomputation and one-part expansion.
Drop cur_loc_changed.  Adjust access to offset.
(VEC (variable, heap)): Drop.
(changed_variables_stack, changed_values_stack): Drop.
(check_changed_vars_0, check_changed_vars_1): Remove.
(check_changed_vars_2, check_changed_vars_3): Remove.
(values_to_stack, remove_value_from_changed_variables): New.
(notify_dependents_of_changed_value, process_changed_values): New.
(emit_notes_for_changes): Revamp onepart updates.
(emit_notes_for_differences_1): Use onepart.  Drop cur_loc_changed
and value chains.  Propagate onepaux.  Recover empty_var and onepaux
from dropped_values.
(emit_notes_for_differences_2): Drop value chains.
(emit_notes_in_bb): Adjust.
(vt_emit_notes): Drop value chains, changed_variables_stack.
Initialize and release dropped_values.
(create_entry_value): Revamp.
(vt_add_function_parameter): Use new interface.
(note_register_arguments): Remove.
(vt_initialize): Drop value chains and register arguments.
(vt_finalize): Drop value chains.  Release windowed_parm_regs only
if HAVE_window_save.
* rtl.h: Document various pass-local uses of RTL flags.
* tree.h (DECL_RTL_KNOWN_SET): New.
* doc/invoke.texi (param max-vartrack-expr-depth): Update
description and default.

From-SVN: r180194

12 years agore PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with constant integ...
Georg-Johann Lay [Wed, 19 Oct 2011 14:59:00 +0000 (14:59 +0000)]
re PR target/50447 ([avr] Better support of AND, OR, XOR and PLUS with constant integers for 16- and 32-bit values)

PR target/50447
* config/avr/avr.md (cc): New alternative out_plus_noclobber.
(adjust_len): Ditto.
(addhi3): Don't pipe through short; use gen_int_mode instead.
Prior to reload, expand to gen_addhi3_clobber.
(*addhi3): Use avr_out_plus_noclobber if applicable, use
out_plus_noclobber in cc and adjust_len attribute.
(addhi3_clobber): 2 new RTL peepholes.
(addhi3_clobber): New insn.
* config/avr/avr-protos.h: (avr_out_plus_noclobber): New prototype.
* config/avr/avr.c (avr_out_plus_noclobber): New function.
(notice_update_cc): Handle CC_OUT_PLUS_NOCLOBBER.
(avr_out_plus_1): Tweak if only MSB is +/-1 and other bytes are 0.
Set cc0 to set_zn for adiw on 16-bit values.
(adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS_NOCLOBBER.
(expand_epilogue): No need to add 0 to frame_pointer_rtx.

From-SVN: r180193

12 years agore PR tree-optimization/50780 (ICE: verify_gimple failed: invalid operands in ternary...
Richard Guenther [Wed, 19 Oct 2011 14:54:34 +0000 (14:54 +0000)]
re PR tree-optimization/50780 (ICE: verify_gimple failed: invalid operands in ternary operation with -ftree-vectorize -fnon-call-exceptions)

2011-10-19  Richard Guenther  <rguenther@suse.de>

PR middle-end/50780
* tree-ssa-forwprop.c (forward_propagate_into_cond): Verify
the condition is properly gimple before using it.
* tree-eh (stmt_could_throw_1_p): Properly extract the
operation type from comparisons.

From-SVN: r180192

12 years ago[multiple changes]
Roland Stigge [Wed, 19 Oct 2011 13:20:22 +0000 (13:20 +0000)]
[multiple changes]

2011-10-19  Roland Stigge  <stigge@antcom.de>

PR translation/48638
* plugin.c (add_new_plugin): Fix typo in fatal_error message.

2011-10-19  Roland Stigge  <stigge@antcom.de>

PR translation/49517
* config/rx/rx.c (rx_print_operand): Fix typo in warning message.

/cp
2011-10-19  Roland Stigge  <stigge@antcom.de>

PR translation/49704
* semantics.c (potential_constant_expression_1): Use "AST" instead of
"ast" in sorry message.

From-SVN: r180188

12 years agore PR tree-optimization/50768 (ICE: in execute_todo, at passes.c:1731 with -O2 -ftracer)
Richard Guenther [Wed, 19 Oct 2011 12:59:21 +0000 (12:59 +0000)]
re PR tree-optimization/50768 (ICE: in execute_todo, at passes.c:1731 with -O2 -ftracer)

2011-10-19  Richard Guenther  <rguenther@suse.de>

PR middle-end/50768
* gimple-fold.c (gimplify_and_update_call_from_tree): Rewrite.

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

From-SVN: r180187

12 years agore PR rtl-optimization/50340 (Fails to build SPEC 2000 176.gcc)
Alexander Monakov [Wed, 19 Oct 2011 12:46:44 +0000 (16:46 +0400)]
re PR rtl-optimization/50340 (Fails to build SPEC 2000 176.gcc)

2011-10-19  Andrey Belevantsev  <abel@ispras.ru>

PR rtl-optimization/50340
* sel-sched-ir.c (update_target_availability): LHS register
availability is not known if the unavailable LHS of the other
expression is a different register.

* gcc.dg/pr50340.c: New.

From-SVN: r180186

12 years agore PR c++/38761 (%s substituted with regular word can't be properly translated)
Paolo Carlini [Wed, 19 Oct 2011 12:46:42 +0000 (12:46 +0000)]
re PR c++/38761 (%s substituted with regular word can't be properly translated)

2011-10-19  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/38761
PR c++/40872
* decl.c (duplicate_decls, make_typename_type, grokdeclarator): Use
G_() in error message strings to facilitate translation.
* semantics.c (finish_id_expression): Likewise.
* parser.c (cp_parser_nested_name_specifier_opt,
cp_parser_parameter_declaration): Likewise.

From-SVN: r180185

12 years agore PR target/50310 (ICE: in gen_vcondv2div2df, at config/i386/sse.md:1435 with -O...
Ulrich Weigand [Wed, 19 Oct 2011 12:17:35 +0000 (12:17 +0000)]
re PR target/50310 (ICE: in gen_vcondv2div2df, at config/i386/sse.md:1435 with -O -ftree-vectorize and __builtin_isunordered())

PR target/50310
* config/spu/spu.c (spu_emit_vector_compare): Support unordered
floating-point comparisons.

From-SVN: r180184

12 years agoOops, old revision of patch..
Jan Hubicka [Wed, 19 Oct 2011 11:39:00 +0000 (11:39 +0000)]
Oops, old revision of patch..

From-SVN: r180182

12 years agocgraphunit.c (handle_alias_pairs): Also handle wekref with destination declared.
Jan Hubicka [Wed, 19 Oct 2011 10:27:50 +0000 (12:27 +0200)]
cgraphunit.c (handle_alias_pairs): Also handle wekref with destination declared.

* cgraphunit.c (handle_alias_pairs): Also handle wekref with destination
declared.
(output_weakrefs): New function.
* varpool.c (varpool_create_variable_alias): Handle external aliases.

From-SVN: r180181

12 years agodwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as second argument...
Jakub Jelinek [Wed, 19 Oct 2011 08:43:09 +0000 (10:43 +0200)]
dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as second argument instead of mode.

* dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as
second argument instead of mode.

From-SVN: r180178

12 years agoDaily bump.
GCC Administrator [Wed, 19 Oct 2011 00:18:47 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180173

12 years agoi386.c (ix86_expand_vec_perm): In merge_two use mode SUBREG of operands[0] as target.
Jakub Jelinek [Tue, 18 Oct 2011 21:27:40 +0000 (23:27 +0200)]
i386.c (ix86_expand_vec_perm): In merge_two use mode SUBREG of operands[0] as target.

* config/i386/i386.c (ix86_expand_vec_perm): In merge_two use
mode SUBREG of operands[0] as target.
(valid_perm_using_mode_p): Don't ignore higher bits of d->perm.
(expand_vec_pshufb): For V8SImode vmode emit avx2_permvarv8si.
(expand_vec_perm_1): Handle identity and some broadcast
permutations.
(expand_vec_perm_interleave2): Handle also 32-byte modes, using
vperm2[fi]128 or vpunpck[lh]* followed by single insn permutation.
For d->testing_p return true earlier to avoid creating more GC
garbage.
(expand_vec_perm_vpermq_perm_1): New function.
(expand_vec_perm_vpshufb2_vpermq): For d->testing_p return true
earlier to avoid creating more GC garbage.  Fix handling of
V16HImode.  Avoid some SUBREGs in SET_DEST.
(expand_vec_perm_broadcast_1): Return false for 32-byte integer
vector modes.
(expand_vec_perm_vpshufb4_vpermq2): New function.
(ix86_expand_vec_perm_builtin_1): Call expand_vec_perm_vpermq_perm_1
and expand_vec_perm_vpshufb4_vpermq2.

From-SVN: r180169

12 years agoCommit correct version of previous patch.
Andrew Stubbs [Tue, 18 Oct 2011 20:40:21 +0000 (20:40 +0000)]
Commit correct version of previous patch.

2011-10-18  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/arm/driver-arm.c (host_detect_local_cpu): Close the file
before exiting.

From-SVN: r180168

12 years agodriver-arm.c (host_detect_local_cpu): Close the file before exiting.
Andrew Stubbs [Tue, 18 Oct 2011 20:33:00 +0000 (20:33 +0000)]
driver-arm.c (host_detect_local_cpu): Close the file before exiting.

2011-10-18  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config/arm/driver-arm.c (host_detect_local_cpu): Close the file
before exiting.

From-SVN: r180167

12 years agore PR tree-optimization/50717 (Silent code gen fault with incorrect widening of multiply)
Andrew Stubbs [Tue, 18 Oct 2011 19:57:15 +0000 (19:57 +0000)]
re PR tree-optimization/50717 (Silent code gen fault with incorrect widening of multiply)

2011-10-18  Andrew Stubbs  <ams@codesourcery.com>

PR tree-optimization/50717

gcc/
* tree-ssa-math-opts.c (is_widening_mult_p): Remove the 'type'
parameter.  Calculate 'type' from stmt.
(convert_mult_to_widen): Update call the is_widening_mult_p.
(convert_plusminus_to_widen): Likewise.

gcc/testsuite/
* gcc.dg/pr50717-1.c: New file.
* gcc.target/arm/wmul-12.c: Correct types.
* gcc.target/arm/wmul-8.c: Correct types.

From-SVN: r180164

12 years agore PR c++/50531 ([C++0x] ICE on defaulted template destructor)
Jason Merrill [Tue, 18 Oct 2011 19:36:28 +0000 (15:36 -0400)]
re PR c++/50531 ([C++0x] ICE on defaulted template destructor)

PR c++/50531
* pt.c (instantiate_decl): Recognize when a function defaulted
outside the class is already instantiated.

From-SVN: r180162

12 years agore PR c++/50742 (tree check fail in check_previous_goto_1)
Jason Merrill [Tue, 18 Oct 2011 17:39:31 +0000 (13:39 -0400)]
re PR c++/50742 (tree check fail in check_previous_goto_1)

PR c++/50742
* decl.c (check_previous_goto_1): Handle using-decl.

From-SVN: r180160

12 years agore PR c++/50500 ([C++0x] [DR 1082] move constructor should cause copy constructor...
Jason Merrill [Tue, 18 Oct 2011 17:39:15 +0000 (13:39 -0400)]
re PR c++/50500 ([C++0x] [DR 1082] move constructor should cause copy constructor to be deleted, but still declared)

PR c++/50500
DR 1082
* class.c (type_has_user_declared_move_constructor): New.
(type_has_user_declared_move_assign): New.
(add_implicitly_declared_members): Add lazy copy ops
even if there's a move.
* method.c (lazily_declare_fn): Delete implicit copies
if there's a move.
(maybe_explain_implicit_delete): Explain this.  Use inform rather
than error.
* cp-tree.h: Declare new fns.

From-SVN: r180159

12 years agospu.c (struct machine_function): New data structure.
Ulrich Weigand [Tue, 18 Oct 2011 15:48:49 +0000 (15:48 +0000)]
spu.c (struct machine_function): New data structure.

* config/spu/spu.c (struct machine_function): New data structure.
(spu_init_machine_status): New function.
(spu_option_override): Install it.
(get_pic_reg): Set and use cfun->machine->pic_reg.
(spu_split_immediate): Do not set crtl->uses_pic_offset_table.
(need_to_save_reg): Use cfun->machine->pic_reg instead of
checking crtl->uses_pic_offset_table.
(spu_expand_prologue): Likewise.

From-SVN: r180156

12 years agoAdd some tests for AVX2 vectorizer.
Kirill Yukhin [Tue, 18 Oct 2011 15:41:27 +0000 (15:41 +0000)]
Add some tests for AVX2 vectorizer.

2011-10-18  Kirill Yukhin  <kirill.yukhin@intel.com>

* gcc.target/i386/avx2-vpop-check.h: New header.
* gcc.target/i386/avx2-vpaddd-3.c: New test.
* gcc.target/i386/avx2-vpaddw-3.c: Ditto.
* gcc.target/i386/avx2-vpaddb-3.c: Ditto.
* gcc.target/i386/avx2-vpaddq-3.c: Ditto.
* gcc.target/i386/avx2-vpand-3.c: Ditto.
* gcc.target/i386/avx2-vpmulld-3.c: Ditto.
* gcc.target/i386/avx2-vpmullw-3.c: Ditto.
* gcc.target/i386/avx2-vpsrad-3.c: Ditto.
* gcc.target/i386/avx2-vpsraw-3.c: Ditto.
* gcc.target/i386/avx2-vpsrld-3.c: Ditto.
* gcc.target/i386/avx2-vpsrlw-3.c: Ditto.
* gcc.target/i386/avx2-vpsubb-3.c: Ditto.
* gcc.target/i386/avx2-vpsubd-3.c: Ditto.
* gcc.target/i386/avx2-vpsubq-3.c: Ditto.
* gcc.target/i386/avx2-vpsubw-3.c: Ditto.

From-SVN: r180155

12 years agore PR tree-optimization/50735 (gcc.dg/torture/vector-2.c:52:1: ICE: verify_ssa failed...
Jakub Jelinek [Tue, 18 Oct 2011 15:33:12 +0000 (17:33 +0200)]
re PR tree-optimization/50735 (gcc.dg/torture/vector-2.c:52:1: ICE: verify_ssa failed at -O1 and above)

PR tree-optimization/50735
* function.c (gimplify_parameters): Use create_tmp_var instead of
create_tmp_reg.  If parm is not TREE_ADDRESSABLE and type is complex
or vector type, set DECL_GIMPLE_REG_P.

From-SVN: r180154

12 years agore PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)
Mikael Morin [Tue, 18 Oct 2011 15:23:04 +0000 (15:23 +0000)]
re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)

PR fortran/50420
* gfortran.dg/coarray_subobject_1.f90: New test.
* gfortran.dg/coarray/subobject_1.f90: New test.

From-SVN: r180153

12 years agore PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)
Mikael Morin [Tue, 18 Oct 2011 15:17:29 +0000 (15:17 +0000)]
re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)

PR fortran/50420
* trans.c (gfc_build_array_ref): If type is not an array, check that
there is nothing to do, and do nothing.

From-SVN: r180152

12 years agore PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)
Mikael Morin [Tue, 18 Oct 2011 15:13:45 +0000 (15:13 +0000)]
re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)

PR fortran/50420
* trans-types.c (gfc_build_array_type): Don't force lower bound to one
in the deferred case.

From-SVN: r180151

12 years agore PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)
Mikael Morin [Tue, 18 Oct 2011 15:11:21 +0000 (15:11 +0000)]
re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)

PR fortran/50420
* simplify.c (simplify_cobound): Accept non-last-in-ref-chain coarrays.
Don't set already set array ref.

From-SVN: r180150

12 years agoarray.c (gfc_find_array_ref): Remove coarray-specific handling.
Mikael Morin [Tue, 18 Oct 2011 15:08:08 +0000 (15:08 +0000)]
array.c (gfc_find_array_ref): Remove coarray-specific handling.

* array.c (gfc_find_array_ref): Remove coarray-specific handling.

From-SVN: r180149

12 years agore PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)
Mikael Morin [Tue, 18 Oct 2011 15:05:30 +0000 (15:05 +0000)]
re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)

PR fortran/50420
* check.c (dim_corank_check): Use gfc_get_corank to get corank.

From-SVN: r180148

12 years agore PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)
Mikael Morin [Tue, 18 Oct 2011 15:02:38 +0000 (15:02 +0000)]
re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)

PR fortran/50420
* trans-intrinsic.c (walk_coarray): Change AR_ELEMENT to AR_SECTION.

PR fortran/50420
* trans-intrinsic.c (walk_coarray): Use gfc_walk_array_ref for
the scalarization chain initialization.

From-SVN: r180147

12 years agore PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)
Mikael Morin [Tue, 18 Oct 2011 14:59:07 +0000 (14:59 +0000)]
re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)

PR fortran/50420
* trans-intrinsic.c (walk_coarray): Allow subreferences after a
coarray object reference.

From-SVN: r180146

12 years agore PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)
Mikael Morin [Tue, 18 Oct 2011 14:55:48 +0000 (14:55 +0000)]
re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)

PR fortran/50420
* trans-array.c (gfc_walk_array_ref): Allow zero rank arrays
if they are coarrays.

From-SVN: r180145

12 years agotrans-array.h (gfc_walk_array_ref): New prototype.
Mikael Morin [Tue, 18 Oct 2011 14:53:43 +0000 (14:53 +0000)]
trans-array.h (gfc_walk_array_ref): New prototype.

* trans-array.h (gfc_walk_array_ref): New prototype.
* trans-array.c (gfc_walk_array_ref): New function, containing
all but the beginning of gfc_walk_variable_expr's code.
(gfc_walk_variable_expr): Use gfc_walk_array_ref.

From-SVN: r180144

12 years agore PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)
Mikael Morin [Tue, 18 Oct 2011 14:45:46 +0000 (14:45 +0000)]
re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)

PR fortran/50420
* trans-array.c (gfc_conv_expr_descriptor): Use loop.dimen instead of
ndim for the descriptor's rank.

From-SVN: r180143

12 years agore PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)
Mikael Morin [Tue, 18 Oct 2011 14:42:21 +0000 (14:42 +0000)]
re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents)

PR fortran/50420
* trans-array.c (gfc_conv_expr_descriptor): Count codimensions starting
from zero, and add then the relevant offset (either ndim or loop.dimen)
depending on context.

From-SVN: r180142

12 years agotrans-array.c (gfc_conv_expr_descriptor): Save some horizontal space.
Mikael Morin [Tue, 18 Oct 2011 14:37:39 +0000 (14:37 +0000)]
trans-array.c (gfc_conv_expr_descriptor): Save some horizontal space.

* trans-array.c (gfc_conv_expr_descriptor): Save some horizontal space.

From-SVN: r180141

12 years agotrans-array.c (gfc_conv_expr_descriptor): Move ndim initialization earlier.
Mikael Morin [Tue, 18 Oct 2011 14:32:03 +0000 (14:32 +0000)]
trans-array.c (gfc_conv_expr_descriptor): Move ndim initialization earlier.

* trans-array.c (gfc_conv_expr_descriptor): Move ndim initialization
earlier.

From-SVN: r180140

12 years agoconfig.host (arm*-*-linux*): Add driver-arm.o and x-arm.
Andrew Stubbs [Tue, 18 Oct 2011 14:14:14 +0000 (14:14 +0000)]
config.host (arm*-*-linux*): Add driver-arm.o and x-arm.

2011-10-18  Andrew Stubbs  <ams@codesourcery.com>

gcc/
* config.host (arm*-*-linux*): Add driver-arm.o and x-arm.
* config/arm/arm.opt: Add 'native' processor_type and
arm_arch enum values.
* config/arm/arm.h (host_detect_local_cpu): New prototype.
(EXTRA_SPEC_FUNCTIONS): New define.
(MCPU_MTUNE_NATIVE_SPECS): New define.
(DRIVER_SELF_SPECS): New define.
* config/arm/driver-arm.c: New file.
* config/arm/x-arm: New file.
* doc/invoke.texi (ARM Options): Document -mcpu=native,
-mtune=native and -march=native.

From-SVN: r180139

12 years agoparser.c: Remove ENABLE_CHECKING markers around debugging routines.
Diego Novillo [Tue, 18 Oct 2011 12:36:46 +0000 (08:36 -0400)]
parser.c: Remove ENABLE_CHECKING markers around debugging routines.

* parser.c: Remove ENABLE_CHECKING markers around debugging
routines.
(cp_lexer_dump_tokens): Add arguments START_TOKEN and CURR_TOKEN.
Make static
When printing CURR_TOKEN surround it in [[ ]].
Start printing at START_TOKEN.
Update all users.
(cp_debug_print_tree_if_set): New.
(cp_debug_print_context): New.
(cp_debug_print_context_stack): New.
(cp_debug_print_flag): New.
(cp_debug_print_unparsed_function): New.
(cp_debug_print_unparsed_queues): New.
(cp_debug_parser_tokens): New.
(cp_debug_parser): New.
(cp_lexer_start_debugging): Set cp_lexer_debug_stream to stderr.
(cp_lexer_stop_debugging): Set cp_lexer_debug_stream to NULL.
* parser.h (cp_lexer_dump_tokens): Remove declaration.
(cp_debug_parser): Declare.

From-SVN: r180136

12 years agore PR rtl-optimization/50205 (ICE: in code_motion_path_driver, at sel-sched.c:6581...
Alexander Monakov [Tue, 18 Oct 2011 12:36:16 +0000 (16:36 +0400)]
re PR rtl-optimization/50205 (ICE: in code_motion_path_driver, at sel-sched.c:6581 with -fselective-scheduling2 and custom flags)

PR rtl-optimization/50205
* sel-sched.c (count_occurrences_1): Simplify on the assumption that
p->x is a register.  Forbid substitution when the same register is
found in a different mode.
(count_occurrences_equiv): Assert that 'what' is a register.

* gcc.dg/pr50205.c: New.

From-SVN: r180135

12 years agore PR tree-optimization/50767 (ICE: in refs_may_alias_p_1, at tree-ssa-alias.c:1004...
Richard Guenther [Tue, 18 Oct 2011 11:44:15 +0000 (11:44 +0000)]
re PR tree-optimization/50767 (ICE: in refs_may_alias_p_1, at tree-ssa-alias.c:1004 with -O2 -fno-tree-copy-prop -fno-tree-dominator-opts)

2011-10-18  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/50767
* tree-ssa-pre.c (create_expression_by_pieces): Update the
folded statement.

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

From-SVN: r180134

12 years agoIn gcc/objc/: 2011-10-18 Mikael Pettersson <mikpe@it.uu.se>
Mikael Pettersson [Tue, 18 Oct 2011 11:31:45 +0000 (13:31 +0200)]
In gcc/objc/: 2011-10-18 Mikael Pettersson <mikpe@it.uu.se>

In gcc/objc/:
2011-10-18  Mikael Pettersson  <mikpe@it.uu.se>

PR objc/50743
* objc-act.c (check_duplicates): Cast TREE_VEC_LENGTH result to
size_t to avoid signed/unsigned
comparison.
(insert_method_into_method_map): Likewise.

From-SVN: r180132

12 years agogcc/
Julian Brown [Tue, 18 Oct 2011 10:49:44 +0000 (10:49 +0000)]
gcc/
    * config/arm/arm.c (arm_block_move_unaligned_straight)
    (arm_adjust_block_mem, arm_block_move_unaligned_loop)
    (arm_movmemqi_unaligned): New.
    (arm_gen_movmemqi): Support unaligned block copies.

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_unaligned):
    New.
    * gcc.target/arm/unaligned-memcpy-1.c: New.
    * gcc.target/arm/unaligned-memcpy-2.c: New.
    * gcc.target/arm/unaligned-memcpy-3.c: New.
    * gcc.target/arm/unaligned-memcpy-4.c: New.

From-SVN: r180131

12 years agore PR fortran/47023 (C_Sizeof: Rejects valid code)
Janus Weil [Tue, 18 Oct 2011 10:48:12 +0000 (12:48 +0200)]
re PR fortran/47023 (C_Sizeof: Rejects valid code)

2011-10-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/47023
* decl.c (verify_c_interop_param): Renamed to
'gfc_verify_c_interop_param'. Add error message for polymorphic
arguments.
(verify_c_interop): Renamed to 'gfc_verify_c_interop'. Reject
polymorphic variables.
(verify_bind_c_sym): Renamed 'verify_c_interop'.
* gfortran.h (verify_c_interop,verify_c_interop_param): Renamed.
* check.c (gfc_check_sizeof): Ditto.
* resolve.c (gfc_iso_c_func_interface,resolve_fl_procedure): Ditto.
* symbol.c (verify_bind_c_derived_type): Ditto.

2011-10-18  Janus Weil  <janus@gcc.gnu.org>

PR fortran/47023
* gfortran.dg/iso_c_binding_class.f03: New.

From-SVN: r180130

12 years ago2011-10-18 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Tue, 18 Oct 2011 09:50:47 +0000 (09:50 +0000)]
2011-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

* Fix ChangeLogs.

From-SVN: r180129

12 years agomd.texi (vec_widen_ushiftl_hi, [...]): Document.
Ira Rosen [Tue, 18 Oct 2011 09:39:04 +0000 (09:39 +0000)]
md.texi (vec_widen_ushiftl_hi, [...]): Document.

* doc/md.texi (vec_widen_ushiftl_hi, vec_widen_ushiftl_lo,
vec_widen_sshiftl_hi, vec_widen_sshiftl_lo): Document.
* tree-pretty-print.c (dump_generic_node): Handle WIDEN_LSHIFT_EXPR,
VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
(op_code_prio): Likewise.
(op_symbol_code): Handle WIDEN_LSHIFT_EXPR.
* optabs.c (optab_for_tree_code): Handle
VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
(init-optabs): Initialize optab codes for vec_widen_u/sshiftl_hi/lo.
* optabs.h (enum optab_index): Add OTI_vec_widen_u/sshiftl_hi/lo.
* genopinit.c (optabs): Initialize the new optabs.
* expr.c (expand_expr_real_2): Handle
VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
* gimple-pretty-print.c (dump_binary_rhs): Likewise.
* tree-vectorizer.h (NUM_PATTERNS): Increase to 8.
* tree.def (WIDEN_LSHIFT_EXPR, VEC_WIDEN_LSHIFT_HI_EXPR,
VEC_WIDEN_LSHIFT_LO_EXPR): New.
* cfgexpand.c (expand_debug_expr): Handle new tree codes.
* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
vect_recog_widen_shift_pattern.
(vect_handle_widen_mult_by_const): Rename...
(vect_handle_widen_op_by_const): ...to this.  Handle shifts.
Add a new argument, update documentation.
(vect_recog_widen_mult_pattern): Assume that only second
operand can be constant.  Update call to
vect_handle_widen_op_by_const.
(vect_recog_over_widening_pattern): Fix typo.
(vect_recog_widen_shift_pattern): New.
* tree-vect-stmts.c (vectorizable_type_promotion): Handle
widening shifts.
(supportable_widening_operation): Likewise.
* tree-inline.c (estimate_operator_cost): Handle new tree codes.
* tree-vect-generic.c (expand_vector_operations_1): Likewise.
* tree-cfg.c (verify_gimple_assign_binary): Likewise.
* config/arm/neon.md (neon_vec_<US>shiftl_<mode>): New.
(vec_widen_<US>shiftl_lo_<mode>, neon_vec_<US>shiftl_hi_<mode>,
vec_widen_<US>shiftl_hi_<mode>, neon_vec_<US>shift_left_<mode>):
Likewise.
* config/arm/predicates.md (const_neon_scalar_shift_amount_operand):
New.
* config/arm/iterators.md (V_innermode): New.
* tree-vect-slp.c (vect_build_slp_tree): Require same shift operand
for widening shift.

From-SVN: r180128

12 years agotree-ssa-alias.h (struct pt_solution): Remove vars_contains_restrict member.
Richard Guenther [Tue, 18 Oct 2011 09:04:54 +0000 (09:04 +0000)]
tree-ssa-alias.h (struct pt_solution): Remove vars_contains_restrict member.

2011-10-18  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.h (struct pt_solution): Remove
vars_contains_restrict member.
(pt_solutions_same_restrict_base): Remove.
(pt_solution_set): Adjust.
* tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Remove
vars_contains_restrict handling.
(dump_points_to_solution): Likewise.
(ptr_derefs_may_alias_p): Do not call pt_solutions_same_restrict_base.
* tree-ssa-structalias.c (struct variable_info): Remove is_restrict_var
field.
(new_var_info): Do not initialize it.
(ipa_escaped_pt): Adjust.
(make_constraint_from_restrict): Make the tag global.
(make_constraint_from_global_restrict): New function.
(make_constraint_from_heapvar): Remove.
(create_variable_info_for): Do not make restrict vars point
to NONLOCAL.
(intra_create_variable_infos): Likewise.
(find_what_var_points_to): Remove vars_contains_restrict handling.
(pt_solution_set): Adjust.
(pt_solution_ior_into): Likewise.
(pt_solutions_same_restrict_base): Remove.
(compute_points_to_sets): Do not test is_restrict_var.
* cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
* gimple-pretty-print.c (pp_points_to_solution): Likewise.

* gcc.dg/torture/restrict-1.c: New testcase.

From-SVN: r180127

12 years agore PR tree-optimization/50672 (ice: verify_ssa failed: no immediate_use list)
Tom de Vries [Tue, 18 Oct 2011 08:57:39 +0000 (08:57 +0000)]
re PR tree-optimization/50672 (ice: verify_ssa failed: no immediate_use list)

2011-10-18  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50672
* tree-ssa-dce.c (mark_virtual_operand_for_renaming): New function,
factored out of ...
(mark_virtual_phi_result_for_renaming): Use
mark_virtual_operand_for_renaming.
* tree-flow.h (mark_virtual_operand_for_renaming): Declare.
* tree-ssa-tail-merge.c (release_last_vdef): New function.
(purge_bbs): Add update_vops parameter.  Call release_last_vdef for each
deleted basic block.
(tail_merge_optimize): Add argument to call to purge_bbs.

From-SVN: r180126

12 years agore PR middle-end/50716 (Segmentation fault caused by misaligned vector access)
Richard Guenther [Tue, 18 Oct 2011 08:46:00 +0000 (08:46 +0000)]
re PR middle-end/50716 (Segmentation fault caused by misaligned vector access)

2011-10-18  Richard Guenther  <rguenther@suse.de>

PR middle-end/50716
* expr.c (get_object_or_type_alignment): New function.
(expand_assignment): Use it.
(expand_expr_real_1): Likewise.

From-SVN: r180125

12 years agoFix bootstrap on !NO_IMPLICIT_EXTERN_C and ia32 targets
Dodji Seketeli [Tue, 18 Oct 2011 08:44:49 +0000 (08:44 +0000)]
Fix bootstrap on !NO_IMPLICIT_EXTERN_C and ia32 targets

libcpp/

* include/line-map.h (struct linemap_stats): Change the type of
the members from size_t to long.
* macro.c (macro_arg_token_iter_init): Unconditionally initialize
iter->location_ptr.

gcc/c-family/

* c-lex.c (fe_file_change): Use LINEMAP_SYSP when
!NO_IMPLICIT_EXTERN_C.

gcc/
* input.c (dump_line_table_statistics): Use long, not size_t.

From-SVN: r180124

12 years agoRemove bogus line
Eric Botcazou [Tue, 18 Oct 2011 07:24:51 +0000 (07:24 +0000)]
Remove bogus line

From-SVN: r180123

12 years ago* config/sparc/sparc.md (in_call_delay): Fix formatting issues.
Eric Botcazou [Tue, 18 Oct 2011 07:20:38 +0000 (07:20 +0000)]
* config/sparc/sparc.md (in_call_delay): Fix formatting issues.

From-SVN: r180122

12 years ago[multiple changes]
Benjamin Kosnik [Tue, 18 Oct 2011 02:58:06 +0000 (02:58 +0000)]
[multiple changes]

2011-10-17  Michael Spertus  <mike_spertus@symantec.com>

* gcc/c-family/c-common.c (c_common_reswords): Add __bases,
__direct_bases.
* gcc/c-family/c-common.h: Add RID_BASES and RID_DIRECT_BASES.

2011-10-17  Michael Spertus  <mike_spertus@symantec.com>

* cp-tree.def: Add BASES as a new tree code.
* cp-tree.h (enum cp_trait_kind): Add CPTK_BASES, CPTK_DIRECT_BASES.
(BASES_TYPE, BASES_DIRECT): Define.
(calculate_bases, finish_bases, calculate_direct_bases): Declare.
* parser.c (cp_parser_trait_expr, cp_parser_template_argument_list,
(cp_parser_simple_type_specifier, cp_parser_save_nsdmi): Use them.
* pt.c (find_parameter_packs_r, tsubst_pack_expansion): Likewise.
* semantics.c (calculate_bases, finish_bases, calculate_direct_bases,
dfs_calculate_bases_pre, dfs_calculate_bases_post,
calculate_bases_helper): Define.

2011-10-17  Michael Spertus  <mike_spertus@symantec.com>

* g++.dg/ext/bases.C: New test.

2011-10-17  Michael Spertus  <mike_spertus@symantec.com>

* include/tr2/type_traits (bases, direct_bases, typelist): New.

2011-10-17  Benjamin Kosnik  <bkoz@redhat.com>

* libstdc++-v3/include/Makefile.am: Add tr2 directory and includes.
* libstdc++-v3/include/Makefile.in: Regenerate.

* scripts/create_testsuite_files: Search tr2 directory.
* testsuite/libstdc++-dg/conformance.exp: Same.

* testsuite/tr2/bases/requirements/explicit_instantiation.cc: New.
* testsuite/tr2/bases/requirements/typedefs.cc: New.
* testsuite/tr2/bases/value.cc: New.
* testsuite/tr2/direct_bases/requirements/
explicit_instantiation.cc: New.
* testsuite/tr2/direct_bases/requirements/typedefs.cc: New.
* testsuite/tr2/direct_bases/value.cc: New.

From-SVN: r180121

12 years agoAdd sparc vec_perm patterns when VIS2.
Richard Henderson [Tue, 18 Oct 2011 00:25:30 +0000 (17:25 -0700)]
Add sparc vec_perm patterns when VIS2.

* config/sparc/sparc.md (vec_perm_constv8qi, vec_perm<mode>): New
patterns.
* config/sparc/sparc.c (sparc_expand_vec_perm_bmask): New function.
* config/sparc/sparc-protos.h (sparc_expand_vec_perm_bmask): Declare.

From-SVN: r180119

12 years agoDaily bump.
GCC Administrator [Tue, 18 Oct 2011 00:18:39 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r180118

12 years agoconfigure.ac: Add --with-native-system-header-dir.
Simon Baldwin [Mon, 17 Oct 2011 23:31:25 +0000 (23:31 +0000)]
configure.ac: Add --with-native-system-header-dir.

* configure.ac: Add --with-native-system-header-dir.  Set and
substitute NATIVE_SYSTEM_HEADER_DIR.  Use native_system_header
when setting target_header_dir.
* config.gcc: Always set native_system_header_dir.
(*-*-gnu*): Set native_system_header_dir.  Don't use t-gnu.
(i[34567]86-pc-msdosdjgpp*): Set native_system_header_dir.  Don't
use i386/t-djgpp.
(i[34567]86-*-mingw* | x86_64-*-mingw*): Set
native_system_header_dir.
(spu-*-elf*): Set native_system_header_dir.
* Makefile.in (NATIVE_SYSTEM_HEADER_DIR): Set to
@NATIVE_SYSTEM_HEADER_DIR@.
(PREPROCESSOR_DEFINES): Define NATIVE_SYSTEM_HEADER_DIR.
* cppdefault.c (STANDARD_INCLUDE_DIR): Don't define.
(NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
STANDARD_INCLUDE_COMPONENT.
(cpp_include_defaults): Don't use SYSTEM_INCLUDE_DIR.  Rename
STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
* system.h: Poison SYSTEM_INCLUDE_DIR, STANDARD_INCLUDE_DIR, and
STANDARD_INCLUDE_COMPONENT.
* config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Remove.
* config/i386/t-mingw-w32: Likewise.
* config/i386/t-mingw-w64: Likewise.
* config/spu/t-spu-elf: Likewise.
* config/i386/t-djgpp: Remove.
* config/t-gnu: Remove.
* config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Don't define.
(NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
STANDARD_INCLUDE_COMPONENT.
* config/i386/djgpp.h (STANDARD_INCLUDE_DIR): Don't define.
* config/spu/spu-elf.h: Likewise.
* config/vms/xm-vms.h: Likewise.
* config/gnu.h: Likewise.
* config/openbsd.h (INCLUDE_DEFAULTS): Change STANDARD_INCLUDE_DIR
and STANDARD_INCLUDE_COMPONENT to NATIVE_SYSTEM_HEADER_DIR and
NATIVE_SYSTME_HEADER_COMPONENT.
* doc/install.texi (Configuration): Document
--with-native-system-header-dir.  Mention it in the documentation
for --with-sysroot and --with-build-sysroot.
* doc/tm.texi.in (Driver): Don't document SYSTEM_INCLUDE_DIR or
STANDARD_INCLUDE_DIR.  Rename STANDARD_INCLUDE_COMPONENT to
NATIVE_SYSTEM_HEADER_COMPONENT.  Rename uses of
STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
* doc/fragments.texi (Target Fragment): Don't document
NATIVE_SYSTEM_HEADER_DIR.
* configure, doc/tm.texi: Rebuild.

Co-Authored-By: Ian Lance Taylor <iant@google.com>
From-SVN: r180114

12 years agoFix predicates used in sparc VIS edge instructions.
Richard Henderson [Mon, 17 Oct 2011 23:04:48 +0000 (16:04 -0700)]
Fix predicates used in sparc VIS edge instructions.

* config/sparc/sparc.md: Use register_or_zero_operand where rJ
is the constraint.

From-SVN: r180113

12 years agoSegregate sparc's handling of vector vs. non-vector modes.
David S. Miller [Mon, 17 Oct 2011 22:50:29 +0000 (22:50 +0000)]
Segregate sparc's handling of vector vs. non-vector modes.

gcc/
* config/sparc/sparc-modes.def: Add single entry vector modes for
DImode and SImode.
* config/sparc/sparc/sparc.md (V32, V32I, V64, V64I, V64N8): Delete
mode iterators.
(mov<V32:mode>): Revert back to plain SFmode pattern.
(*movsf_insn): Likewise.
(mov<V64:mode>): Revert back to plain DFmode pattern.
(*movdf_insn_sp32): Likewise.
(*movdf_insn_sp32_v9): Likewise.
(*movdf_insn_sp64): Likewise.
(V64 mode splitters) Likewise.
(addsi3): Remove VIS alternatives.
(subsi3): Likewise.
(and<V64I:mode>3): Revert to DImode only pattern.
(and<V64I:mode>3_sp32): Likewise.
(*and<V64I:mode>3_sp64): Likewise.
(and<V32I:mode>3): Likewise.
(*and_not_<V64I:mode>_sp32): Likewise.
(*and_not_<V64I:mode>_sp64): Likewise.
(*and_not_<V32I:mode>): Likewise.
(ior<V64I:mode>3): Likewise.
(*ior<V64I:mode>3_sp32): Likewise.
(*ior<V64I:mode>3_sp64): Likewise.
(ior<V32I:mode>3): Likewise.
(*or_not_<V64I:mode>_sp32): Likewise.
(*or_not_<V64I:mode>_sp64): Likewise.
(*or_not_<V32I:mode>): Likewise.
(xor<V64I:mode>3): Likewise.
(*xor<V64I:mode>3_sp32): Likewise.
(*xor<V64I:mode>3_sp64): Likewise.
(xor<V32I:mode>3): Likewise.
(V64I mode splitters): Likewise.
(*xor_not_<V64I:mode>_sp32): Likewise.
(*xor_not_<V64I:mode>_sp64): Likewise.
(*xor_not_<V32I:mode>): Likewise.
(one_cmpl<V64I:mode>2): Likewise.
(*one_cmpl<V64I:mode>2_sp32): Likewise.
(*one_cmpl<V64I:mode>2_sp64): Likewise.
(one_cmpl<V32I:mode>2): Likewise.
(VM32, VM64, VMALL): New mode iterators.
(vbits, vconstr, vfptype): New mode attributes.
(mov<VMALL:mode>): New expander.
(*mov<VM32:mode>_insn): New insn.
(*mov<VM64:mode>_insn_sp64): New insn.
(*mov<VM64:mode>_insn_sp32): New insn, and associated splitter
specifically for the register to memory case.
(vec_init<mode>): New expander.
(VADDSUB): New mode iterator.
(<plusminus_insn>v2si3, <plusminus_insn>v2hi3): Remove and replace
with...
(<plusminus_insn><mode>3): New consolidated pattern.
(VL): New mode iterator for logical operations.
(vlsuf): New more attribute.
(vlop): New code iterator.
(vlinsn, vlninsn): New code attributes.
(<code><mode>3): New insn to non-negated vector logical ops.
(*not_<code><mode>3): Likewise for negated variants.
(*nand<mode>_vis): New insn.
(vlnotop): New code iterator.
(*<code>_not1<mode>_vis, *<code>_not2<mode>_vis): New insns.
(one_cmpl<mode>2): New insn.
(faligndata<V64I:mode>_vis): Rewrite to use VM64 iterator.
(bshuffle<VM64:mode>_vis): Likewise.
(v<vis3_shift_patname><mode>3): Use GCM mode iterator.
(fp<plusminus_insn>64_vis): Use V1DI mode.
(VASS mode iterator): Use V1SI not SI mode.
* config/sparc/sparc.c (sparc_vis_init_builtins): Account for
single-entry vector mode changes.
(sparc_expand_builtin): Likewise.
(sparc_expand_vector_init): New function.
* config/sparc/sparc-protos.h (sparc_expand_vector_init): Declare.

gcc/testsuite/

* gcc.target/sparc/fand.c: Remove __LP64__ ifdefs and expect
all operations to emit VIS instructions.
* gcc.target/sparc/fandnot.c: Likewise.
* gcc.target/sparc/fnot.c: Likewise.
* gcc.target/sparc/for.c: Likewise.
* gcc.target/sparc/fornot.c: Likewise.
* gcc.target/sparc/fxnor.c: Likewise.
* gcc.target/sparc/fxor.c: Likewise.
* gcc.target/sparc/combined-1.c: Revert change to use -O2, no longer
needed.

From-SVN: r180112