1. 10 Sep, 2007 18 commits
    • exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only create an… · 93188a0b
      exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only create an abstract subprogram in the case of 'Input.
      
      2007-09-10  Gary Dismukes  <dismukes@adacore.com>
      	    Thomas Quinot  <quinot@adacore.com>
      
      	* exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
      	create an abstract subprogram in the case of 'Input. For 'Output we now
      	create a real spec/body when the type is abstract, since it can
      	potentially be called.
      	(Predefined_Primitive_Bodies): Now allow the creation of a predefined
      	body for 'Output when the type is abstract (only the creation of the
      	body for 'Input is excluded when the type is abstract).
      	(Stream_Operation_OK): Add an additional condition in the return
      	statement, so that False will be returned for TTS_Stream_Input if the
      	associated tagged type is an abstract extension. Add comments for
      	return statement.
      	(Expand_N_Object_Declaration): For the case of a shared passive
      	variable, insert init proc call only after the shared variable
      	procedures have been processed, because the IP call needs to undergo
      	shared passive variable reference expansion, which requires these
      	procedures to be available (and elaborated).
      
      From-SVN: r128335
      Gary Dismukes committed
    • adaint.c (__gnat_translate_vms): new function. · 094f0544
      2007-09-10  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* adaint.c (__gnat_translate_vms): new function.
      
      From-SVN: r128334
      Vasiliy Fofanov committed
    • s-regpat.adb (Parse_Character_Class): Fix handling of empty character classes ("[]"). · 36df551d
      2007-09-10  Emmanuel Briot  <briot@adacore.com>
      
      	* s-regpat.adb (Parse_Character_Class): Fix handling of empty character
      	classes ("[]").
      
      From-SVN: r128333
      Emmanuel Briot committed
    • exp_atag.ads, [...]: Replace headers with GPL v3 headers. · b5c84c3c
      2007-09-10  Robert Dewar  <dewar@adacore.com>
      
      	* exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
      	mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
      	mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
      	mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
      	ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
      	bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
      	bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
      	butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
      	comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
      	elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
      	err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
      	exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
      	exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
      	exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
      	exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
      	exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
      	exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
      	exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
      	exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
      	exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
      	exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
      	exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
      	fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
      	get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
      	gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
      	gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
      	gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
      	gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
      	gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
      	gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
      	inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
      	lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
      	lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
      	make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
      	mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
      	mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
      	mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
      	mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
      	osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
      	osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
      	par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
      	par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
      	par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
      	par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
      	par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
      	prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
      	prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
      	prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
      	prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
      	prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
      	prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
      	prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
      	rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
      	scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
      	sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
      	sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
      	sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
      	sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
      	sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
      	sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
      	sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
      	sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
      	sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
      	sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
      	sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
      	sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
      	sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
      	sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
      	stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
      	styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
      	switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
      	switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
      	tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
      	treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
      	types.h, uintp.h, urealp.h, usage.adb, usage.ads,
      	validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
      	xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
      	xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
      	gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
      	mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
      	symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
      	mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
      	mlib-tgt-vms.ads: Replace headers with GPL v3 headers.
      
      From-SVN: r128332
      Robert Dewar committed
    • re PR fortran/31547 (Document when CPP is called and document the f95-cpp-input option) · 2b44ab8b
      2007-09-10  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/31547
      	* gfortran.texi: Document when CPP is called.
      
      	* intrinsic.texi (IOR): Fix typos.
      
      From-SVN: r128331
      Tobias Burnus committed
    • Update copyright notice. · 43263710
      From-SVN: r128330
      Arnaud Charlet committed
    • a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber x87 registers. · a56955b1
      	* a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
      	x87 registers.
      
      From-SVN: r128329
      Eric Botcazou committed
    • re PR target/33369 (suffix or operands invalid for `pslld') · f8568ac0
      	PR target/33369
      	* gcc/config/i386/sse.md (ashr<mode>3): Change op2 mode to SImode.
      	Use 'N' operand constraint for op2.
      	(lshr<mode>3): Ditto.
      	(ashl<mode>3): Ditto.
      	(vec_shl_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
      	(vec_shr_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
      
      	* gcc/config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLL?128,
      	IX86_BUILTIN_PSRA*?128, IX86_BUILTIN_PSRL?128]: Convert op1 to SImode.
      
      testsuite/ChangeLog:
      	
      	PR target/33369
      	* gcc.dg/vect/pr33369.c: New test.
      
      From-SVN: r128328
      Uros Bizjak committed
    • decl.c (gnat_to_gnu_entity): Deal with variable built for a debug renaming declaration specially. · c03550f6
      	* decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
      	a debug renaming declaration specially.
      
      From-SVN: r128327
      Eric Botcazou committed
    • s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"): Change mode macro in the last… · 9e8c0677
      s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"): Change mode macro in the last real_2expN parameter to uppercase.
      
      2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	* config/s390/s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"):
      	Change mode macro in the last real_2expN parameter to uppercase.
      
      From-SVN: r128326
      Andreas Krebbel committed
    • re PR fortran/33370 (Structure component arrays) · 18eaa2c0
      2007-09-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/33370
      	* trans-expr.c (copyable_array_p):  Add tests that expression
      	is a variable, that it has no subreferences and that it is a
      	full array.
      	(gfc_trans_assignment): Change conditions to suit modifications
      	to copyable_array_p.
      
      2007-09-10  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/33370
      	* gfortran.dg/array_memcpy_5.f90:  New test.
      
      From-SVN: r128325
      Paul Thomas committed
    • tree-pass.h (pass_cselim): Declare new pass. · a5828d1e
              * tree-pass.h (pass_cselim): Declare new pass.
              * passes.c (init_optimization_passes): Link in pass_cselim.
              * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Renamed from
              tree_ssa_phiopt; add do_store_elim parameter, handle it by calling
              cond_store_replacement.
              (condstoretemp): New static variable.
              (cond_store_replacement): New function.
              (tree_ssa_phiopt, tree_ssa_cs_elim): New wrappers around
              tree_ssa_phiopt_worker.
              (struct name_to_bb): New.
              (get_non_trapping, name_to_bb_hash, name_to_bb_eq, add_or_mark_expr,
              nt_init_block, nt_fini_block): New static functions.
              (seen_ssa_names, nontrap_set): New static variables.
              (gate_cselim, pass_cselim): Define new pass.
              * common.opt (ftree-cselim): New flag.
              * toplev.c (process_options): Set flag_tree_cselim if required.
      
      From-SVN: r128324
      Michael Matz committed
    • simplify-rtx.c (simplify_relational_operation_1): For recent canonicalization,… · cf369845
      simplify-rtx.c (simplify_relational_operation_1): For recent canonicalization, don't recurse if op1 equals both PLUS arguments.
      
      	* simplify-rtx.c (simplify_relational_operation_1): For recent
      	canonicalization, don't recurse if op1 equals both PLUS arguments.
      
      From-SVN: r128323
      Hans-Peter Nilsson committed
    • optabs.c (expand_sync_operation): Use plus insn if minus CONST_INT_P(val). · 3b010fe3
      	* optabs.c (expand_sync_operation):  Use plus insn if minus
      	CONST_INT_P(val).
      	(expand_sync_fetch_operation):  Ditto.
      
      From-SVN: r128322
      David Daney committed
    • * config/mingw32/proc.c: New file. · 1d0bd356
      From-SVN: r128321
      Danny Smith committed
    • i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead of cvtpq2ps. · f901f85a
      2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead
      	of cvtpq2ps.
      	(*floatsisf2_sse_vector): Likewise.
      
      From-SVN: r128320
      H.J. Lu committed
    • Daily bump. · fe7b3cca
      From-SVN: r128317
      GCC Administrator committed
  2. 09 Sep, 2007 22 commits
    • i386.h (ix86_tune_indices): Rename X86_USE_VECTOR_CONVERTS to X86_TUNE_USE_VECTOR_CONVERTS. · 4e9d897d
      2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config/i386/i386.h (ix86_tune_indices): Rename
      	X86_USE_VECTOR_CONVERTS to X86_TUNE_USE_VECTOR_CONVERTS.
      	(TARGET_USE_VECTOR_CONVERTS): Updated.
      	* config/i386/i386.c: Likewise.
      
      From-SVN: r128313
      H.J. Lu committed
    • re PR c++/33324 (ICE on new array of objects with virtual destructors.) · b2ec1738
      	PR c++/33324
      	* init.c (build_new_1):  Use POINTER_PLUS_EXPR instead of MINUS_EXPR
      	to calculate cookie_ptr.
      
      From-SVN: r128312
      David Daney committed
    • put entry for last commit in correct ChangeLog · dd735081
      From-SVN: r128309
      Sandra Loosemore committed
    • invoke.texi (Overall Options): Add .sx file extension as a synonym for .S. · 55b8093e
      2007-09-09  Sandra Loosemore  <sandra@codesourcery.com>
                  Nigel Stephens <nigel@mips.com>
      
      	gcc/
      	* doc/invoke.texi (Overall Options):  Add .sx file extension
      	as a synonym for .S.
      	* cppspec.c (known_suffixes): Likewise.
      	* gcc.c (default_compilers): Likewise.
      
      Co-Authored-By: Nigel Stephens <nigel@mips.com>
      
      From-SVN: r128308
      Sandra Loosemore committed
    • acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add ECANCELED for cygwin. · 3110357b
      
      	* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add ECANCELED for cygwin.
      	* configure: Regenerate.
      	* config/os/generic/error_constants.h: Guard.
      	* testsuite/19_diagnostics/headers/system_error/
      	types_std_c++0x.cc: Same.
      
      From-SVN: r128307
      Roger Sayle committed
    • re PR target/30315 (optimize unsigned-add overflow test on x86 to use cpu flags from addl) · 921c4418
      	PR target/30315
      	* config/i386/i386.h (CANONICALIZE_COMPARISON): Delete.
      	* simplify-rtx.c (simplify_relational_operation_1): Add the
      	canonicalization from i386.h.
      	* doc/md.texi (Canonicalization of Instructions): Document it.
      
      From-SVN: r128305
      Rask Ingemann Lambertsen committed
    • binary_search.cc: Move... · 0098d806
      2007-09-09  Benjamin Kosnik  <bkoz@redhat.com>
      	
      	* testsuite/25_algorithms/binary_search.cc: Move...
      	* testsuite/25_algorithms/binary_search/2.cc: ...here.
      
      	* testsuite/25_algorithms/sort.cc: Move...	
      	* testsuite/25_algorithms/sort/1.cc: ...here.
      	* testsuite/25_algorithms/partial_sort_copy/2.cc: ...here.
      	* testsuite/25_algorithms/nth_element/3.cc: ...here.
      	* testsuite/25_algorithms/partial_sort/2.cc: ...here.
      	* testsuite/25_algorithms/stable_sort/2.cc: ...here.
      
      	* testsuite/25_algorithms/min_max.cc: Move...
      	* testsuite/25_algorithms/min/1.cc: ...here.
      	* testsuite/25_algorithms/min/2.cc: ...here.
      	* testsuite/25_algorithms/max/1.cc: ...here.
      	* testsuite/25_algorithms/max/2.cc: ...here.
      
      From-SVN: r128303
      Benjamin Kosnik committed
    • re PR libgcj/33326 (libjava - testsuite fails on intel Macintosh) · 278b0f63
      2007-09-09  Andreas Tobler  <a.tobler@schweiz.org>
      
      	PR libgcj/33326
      	* testsuite/lib/libjava.exp (libjava_arguments): Append the test spec
      	only for linux targets.
      
      From-SVN: r128302
      Andreas Tobler committed
    • i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS. · 4845dbb5
      	* i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS.
      	(TARGET_USE_VECTOR_CONVERTS): New.
      	* i386.md: New post-reload splitters for converting SF to DF and DF to
      	SF.
      	(floatsi* expander): Special case vector conversions.
      	(floatsisf2_mixed_vector, floatsisf2_sse_vector_nointernunit,
      	floatsisf2_sse_vector_internunit, floatsisf2_sse_vector,
      	floatsidf2_mixed_vector, floatsidf2_sse_vector): New.
      	(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
      	Disable when doing vector converts.
      	(floatsi<mode>2_i387): Disable when
      	* sse.md (vec_dupv2df): Export.
      	* i386.c (ix86_tune_features): Enable SSE conversions.
      
      Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
      
      From-SVN: r128301
      Jan Hubicka committed
    • tree-ssa-operands.c (add_virtual_operand): Only mark stores as has_volatile_ops… · e9f91f62
      tree-ssa-operands.c (add_virtual_operand): Only mark stores as has_volatile_ops if alias information is not available.
      
      2007-09-09  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-operands.c (add_virtual_operand): Only mark
      	stores as has_volatile_ops if alias information is not available.
      
      	* gcc.c-torture/compile/20070906-1.c: New testcase.
      
      From-SVN: r128300
      Richard Guenther committed
    • Add myself to doc/contrib.texi · 20dc9cf4
      From-SVN: r128299
      Revital Eres committed
    • interpret-run.cc (invokevirtual_resolved): Nullcheck object on TOS. · f144591b
              * interpret-run.cc (invokevirtual_resolved): Nullcheck object on
              TOS.
      
      From-SVN: r128298
      Andrew Haley committed
    • costmodel-vect-outer-fir.c: Add noinline attribute. · 61ce048a
      	* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Add
      	noinline attribute.
      	* gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c,
      	gcc.dg/vect/costmodel/spu/costmodel-fast-math-vect-pr29925.c,
      	gcc.dg/vect/costmodel/x86_64/costmodel-fast-math-vect-pr29925.c:
      	Likewise.
      
      From-SVN: r128297
      Ira Rosen committed
    • uc1.ads: Compile with -gnatws. · 8caa2436
      	* gnat.dg/specs/uc1.ads: Compile with -gnatws.
      
      From-SVN: r128296
      Eric Botcazou committed
    • addr2_p.ads: Bump size of array to 9. · 7a8faae8
              * gnat.dg/addr2_p.ads: Bump size of array to 9.
      
      From-SVN: r128295
      Eric Botcazou committed
    • tree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost, [...]): New functions. · 89675e73
      	* tree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost,
      	stmt_vinfo_set_outside_of_loop_cost): New functions.
      	* tree-vect-transform.c (vect_get_cost_fields): Remove.
      	(vect_model_simple_cost): Call
      	stmt_vinfo_set_inside/outside_of_loop_cost to set the relevant cost
      	field instead of calling vect_get_cost_fields.
      	(vect_model_store_cost, vect_model_load_cost): Likewise.
      
      From-SVN: r128294
      Ira Rosen committed
    • Fix two warnings in rs6000.c cause by bdesc_paired_preds · 23a651fc
      From-SVN: r128293
      Revital Eres committed
    • Use new debug counter · 97511ad7
      From-SVN: r128292
      Revital Eres committed
    • * ChangeLog: Fix cut'n'pasto. · 3968877d
      From-SVN: r128291
      Uros Bizjak committed
    • i386.md (X87MODEF12, SSEMODEF): Remove mode iterators. · 00188daa
      2007-09-09  Uros Bizjak  <ubizjak@gmail.com>
      
              * config/i386/i386.md (X87MODEF12, SSEMODEF): Remove mode iterators.
              Substitute all uses with ...
              (MODEF): New mode iterator.
      
              (*cmpfp_<mode>_cc): Remove operand constraints from pre-regalloc
              define_insn_and_split splitter pattern.
              (fix_trunc<mode>_fisttp_i387_1): Ditto.
              (*fix_trunc<mode>_i387_1): Ditto.
              (*fistdi2_1): Ditto.
              (*fist<mode>2_1): Ditto.
              (frndintxf2_floor): Ditto.
              (*fist<mode>2_floor_1): Ditto.
              (frndintxf2_ceil): Ditto.
              (*fist<mode>2_ceil_1): Ditto.
              (frndintxf2_trunc): Ditto.
              (frndintxf2_mask_pm): Ditto.
      
              (prologue): Use (const_int 0) as never generated filler insn.
              (epilogue): Ditto.
              (sibcall_epilogue): Ditto.
              (eh_return_si): Ditto.
              (eh_return_di): Ditto.
      
              (add<mode>3): Rename from adddf3 and addsf3.  Macroize expander
              using MODEF mode iterator.
              (sub<mode>3): Rename from subdf3 and subsf3.  Macroize expander
              using MODEF mode iterator.
              (mul<mode>3): Rename from muldf3 and mulsf3.  Macroize expander
              using MODEF mode iterator.
              (nearbyint<mode>2): Rename from nearbyintdf2 and nearbyintsf2.
              Macroize expander using MODEF mode iterator.
      
              (zero_extendsidi2): Remove operand constraints from expander.
              (smuldi3_highpart): Ditto.
              (indirect_jump): Ditto.
              (tablejump): Ditto.
              (rsqrtsf2): Ditto.
              * config/i386/sse.md (storentv4sf): Ditto.
              (storentv2df): Ditto.
              (storentv2di): Ditto.
              (storentsi): Ditto.
              (sse2_cvtpd2ps): Ditto.
              (vec_interleave_highv16qi): Ditto.
              (vec_interleave_lowv16qi): Ditto.
              (vec_interleave_highv8hi): Ditto.
              (vec_interleave_lowv8hi): Ditto.
              (vec_interleave_highv4si): Ditto.
              (vec_interleave_lowv4si): Ditto.
              (vec_interleave_highv2di): Ditto.
              (vec_interleave_lowv2di): Ditto.
              (sse2_maskmovdqu): Ditto.
              * config/i386/mmx.md (mmx_maskmovq): Ditto.
      
      From-SVN: r128290
      Uros Bizjak committed
    • tree-vectorizer.h (enum vect_def_type): Start enumeration from 1. · 805e2059
      	* tree-vectorizer.h (enum vect_def_type): Start enumeration from 1.
      	(struct _slp_tree, struct _slp_instance): Define new data structures
      	along macros for their access.
      	(struct _loop_vec_info): Define new fields: strided_stores,
      	slp_instances, and slp_unrolling_factor along macros for their access.
      	(enum slp_vect_type): New.
      	(struct _stmt_vec_info): Define new field, slp_type, and macros for its
      	access.
      	(STMT_VINFO_STRIDED_ACCESS): New macro.
      	(vect_free_slp_tree): Declare.
      	(vectorizable_load): Add an argument of type slp_tree.
      	(vectorizable_store, vectorizable_operation, vectorizable_conversion,
      	vectorizable_assignment): Likewise.
      	(vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
      	Declare (make extern).
      	* tree-vectorizer.c (new_stmt_vec_info): Initiliaze the new field.
      	(new_loop_vec_info): Likewise.
      	(destroy_loop_vec_info): Free memory allocated for SLP structures.
      	* tree-vect-analyze.c: Include recog.h.
      	(vect_update_slp_costs_according_to_vf): New.
      	(vect_analyze_operations): Add argument for calls to vectorizable_ ()
      	functions. For not pure SLP stmts with strided access check that the
      	group size is power of 2. Update the vectorization factor according to
      	SLP. Call vect_update_slp_costs_according_to_vf.
      	(vect_analyze_group_access): New.
      	(vect_analyze_data_ref_access): Call vect_analyze_group_access.
      	(vect_free_slp_tree): New functions.
      	(vect_get_and_check_slp_defs, vect_build_slp_tree, vect_print_slp_tree,
      	vect_mark_slp_stmts, vect_analyze_slp_instance, vect_analyze_slp,
      	vect_make_slp_decision, vect_detect_hybrid_slp_stmts,
      	vect_detect_hybrid_slp): Likewise.
      	(vect_analyze_loop): Call vect_analyze_slp, vect_make_slp_decision
      	and vect_detect_hybrid_slp.
      	* tree-vect-transform.c (vect_estimate_min_profitable_iters): Take
      	SLP costs into account.
      	(vect_get_cost_fields): New function.
      	(vect_model_simple_cost): Make extern, add SLP parameter and handle
      	SLP.
      	(vect_model_store_cost, vect_model_load_cost): Likewise.
      	(vect_get_constant_vectors): New function.
      	(vect_get_slp_vect_defs, vect_get_slp_defs,
      	vect_get_vec_defs_for_stmt_copy, vect_get_vec_defs_for_stmt_copy,
      	vect_get_vec_defs): Likewise.
      	(vectorizable_reduction): Don't handle SLP for now.
      	(vectorizable_call): Don't handle SLP for now. Add argument to
      	vect_model_simple_cost.
      	(vectorizable_conversion): Handle SLP (call vect_get_vec_defs to
      	get SLPed and vectorized defs). Fix indentation and spacing.
      	(vectorizable_assignment): Handle SLP.
      	(vectorizable_induction): Don't handle SLP for now.
      	(vectorizable_operation): Likewise.
      	(vectorizable_type_demotion): Add argument to
      	vect_model_simple_cost.
      	(vectorizable_type_promotion): Likewise.
      	(vectorizable_store, vectorizable_load): Handle SLP.
      	(vectorizable_condition): Don't handle SLP for now.
      	(vect_transform_stmt): Add a new argument for SLP. Check that there is
      	no SLP transformation required for unsupported cases. Add SLP
      	argument for supported cases.
      	(vect_remove_stores): New function.
      	(vect_schedule_slp_instance, vect_schedule_slp): Likewise.
      	(vect_transform_loop): Schedule SLP instances.
      	* Makefile.in: (tree-vect-analyze.o): Depend on recog.h.
      
      From-SVN: r128289
      Ira Rosen committed