summaryrefslogtreecommitdiff
path: root/gcc/graphite-clast-to-gimple.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix PR47127: call cloog_state_malloc and cloog_state_free only once.spop2011-03-121-22/+15
| | | | | | | | | | | | | | | | | | | | | 2011-03-12 Sebastian Pop <sebastian.pop@amd.com> PR tree-optimization/47127 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state parameter. (set_cloog_options): Same. (scop_to_clast): Same. (print_clast_stmt): Do not call cloog_state_malloc and cloog_state_free. (print_generated_program): Same. (gloog): Same. * graphite-clast-to-gimple.h (cloog_state): Declared. (scop_to_clast): Adjust declaration. * graphite.c (cloog_state): Defined here. (graphite_initialize): Call cloog_state_malloc. (graphite_finalize): Call cloog_state_free. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170907 138bc75d-0d04-0410-961f-82ee72b054a4
* Use diagnostic-core.h instead of diagnostic.h.spop2010-12-291-1/+1
| | | | | | | | | | | | | 2010-12-28 Sebastian Pop <sebastian.pop@amd.com> * Makefile.in (graphite.o): Depends on DIAGNOSTIC_CORE_H. (graphite-clast-to-gimple.o): Same. (graphite-poly.o): Same. * graphite-clast-to-gimple.c: Include diagnostic-core.h. * graphite-poly.c: Same. * graphite.c: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168310 138bc75d-0d04-0410-961f-82ee72b054a4
* Do not include unnecessary .h files.spop2010-12-281-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-12-28 Sebastian Pop <sebastian.pop@amd.com> * Makefile.in (TREE_VECTORIZER_H): Removed duplicate definition. (tree-browser.o): Update dependences. (omega.o): Same. (tree-chrec.o): Same. (tree-scalar-evolution.o): Same. (tree-data-ref.o): Same. (sese.o): Same. (graphite.o): Same. (graphite-blocking.o): Same. (graphite-clast-to-gimple.o): Same. (graphite-cloog-util.o): Same. (graphite-dependences.o): Same. (graphite-flattening.o): Same. (graphite-interchange.o): Same. (graphite-poly.o): Same. (graphite-ppl.o): Same. (graphite-scop-detection.o): Same. (graphite-sese-to-poly.o): Same. (tree-loop-linear.o): Same. (tree-loop-distribution.o): Same. (tree-parloops.o): Same. (lambda-mat.o): Same. (lambda-trans.o): Same. (lambda-code.o): Same. * tree-browser.o: Do not include unnecessary .h files. * omega.o: Same. * tree-chrec.o: Same. * tree-scalar-evolution.o: Same. * tree-data-ref.o: Same. * sese.o: Same. * graphite.o: Same. * graphite-blocking.o: Same. * graphite-clast-to-gimple.o: Same. * graphite-cloog-util.o: Same. * graphite-dependences.o: Same. * graphite-flattening.o: Same. * graphite-interchange.o: Same. * graphite-poly.o: Same. * graphite-ppl.o: Same. * graphite-scop-detection.o: Same. * graphite-sese-to-poly.o: Same. * tree-loop-linear.o: Same. * tree-loop-distribution.o: Same. * tree-parloops.o: Same. * lambda-mat.o: Same. * lambda-trans.o: Same. * lambda-code.o: Same. * graphite.h: Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168296 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/46761amonakov2010-12-171-12/+16
| | | | | | | | | | | | * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Prefer to use unadjusted UB. testsuite: * gcc.dg/graphite/pr46761.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167980 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR46404: call scev_reset to reset the number of iterations as well.spop2010-12-161-1/+1
| | | | | | | | | | | 2010-12-16 Sebastian Pop <sebastian.pop@amd.com> PR tree-optimization/46404 * graphite-clast-to-gimple.c (gloog): Call scev_reset. * gcc.dg/graphite/pr46404-1.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167954 138bc75d-0d04-0410-961f-82ee72b054a4
* * diagnostic-core.h: Include bversion.h.jsm282010-11-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * toplev.h: Don't include input.h or bversion.h. (parse_optimize_options): Don't declare here. * alias.c, auto-inc-dec.c, c-aux-info.c, c-convert.c, c-parser.c, caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c, combine-stack-adj.c, config/arm/pe.c, config/darwin-c.c, config/host-darwin.c, config/i386/host-cygwin.c, config/i386/host-mingw32.c, config/i386/msformat-c.c, config/i386/netware.c, config/i386/nwld.c, config/i386/winnt-cxx.c, config/i386/winnt-stubs.c, config/ia64/ia64-c.c, config/m32c/m32c-pragma.c, config/mep/mep-pragma.c, config/microblaze/microblaze-c.c, config/rs6000/host-darwin.c, config/rs6000/rs6000-c.c, config/score/score3.c, config/score/score7.c, config/sh/symbian-base.c, config/sh/symbian-c.c, config/sh/symbian-cxx.c, config/sol2-c.c, config/sol2.c, config/v850/v850-c.c, config/vxworks.c, convert.c, cppbuiltin.c, cselib.c, dbgcnt.c, ddg.c, dfp.c, dominance.c, emit-rtl.c, fixed-value.c, fwprop.c, ggc-common.c, gimple.c, gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c, graphite-dependences.c, graphite-flattening.c, graphite-interchange.c, graphite-poly.c, graphite-scop-detection.c, graphite.c, haifa-sched.c, implicit-zee.c, integrate.c, ipa-pure-const.c, ipa-reference.c, ira-build.c, ira-conflicts.c, ira-costs.c, ira-lives.c, jump.c, lists.c, loop-doloop.c, loop-iv.c, lto-cgraph.c, lto-compress.c, lto-opts.c, lto-section-in.c, lto-section-out.c, lto-streamer-out.c, lto-symtab.c, modulo-sched.c, optabs.c, params.c, postreload-gcse.c, postreload.c, predict.c, profile.c, regcprop.c, reginfo.c, regmove.c, reorg.c, resource.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sdbout.c, sel-sched-dump.c, sel-sched-ir.c, sese.c, stmt.c, targhooks.c, tree-cfgcleanup.c, tree-mudflap.c, tree-nomudflap.c, tree-object-size.c, tree-outof-ssa.c, tree-phinodes.c, tree-profile.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-live.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c, tree-ssa-operands.c, tree-ssa-structalias.c, tree-ssa-uninit.c, tree-vect-patterns.c, value-prof.c, var-tracking.c, web.c: Don't include toplev.h. * Makefile.in (TOPLEV_H): Remove. All uses changed to use toplev.h. Dependencies for above files and c-family files changed to remove $(TOPLEV_H) or toplev.h. (C_TREE_H): Don't include $(TOPLEV_H). (DIAGNOSTIC_CORE_H): Use $(INPUT_H) instead of input.h. Add bversion.h. * config/arm/t-pe, config/arm/t-wince-pe, config/i386/t-cygming, config/ia64/t-ia64, config/mep/t-mep, config/score/t-score-elf, config/t-darwin, config/t-sol2, config/t-vxworks, config/v850/t-v850, config/v850/t-v850e: Dependencies for above files changed to remove $(TOPLEV_H) or toplev.h. c-family: * c-common.h (parse_optimize_options): Declare. * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c, c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h. cp: * cp-gimplify.c, cp-lang.c, cvt.c, cxx-pretty-print.c, error.c, except.c, expr.c, friend.c, init.c, mangle.c, name-lookup.c, optimize.c, parser.c, rtti.c, tree.c, typeck2.c: Don't include toplev.h. * Make-lang.in: Dependencies for above files changed to remove toplev.h. java: * expr.c, lang.c, mangle.c, mangle_name.c, typeck.c, verify-glue.c: Don't include toplev.h. * Make-lang.in: Dependencies for above files changed to remove toplev.h. lto: * Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of $(TOPLEV_H). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167293 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix Graphite memory leaks.spop2010-09-301-0/+2
| | | | | | | | | | | | | 2010-09-23 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (compute_bounds_for_level): Free le and ps. * graphite-poly.c (pbb_number_of_iterations_at_time): Free le and domain. * graphite-sese-to-poly.c (add_upper_bounds_from_estimated_nit): Do not allocate ub_expr, it is passed in initialized. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164809 138bc75d-0d04-0410-961f-82ee72b054a4
* New flag: -fgraphite-dump-cloog.spop2010-09-301-0/+36
| | | | | | | | | | | | | | | | | | | | Introduce a new flag: -fgraphite-dump-cloog. If enabled, graphite dumps each SCoP into a CLooG input file for further debugging. The naming follows the naming scheme of -fgraphite-write: <basename>.<scopnumber>.cloog The file is dumped into the current working directory. 2010-09-16 Andreas Simbuerger <simbuerg@fim.uni-passau.de> * common.opt (fgraphite-dump-cloog): New flag. * doc/invoke.texi (-fgraphite-dump-cloog): Documented. * graphite-clast-to-gimple.c (init_cloog_input_file): New. (build_cloog_prog): Dump CLooG input file when flag_graphite_dump_cloog is set. * graphite-cloog-compat.h (cloog_program_dump_cloog): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164808 138bc75d-0d04-0410-961f-82ee72b054a4
* CDI_POST_DOMINATORS are not used in Graphite.spop2010-09-301-1/+0
| | | | | | | | | | | | | 2010-09-20 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (graphite_verify): Remove call to verify_dominators for CDI_POST_DOMINATORS. * sese.h: Remove comment about CDI_POST_DOMINATORS. (recompute_all_dominators): Remove call to free_dominance_info for CDI_POST_DOMINATORS. Remove call to calculate_dominance_info for CDI_POST_DOMINATORS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164807 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix 435.gromacs miscompile.spop2010-09-301-1/+1
| | | | | | | | | 2010-08-12 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (precision_for_value): Adjust computation of precision by 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164779 138bc75d-0d04-0410-961f-82ee72b054a4
* Generate in priority signed types for integer constants.spop2010-09-301-3/+9
| | | | | | | | | 2010-07-29 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (gcc_type_for_interval): Generate in priority signed types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164772 138bc75d-0d04-0410-961f-82ee72b054a4
* Avoid lang_hooks, call build_nonstandard_integer_type.spop2010-09-301-1/+11
| | | | | | | | | 2010-07-29 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (max_signed_precision_type): Remove the call to lang_hooks.types.type_for_size. Call build_nonstandard_integer_type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164771 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/froydnj2010-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vec.h (FOR_EACH_VEC_ELT): Define. * c-decl.c: Use it. * cfgloop.c: Likewise. * cfgloopmanip.c: Likewise. * cgraph.c: Likewise. * cgraphunit.c: Likewise. * combine.c: Likewise. * config/bfin/bfin.c: Likewise. * config/mips/mips.c: Likewise. * config/rs6000/rs6000.c: Likewise. * dbxout.c: Likewise. * df-scan.c: Likewise. * dominance.c: Likewise. * dse.c: Likewise. * dwarf2out.c: Likewise. * except.c: Likewise. * expr.c: Likewise. * function.c: Likewise. * gcse.c: Likewise. * genattr.c: Likewise. * ggc-common.c: Likewise. * gimplify.c: Likewise. * graphite-blocking.c: Likewise. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-poly.c: Likewise. * graphite-scop-detection.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * haifa-sched.c: Likewise. * ifcvt.c: Likewise. * implicit-zee.c: Likewise. * ipa-prop.c: Likewise. * ipa-struct-reorg.c: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-emit.c: Likewise. * lambda-code.c: Likewise. * loop-invariant.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lto-cgraph.c: Likewise. * lto-opts.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * lto-streamer.c: Likewise. * lto-symtab.c: Likewise. * matrix-reorg.c: Likewise. * opts.c: Likewise. * predict.c: Likewise. * print-tree.c: Likewise. * sdbout.c: Likewise. * sel-sched-dump.c: Likewise. * sel-sched-ir.c: Likewise. * sel-sched.c: Likewise. * sese.c: Likewise. * stor-layout.c: Likewise. * tree-cfg.c: Likewise. * tree-cfgcleanup.c: Likewise. * tree-chrec.c: Likewise. * tree-data-ref.c: Likewise. * tree-emutls.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-outof-ssa.c: Likewise. * tree-parloops.c: Likewise. * tree-predcom.c: Likewise. * tree-pretty-print.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-ssa-live.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-phiprop.c: Likewise. * tree-ssa-pre.c: Likewise. * tree-ssa-reassoc.c: Likewise. * tree-ssa-sccvn.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa.c: Likewise. * tree-vect-data-refs.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-vrp.c: Likewise. * tree.c: Likewise. * value-prof.c: Likewise. * var-tracking.c: Likewise. * varasm.c: Likewise. * vmsdbgout.c: Likewise. gcc/ada/ * gcc-interface/decl.c: Use FOR_EACH_VEC_ELT. * gcc-interface/trans.c: Likewise. * gcc-interface/utils.c: Likewise. gcc/c-family/ * c-common.c: Use FOR_EACH_VEC_ELT. * c-gimplify.c: Likewise. * c-pragma.c: Likewise. gcc/cp/ * call.c: Use FOR_EACH_VEC_ELT. * class.c: Likewise. * decl.c: Likewise. * decl2.c: Likewise. * error.c: Likewise. * except.c: Likewise. * mangle.c: Likewise. * method.c: Likewise. * name-lookup.c: Likewise. * parser.c: Likewise. * pt.c: Likewise. * repo.c: Likewise. * semantics.c: Likewise. * typeck2.c: Likewise. gcc/fortran/ * trans-openmp.c: Use FOR_EACH_VEC_ELT. gcc/java/ * class.c: Use FOR_EACH_VEC_ELT. * expr.c: Likewise. * jcf-parse.c: Likewise. * resource.c: Likewise. gcc/lto/ * lto.c: Use FOR_EACH_VEC_ELT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163401 138bc75d-0d04-0410-961f-82ee72b054a4
* Adapt to new CloogScattering abstraction, introduced in official CLooG ↵spop2010-08-111-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | versions (CLOOG_ORG). 2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de> * graphite-clast-to-gimple.c (free_scattering): Change CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering (CLOOG_ORG). (build_cloog_prog): Same. * graphite-cloog-compat.h (cloog_domain): Removed. (cloog_scattering): New. (cloog_set_domain): Removed. (cloog_set_scattering): New. (cloog_next_domain): Removed. (cloog_next_scattering): New. (cloog_set_next_domain): Removed. (cloog_set_next_scattering): New. (CloogScatteringList): New. (CloogScattering): New. (cloog_scattering_free): New. (new_Cloog_Scattering_from_ppl_Polyhedron): New. * graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163165 138bc75d-0d04-0410-961f-82ee72b054a4
* Introduce compatibility to newer CLooG's CloogState and mask the use with ↵spop2010-08-111-18/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | macros where possible. 2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de> * graphite-clast-to-gimple.c (build_cloog_prog): Extend with CloogState. (set_cloog_options): Same. (print_clast_stmt): Same. (scop_to_clast): Same. (print_generated_program): Same. (gloog): Same. * graphite-clast-to-gimple.h: Include graphite-cloog-util.h. (scop_to_clast): Extend with CloogState. * graphite-cloog-util.c: Include graphite-cloog-compat.h (new_Cloog_Domain_from_ppl_Polyhedron): Extend with CloogState. Use cloog_domain_from_cloog_matrix (CLOOG_ORG). (new_Cloog_Domain_from_ppl_Pointset_Powerset): Extend with CloogState. (new_Cloog_Domain_from_ppl_Polyhedron): Same. * graphite-cloog-util.h (build_cloog_prog): Same. * graphite-cloog-copat.h (build_cloog_prog): New. (CloogState): New. (cloog_state_malloc): New. (cloog_state_free): New. (cloog_loop_malloc): New. (cloog_options_malloc): New. (cloog_statement_alloc): New. (cloog_domain_from_cloog_matrix): New. (new_Cloog_Domain_from_ppl_Pointset_Powerset): New. (new_Cloog_Domain_from_ppl_Polyhedron): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163164 138bc75d-0d04-0410-961f-82ee72b054a4
* Adapt to new CLAST structure within upstream CLooG version and retain ↵spop2010-08-111-11/+17
| | | | | | | | | | | | | | | | | | | | | compatibility to CLooG Legacy. 2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de> * graphite-clast-to-gimple.c (clast_name_to_gcc): Parameter type of NAME now depends on used CLooG version. (clast_to_gcc_expression): Replace expr_* with clast_expr_*. (gcc_type_for_clast_expr): Same. (print_clast_stmt): Replace pprint with clast_pprint. * graphite-cloog-compat.h: Provide compatibility macros for CLooG Legacy. (clast_name_p): New. (clast_expr_term): New. (clast_expr_red): New. (clast_expr_bin): New. (clast_pprint): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163163 138bc75d-0d04-0410-961f-82ee72b054a4
* Make CLooG options compatible to newer CLooG releases and pass options to ↵spop2010-08-111-4/+9
| | | | | | | | | | | | | | | | | build_cloog_prog (CLOOG_ORG). 2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de> * graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options compatible to newer CLooG releases (CLOOG_ORG). (build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG). (scop_to_clast): Pass CloogOptions to build_cloog_prog (CLOOG_ORG). * graphite-cloog-compat.h: Add compatibility macros for CLooG Legacy. (build_cloog_prog) : New. (cloog_program_extract_scalars): New. (cloog_program_scatter): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163162 138bc75d-0d04-0410-961f-82ee72b054a4
* Reintroduce necessary CLooG accessors to graphite. Masked by CLOOG_ORG.spop2010-08-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de> * graphite-clast-to-gimple.c: Include graphite-cloog-compat.h conditionally (CLOOG_ORG). * graphite-cloog-compat.h: New. Include graphite-cloog-compat.h. (cloog_statement_usr): New. (cloog_domain): Same. (cloog_set_domain): Same. (cloog_next_domain): Same. (cloog_set_next_domain): Same. (cloog_program_nb_scattdims): Same. (cloog_program_set_nb_scattdims): Same. (cloog_program_names): Same. (cloog_program_set_names): Same. (cloog_program_set_context): Same. (cloog_program_set_loop): Same. (cloog_program_blocklist): Same. (cloog_program_set_blocklist): Same. (cloog_program_scaldims): Same. (cloog_program_set_scaldims): Same. (cloog_names_nb_parameters): Same. (cloog_names_set_nb_parameters): Same. (cloog_names_parameters): Same. (cloog_names_set_parameters): Same. (cloog_names_set_nb_iterators): Same. (cloog_names_set_iterators): Same. (cloog_names_set_nb_scattering): Same. (cloog_names_set_scattering): Same. (cloog_statement_set_usr): Same. (cloog_loop_set_next): Same. (cloog_loop_set_domain): Same. (cloog_loop_set_block): Same. (cloog_block_list_next): Same. (cloog_block_list_set_next): (cloog_block_list_set_block): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163161 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove expand_scalar_variables_ hack.spop2010-08-111-87/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-07-15 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (debug_clast_name_index): Removed. (debug_clast_name_indexes_1): Removed. (debug_clast_name_indexes): Removed. (pbb_to_depth_to_oldiv): Removed. (build_iv_mapping): Replace the use of rename_map with iv_map. (translate_clast_user): Remove uses of rename_map. Allocate and free iv_map. (translate_clast_for_loop): Remove uses of rename_map. (translate_clast_for): Same. (translate_clast_guard): Same. (translate_clast): Same. (gloog): Same. * graphite-clast-to-gimple.h (debug_clast_name_indexes): Removed. * graphite-sese-to-poly.c (scev_analyzable_p): Moved... * sese.c (set_rename): Now static. (rename_variables_in_stmt): Removed. (rename_uses): New. (is_parameter): Removed. (is_iv): Removed. (expand_scalar_variables_call): Removed. (expand_scalar_variables_ssa_name): Removed. (expand_scalar_variables_expr): Removed. (expand_scalar_variables_stmt): Removed. (expand_scalar_variables): Removed. (rename_variables): Removed. (remove_condition): Removed. (get_true_edge_from_guard_bb): Removed. (get_false_edge_from_guard_bb): Removed. (struct igp): Removed. (default_before_guard): Removed. (convert_for_phi_arg): Removed. (add_guard_exit_phis): Removed. (insert_guard_phis): Removed. (graphite_copy_stmts_from_block): Now also uses iv_map and a region. Do not copy conditions. Do not copy induction variables. Call rename_uses. (copy_bb_and_scalar_dependences): Allocate a local rename_map for the translated statement. Use the iv_map for the induction variable renaming. * sese.h (copy_bb_and_scalar_dependences): Update declaration. (set_rename): Removed declaration. (scev_analyzable_p): ...here. * tree-chrec.c (chrec_apply_map): New. * tree-chrec.h (chrec_apply_map): Declared. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163139 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove insert_loop_close_phis.spop2010-08-111-4/+0
| | | | | | | | | | | | | | | | 2010-07-15 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (translate_clast_for_loop): Do not call insert_loop_close_phis. * sese.c (name_defined_in_loop_p): Removed. (expr_defined_in_loop_p): Removed. (alive_after_loop): Removed. (close_phi_not_yet_inserted_p): Removed. (struct alep): Removed. (add_loop_exit_phis): Removed. (insert_loop_close_phis): Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163138 138bc75d-0d04-0410-961f-82ee72b054a4
* Move cloog-related functions from graphite-ppl.{c,h} to new ↵spop2010-08-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | graphite-cloog-util.{c,h}. 2010-07-05 Andreas Simbuerger <simbuerg@fim.uni-passau.de> * Makefile.in (OBJS-common): Added graphite-cloog-util.o. (graphite-clast-to-gimple.o): Added graphite-cloog-util.h. (graphite-cloog-util.o): New. (graphite-ppl.o): Added graphite-cloog-util.h. * graphite-clast-to-gimple.c: Added graphite-cloog-util.h to include statements. * graphite-cloog-util.c: New. (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.c. (new_Cloog_Domain_from_ppl_Polyhedron): Same. (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same. (new_C_Polyhedron_from_Cloog_Matrix): Same. (insert_constraint_into_matrix): Same. (ppl_Constrain_System_number_of_constraints): Same. (new_Cloog_Matrix_from_ppl_Constraint_System): Same. (oppose_constraint): Same. (cloog_matrix_to_ppl_constraint): Same. (new_Constraint_System_from_Cloog_Matrix): Same. * graphite-cloog-util.h: New. (new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.h. (new_Cloog_Domain_from_ppl_Polyhedron): Same. (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same. (new_C_Polyhedron_from_Cloog_Matrix): Same. (insert_constraint_into_matrix): Same. * graphite-ppl.c: Added graphite-cloog-util.h to include statements. (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to graphite-cloog-util.c. (new_Cloog_Domain_from_ppl_Polyhedron): Same. (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same. (new_C_Polyhedron_from_Cloog_Matrix): Same. (insert_constraint_into_matrix): Same. (ppl_Constrain_System_number_of_constraints): Same. (new_Cloog_Matrix_from_ppl_Constraint_System): Same. (oppose_constraint): Same. (cloog_matrix_to_ppl_constraint): Same. (new_Constraint_System_from_Cloog_Matrix): Same. * graphite-ppl.h: (new_Cloog_Matrix_from_ppl_Polyhedron): Moved to graphite-cloog-util.h. (new_Cloog_Domain_from_ppl_Polyhedron): Same. (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same. (new_C_Polyhedron_from_Cloog_Matrix): Same. (insert_constraint_into_matrix): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163134 138bc75d-0d04-0410-961f-82ee72b054a4
* Resolve CLooG's value_* macros to their respective mpz_* counterparts.spop2010-08-111-23/+23
| | | | | | | | | | | | | | | | | | | 2010-07-04 Andreas Simbuerger <simbuerg@fim.uni-passau.de> * graphite-clast-to-gimple.c (precision_for_value): Resolve value_* calls to matching mpz_* calls. (precision_for_interval): Same. (gcc_type_for_interval): Same. (compute_type_for_level): Same. * graphite-interchange.c (lst_interchange_profitable_p): Same. * graphite-poly.c (psct_scattering_dim_for_loop_depth): Same. * graphite-ppl.c (ppl_max_for_le_pointset): Same. (ppl_min_for_le_pointset): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163133 138bc75d-0d04-0410-961f-82ee72b054a4
* Replace map with rename_map.spop2010-08-111-3/+3
| | | | | | | | | | | | | | | | | | | | | 2010-06-24 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (build_iv_mapping): Rename map with rename_map. * sese.c (debug_rename_map): Same. (get_rename): Same. (set_rename): Same. (rename_variables_in_stmt): Same. (expand_scalar_variables_call): Same. (expand_scalar_variables_ssa_name): Same. (expand_scalar_variables_expr): Same. (expand_scalar_variables_stmt): Same. (expand_scalar_variables): Same. (rename_variables): Same. (graphite_copy_stmts_from_block): Same. (copy_bb_and_scalar_dependences): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163128 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove copy_renames.spop2010-08-111-56/+7
| | | | | | | | | | 2010-06-24 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (copy_renames): Removed. (translate_clast_for): Do not call copy_renames. (translate_clast_guard): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163127 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove rename_nb_iterations and rename_sese_parametersspop2010-08-111-7/+1
| | | | | | | | | | | | | | | | 2010-06-12 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (gloog): Do not pass scops in parameter. Remove calls to rename_nb_iterations and rename_sese_parameters. * graphite-clast-to-gimple.h (gloog): Update declaration. * graphite.c (graphite_transform_loops): Update call to gloog. * sese.c (rename_variables_in_expr): Removed. (rename_nb_iterations): Removed. (rename_sese_parameters): Removed. * sese.h (rename_nb_iterations): Removed. (rename_sese_parameters): Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163119 138bc75d-0d04-0410-961f-82ee72b054a4
* Also rewrite out of SSA scalar dependences going outside the SCoP region.spop2010-08-111-4/+0
| | | | | | | | | | | | | | | | | 2010-06-12 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (gloog): Remove call to sese_adjust_liveout_phis. * graphite-sese-to-poly.c (scev_analyzable_p): When scev returns an SSA_NAME, allow it to be handled by rewrite_cross_bb_scalar_deps. (rewrite_cross_bb_scalar_deps): Handle GIMPLE_PHI nodes: call rewrite_phi_out_of_ssa. * sese.c (get_vdef_before_sese): Removed. (sese_adjust_vphi): Removed. (sese_adjust_liveout_phis): Removed. * sese.h (sese_adjust_liveout_phis): Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163118 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR44391: use size_one_node for pointer types.spop2010-06-151-12/+5
| | | | | | | | | | | | 2010-06-15 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/44391 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use size_one_node for pointer types. Do not call gmp_cst_to_tree. * gcc.dg/graphite/pr44391.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160803 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't call pbb_to_depth_to_oldiv from compute_type_for_level.spop2010-06-121-38/+8
| | | | | | | | | | | | 2010-06-12 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass old_type in parameter. (gcc_type_for_value): Update call to gcc_type_for_interval. (compute_type_for_level_1): Renamed compute_type_for_level. Update call to gcc_type_for_interval. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160649 138bc75d-0d04-0410-961f-82ee72b054a4
* Use smallest_mode_for_size for computing the precision types of new graphite ↵spop2010-06-021-1/+11
| | | | | | | | | | | | IVs. 2010-06-02 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (gcc_type_for_interval): Use smallest_mode_for_size for computing the precision types of new graphite IVs. Do not call lang_hooks.types.type_for_size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160165 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-vrp.c (debug_value_range, debug_all_value_ranges,hubicka2010-05-291-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION. * tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs, debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks, debug_names_replaced_by, debug_update_ssa): Likewise. * sbitmap.c (debug_sbitmap): Likewise. * genrecog.c (debug_decision, debug_decision_list): Likewise. * tree-pretty-print.c (debug_generic_expr, debug_generic_stmt, debug_tree_chain): Likewise. * tree-loop-distribution.c (debug_rdg_partitions): Likewise. * cgraph.c (debug_cgraph_node, debug_cgraph): Likewise. * optabs.c (debug_optab_libfuncs): Likewise. (verify_loop_closed_ssa): Likewise. * value-prof.c (verify_histograms): Likewise. * reload.c (debug_reload_to_stream, debug_reload): Likewise. * bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise. * cfghooks.c (verify_flow_info): Likewise. * fold-const.c (debug_fold_checksum): Likewise. * omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise. * cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n): Likewise. * omega.c (debug_omega_problem): Likewise. * cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise. * tree-ssa-ccp.c (debug_lattice_value): Likewise. * dominance.c (verify_dominators, debug_dominance_info, debug_dominance_tree): Likewise. * df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno, * df_regno_debug, df_ref_debug, debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref, debug_df_defno, debug_df_useno, debug_df_chain): Likewise. * tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise. * sel-sched.c (debug_state): Likewise. * tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for): Likewise. * cfganal.c (print_edge_list, verify_edge_list): Likewise. * dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise. * tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise. * gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq): Likewise. * c-pretty-print.c (debug_c_tree): Likewise. * sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn debug_av_set, debug_lv_set, debug_ilist, debug_blist, debug_insn_vector, debug_hard_reg_set, debug_mem_addr_value): Likewise. * ebitmap.c (debug_ebitmap): Likewise. * function.c (debug_find_var_in_block_tree): Likewise. * print-rtl.c (debug_rtx): Likewise. (debug_rtx_count): Likewise. (debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise. * stor-layout.c (debug_rli): Likewise. * ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise. * tree-data-ref.c (debug_data_references, debug_data_dependence_relations, debug_data_reference, debug_data_dependence_relation, debug_rdg_vertex, debug_rdg_component, debug_rdg): Likewise. * tree-affine.c (debug_aff): Likewise. * tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats): Likewise. * except.c (debug_eh_tree, verify_eh_tree): Likewise. * emit-rtl.c (verify_rtl_sharing): Likewise. * tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set, debug_value_expressions): Likewise. * tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise. * sese.c (debug_rename_map, debug_ivtype_map): Likewise. * print-tree.c (debug_tree, debug_vec_tree): Likewise. * cfglayout.c (verify_insn_chain): Likewise. * graphite-clast-to-gimple.c (debug_clast_name_indexes, debug_clast_stmt, debug_generated_program): Likewise. * ggc-page.c (debug_print_page_list): Likewise. * tree-ssa-ter.c (debug_ter): Likewise. * graphite-dependences.c (debug_pddr): Likewise. * sched-deps.c (debug_ds): Likewise. * tree-ssa.c (verify_ssa): Likewise. * graphite-poly.c (debug_scattering_function, debug_iteration_domain, debug_scattering_functions, debug_iteration_domains, debug_pdr, debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context, debug_scop, debug_cloog, debug_scop_params, debug_lst): Likewise. * tree-inline.c (debug_find_tree): Likewise. * graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix, debug_ppl_powerset_matrix): Likewise. * var-tracking.c (debug_dv): Likewise. * system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define. * cfgloop.c (verify_loop_structure): Likewise. * plugin.c (dump_active_plugins, debug_active_plugins): Likewise. * c-common.c (verify_sequence_points): Likewise. * sched-rgn.c (debug_regions, debug_region, debug_candidate, debug_candidates, debug_rgn_dependencies): Likewise. * tree-ssa-structalias.c (debug_constraint, debug_constraints, * debug_constraint_graph, debug_solution_for_var, debug_sa_points_to_info): Likewise. * sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim): Likewie. * tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function, debug_loops, debug_loop, debug_loop_num): Likewise. * passes.c (debug_pass): Likewise. (dump_properties): Likewise; add cfglayout property. (debug_properties): Likewise. * tree-ssa-reassoc.c (debug_ops_vector): Likewise. * varpool.c (debug_varpool): Likewise. * regcprop.c (debug_value_data): Likewise. * tree-ssa-operands.c (verify_imm_links, debug_immediate_uses, debug_immediate_uses_for): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160036 138bc75d-0d04-0410-961f-82ee72b054a4
* Replace Value with mpz_tspop2010-05-061-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-04-12 Andreas Simbuerger <simbuerg@fim.uni-passau.de> * graphite-blocking.c (pbb_strip_mine_profitable_p): Replace Value with mpz_t. * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same. (precision_for_value): Same. (precision_for_interval): Same. (gcc_type_for_interval): Same. (graphite_create_new_guard): Same. (compute_bounds_for_level): Same. (graphite_create_new_loop_guard): Same. * graphite-interchange.c (build_linearized_memory_access): Same. (pdr_stride_in_loop): Same. (memory_strides_in_loop_1): Same. (memory_strides_in_loop): Same. (extend_scattering): Same. (psct_scattering_dim_for_loop_depth): Same. (pbb_number_of_iterations): Same. * graphite-poly.h (debug_iteration_domains): Same. * graphite-ppl.c (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same. (ppl_set_inhomogeneous_gmp): Same. (ppl_strip_loop): Same. (ppl_lexico_compare_linear_expressions): Same. (ppl_read_polyhedron_matrix): Same. (ppl_max_for_le_pointset): Same. * graphite-ppl.h (ppl_read_polyhedron_matrix): Same. (tree_int_to_gmp): Same. (gmp_cst_to_tree): Same. (ppl_set_inhomogeneous): Same. (ppl_set_inhomogeneous_tree): Same. (ppl_set_coef): Same. (ppl_set_coef_tree): Same. * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same. (build_scop_scattering): Same. (scan_tree_for_params_right_scev): Same. (scan_tree_for_params): Same. (find_params_in_bb): Same. (find_scop_parameters): Same. (add_upper_bounds_from_estimated_nit): Same. (build_loop_iteration_domains): Same. (add_condition_to_domain): Same. (pdr_add_memory_accesses): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159133 138bc75d-0d04-0410-961f-82ee72b054a4
* Resolve CLooG's value_* macros to their respective mpz_* counterparts.spop2010-05-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-04-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de> * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve CLooG's value_* macros to their respective mpz_* counterparts. * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same. (graphite_create_new_loop_guard): Same. * graphite-interchange.c (build_linearized_memory_access): Same. (pdr_stride_in_loop): Same. (memory_strides_in_loop_1): Same. (1st_interchange_profitable_p): Same. * graphite-poly.c (extend_scattering): Same. (psct_scattering_dim_for_loop_depth): Same. (pbb_number_of_iterations): Same. (pbb_number_of_iterations_at_time): Same. * graphite-poly.h (new_1st_loop): Same. * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same. (oppose_constraint): Same. (insert_constraint_into_matrix): Same. (ppl_set_inhomogeneous_gmp): Same. (ppl_set_coef_gmp): Same. (ppl_strip_loop): Same. (ppl_lexico_compare_linear_expressions): Same. (ppl_max_for_le_pointset): Same. (ppl_min_for_le_pointset): Same. (ppl_build_realtion): Same. * graphite-ppl.h (gmp_cst_to_tree): Same. (ppl_set_inhomogeneous): Same. (ppl_set_inhomogeneous_tree): Same. (ppl_set_coef): Same. (ppl_set_coef_tree): Same. * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same. (build_scop_scattering): Same. (add_value_to_dim): Same. (scan_tree_for_params_right_scev): Same. (scan_tree_for_params_int): Same. (scan_tree_for_params): Same. (find_params_in_bb): Same. (find_scop_parameters): Same. (add_upper_bounds_from_estimated_nit): Same. (build_loop_iteration_domains): Same. (create_linear_expr_from_tree): Same. (add_condition_to_domain): Same. (pdr_add_memory_accesses): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159132 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix 473.astar miscompile.spop2010-04-061-12/+24
| | | | | | | | | | | | | | 2010-04-05 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/43519 * graphite-clast-to-gimple.c (max_signed_precision_type): Use lang_hooks.types.type_for_size instead of build_nonstandard_integer_type. When converting an unsigned type to signed, double its precision. (gcc_type_for_interval): Use lang_hooks.types.type_for_size. (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type. (graphite_create_new_loop_guard): When ub + 1 wraps around, use lb <= ub. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158028 138bc75d-0d04-0410-961f-82ee72b054a4
* Use POINTER_PLUS_EXPR for pointer types.spop2010-04-061-1/+2
| | | | | | | | | | | | 2010-04-04 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/43519 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use POINTER_PLUS_EXPR for pointer types. * gcc.dg/graphite/id-19.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158027 138bc75d-0d04-0410-961f-82ee72b054a4
* Compute min and max bounds for IVs and infer types.spop2010-04-061-233/+297
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-04-04 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/43519 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h. * graphite-clast-to-gimple.c: Include langhooks.h. (max_signed_precision_type): New. (max_precision_type): Takes two types as arguments. (precision_for_value): New. (precision_for_interval): New. (gcc_type_for_interval): New. (gcc_type_for_value): New. (gcc_type_for_clast_term): New. (gcc_type_for_clast_red): New. (gcc_type_for_clast_bin): New. (gcc_type_for_clast_expr): Split up into several functions. (gcc_type_for_clast_eq): Rewritten. (compute_bounds_for_level): New. (compute_type_for_level_1): New. (compute_type_for_level): New. (gcc_type_for_cloog_iv): Removed. (gcc_type_for_iv_of_clast_loop): Rewritten. (graphite_create_new_loop): Compute the lower and upper bound types with gcc_type_for_clast_expr. (graphite_create_new_loop_guard): Same. (find_cloog_iv_in_expr): Removed. (compute_cloog_iv_types_1): Removed. (compute_cloog_iv_types): Removed. (gloog): Do not call compute_cloog_iv_types. * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize GBB_CLOOG_IV_TYPES. (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES. * sese.h (struct gimple_bb): Removed field cloog_iv_types. (GBB_CLOOG_IV_TYPES): Removed. * gcc.dg/graphite/run-id-pr42644.c: Call abort. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158026 138bc75d-0d04-0410-961f-82ee72b054a4
* Avoid calling verify_ssa twice in verify_loop_closed_ssa.spop2010-04-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | 2010-04-06 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (graphite_verify): Remove redundant call to verify_ssa. Invoke verify_loop_closed_ssa with an extra argument. * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same. * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same. (rewrite_commutative_reductions_out_of_ssa): Same. * passes.c (execute_function_todo): Call verify_ssa for every pass in the LNO. Invoke verify_loop_closed_ssa with an extra argument. * tree-flow.h (verify_loop_closed_ssa): Update declaration. * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa with an extra argument. * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call verify_ssa only when the extra argument is true. (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa with an extra argument. (tree_transform_and_unroll_loop): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158021 138bc75d-0d04-0410-961f-82ee72b054a4
* * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, steven2010-04-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h, collect2.h, config/alpha/alpha.c, config/alpha/alpha.md, config/alpha/predicates.md, config/arm/arm.md, config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml, config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c, config/darwin9.h, config/darwin.c, config/darwin.h, config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h, config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c, config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c, config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c, config/mips/mips.md, config/mn10300/mn10300.c, config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md, config/rs6000/aix.h, config/rs6000/dfp.md, config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c, config/rs6000/vector.md, config/rtems.h, config/rx/rx.md, config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h, config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md, config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c, config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in, c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c, diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi, doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi, doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c, fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h, gensupport.c, gimple.h, gimple-iterator.c, graphite.c, graphite-clast-to-gimple.c, graphite-clast-to-gimple.h, graphite-dependences.c, graphite-poly.c, graphite-poly.h, graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c, graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c, intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h, ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c, ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c, loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c, objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk, opt-functions.awk, opth-gen.awk, params.def, passes.c, postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h, rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h, store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c, tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h, tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c, tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c, tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c, tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c, tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c, unwind-dw2-fde-darwin.c, varpool.c: Update copyright years. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157950 138bc75d-0d04-0410-961f-82ee72b054a4
* Use ssizetype when long_long_integer_type_node is NULL.spop2010-03-131-5/+10
| | | | | | | | | | | 2010-03-11 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (my_long_long): Defined. (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node. * graphite-sese-to-poly.c (my_long_long): Defined. (scop_ivs_can_be_represented): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157438 138bc75d-0d04-0410-961f-82ee72b054a4
* Cleanup: remove FIXMEs, add new function.spop2010-03-131-3/+0
| | | | | | | | | | | | 2010-03-10 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove forward declaration. * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment. (add_upper_bounds_from_estimated_nit): New. (build_loop_iteration_domains): Use it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157436 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix type problems in loop ivs.spop2010-03-081-7/+60
| | | | | | | | | | | | | | | | | | | | | Fix pr42644. Fix pr42130 (dealII). 2010-03-03 Tobias Grosser <grosser@fim.uni-passau.de> * gcc/graphite-clast-to-gimple.c (clast_to_gcc_expression): Also handle conversions from pointer to integers. (gcc_type_for_cloog_iv): Choose the smalles signed integer as an induction variable, to be able to work with code generated by CLooG. * gcc/graphite-sese-to-poly.c (scop_ivs_can_be_represented): New. (build_poly_scop): Bail out if we cannot codegen a loop. * gcc/testsuite/gcc.dg/graphite/id-18.c: New. * gcc/testsuite/gcc.dg/graphite/run-id-pr42644.c: New. * libgomp/testsuite/libgomp.graphite/force-parallel-1.c: Adjust. * libgomp/testsuite/libgomp.graphite/force-parallel-2.c: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157286 138bc75d-0d04-0410-961f-82ee72b054a4
* Do not short-cut code generation with gloog_error.spop2010-03-081-1/+1
| | | | | | | | | 2010-03-04 Tobias Grosser <grosser@fim.uni-passau.de> * graphite-clast-to-gimple.c (translate_clast): Do not short-cut code generation with gloog_error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157285 138bc75d-0d04-0410-961f-82ee72b054a4
* Cleanup.spop2010-03-081-17/+13
| | | | | | | | | 2010-02-23 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify and clean up the logic. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157279 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR42771.spop2010-02-111-1/+6
| | | | | | | | | | | | | | | | | | | | | | | 2010-02-10 Sebastian Pop <seb@napoca> PR middle-end/42771 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters. * graphite-clast-to-gimple.h (gloog): Update declaration. * graphite-poly.c (new_scop): Clear POLY_SCOP_P. * graphite-poly.h (struct poly_bb): Add missing comments. (struct scop): Add poly_scop_p field. (POLY_SCOP_P): New. * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P. * graphite.c (graphite_transform_loops): Build the polyhedral representation for each scop before code generation. * sese.c (rename_variables_in_operand): Removed. (rename_variables_in_expr): Return the renamed expression. (rename_sese_parameters): New. * sese.h (rename_sese_parameters): Declared. * gcc.dg/graphite/pr42771.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156711 138bc75d-0d04-0410-961f-82ee72b054a4
* * sel-sched.c (create_speculation_check): Remove set but not usedjakub2010-01-201-5/+4
| | | | | | | | | | | | | | | | | | | | | variable twin. (try_transformation_cache): Remove set but not used variable ds. (calculate_privileged_insns): Remove set but not used variables cur_insn and min_spec_insn. (find_best_expr): Remove set but not used variable avail_n. * tree-predcom.c (base_names_in_chain_on): Remove set but not used variable e. * cgraphunit.c (assemble_thunk): Remove set but not used variable false_label. * haifa-sched.c (remove_notes): Remove set but not used variable prev. * graphite-clast-to-gimple.c (gloog): Remove set but not used variable new_scop_exit_edge. * decl.c (create_array_type_for_decl): Remove set but not used variable error_msg. Remove break stmts after return stmts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156072 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR42681.spop2010-01-141-3/+15
| | | | | | | | | | | | | | | | | | | 2010-01-14 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/42681 * graphite-clast-to-gimple.c (gloog_error): New static variable. (clast_to_gcc_expression): Do not build MULT_EXPR of POINTER_TYPE_P. Set gloog_error when such an expression failed to be built. (translate_clast): Early return when gloog_error is set. (gloog): Clear gloog_error. When gloog_error is set, call set_ifsese_condition to enable the original code. Return the status of the code generation based on gloog_error. * sese.c (set_ifsese_condition): New. * sese.h (set_ifsese_condition): Declared. * testsuite/g++.dg/graphite/pr42681.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155884 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR42732.spop2010-01-141-2/+4
| | | | | | | | | | | | | | | | | | | | 2010-01-14 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/42732 * graphite-clast-to-gimple.c (gloog): Call scev_reset_htab and rename_nb_iterations. * sese.c (rename_variables_in_operand): New. (rename_variables_in_expr): New. (rename_nb_iterations): New. (sese_adjust_liveout_phis): Update the rename_map. * sese.h (rename_nb_iterations): Declared. * tree-scalar-evolution.c (scev_reset_htab): New. (scev_reset): Call scev_reset_htab. * tree-scalar-evolution.h (scev_reset_htab): Declared. * testsuite/gfortran.dg/graphite/pr42732.f: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155881 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR42393.spop2010-01-101-7/+9
| | | | | | | | | | | | | | | | | | 2010-01-08 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/42393 * graphite-clast-to-gimple.c: Fix formatting. * sese.c (defined_in_loop_p): Renamed name_defined_in_loop_p. (expr_defined_in_loop_p): New. (add_loop_exit_phis): Also handle full expressions: remove from the rename_map the expressions defined in the loop that we're closing. * testsuite/gfortran.dg/graphite/pr42393-1.f90: New. * testsuite/gfortran.dg/graphite/pr42393.f90: Add new flags -fno-loop-block -fno-loop-interchange -fno-loop-strip-mine to also make this testcase useful in the Graphite branch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155795 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert: Remove context_loop and level from translate_clast_* methods.spop2010-01-081-51/+59
| | | | | | | | | | | 2010-01-07 Sebastian Pop <sebastian.pop@amd.com> Revert patch 2009-11-23 Tobias Grosser <grosser@fim.uni-passau.de> * graphite-clast-to-gimple.c (try_mark_loop_parallel): New. (translate_clast_for, translate_clast_guard, translate_clast, gloog): Remove context_loop and level. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155719 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix memory leaks.spop2010-01-071-4/+9
| | | | | | | | | | | | | | | 2010-01-06 Sebastian Pop <sebastian.pop@amd.com> * graphite-clast-to-gimple.c (save_clast_name_index): Free slot before allocating a new one. (copy_renames): Check that slot is not NULL. (mark_bb_with_pbb): Same. (compute_cloog_iv_types_1): Same. * graphite-interchange.c (lst_perfect_nestify): Free the before, nest, and after LSTs. (lst_try_interchange_loops): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155702 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix comments.grosser2009-11-301-9/+9
| | | | | | | | | 2009-11-24 Tobias Grosser <grosser@fim.uni-passau.de> * graphite-clast-to-gimple.c (try_mark_loop_parallel, graphite_create_new_loop_guard, translate_clast_for): Fix comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154850 138bc75d-0d04-0410-961f-82ee72b054a4