97308 Commits

Author SHA1 Message Date
Eric Botcazou
4f8a6678fb trans.c (unchecked_conversion_lhs_nop): Rename into...
* gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into...
	(unchecked_conversion_nop): ...this.  Handle actual parameters.
	(gnat_to_gnu): Adjust for above renaming.

From-SVN: r154659
2009-11-25 21:57:02 +00:00
Eric Botcazou
ca37373a97 decl.c (gnat_to_gnu_entity): Translate regular boolean types into BOOLEAN_TYPEs.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
	Translate regular boolean types into BOOLEAN_TYPEs.

From-SVN: r154658
2009-11-25 21:28:00 +00:00
Jakub Jelinek
281e33e1bb re PR fortran/42162 (OpenMP: ICE: tree check in omp_add_variable, at gimplify.c:5282)
PR fortran/42162
	* trans-openmp.c (gfc_trans_omp_do): When dovar isn't a VAR_DECL,
	don't use simple loop and handle clauses properly.

	* testsuite/libgomp.fortran/pr42162.f90: New test.

From-SVN: r154654
2009-11-25 21:28:56 +01:00
Jakub Jelinek
fc07d9e3cb sysv4.opt (mregnames): Change Var to rs6000_regnames.
* config/rs6000/sysv4.opt (mregnames): Change Var to rs6000_regnames.
	* config/rs6000/sysv4.h (TARGET_REGNAMES): Define.

	* gcc.target/powerpc/regnames-1.c: New test.

From-SVN: r154653
2009-11-25 21:23:20 +01:00
Jakub Jelinek
72b2bc46f5 re PR target/42165 (-masm=intel doesn't know how to print AVX instructions)
PR target/42165
	* config/i386/i386.c (print_operand): For 32-byte memory use
	YMMWORD in -masm=intel mode.  Use TBYTE instead of XWORD.
	* config/i386/i386.md (crc32modesuffix): Expand to nothing
	in -masm=intel mode.
	(sse4_2_crc32di): Print just crc32 instead of crc32q in
	-masm=intel mode.
	* config/i386/mmx.md (*mmx_pinsrw): Print correct size of
	memory operand in -masm=intel mode.
	* config/i386/sse.md (*avx_pinsr<ssevecsize>, *sse4_1_pinsrb,
	*sse2_pinsrw): Likewise.
	(sse_cvtss2siq, sse_cvtss2siq_2, sse_cvttss2siq): Don't print
	q suffix in -masm=intel mode.

From-SVN: r154652
2009-11-25 21:20:40 +01:00
Jakub Jelinek
8a2bbeef66 print-rtl.c (print_rtx): When printing newline, append print_rtx_head and indentation after the newline.
* print-rtl.c (print_rtx): When printing newline, append
	print_rtx_head and indentation after the newline.

From-SVN: r154651
2009-11-25 21:18:37 +01:00
Eric Botcazou
42da303a46 re PR target/10127 (-fstack-check let's program crash)
PR target/10127
	PR ada/20548
	PR middle-end/42004
	* dwarf2out.c (dwarf2out_args_size_adjust): Rename to...
	(dwarf2out_stack_adjust): ...this.  Do not adjust the arg size for
	ACCUMULATE_OUTGOING_ARGS targets.  Rename former version to...
	(dwarf2out_notice_stack_adjust): ...this.  Adjust for above renaming.
	(dwarf2out_frame_debug_expr): Revert previous change and adjust for
	above renaming.
	(dwarf2out_frame_debug): Add ??? comment.  Adjust for above renaming.

From-SVN: r154650
2009-11-25 19:55:11 +00:00
Uros Bizjak
85b1d1bd1a predicates.md (emms_operation): New predicate.
* config/i386/predicates.md (emms_operation): New predicate.
	(vzeroupper_operation): Ditto.
	(vzeroall_operation): Improve pattern recognition.
	* config/i386/sse.md (avx_vzeroupper_rex64): Remove insn pattern.
	(avx_vzeroupper): Change insn pattern to expander.
	(*avx_vzeroupper): New insn pattern.  Use vzeroupper_operation
	predicate.
	(*avx_vzeroall): Remove operands 1 and 2.
	* config/i386/mmx.md (mmx_emms): Change insn pattern to expander.
	(mmx_femms): Ditto.
	(*mmx_emms): New insn pattern.  Use emms_operation predicate.
	(*mmx_femms): Ditto.
	* config/i386/i386.c (enum ix86_builtins)
	<IX86_BUILTIN_VZEROUPPER_REX64>: Remove.
	(struct builtin_description) <CODE_FOR_avx_vzeroupper_rex64>:
	Remove initailization.
	<CODE_FOR_avx_vzeroupper>: Unconditionally initialize here.

From-SVN: r154649
2009-11-25 20:32:37 +01:00
Paul Brook
5115f061bf arm.md (consttable_4): Handle (high ...).
2009-11-25  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.md (consttable_4): Handle (high ...).

From-SVN: r154648
2009-11-25 13:58:51 +00:00
Robert Nelson
70dd156abb arm.h (enum vfp_reg_type): Add VFP_NONE.
2009-11-25  Robert Nelson  <robert.nelson@digikey.com>
	    Richard Earnshaw  <rearnsha@arm.com>

	* arm.h (enum vfp_reg_type): Add VFP_NONE.
	* arm.c (all_fpus): Use it for floating point units that aren't based
	on the VFP architecture.
	(aapcs_vfp_is_call_or_return_candidate): Make base_mode a pointer to
	enum machine_mode.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>

From-SVN: r154647
2009-11-25 11:23:07 +00:00
Eric Botcazou
018225cab1 re PR ada/42170 (Ada testsuite regressions caused by 8MB stack limit)
PR ada/42170
	* ada/acats/run_acats: Bump stack limit to 16MB.

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

From-SVN: r154646
2009-11-25 11:01:26 +00:00
H.J. Lu
b8698a0f37 Remove trailing white spaces.
2009-11-25  H.J. Lu  <hongjiu.lu@intel.com>

	* alias.c: Remove trailing white spaces.
	* alloc-pool.c: Likewise.
	* alloc-pool.h: Likewise.
	* attribs.c: Likewise.
	* auto-inc-dec.c: Likewise.
	* basic-block.h: Likewise.
	* bb-reorder.c: Likewise.
	* bt-load.c: Likewise.
	* builtins.c: Likewise.
	* builtins.def: Likewise.
	* c-common.c: Likewise.
	* c-common.h: Likewise.
	* c-cppbuiltin.c: Likewise.
	* c-decl.c: Likewise.
	* c-format.c: Likewise.
	* c-lex.c: Likewise.
	* c-omp.c: Likewise.
	* c-opts.c: Likewise.
	* c-parser.c: Likewise.
	* c-pretty-print.c: Likewise.
	* c-tree.h: Likewise.
	* c-typeck.c: Likewise.
	* caller-save.c: Likewise.
	* calls.c: Likewise.
	* cfg.c: Likewise.
	* cfganal.c: Likewise.
	* cfgexpand.c: Likewise.
	* cfghooks.c: Likewise.
	* cfghooks.h: Likewise.
	* cfglayout.c: Likewise.
	* cfgloop.c: Likewise.
	* cfgloop.h: Likewise.
	* cfgloopmanip.c: Likewise.
	* cfgrtl.c: Likewise.
	* cgraph.c: Likewise.
	* cgraph.h: Likewise.
	* cgraphbuild.c: Likewise.
	* cgraphunit.c: Likewise.
	* cif-code.def: Likewise.
	* collect2.c: Likewise.
	* combine.c: Likewise.
	* convert.c: Likewise.
	* coverage.c: Likewise.
	* crtstuff.c: Likewise.
	* cse.c: Likewise.
	* cselib.c: Likewise.
	* dbgcnt.c: Likewise.
	* dbgcnt.def: Likewise.
	* dbgcnt.h: Likewise.
	* dbxout.c: Likewise.
	* dce.c: Likewise.
	* ddg.c: Likewise.
	* ddg.h: Likewise.
	* defaults.h: Likewise.
	* df-byte-scan.c: Likewise.
	* df-core.c: Likewise.
	* df-problems.c: Likewise.
	* df-scan.c: Likewise.
	* df.h: Likewise.
	* dfp.c: Likewise.
	* diagnostic.c: Likewise.
	* diagnostic.h: Likewise.
	* dominance.c: Likewise.
	* domwalk.c: Likewise.
	* double-int.c: Likewise.
	* double-int.h: Likewise.
	* dse.c: Likewise.
	* dwarf2asm.c: Likewise.
	* dwarf2asm.h: Likewise.
	* dwarf2out.c: Likewise.
	* ebitmap.c: Likewise.
	* ebitmap.h: Likewise.
	* emit-rtl.c: Likewise.
	* et-forest.c: Likewise.
	* except.c: Likewise.
	* except.h: Likewise.
	* expmed.c: Likewise.
	* expr.c: Likewise.
	* expr.h: Likewise.
	* final.c: Likewise.
	* flags.h: Likewise.
	* fold-const.c: Likewise.
	* function.c: Likewise.
	* function.h: Likewise.
	* fwprop.c: Likewise.
	* gcc.c: Likewise.
	* gcov-dump.c: Likewise.
	* gcov-io.c: Likewise.
	* gcov-io.h: Likewise.
	* gcov.c: Likewise.
	* gcse.c: Likewise.
	* genattr.c: Likewise.
	* genattrtab.c: Likewise.
	* genautomata.c: Likewise.
	* genchecksum.c: Likewise.
	* genconfig.c: Likewise.
	* genflags.c: Likewise.
	* gengtype-parse.c: Likewise.
	* gengtype.c: Likewise.
	* gengtype.h: Likewise.
	* genmddeps.c: Likewise.
	* genmodes.c: Likewise.
	* genopinit.c: Likewise.
	* genpreds.c: Likewise.
	* gensupport.c: Likewise.
	* ggc-common.c: Likewise.
	* ggc-page.c: Likewise.
	* ggc-zone.c: Likewise.
	* ggc.h: Likewise.
	* gimple-iterator.c: Likewise.
	* gimple-low.c: Likewise.
	* gimple-pretty-print.c: Likewise.
	* gimple.c: Likewise.
	* gimple.def: Likewise.
	* gimple.h: Likewise.
	* gimplify.c: Likewise.
	* graphds.c: Likewise.
	* graphite-clast-to-gimple.c: Likewise.
	* gthr-nks.h: Likewise.
	* gthr-posix.c: Likewise.
	* gthr-posix.h: Likewise.
	* gthr-posix95.h: Likewise.
	* gthr-single.h: Likewise.
	* gthr-tpf.h: Likewise.
	* gthr-vxworks.h: Likewise.
	* gthr.h: Likewise.
	* haifa-sched.c: Likewise.
	* hard-reg-set.h: Likewise.
	* hooks.c: Likewise.
	* hooks.h: Likewise.
	* hosthooks.h: Likewise.
	* hwint.h: Likewise.
	* ifcvt.c: Likewise.
	* incpath.c: Likewise.
	* init-regs.c: Likewise.
	* integrate.c: Likewise.
	* ipa-cp.c: Likewise.
	* ipa-inline.c: Likewise.
	* ipa-prop.c: Likewise.
	* ipa-pure-const.c: Likewise.
	* ipa-reference.c: Likewise.
	* ipa-struct-reorg.c: Likewise.
	* ipa-struct-reorg.h: Likewise.
	* ipa-type-escape.c: Likewise.
	* ipa-type-escape.h: Likewise.
	* ipa-utils.c: Likewise.
	* ipa-utils.h: Likewise.
	* ipa.c: Likewise.
	* ira-build.c: Likewise.
	* ira-color.c: Likewise.
	* ira-conflicts.c: Likewise.
	* ira-costs.c: Likewise.
	* ira-emit.c: Likewise.
	* ira-int.h: Likewise.
	* ira-lives.c: Likewise.
	* ira.c: Likewise.
	* jump.c: Likewise.
	* lambda-code.c: Likewise.
	* lambda-mat.c: Likewise.
	* lambda-trans.c: Likewise.
	* lambda.h: Likewise.
	* langhooks.c: Likewise.
	* lcm.c: Likewise.
	* libgcov.c: Likewise.
	* lists.c: Likewise.
	* loop-doloop.c: Likewise.
	* loop-init.c: Likewise.
	* loop-invariant.c: Likewise.
	* loop-iv.c: Likewise.
	* loop-unroll.c: Likewise.
	* lower-subreg.c: Likewise.
	* lto-cgraph.c: Likewise.
	* lto-compress.c: Likewise.
	* lto-opts.c: Likewise.
	* lto-section-in.c: Likewise.
	* lto-section-out.c: Likewise.
	* lto-streamer-in.c: Likewise.
	* lto-streamer-out.c: Likewise.
	* lto-streamer.c: Likewise.
	* lto-streamer.h: Likewise.
	* lto-symtab.c: Likewise.
	* lto-wpa-fixup.c: Likewise.
	* matrix-reorg.c: Likewise.
	* mcf.c: Likewise.
	* mode-switching.c: Likewise.
	* modulo-sched.c: Likewise.
	* omega.c: Likewise.
	* omega.h: Likewise.
	* omp-low.c: Likewise.
	* optabs.c: Likewise.
	* optabs.h: Likewise.
	* opts-common.c: Likewise.
	* opts.c: Likewise.
	* params.def: Likewise.
	* params.h: Likewise.
	* passes.c: Likewise.
	* plugin.c: Likewise.
	* postreload-gcse.c: Likewise.
	* postreload.c: Likewise.
	* predict.c: Likewise.
	* predict.def: Likewise.
	* pretty-print.c: Likewise.
	* pretty-print.h: Likewise.
	* print-rtl.c: Likewise.
	* print-tree.c: Likewise.
	* profile.c: Likewise.
	* read-rtl.c: Likewise.
	* real.c: Likewise.
	* recog.c: Likewise.
	* reg-stack.c: Likewise.
	* regcprop.c: Likewise.
	* reginfo.c: Likewise.
	* regmove.c: Likewise.
	* regrename.c: Likewise.
	* regs.h: Likewise.
	* regstat.c: Likewise.
	* reload.c: Likewise.
	* reload1.c: Likewise.
	* resource.c: Likewise.
	* rtl.c: Likewise.
	* rtl.def: Likewise.
	* rtl.h: Likewise.
	* rtlanal.c: Likewise.
	* sbitmap.c: Likewise.
	* sched-deps.c: Likewise.
	* sched-ebb.c: Likewise.
	* sched-int.h: Likewise.
	* sched-rgn.c: Likewise.
	* sched-vis.c: Likewise.
	* sdbout.c: Likewise.
	* sel-sched-dump.c: Likewise.
	* sel-sched-dump.h: Likewise.
	* sel-sched-ir.c: Likewise.
	* sel-sched-ir.h: Likewise.
	* sel-sched.c: Likewise.
	* sel-sched.h: Likewise.
	* sese.c: Likewise.
	* sese.h: Likewise.
	* simplify-rtx.c: Likewise.
	* stack-ptr-mod.c: Likewise.
	* stmt.c: Likewise.
	* stor-layout.c: Likewise.
	* store-motion.c: Likewise.
	* stringpool.c: Likewise.
	* stub-objc.c: Likewise.
	* sync-builtins.def: Likewise.
	* target-def.h: Likewise.
	* target.h: Likewise.
	* targhooks.c: Likewise.
	* targhooks.h: Likewise.
	* timevar.c: Likewise.
	* tlink.c: Likewise.
	* toplev.c: Likewise.
	* toplev.h: Likewise.
	* tracer.c: Likewise.
	* tree-affine.c: Likewise.
	* tree-affine.h: Likewise.
	* tree-browser.def: Likewise.
	* tree-call-cdce.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-chrec.c: Likewise.
	* tree-chrec.h: Likewise.
	* tree-complex.c: Likewise.
	* tree-data-ref.c: Likewise.
	* tree-data-ref.h: Likewise.
	* tree-dfa.c: Likewise.
	* tree-dump.c: Likewise.
	* tree-dump.h: Likewise.
	* tree-eh.c: Likewise.
	* tree-flow-inline.h: Likewise.
	* tree-flow.h: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-into-ssa.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-loop-linear.c: Likewise.
	* tree-mudflap.c: Likewise.
	* tree-nested.c: Likewise.
	* tree-nomudflap.c: Likewise.
	* tree-nrv.c: Likewise.
	* tree-object-size.c: Likewise.
	* tree-optimize.c: Likewise.
	* tree-outof-ssa.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-pass.h: Likewise.
	* tree-phinodes.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-pretty-print.c: Likewise.
	* tree-profile.c: Likewise.
	* tree-scalar-evolution.c: Likewise.
	* tree-ssa-address.c: Likewise.
	* tree-ssa-alias.c: Likewise.
	* tree-ssa-ccp.c: Likewise.
	* tree-ssa-coalesce.c: Likewise.
	* tree-ssa-copy.c: Likewise.
	* tree-ssa-copyrename.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-dom.c: Likewise.
	* tree-ssa-dse.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-ifcombine.c: Likewise.
	* tree-ssa-live.c: Likewise.
	* tree-ssa-live.h: Likewise.
	* tree-ssa-loop-ch.c: Likewise.
	* tree-ssa-loop-im.c: Likewise.
	* tree-ssa-loop-ivcanon.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-ssa-loop-manip.c: Likewise.
	* tree-ssa-loop-niter.c: Likewise.
	* tree-ssa-loop-prefetch.c: Likewise.
	* tree-ssa-loop-unswitch.c: Likewise.
	* tree-ssa-loop.c: Likewise.
	* tree-ssa-math-opts.c: Likewise.
	* tree-ssa-operands.c: Likewise.
	* tree-ssa-operands.h: Likewise.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-phiprop.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-propagate.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sccvn.c: Likewise.
	* tree-ssa-sink.c: Likewise.
	* tree-ssa-structalias.c: Likewise.
	* tree-ssa-ter.c: Likewise.
	* tree-ssa-threadedge.c: Likewise.
	* tree-ssa-threadupdate.c: Likewise.
	* tree-ssa-uncprop.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-ssanames.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-generic.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-patterns.c: Likewise.
	* tree-vect-slp.c: Likewise.
	* tree-vect-stmts.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vectorizer.h: Likewise.
	* tree-vrp.c: Likewise.
	* tree.c: Likewise.
	* tree.def: Likewise.
	* tree.h: Likewise.
	* treestruct.def: Likewise.
	* unwind-compat.c: Likewise.
	* unwind-dw2-fde-glibc.c: Likewise.
	* unwind-dw2.c: Likewise.
	* value-prof.c: Likewise.
	* value-prof.h: Likewise.
	* var-tracking.c: Likewise.
	* varasm.c: Likewise.
	* varpool.c: Likewise.
	* vec.c: Likewise.
	* vec.h: Likewise.
	* vmsdbgout.c: Likewise.
	* web.c: Likewise.
	* xcoffout.c: Likewise.

From-SVN: r154645
2009-11-25 02:55:54 -08:00
Richard Earnshaw
98aa3f36a7 pr40835.c: Require a thumb1 target, do not force -march=armv5e.
* gcc.target/arm/pr40835.c: Require a thumb1 target, do not force
	-march=armv5e.

From-SVN: r154644
2009-11-25 10:33:40 +00:00
Sebastian Pop
ca11b09399 Empty patch as it is a revert patch already applied.
From-SVN: r154643
2009-11-25 05:36:57 +00:00
Sebastian Pop
8a9e9475c0 Empty patch as it should not be applied to trunk.
From-SVN: r154642
2009-11-25 05:36:29 +00:00
Sebastian Pop
4bf4e16939 re PR middle-end/40281 (-fprefetch-loop-arrays: ICE: in initialize_matrix_A, at tree-data-ref.c:1887)
2009-11-18  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/40281
	* testsuite/gcc.dg/graphite/pr40281.c: New.

	* tree-scalar-evolution.c (instantiate_scev_poly): Base and stride
	evolutions should not variate in inner loops.

From-SVN: r154641
2009-11-25 05:35:58 +00:00
Sebastian Pop
12aec7316d re PR middle-end/42050 (ice in graphite-clast-to-gimple.c:165)
2009-11-18  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/42050
	* testsuite/gfortran.dg/graphite/pr42050.f90: New.

From-SVN: r154640
2009-11-25 05:32:03 +00:00
Sebastian Pop
aec1242087 graphite-interchange.c (memory_strides_in_loop_depth): New.
2009-11-18  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-interchange.c (memory_strides_in_loop_depth): New.
	(pbb_interchange_profitable_p): Call memory_strides_in_loop_depth.

From-SVN: r154639
2009-11-25 05:31:36 +00:00
Sebastian Pop
25e20d33e6 graphite-blocking.c (scop_do_block): New.
2009-11-18  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-blocking.c (scop_do_block): New.
	* graphite-poly.c (apply_poly_transforms): Call scop_do_block.
	* graphite-poly.h (scop_do_block): Declared.

From-SVN: r154638
2009-11-25 05:31:07 +00:00
Sebastian Pop
e3bde9f4bc graphite-blocking.c (pbb_strip_mine_profitable_p): The parameter depth is the loop nesting depth in the LST.
2009-11-18  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-blocking.c (pbb_strip_mine_profitable_p): The parameter
	depth is the loop nesting depth in the LST.  Call psct_dynamic_dim
	to transform depth into the time_depth before calling
	pbb_number_of_iterations_at_time.
	(lst_do_strip_mine): Use a scalar variable instead of recomputing
	lst_depth.

From-SVN: r154637
2009-11-25 05:30:35 +00:00
Sebastian Pop
27e432be3c Empty patch, revert of another patch in the Graphite branch.
From-SVN: r154636
2009-11-25 05:30:05 +00:00
Sebastian Pop
f264ed5676 configure.ac: Check for version 0.15.5 or later revision of CLooG.
2009-11-21  Sebastian Pop  <sebpop@gmail.com>

	* configure.ac: Check for version 0.15.5 or later revision of CLooG.
	* configure: Regenerated.

From-SVN: r154635
2009-11-25 05:29:37 +00:00
Konrad Trifunovic
2bc529bf7d graphite-interchange.c (build_partial_difference): New.
2009-11-04  Konrad Trifunovic  <konrad.trifunovic@inria.fr>

        * graphite-interchange.c (build_partial_difference): New.
        (memory_stride_in_loop): Refactored the computation of
        equality constraints into build_partial_difference function.
        Added support for debugging stride computations.

From-SVN: r154634
2009-11-25 05:29:01 +00:00
Sebastian Pop
8c54631db7 graphite-clast-to-gimple.c (gloog): Free if_region, if_region->true_region, and if_region->region.
2009-11-03  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (gloog): Free if_region,
	if_region->true_region, and if_region->region.
	* sese.c (if_region_set_false_region): Free if_region->false_region.
	(create_if_region_on_edge): Do not use GGC_NEW.
	(move_sese_in_condition): Remove useless initialization.

From-SVN: r154633
2009-11-25 05:28:32 +00:00
Sebastian Pop
7b7f2ca76c graphite-interchange.c (lst_perfect_nestify): Pass 3 parameters for the loops created by the loop distribution.
2009-11-03  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-interchange.c (lst_perfect_nestify): Pass 3 parameters
	for the loops created by the loop distribution.  Do not modify the
	input LSTs.
	(lst_try_interchange_loops): Same.  Use a temporary LST for the
	transformed schedule.  Call lst_update_scattering before data
	dependence analysis.
	(lst_try_interchange): Pass an extra parameter INDEX.
	(lst_do_interchange_1): New.
	(lst_do_interchange): Call lst_do_interchange_1.
	(scop_do_interchange): Call lst_update_scattering.
	* graphite-poly.c (apply_poly_transforms): Do not call
	lst_update_scattering.
	* graphite-poly.h (lst_pred): New.
	(lst_succ): New.
	(lst_find_first_pbb): Return NULL when not found.
	(lst_empty_p): New.
	(lst_insert_in_sequence): Allow LST1 to be NULL.
	(lst_replace): New.
	(lst_substitute_3): New.
	* gcc.dg/graphite/interchange-1.c: XFail.
	* gcc.dg/graphite/interchange-8.c: XFail.
	* gcc.dg/graphite/interchange-11.c: XFail.

From-SVN: r154632
2009-11-25 05:28:05 +00:00
Sebastian Pop
6119e7d5ec graphite-interchange.c (lst_perfectly_nested_p): New.
2009-10-30  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-interchange.c (lst_perfectly_nested_p): New.
	(lst_perfect_nestify): New.
	(lst_try_interchange_loops): Call store_lst_schedule,
	lst_perfectly_nested_p, lst_perfect_nestify and restore_lst_schedule.
	(scop_do_interchange): Avoid redundant legality test.
	Call lst_do_interchange on a copy of SCOP_TRANSFORMED_SCHEDULE.
	* graphite-poly.c (apply_poly_transforms): Call lst_update_scattering.
	* graphite-poly.h (psct_static_dim): New.
	(lst_dewey_number_at_depth): New.
	(lst_find_pbb): Restructured.
	(lst_find_first_pbb): Restructured.
	(lst_find_last_pbb): New.
	(lst_contains_p): New.
	(lst_contains_pbb): New.
	(lst_create_nest): New.
	(lst_remove_from_sequence): New.
	(pbb_update_scattering): New.
	(lst_update_scattering_under): New.
	(lst_update_scattering_seq): New.
	(lst_update_scattering): New.
	(lst_insert_in_sequence): New.
	(lst_distribute_lst): New.
	(lst_remove_all_before_including_pbb): New.
	(lst_remove_all_before_excluding_pbb): New.

From-SVN: r154631
2009-11-25 05:27:36 +00:00
Sebastian Pop
431f3f2240 tree-ssa-loop-niter.c (finite_loop_p): Do not call twice get_loop_exit_edges.
2009-10-30  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-ssa-loop-niter.c (finite_loop_p): Do not call twice
	get_loop_exit_edges.

From-SVN: r154630
2009-11-25 05:27:08 +00:00
Sebastian Pop
4c76804615 graphite-poly.c (pbb_remove_duplicate_pdrs): Free collapsed.
2009-10-30  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.c (pbb_remove_duplicate_pdrs): Free collapsed.

From-SVN: r154629
2009-11-25 05:26:40 +00:00
Sebastian Pop
5fa8514e3f Empty patch as it has been later reverted from the graphite branch.
From-SVN: r154628
2009-11-25 05:26:10 +00:00
Sebastian Pop
6c6f84d772 graphite-clast-to-gimple.c (gloog): Do not call sese_reset_aux_in_loops.
2009-10-26  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (gloog): Do not call
	sese_reset_aux_in_loops.
	* graphite-sese-to-poly.c (build_loop_iteration_domains): Pass an
	extra argument for domains.  Do not use loop->aux.
	(build_scop_iteration_domain): Initialize and free domains, pass it
	to build_loop_iteration_domains and extract the information from
	domains.  Do not use loop->aux.
	* sese.c (sese_reset_aux_in_loops): Removed.
	* sese.h (sese_reset_aux_in_loops): Removed.

From-SVN: r154627
2009-11-25 05:25:43 +00:00
Sebastian Pop
585b3e19fe graphite-clast-to-gimple.c (find_pbb_via_hash): Moved up.
2009-10-26  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (find_pbb_via_hash): Moved up.
	(dependency_in_loop_p): Same.
	(translate_clast): Do not use loop->aux.  Initialize
	loop->can_be_parallel.
	(mark_loops_parallel): Removed.
	* graphite-clast-to-gimple.h (mark_loops_parallel): Removed.
	* graphite.c (free_aux_in_new_loops): Removed.
	(graphite_finalize): Do not call free_aux_in_new_loops.
	(graphite_transform_loops): Do not call mark_loops_parallel.

From-SVN: r154626
2009-11-25 05:25:11 +00:00
Li Feng
a7ed27aca8 graphite-clast-to-gimple.c (get_stmtfor_depth): Removed.
2009-10-20  Li Feng  <nemokingdom@gmail.com>

	* graphite-clast-to-gimple.c (get_stmtfor_depth): Removed.
	(translate_clast): Pass an extra parameter LEVEL.
	Call get_scattering_level.
	* graphite-clast-to-gimple.h (get_scattering_level): New.

From-SVN: r154625
2009-11-25 05:24:43 +00:00
Sebastian Pop
8e6ef13912 cfgloop.c (alloc_loop): Initialize loop->single_iv.
2009-10-22  Sebastian Pop  <sebastian.pop@amd.com>

	* cfgloop.c (alloc_loop): Initialize loop->single_iv.
	* cfgloop.h (struct loop): New field single_iv.

	* graphite-clast-to-gimple.c (pbb_to_depth_to_oldiv): Do not use
	loop->aux anymore: use loop->single_iv.
	(graphite_loop_normal_form): Moved...
	(build_graphite_loop_normal_form): Removed.
	(gloog): Do not call build_graphite_loop_normal_form.
	(free_aux_in_new_loops): Moved...
	(mark_loops_parallel): Restructure.
	* graphite-clast-to-gimple.h (free_aux_in_new_loops): Do not declare.
	* graphite-sese-to-poly.c (graphite_loop_normal_form): ...here.
	(scop_canonicalize_loops): New.
	(build_poly_scop): Call scop_canonicalize_loops.
	* graphite.c (free_aux_in_new_loops): ...here.

From-SVN: r154624
2009-11-25 05:24:14 +00:00
Sebastian Pop
e6dd91b2ba graphite.exp: Add the same rules as in gcc.dg/graphite/graphite.exp.
2009-10-22  Sebastian Pop  <sebastian.pop@amd.com>

	* g++.dg/graphite/graphite.exp: Add the same rules as in
	gcc.dg/graphite/graphite.exp.

From-SVN: r154623
2009-11-25 05:23:45 +00:00
Sebastian Pop
47fb473fad id-1.C: New.
2009-10-22  Sebastian Pop  <sebastian.pop@amd.com>

	* g++.dg/graphite/id-1.C: New.

From-SVN: r154622
2009-11-25 05:23:16 +00:00
Sebastian Pop
63858ac6a3 graphite-sese-to-poly.c (create_zero_dim_array): Pass an extra argument base_name.
2009-10-22  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (create_zero_dim_array): Pass an extra
	argument base_name.
	(rewrite_close_phi_out_of_ssa): Update use of create_zero_dim_array.
	(rewrite_phi_out_of_ssa): Same.
	(rewrite_cross_bb_scalar_deps): Same.
	(translate_scalar_reduction_to_array): Same.

From-SVN: r154621
2009-11-25 05:22:49 +00:00
Sebastian Pop
decfe53625 Empty patch as already applied to trunk.
2009-10-22  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (build_scop_drs): Disable call to
	dump_alias_graphs.

From-SVN: r154620
2009-11-25 05:22:21 +00:00
Sebastian Pop
0d5ef2a985 graphite-sese-to-poly.c (dump_alias_graphs): New.
2009-10-22  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (dump_alias_graphs): New.
	(build_scop_drs): Call dump_alias_graphs.

From-SVN: r154619
2009-11-25 05:21:54 +00:00
Sebastian Pop
f70de156ee graphite-poly.c (new_scop): Initialize SCOP_ORIGINAL_SCHEDULE...
2009-10-22  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.c (new_scop): Initialize SCOP_ORIGINAL_SCHEDULE,
	SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
	(free_scop): Call free_lst on SCOP_ORIGINAL_SCHEDULE,
	SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
	* graphite-poly.h (free_lst): New.
	(store_lst_schedule): Free SCOP_SAVED_SCHEDULE.
	(restore_lst_schedule): Free SCOP_TRANSFORMED_SCHEDULE.

From-SVN: r154618
2009-11-25 05:21:26 +00:00
Sebastian Pop
74715a9bf6 graphite-poly.h (struct scop): Add a field saved_schedule.
2009-10-22  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-poly.h (struct scop): Add a field saved_schedule.
	(SCOP_SAVED_SCHEDULE): New.
	(store_lst_schedule): New.
	(restore_lst_schedule): New.
	(store_scattering): Call store_lst_schedule.
	(restore_scattering): Call restore_lst_schedule.

From-SVN: r154617
2009-11-25 05:20:58 +00:00
Sebastian Pop
fb00d28e1d graphite-sese-to-poly.c (free_data_refs_aux): Fix formatting.
2009-10-20  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (free_data_refs_aux): Fix formatting.
	(pdr_add_alias_set): Same.
	(build_poly_dr): Same.
	(build_alias_set_optimal_p): Same.
	(build_base_obj_set_for_drs): Same.  Do not store the result of
	graphds_dfs.

From-SVN: r154616
2009-11-25 05:20:31 +00:00
Sebastian Pop
917f481ac6 graphite-sese-to-poly.c (build_alias_set_optimal_p): Initialize all_components_are_cliques to 1.
2009-10-20  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (build_alias_set_optimal_p): Initialize
	all_components_are_cliques to 1.

From-SVN: r154615
2009-11-25 05:20:01 +00:00
Li Feng
2b178a5f0d graphite-sese-to-poly.c (free_data_refs_aux): Update to free the new structure.
2009-10-20  Li Feng  <nemokingdom@gmail.com>

	* graphite-sese-to-poly.c (free_data_refs_aux): Update to free
	the new structure.
	(pdr_add_alias_set): Update retrieving alias_set_num.
	(build_poly_dr): Update retrieving dr_base_object_set.
	(partition_drs_to_sets): Remove.
	(build_alias_set_optimal_p): New.
	(build_alias_set_for_drs): Rename.
	(build_scop_drs): Update.
	* graphite-sese-to-poly.h (struct base_alias_pair): New.
	(ALIAS_SET_INDEX): Remove.
	(BASE_OBJECT_SET_INDEX): Remove.

From-SVN: r154614
2009-11-25 05:19:32 +00:00
Sebastian Pop
e8af484268 sese.c (get_vdef_before_sese): Handle GIMPLE_ASSIGN and GIMPLE_CALL.
2009-10-20  Sebastian Pop  <sebastian.pop@amd.com>

	* sese.c (get_vdef_before_sese): Handle GIMPLE_ASSIGN and GIMPLE_CALL.

From-SVN: r154613
2009-11-25 05:19:05 +00:00
Sebastian Pop
3899a0b221 graphite-sese-to-poly.c (pdr_add_data_dimensions): Do not infer loop upper bounds for 1-element arrays at end of structures.
2009-10-20  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (pdr_add_data_dimensions): Do not infer
	loop upper bounds for 1-element arrays at end of structures.
	* tree-flow.h (array_at_struct_end_p): Declared.
	* tree-ssa-loop-niter.c (array_at_struct_end_p): Not static anymore.

From-SVN: r154612
2009-11-25 05:18:35 +00:00
Sebastian Pop
e34e583538 pr41305.C: New.
2009-10-20  Sebastian Pop  <sebastian.pop@amd.com>

	* g++.dg/graphite/pr41305.C: New.

From-SVN: r154611
2009-11-25 05:18:06 +00:00
Alexander Monakov
07b0d0e253 graphite-sese-to-poly.c (build_loop_iteration_domains): Generalize construction of parameter constraints from loop iteration analysis.
2009-10-20  Alexander Monakov  <amonakov@ispras.ru>

	* graphite-sese-to-poly.c (build_loop_iteration_domains): Generalize
	construction of parameter constraints from loop iteration analysis.
	* gcc.dg/graphite/run-id-2.c: New test.

From-SVN: r154610
2009-11-25 05:17:38 +00:00
Sebastian Pop
67255edf95 graphite-interchange.c (memory_stride_in_loop): Delete p1, lma and new_cstr.
2009-10-17  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-interchange.c (memory_stride_in_loop): Delete p1, lma
	and new_cstr.

From-SVN: r154609
2009-11-25 05:17:09 +00:00
Sebastian Pop
14ba996b08 graphite-dependences.c (dependence_polyhedron_1): Remove unused gdim dimensions from the DDR polyhedron.
2009-10-17  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (dependence_polyhedron_1): Remove
	unused gdim dimensions from the DDR polyhedron.

From-SVN: r154608
2009-11-25 05:16:42 +00:00
Sebastian Pop
4454141ae6 graphite-dependences.c (pddr_transformed_scattering): New.
2009-10-17  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-dependences.c (pddr_transformed_scattering): New.
	(dot_original_deps_stmt_1): New.
	(dot_transformed_deps_stmt_1): New.
	(dot_deps_stmt_1): Call dot_original_deps_stmt_1 and
	dot_transformed_deps_stmt_1.
	(dot_original_deps): New.
	(dot_transformed_deps): New.
	(dot_deps_1): Call dot_original_deps and dot_transformed_deps.

From-SVN: r154607
2009-11-25 05:16:14 +00:00