summaryrefslogtreecommitdiff
path: root/gcc/graphite-poly.h
Commit message (Collapse)AuthorAgeFilesLines
* Rename gimple_bb to gimple_poly_bbspop2015-10-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renaming gimple_bb to gimple_poly_bb because there is a function gimple_bb by the same name in gimple.h. No functional change intended. Passes regtest and bootstrap. gcc/ChangeLog: 2015-10-01 Aditya Kumar <hiraditya@msn.com> * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): Renamed type from gimple_bb_p to gimple_poly_bb_p. (translate_isl_ast_node_user): Same. * graphite-poly.c (new_poly_bb): Same. * graphite-poly.h (gbb_from_bb): Same. * sese.h: Same. * graphite-sese-to-poly.c (new_gimple_bb): gimple_bb_p -> gimple_poly_bb_p (build_scop_scattering): Same. (find_params_in_bb): Same. (add_conditions_to_domain): Same. (sese_dom_walker::before_dom_children): Same. (analyze_drs_in_stmts): Same. (new_pbb_from_pbb): Same. (free_data_refs_aux): New pointer to type base_alias_pair. * graphite-sese-to-poly.h: Same. * sese.c (if_region_set_false_region): Fixed Indentation. (move_sese_in_condition): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228358 138bc75d-0d04-0410-961f-82ee72b054a4
* Make compute_deps, extend_schedule staticspop2015-09-291-16/+0
| | | | | | | | | | | | | No functional changes intended. Passes make check and bootstrap. gcc/ChangeLog: 2015-09-29 Aditya Kumar <hiraditya@msn.com> * graphite-dependences.c (scop_get_dependences): Moved in down in order to be visible to its caller. * graphite-poly.h: Removed compute_deps, and extend_schedule. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228269 138bc75d-0d04-0410-961f-82ee72b054a4
* remove -floop-* flagsspop2015-08-271-1082/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2015-08-27 Sebastian Pop <s.pop@samsung.com> * Makefile.in (OBJS): Remove graphite-blocking.o and graphite-interchange.o. * common.opt (floop-strip-mine, floop-interchange, floop-block): Alias of floop-nest-optimize. * doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block): Document as alias of -floop-nest-optimize. * graphite-blocking.c: Remove. * graphite-interchange.c: Remove. * graphite-optimize-isl.c: Include dumpfile.h. (getScheduleForBand): Add dump for tiled loops. Use PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant. * graphite-poly.c (scop_max_loop_depth): Remove. (print_scattering_function_1): Remove. (print_scattering_function): Remove. (print_scattering_functions): Remove. (debug_scattering_function): Remove. (debug_scattering_functions): Remove. (apply_poly_transforms): Remove use of flag_loop_block, flag_loop_strip_mine, and flag_loop_interchange. (new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and PBB_ORIGINAL. (print_pdr_access_layout): Remove. (print_pdr): Print ISL representation. (new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE. (free_scop): Same. (openscop_print_pbb_domain): Remove. (print_pbb): Remove call to print_scattering_function. (openscop_print_scop_context): Remove. (print_scop_context): Do not print matrices anymore. (print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and SCOP_TRANSFORMED_SCHEDULE. (print_isl_set): Add printing of a new line. (print_isl_map): Same. (print_isl_aff): Same. (print_isl_constraint): Same. (loop_to_lst): Remove. (scop_to_lst): Remove. (lst_indent_to): Remove. (print_lst): Remove. (debug_lst): Remove. (dot_lst_1): Remove. (dot_lst): Remove. (reverse_loop_at_level): Remove. (reverse_loop_for_pbbs): Remove. * graphite-poly.h (pdr_dim_iter_domain): Remove. (pdr_nb_params): Remove. (pdr_alias_set_dim): Remove. (pdr_subscript_dim): Remove. (pdr_iterator_dim): Remove. (pdr_parameter_dim): Remove. (same_pdr_p): Remove. (struct poly_scattering): Remove. (struct poly_bb): Remove _original, _transformed, _saved. (PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove. (PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove. (PBB_NB_LOCAL_VARIABLES): Remove. (PBB_NB_SCATTERING_TRANSFORM): Remove. (schedule_to_scattering): Remove. (number_of_write_pdrs): Remove. (pbb_dim_iter_domain): Remove. (pbb_nb_params): Remove. (pbb_nb_scattering_orig): Remove. (pbb_nb_scattering_transform): Remove. (pbb_nb_dynamic_scattering_transform): Remove. (pbb_nb_local_vars): Remove. (pbb_iterator_dim): Remove. (pbb_parameter_dim): Remove. (psco_scattering_dim): Remove. (psct_scattering_dim): Remove. (psct_local_var_dim): Remove. (psco_iterator_dim): Remove. (psct_iterator_dim): Remove. (psco_parameter_dim): Remove. (psct_parameter_dim): Remove. (psct_dynamic_dim): Remove. (psct_static_dim): Remove. (psct_add_local_variable): Remove. (new_lst_loop): Remove. (new_lst_stmt): Remove. (free_lst): Remove. (copy_lst): Remove. (lst_add_loop_under_loop): Remove. (lst_depth): Remove. (lst_dewey_number): Remove. (lst_dewey_number_at_depth): Remove. (lst_pred): Remove. (lst_succ): Remove. (lst_find_pbb): Remove. (find_lst_loop): Remove. (lst_find_first_pbb): Remove. (lst_empty_p): Remove. (lst_find_last_pbb): Remove. (lst_contains_p): Remove. (lst_contains_pbb): Remove. (lst_create_nest): Remove. (lst_remove_from_sequence): Remove. (lst_remove_loop_and_inline_stmts_in_loop_father): Remove. (lst_niter_for_loop): Remove. (pbb_update_scattering): Remove. (lst_update_scattering_under): Remove. (lst_update_scattering): Remove. (lst_insert_in_sequence): Remove. (lst_replace): Remove. (lst_substitute_3): Remove. (lst_distribute_lst): Remove. (lst_remove_all_before_including_pbb): Remove. (lst_remove_all_before_excluding_pbb): Remove. (struct scop): Remove original_schedule, transformed_schedule, and saved_schedule. (SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove. (SCOP_SAVED_SCHEDULE): Remove. (poly_scattering_new): Remove. (poly_scattering_free): Remove. (poly_scattering_copy): Remove. (store_scattering_pbb): Remove. (store_lst_schedule): Remove. (restore_lst_schedule): Remove. (store_scattering): Remove. (restore_scattering_pbb): Remove. (restore_scattering): Remove. * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove scattering_dimensions. Do not use pbb_dim_iter_domain: compute the scattering polyhedron dimension from the dimension of pbb->domain. (build_scop_scattering): Update call to build_pbb_scattering_polyhedrons. (build_poly_scop): Remove call to scop_to_lst. * graphite.c (graphite_transform_loops): Add call to print_scop. (gate_graphite_transforms): Remove use of flag_loop_block, flag_loop_interchange, and flag_loop_strip_mine. testsuite/ * gcc.dg/graphite/graphite.exp (interchange_files, block_files): Replaced by opt_files, compile with -floop-nest-optimize. * g++.dg/graphite/graphite.exp: Same. * gfortran.dg/graphite/graphite.exp: Same. * gcc.dg/graphite/block-0.c: Adjust pattern. * gcc.dg/graphite/block-1.c: Same. * gcc.dg/graphite/block-3.c: Same. * gcc.dg/graphite/block-4.c: Same. * gcc.dg/graphite/block-5.c: Same. * gcc.dg/graphite/block-6.c: Same. * gcc.dg/graphite/block-7.c: Same. * gcc.dg/graphite/block-8.c: Same. * gcc.dg/graphite/block-pr47654.c: Same. * gcc.dg/graphite/interchange-0.c: Same. * gcc.dg/graphite/interchange-1.c: Same. * gcc.dg/graphite/interchange-10.c: Same. * gcc.dg/graphite/interchange-11.c: Same. * gcc.dg/graphite/interchange-12.c: Same. * gcc.dg/graphite/interchange-13.c: Same. * gcc.dg/graphite/interchange-14.c: Same. * gcc.dg/graphite/interchange-15.c: Same. * gcc.dg/graphite/interchange-3.c: Same. * gcc.dg/graphite/interchange-4.c: Same. * gcc.dg/graphite/interchange-5.c: Same. * gcc.dg/graphite/interchange-6.c: Same. * gcc.dg/graphite/interchange-7.c: Same. * gcc.dg/graphite/interchange-8.c: Same. * gcc.dg/graphite/interchange-9.c: Same. * gcc.dg/graphite/interchange-mvt.c: Same. * gcc.dg/graphite/pr37485.c: Same. * gcc.dg/graphite/uns-block-1.c: Same. * gcc.dg/graphite/uns-interchange-12.c: Same. * gcc.dg/graphite/uns-interchange-14.c: Same. * gcc.dg/graphite/uns-interchange-15.c: Same. * gcc.dg/graphite/uns-interchange-9.c: Same. * gcc.dg/graphite/uns-interchange-mvt.c: Same. * gfortran.dg/graphite/interchange-3.f90: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227277 138bc75d-0d04-0410-961f-82ee72b054a4
* remove -floop-unroll-and-jamspop2015-08-271-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize. * doc/invoke.texi (-floop-unroll-and-jam): Document as alias of -floop-nest-optimize. * graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove. (generate_luj_sepclass): Remove. (generate_luj_options): Remove. (set_options): Remove opt_luj. (scop_to_isl_ast): Remove opt_luj. * graphite-optimize-isl.c (getScheduleForBand): Remove check for flag_loop_unroll_jam. (getPrevectorMap_full): Remove. (getScheduleForBandList): Remove map_sepcl. (getScheduleMap): Same. (apply_schedule_map_to_scop): Remove sepcl. (optimize_isl): Same. * graphite-poly.c (apply_poly_transforms): Remove check for flag_loop_unroll_jam. (new_poly_bb): Remove map_sepclass. * graphite-poly.h (struct poly_bb): Same. * graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam. * params.def (PARAM_LOOP_UNROLL_JAM_SIZE) (PARAM_LOOP_UNROLL_JAM_DEPTH): Remove. * toplev.c (process_options): Remove flag_loop_unroll_jam. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227275 138bc75d-0d04-0410-961f-82ee72b054a4
* Specify the type of scop->regionspop2015-08-241-4/+4
| | | | | | | | | | | | | | | | | Changing the type of scop::region from void* to sese, as this is the only type assigned to scop::region for now. No functional changes intended. Passes regtest and bootstrap. gcc/ChangeLog: 2015-08-17 Aditya Kumar <aditya.k7@samsung.com> * graphite-poly.c: Change type of region from void* to sese. * graphite-poly.h (struct scop): Changing the type of scop::region from void* to sese. Change accessor macro accordingly. * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227151 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.ac: Add check for new options in isl-0.15.law2015-07-211-0/+5
| | | | | | | | | | | | | | | | | | | | | | | * config.in, configure: Rebuilt. * graphite-blocking.c: Include <isl/constraint.h> * graphite-interchange.c, graphite-poly.c: Likewise. * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and <isl/union_set.h>. * graphite-dependences.c: Include <isl/constraint.h>. (max_number_of_out_dimensions): Returns isl_stat. (extend_schedule_1): Likewise (extend_schedule): Corresponding changes. * graphite-optimize-isl.c: Include <isl/constraint.h> and <isl/union_set.h>. (getSingleMap): Change return type of isl_stat. (optimize_isl): Conditionally use isl_options_set_schedule_serialize_sccs. * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226050 138bc75d-0d04-0410-961f-82ee72b054a4
* [graphite] fix pr61929spop2015-07-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes bootstrap of GCC with BOOT_CFLAGS="-g -O2 -fgraphite-identity -floop-nest-optimize -floop-block -floop-interchange -floop-strip-mine". It passes regstrap on amd64-linux. A previous change (https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=213816), replaced isl_int with isl_val because isl_int would be deprecated. Since isl_val has stricter checks, it exposed the bug. In the test case (isl_set_max_val) would return infinity which would remain unchecked. We now check if the value returned is an integer or not, and bail out if it isn't. The other problem was that we were allowing all kinds of data-refs in a scop. Now we discard a scop if it has any date-ref other than (ARRAY_REF, MEM_REF, COMPONENT_REF). PR middle-end/61929 * graphite-dependences.c (add_pdr_constraints): Renamed pdr->extent to pdr->subscript_sizes. * graphite-interchange.c (build_linearized_memory_access): Add back all gcc_assert's that the "isl_int to isl_val conversion" patch has removed. Refactored. (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes. * graphite-poly.c (new_poly_dr): Same. (free_poly_dr): Same. * graphite-poly.h (struct poly_dr): Same. * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF. * graphite-scop-detection.h: Fix space. * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add back all gcc_assert's removed by a previous patch. (wrap): Remove the_isl_ctx global variable that the same patch has added. (build_loop_iteration_domains): Same. (add_param_constraints): Same. (pdr_add_data_dimensions): Same. Refactored. (build_poly_dr): Renamed extent to subscript_sizes. testsuite/ PR middle-end/61929 * gcc.dg/graphite/pr61929.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225942 138bc75d-0d04-0410-961f-82ee72b054a4
* * omega.h: Don't include config.h, don't include params.h again ifamacleod2015-07-131-0/+2
| | | | | | | | | | | | | | | | | | | omega.h has already been included. * graphite-poly.h: Include sese.h. * graphite.c: Don't include sese.h, remove needless includes and minimize includes outside #ifdef HAVE_isl block. * graphite-blocking.c: Don't include sese.h, remove needless includes, and wrap entire file in #ifdef HAVE_isl * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-isl-ast-to-gimple.c: Likewise. * graphite-optimize-isl.c: Likewise. * graphite-poly.c: Likewise. * graphite-scop-detection.c: Likewise. * graphite-sese-to-poly.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@225741 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years.jakub2015-01-051-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219188 138bc75d-0d04-0410-961f-82ee72b054a4
* New unroll and jam option in Graphite.mircea2014-11-151-0/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217604 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc/]romangareev2014-11-101-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in: Remove the compilation of graphite-clast-to-gimple.o. * common.opt: Remove using of fgraphite-code-generator flag. * flag-types.h: Likewise. * graphite.c: Remove using of CLooG. * graphite-blocking.c: Likewise. * graphite-dependences.c: Likewise. * graphite-poly.c: Likewise. * graphite-poly.h: Likewise. * graphite-scop-detection.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite-clast-to-gimple.c: Removed. * graphite-clast-to-gimple.h: Likewise. * graphite-htab.h: Likewise. [gcc/testsuite] * gcc.dg/graphite/isl-ast-gen-blocks-1.c: Remove using of fgraphite-code-generator flag. * gcc.dg/graphite/isl-ast-gen-blocks-2.c: Likewise. * gcc.dg/graphite/isl-ast-gen-blocks-3.c: Likewise. * gcc.dg/graphite/isl-ast-gen-blocks-4.c: Likewise. * gcc.dg/graphite/isl-ast-gen-user-1.c: Likewise. * gcc.dg/graphite/isl-codegen-loop-dumping.c: Likewise. * gcc.dg/graphite/pr35356-2.c: Likewise. * gcc.dg/graphite/isl-ast-gen-single-loop-1.c: Likewise. * gcc.dg/graphite/isl-ast-gen-single-loop-2.c: Likewise. * gcc.dg/graphite/isl-ast-gen-single-loop-3.c: Likewise. * gcc.dg/graphite/isl-ast-gen-if-1.c: Likewise. * gcc.dg/graphite/isl-ast-gen-if-2.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217315 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc/]romangareev2014-08-051-0/+8
| | | | | | | | | | | | | | | | | | | | * graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info. (translate_isl_ast_for_loop): Add checking of the flag_loop_parallelize_all. (ast_build_before_for): New function. (scop_to_isl_ast): Add checking of the flag_loop_parallelize_all. * graphite-dependences.c: Move the defenition of the scop_get_dependences from graphite-optimize-isl.c to this file. (apply_schedule_on_deps): Add checking of the ux's emptiness. (carries_deps): Add checking of the x's value. * graphite-optimize-isl.c: Move the defenition of the scop_get_dependences to graphite-dependences.c. * graphite-poly.h: Add declarations of scop_get_dependences and carries_deps. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213619 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in gcc/rsandifo2014-01-021-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206289 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rsandifo2013-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alloc-pool.c, asan.c, auto-inc-dec.c, basic-block.h, bb-reorder.c, bitmap.c, bitmap.h, bt-load.c, builtins.c, calls.c, cfgcleanup.c, cfgexpand.c, cfghooks.c, cfgloop.c, cfgloopmanip.c, cfgrtl.c, cgraph.c, cgraph.h, cgraphbuild.c, cgraphclones.c, cgraphunit.c, collect2.c, combine-stack-adj.c, combine.c, compare-elim.c, context.c, context.h, cprop.c, cse.c, cselib.c, dbxout.c, dce.c, defaults.h, df-core.c, df-problems.c, df-scan.c, df.h, diagnostic.c, double-int.c, dse.c, dumpfile.c, dwarf2asm.c, dwarf2cfi.c, dwarf2out.c, emit-rtl.c, errors.c, except.c, expmed.c, expr.c, file-find.c, final.c, fixed-value.c, fold-const.c, function.c, fwprop.c, gcc-ar.c, gcc.c, gcov-io.c, gcov-io.h, gcov.c, gcse.c, genattr-common.c, genattr.c, genattrtab.c, genautomata.c, genconfig.c, genemit.c, genextract.c, genflags.c, gengenrtl.c, gengtype-state.c, gengtype.c, genmodes.c, genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c, gensupport.c, ggc-common.c, ggc-page.c, gimple-fold.c, gimple-low.c, gimple-pretty-print.c, gimple-ssa-strength-reduction.c, gimple.c, gimple.h, godump.c, graphite-clast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.h, graphite-sese-to-poly.c, graphite.c, haifa-sched.c, hash-table.c, hash-table.h, hwint.c, hwint.h, ifcvt.c, incpath.c, init-regs.c, input.h, intl.c, intl.h, ipa-cp.c, ipa-devirt.c, ipa-inline-analysis.c, ipa-inline.c, ipa-profile.c, ipa-pure-const.c, ipa-reference.c, ipa-split.c, ipa-utils.c, ipa.c, ira-build.c, ira.c, jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c, lower-subreg.c, lto-cgraph.c, lto-streamer-in.c, lto-streamer-out.c, lto-wrapper.c, mcf.c, mode-switching.c, modulo-sched.c, omp-low.c, optabs.c, opts.c, pass_manager.h, passes.c, plugin.c, postreload-gcse.c, postreload.c, predict.c, prefix.c, pretty-print.c, print-rtl.c, print-tree.c, profile.c, read-md.c, real.c, real.h, recog.c, ree.c, reg-stack.c, regcprop.c, reginfo.c, regmove.c, regrename.c, regs.h, regstat.c, reload1.c, reorg.c, rtl.c, rtl.h, rtlanal.c, sbitmap.c, sched-rgn.c, sdbout.c, sel-sched-ir.c, sel-sched.c, sparseset.c, stack-ptr-mod.c, statistics.c, stmt.c, stor-layout.c, store-motion.c, streamer-hooks.h, system.h, target-hooks-macros.h, targhooks.c, targhooks.h, toplev.c, tracer.c, trans-mem.c, tree-browser.c, tree-call-cdce.c, tree-cfg.c, tree-cfgcleanup.c, tree-complex.c, tree-data-ref.c, tree-data-ref.h, tree-eh.c, tree-emutls.c, tree-flow.h, tree-if-conv.c, tree-into-ssa.c, tree-iterator.c, tree-loop-distribution.c, tree-mudflap.c, tree-nested.c, tree-nomudflap.c, tree-nrv.c, tree-object-size.c, tree-optimize.c, tree-pass.h, tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c, tree-sra.c, tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-copyrename.c, tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-ifcombine.c, tree-ssa-live.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-loop-prefetch.c, tree-ssa-loop.c, tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c, tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sink.c, tree-ssa-strlen.c, tree-ssa-structalias.c, tree-ssa-threadedge.c, tree-ssa-threadupdate.c, tree-ssa-uncprop.c, tree-ssa-uninit.c, tree-ssa.c, tree-ssanames.c, tree-stdarg.c, tree-switch-conversion.c, tree-tailcall.c, tree-vect-data-refs.c, tree-vect-generic.c, tree-vect-loop-manip.c, tree-vect-stmts.c, tree-vectorizer.c, tree-vectorizer.h, tree-vrp.c, tree.c, tree.h, tsan.c, tsystem.h, value-prof.c, var-tracking.c, varasm.c, vec.h, vmsdbgout.c, vtable-verify.c, web.c: Add missing whitespace before "(". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203004 138bc75d-0d04-0410-961f-82ee72b054a4
* This patch is the main part of a consolodation of the hash_tablecrowl2013-04-261-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | patches to the cxx-conversion branch for files not under gcc/config. Update various hash tables from htab_t to hash_table. Modify types and calls to match. * tree-parloops.c'reduction * tree-parloops.c'name_to_copy Fold reduction_info_hash and reduction_info_eq into new struct reduction_hasher. Fold name_to_copy_elt_eq and name_to_copy_elt_hash into new struct name_to_copy_hasher. * trans-mem.c'tm_log Fold tm_log_hash, tm_log_eq, tm_log_free into new struct log_entry_hasher. * trans-mem.c'tm_memopt_value_numbers Fold tm_memop_hash, tm_memop_eq into new struct tm_memop_hasher. * tree-ssa-strlen.c'decl_to_stridxlist_htab Fold decl_to_stridxlist_hash into new struct stridxlist_hasher. * tree-ssa-loop-ivopts.c'ivopts_data::inv_expr_tab Fold htab_inv_expr_hash and htab_inv_expr_eq into new struct iv_inv_expr_hasher. * tree-ssa-uncprop.c'equiv Equiv renamed to val_ssa_equiv because of name ambiguity with local variables. Fold equiv_hash, equiv_eq and equiv_free into new struct val_ssa_equiv_hasher. Renamed variables equiv_hash_elt to an_equiv_elt because of name ambiguity with struct type. Changed equiv_hash_elt_p to an_equiv_elt_p to match. * tree-ssa-phiopt.c'seen_ssa_names Fold name_to_bb_hash and name_to_bb_eq into new struct ssa_names_hasher. * tree-ssa-structalias.c'pointer_equiv_class_table * tree-ssa-structalias.c'location_equiv_class_table Fold equiv_class_label_hash and equiv_class_label_eq into new struct equiv_class_hasher. * tree-ssa-structalias.c'shared_bitmap_table Fold shared_bitmap_hash and shared_bitmap_eq into new struct shared_bitmap_hasher. * tree-ssa-live.c'var_map_base_init::tree_to_index New struct tree_int_map_hasher. * tree-sra.c'candidates Fold uid_decl_map_hash and uid_decl_map_eq into new struct uid_decl_hasher. This change moves the definitions from tree-ssa.c into tree-sra.c and removes the declarations from tree-flow.h tree-browser.c Remove stale declaration of removed TB_parent_eq. Fix template parameter for base class to match value_type. gimple.h Use gimplify_hasher::hash rather than gimple_tree_hash in the assertion check. Change return values to match return type. (I.e. no conversions.) * graphite-clast-to-gimple.c'ivs_params::newivs_index * graphite-clast-to-gimple.c'ivs_params::params_index * graphite-clast-to-gimple.c'print_generated_program::params_index * graphite-clast-to-gimple.c'gloog::newivs_index * graphite-clast-to-gimple.c'gloog::params_index * graphite.c graphite_transform_loops::bb_pbb_mapping * sese.c copy_bb_and_scalar_dependences::rename_map Move hash table declarations to a new graphite-htab.h, because they are used in few places. Remove unused: htab_t scop::original_pddrs SCOP_ORIGINAL_PDDRS Remove unused: insert_loop_close_phis insert_guard_phis debug_ivtype_map ivtype_map_elt_info new_ivtype_map_elt * gimplify.c'gimplify_ctx::temp_htab Move struct gimple_temp_hash_elt and struct gimplify_ctx to a new gimplify-ctx.h, because they are used few places. * cselib.c'cselib_hash_table * gcse.c'pre_ldst_table * gimple-ssa-strength-reduction.c'base_cand_map * haifa-sched.c'delay_htab * haifa-sched.c'delay_htab_i2 * ira-color.c'allocno_hard_regs_htab * ira-costs.c'cost_classes_htab * loop-invariant.c'merge_identical_invariants::eq * loop-iv.c'bivs * loop-unroll.c'opt_info::insns_to_split * loop-unroll.c'opt_info::insns_with_var_to_expand * passes.c'name_to_pass_map * plugin.c'event_tab * postreload-gcse.c'expr_table * store-motion.c'store_motion_mems_table * tree-cfg.c'discriminator_per_locus * tree-scalar-evolution.c'resolve_mixers::cache * tree-ssa-dom.c'avail_exprs Remove unused: dse.c bitmap clear_alias_sets dse.c bitmap disqualified_clear_alias_sets dse.c alloc_pool clear_alias_mode_pool dse.c dse_step2_spill dse.c dse_step5_spill graphds.h htab_t graph::indices * attribs.c'scoped_attributes::attribute_hash * bitmap.c'bitmap_desc_hash * dwarf2cfi.c'trace_index * dwarf2out.c'break_out_includes::cu_hash_table * dwarf2out.c'copy_decls_for_unworthy_types::decl_table * dwarf2out.c'optimize_external_refs::map * dwarf2out.c'output_comp_unit::extern_map * dwarf2out.c'output_comdat_type_unit::extern_map * dwarf2out.c'output_macinfo::macinfo_htab * dwarf2out.c'optimize_location_lists::htab * dwarf2out.c'dwarf2out_finish::comdat_type_table * except.c'ehspec_hash_type * except.c'assign_filter_values::ttypes * except.c'assign_filter_values::ehspec * except.c'sjlj_assign_call_site_values::ar_hash * except.c'convert_to_eh_region_ranges::ar_hash * trans-mem.c'tm_new_mem_hash * tree-browser.c'TB_up_ht * tree-eh.c'finally_tree Move the declaration of hash_table <alloc_pool_hasher> alloc_pool_hash in alloc-pool.c to after the method definitions for its parameter class. * ggc-common.c'loc_hash * ggc-common.c'ptr_hash Add a new hash_table method elements_with_deleted to meet the needs of gcc-common.c. Correct many methods with parameter types compare_type to the correct value_type. (Correct code was unlikely to notice the change, but incorrect code will.) * tree-complex.c'complex_variable_components * tree-parloops.c'eliminate_local_variables_stmt::decl_address * tree-parloops.c'separate_decls_in_region::decl_copies Move hash table declarations to a new tree-hasher.h, to resolve compilation dependences and because they are used in few places. * lto-streamer.h'output_block::string_hash_table * lto-streamer-in.c'file_name_hash_table * lto-streamer.c'tree_htab The struct string_slot moves from data-streamer.h to lto-streamer.h to resolve compilation dependences. Tested on x86_64. Index: gcc/ChangeLog 2013-04-25 Lawrence Crowl <crowl@google.com> * Makefile.in: Update as needed below. * alloc-pool.c (static hash_table <alloc_pool_hasher> alloc_pool_hash): Move declaration to after the type's method definitons. * attribs.c (htab_t scoped_attributes::attribute_hash): Change type to hash_table. Update dependent calls and types. * bitmap.c (htab_t bitmap_desc_hash): Change type to hash_table. Update dependent calls and types. * cselib.c (htab_t cselib_hash_table): Change type to hash_table. Update dependent calls and types. * data-streamer.h (struct string_slot): Move to lto-streamer.h. (hash_string_slot_node): Move implementation into lto-streamer.h struct string_slot_hasher. (eq_string_slot_node): Likewise. * data-streamer-out.c: Update output_block::string_hash_table dependent calls and types. * dwarf2cfi.c (htab_t trace_index): Change type to hash_table. Update dependent calls and types. * dwarf2out.c (htab_t break_out_includes::cu_hash_table): Change type to hash_table. Update dependent calls and types. (htab_t copy_decls_for_unworthy_types::decl_table): Likewise. (htab_t optimize_external_refs::map): Likewise. (htab_t output_comp_unit::extern_map): Likewise. (htab_t output_comdat_type_unit::extern_map): Likewise. (htab_t output_macinfo::macinfo_htab): Likewise. (htab_t optimize_location_lists::htab): Likewise. (htab_t dwarf2out_finish::comdat_type_table): Likewise. * except.c (htab_t ehspec_hash_type): Change type to hash_table. Update dependent calls and types. (assign_filter_values::ttypes): Likewise. (assign_filter_values::ehspec): Likewise. (sjlj_assign_call_site_values::ar_hash): Likewise. (convert_to_eh_region_ranges::ar_hash): Likewise. * gcse.c (htab_t pre_ldst_table): Change type to hash_table. Update dependent calls and types. * ggc-common.c (htab_t saving_htab): Change type to hash_table. Update dependent calls and types. (htab_t loc_hash): Likewise. (htab_t ptr_hash): Likewise. (call_count): Rename ggc_call_count. (call_alloc): Rename ggc_call_alloc. (loc_descriptor): Rename make_loc_descriptor. (add_statistics): Rename ggc_add_statistics. * ggc-common.c (saving_htab): Change type to hash_table. Update dependent calls and types. * gimple.h (struct gimplify_ctx): Move to gimplify-ctx.h. (push_gimplify_context): Likewise. (pop_gimplify_context): Likewise. (struct gimple_temp_hash_elt): Added. (struct gimplify_hasher): Likewise. (struct gimplify_ctx.temp_htab): Change type to hash_table. Update dependent calls and types. * gimple-fold.c: Include gimplify-ctx.h. * gimple-ssa-strength-reduction.c (htab_t base_cand_map): Change type to hash_table. Update dependent calls and types. (base_cand_dump_callback): Rename to ssa_base_cand_dump_callback to avoid potential global name collision. * gimplify.c: Include gimplify-ctx.h. (struct gimple_temp_hash_elt): Move to gimplify-ctx.h. (htab_t gimplify_ctx::temp_htab): Update dependent calls and types for new type hash_table. (gimple_tree_hash): Move into gimplify_hasher in gimplify-ctx.h. (gimple_tree_eq): Move into gimplify_hasher in gimplify-ctx.h. * gimplify-ctx.h: New. (struct gimple_temp_hash_elt): Move from gimplify.c. (class gimplify_hasher): New. (struct gimplify_ctx): Move from gimple.h. (htab_t gimplify_ctx::temp_htab): Change type to hash_table. Update dependent calls and types. * graphite-clast-to-gimple.c: Include graphite-htab.h. (htab_t ivs_params::newivs_index): Change type to hash_table. Update dependent calls and types. (htab_t ivs_params::params_index): Likewise. (htab_t print_generated_program::params_index): Likewise. (htab_t gloog::newivs_index): Likewise. (htab_t gloog::params_index): Likewise. * graphite.c: Include graphite-htab.h. 4htab_t graphite_transform_loops::bb_pbb_mapping): Change type to hash_table. Update dependent calls and types. * graphite-clast-to-gimple.h: (extern gloog) Move to graphite-htab.h. (bb_pbb_map_hash): Fold into bb_pbb_htab_type in graphite-htab.h. (eq_bb_pbb_map): Fold into bb_pbb_htab_type in graphite-htab.h. * graphite-dependences.c: Include graphite-htab.h. (loop_is_parallel_p): Change hash table type of parameter. * graphite-htab.h: New. (typedef hash_table <bb_pbb_hasher> bb_pbb_htab_type): New. (extern find_pbb_via_hash): Move from graphite-poly.h. (extern loop_is_parallel_p): Move from graphite-poly.h. (extern get_loop_body_pbbs): Move from graphite-poly.h. * graphite-poly.h (extern find_pbb_via_hash): Move to graphite-htab.h. (extern loop_is_parallel_p): Move to graphite-htab.h. (extern get_loop_body_pbbs): Move to graphite-htab.h. * haifa-sched.c (htab_t delay_htab): Change type to hash_table. Update dependent calls and types. (htab_t delay_htab_i2): Likewise. * ira-color.c (htab_t allocno_hard_regs_htab): Change type to hash_table. Update dependent calls and types. * ira-costs.c (htab_t cost_classes_htab): Change type to hash_table. Update dependent calls and types. * loop-invariant.c (htab_t merge_identical_invariants::eq): Change type to hash_table. Update dependent calls and types. * loop-iv.c (htab_t bivs): Change type to hash_table. Update dependent calls and types. * loop-unroll.c (htab_t opt_info::insns_to_split): Change type to hash_table. Update dependent calls and types. (htab_t opt_info::insns_with_var_to_expand): Likewise. * lto-streamer.h (struct string_slot): Move from data-streamer.h (struct string_slot_hasher): New. (htab_t output_block::string_hash_table): Change type to hash_table. Update dependent calls and types. * lto-streamer-in.c (freeing_string_slot_hasher): New. (htab_t file_name_hash_table): Change type to hash_table. Update dependent calls and types. * lto-streamer-out.c: Update output_block::string_hash_table dependent calls and types. * lto-streamer.c (htab_t tree_htab): Change type to hash_table. Update dependent calls and types. * omp-low.c: Include gimplify-ctx.h. * passes.c (htab_t name_to_pass_map): Change type to hash_table. Update dependent calls and types. (pass_traverse): Rename to passes_pass_traverse. * plugin.c (htab_t event_tab): Change type to hash_table. Update dependent calls and types. * postreload-gcse.c (htab_t expr_table): Change type to hash_table. Update dependent calls and types. (dump_hash_table_entry): Rename dump_expr_hash_table_entry. * sese.c (debug_rename_map_1): Make extern. (htab_t copy_bb_and_scalar_dependences::rename_map): Change type to hash_table. Update dependent calls and types. * sese.h (extern debug_rename_map): Move to .c file. * store-motion.c (htab_t store_motion_mems_table): Change type to hash_table. Update dependent calls and types. * trans-mem.c (htab_t tm_new_mem_hash): Change type to hash_table. Update dependent calls and types. * tree-browser.c (htab_t TB_up_ht): Change type to hash_table. Update dependent calls and types. * tree-cfg.c (htab_t discriminator_per_locus): Change type to hash_table. Update dependent calls and types. * tree-complex.c: Include tree-hasher.h (htab_t complex_variable_components): Change type to hash_table. Update dependent calls and types. * tree-eh.c (htab_t finally_tree): Change type to hash_table. Update dependent calls and types. * tree-flow.h (extern int_tree_map_hash): Moved into tree-hasher struct int_tree_hasher. (extern int_tree_map_eq): Likewise. (uid_decl_map_hash): Removed. (extern decl_tree_map_eq): Likewise. * tree-hasher.h: New. (struct int_tree_hasher): New. (typedef int_tree_htab_type): New. * tree-inline.c: Include gimplify-ctx.h. * tree-mudflap.c: Include gimplify-ctx.h. * tree-parloops.c: Include tree-hasher.h. (htab_t eliminate_local_variables_stmt::decl_address): Change type to hash_table. Update dependent calls and types. (htab_t separate_decls_in_region::decl_copies): Likewise. * tree-scalar-evolution.c (htab_t resolve_mixers::cache): Change type to hash_table. Update dependent calls and types. * tree-sra.c (candidates): Change type to hash_table. Update dependent calls and types. * tree-ssa.c (int_tree_map_eq): Moved into struct int_tree_hasher in tree-flow.h. (int_tree_map_hash): Likewise. * tree-ssa-dom.c (htab_t avail_exprs): Change type to hash_table. Update dependent calls and types. * tree-ssa-live.c (var_map_base_init::tree_to_index): Change type to hash_table. Update dependent calls and types. * tree-ssa-loop-ivopts.c (struct ivopts_data.inv_expr_tab): Change type to hash_table. Update dependent calls and types. * tree-ssa-phiopt.c (seen_ssa_names): Change type to hash_table. Update dependent calls and types. * tree-ssa-strlen.c (decl_to_stridxlist_htab): Change type to hash_table. Update dependent calls and types. * tree-ssa-uncprop.c (equiv): Change type to hash_table. Update dependent calls and types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198329 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove various unused items.crowl2013-03-291-5/+0
| | | | | | | | | | | | | | | | | | | | 2013-03-28 Lawrence Crowl <crowl@google.com> Index: gcc/ChangeLog * graphds.h (struct graph.indicies): Remove unused. * graphite-poly.h (struct graph.original_pddrs): Remove unused. (SCOP_ORIGINAL_PDDRS): Remove unused. * sese.h (extern insert_loop_close_phis): Removed unused. (extern insert_guard_phis): Removed unused. (extern ivtype_map_elt_info): Removed unused. (new_ivtype_map_elt): Removed unused. * sese.c (ivtype_map_elt_info): Removed unused. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197226 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyright years in gcc/rsandifo2013-01-101-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195098 138bc75d-0d04-0410-961f-82ee72b054a4
* Update Copyright years for files modified in 2011 and/or 2012.jakub2013-01-041-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194903 138bc75d-0d04-0410-961f-82ee72b054a4
* This patch rewrites the old VEC macro-based interface into a new onednovillo2012-11-181-63/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | based on the template class 'vec'. The user-visible changes are described in http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec. I have tested the patch pretty extensively: - Regular bootstraps on x86_64, ppc, ia64, sparc and hppa. - Bootstraps with --enable-checking=release - Bootstraps with --enable-checking=gc,gcac - Basic builds on all targets (using contrib/config-list.mk). We no longer access the vectors via VEC_* macros. The pattern is "VEC_operation (T, A, V, args)" becomes "V.operation (args)". The only thing I could not do is create proper ctors and dtors for the vec class. Since these vectors are stored in unions, we have to keep them as PODs (C++03 does not allow non-PODs in unions). This means that creation and destruction must be explicit. There is a new method vec<type, allocation, layout>::create() and another vec<type, allocation, layout>::destroy() to allocate the internal vector. For vectors that must be pointers, there is a family of free functions that implement the operations that need to tolerate NULL vectors. These functions all start with the prefix 'vec_safe_'. See the wiki page for details. The gengtype change removes the special handling for VEC() that used to exist in gengtype. Additionally, it allows gengtype to recognize templates of more than one argument and introduces the concept of an undefined type (useful for template arguments that may or may not be types). When a TYPE_UNDEFINED is reached, gengtype will ignore it if it happens inside a type marked with GTY((user)). Otherwise, it will emit an error. Finally, gengtype rejects root types marked GTY((user)) that are not first class pointers. 2012-11-16 Diego Novillo <dnovillo@google.com> VEC API overhaul (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec) * vec.c (register_overhead): Convert it into member function of vec_prefix. (release_overhead): Likewise. (calculate_allocation): Likewise. (vec_heap_free): Remove. (vec_gc_o_reserve_1): Remove. (vec_heap_o_reserve_1): Remove. (vec_stack_o_reserve_1): Remove. (vec_stack_o_reserve_exact): Remove. (register_stack_vec): New. (stack_vec_register_index): New. (unregister_stack_vec): New. (vec_assert_fail): Remove. * vec.h: Conditionally include ggc.h. Document conditional hackery. Update top-level documentation. (ALONE_VEC_CHECK_INFO): Remove. (VEC_CHECK_INFO): Remove. (ALONE_VEC_CHECK_DECL): Remove. (VEC_CHECK_DECL): Remove. (ALONE_VEC_CHECK_PASS): Remove. (VEC_CHECK_PASS): Remove. (VEC_ASSERT): Remove. (vec_prefix): Add friends va_gc, va_gc_atomic, va_heap and va_stack. Mark fields alloc_ and num_ as protected. (struct vec_t): Remove. Remove all function members. (struct vl_embed): Declare. (struct vl_ptr): Declare. (free): Remove. (reserve_exact): Remove. (reserve): Remove. (safe_splice): Remove. (safe_push): Remove. (safe_grow): Remove. (safe_grow_cleared): Remove. (safe_insert): Remove. (DEF_VEC_I): Remove. (DEF_VEC_ALLOC_I): Remove. (DEF_VEC_P): Remove. (DEF_VEC_ALLOC_P): Remove. (DEF_VEC_O): Remove. (DEF_VEC_ALLOC_O): Remove. (DEF_VEC_ALLOC_P_STACK): Remove. (DEF_VEC_ALLOC_O_STACK): Remove. (DEF_VEC_ALLOC_I_STACK): Remove. (DEF_VEC_A): Remove. (DEF_VEC_ALLOC_A): Remove. (vec_stack_p_reserve_exact_1): Remove. (vec_stack_o_reserve): Remove. (vec_stack_o_reserve_exact): Remove. (VEC_length): Remove. (VEC_empty): Remove. (VEC_address): Remove. (vec_address): Remove. (VEC_last): Remove. (VEC_index): Remove. (VEC_iterate): Remove. (VEC_embedded_size): Remove. (VEC_embedded_init): Remove. (VEC_free): Remove. (VEC_copy): Remove. (VEC_space): Remove. (VEC_reserve): Remove. (VEC_reserve_exact): Remove. (VEC_splice): Remove. (VEC_safe_splice): Remove. (VEC_quick_push): Remove. (VEC_safe_push): Remove. (VEC_pop): Remove. (VEC_truncate): Remove. (VEC_safe_grow): Remove. (VEC_replace): Remove. (VEC_quick_insert): Remove. (VEC_safe_insert): Remove. (VEC_ordered_remove): Remove. (VEC_unordered_remove): Remove. (VEC_block_remove): Remove. (VEC_lower_bound): Remove. (VEC_alloc): Remove. (VEC_qsort): Remove. (va_heap): Declare. (va_heap::default_layout): New typedef to vl_ptr. (va_heap::reserve): New. (va_heap::release): New. (va_gc): Declare. (va_gc::default_layout): New typedef to vl_embed. (va_gc::reserve): New. (va_gc::release): New. (va_gc_atomic): Declare. Inherit from va_gc. (va_stack): Declare. (va_stack::default_layout): New typedef to vl_ptr. (va_stack::alloc): New. (va_stack::reserve): New. (va_stack::release): New. (register_stack_vec): Declare. (stack_vec_register_index): Declare. (unregister_stack_vec): Declare. (vec<T, A = va_heap, L = typename A::default_layout>): Declare empty vec template. (vec<T, A, vl_embed>): Partial specialization for embedded layout. (vec<T, A, vl_embed>::allocated): New. (vec<T, A, vl_embed>::length): New. (vec<T, A, vl_embed>::is_empty): New. (vec<T, A, vl_embed>::address): New. (vec<T, A, vl_embed>::operator[]): New. (vec<T, A, vl_embed>::last New. (vec<T, A, vl_embed>::space): New. (vec<T, A, vl_embed>::iterate): New. (vec<T, A, vl_embed>::iterate): New. (vec<T, A, vl_embed>::copy): New. (vec<T, A, vl_embed>::splice): New. (vec<T, A, vl_embed>::quick_push New. (vec<T, A, vl_embed>::pop New. (vec<T, A, vl_embed>::truncate): New. (vec<T, A, vl_embed>::quick_insert): New. (vec<T, A, vl_embed>::ordered_remove): New. (vec<T, A, vl_embed>::unordered_remove): New. (vec<T, A, vl_embed>::block_remove): New. (vec<T, A, vl_embed>::qsort): New. (vec<T, A, vl_embed>::lower_bound): New. (vec<T, A, vl_embed>::embedded_size): New. (vec<T, A, vl_embed>::embedded_init): New. (vec<T, A, vl_embed>::quick_grow): New. (vec<T, A, vl_embed>::quick_grow_cleared): New. (vec_safe_space): New. (vec_safe_length): New. (vec_safe_address): New. (vec_safe_is_empty): New. (vec_safe_reserve): New. (vec_safe_reserve_exact): New. (vec_alloc): New. (vec_free): New. (vec_safe_grow): New. (vec_safe_grow_cleared): New. (vec_safe_iterate): New. (vec_safe_push): New. (vec_safe_insert): New. (vec_safe_truncate): New. (vec_safe_copy): New. (vec_safe_splice): New. (vec<T, A, vl_ptr>): New partial specialization for the space efficient layout. (vec<T, A, vl_ptr>::exists): New. (vec<T, A, vl_ptr>::is_empty): New. (vec<T, A, vl_ptr>::length): New. (vec<T, A, vl_ptr>::address): New. (vec<T, A, vl_ptr>::operator[]): New. (vec<T, A, vl_ptr>::operator!=): New. (vec<T, A, vl_ptr>::operator==): New. (vec<T, A, vl_ptr>::last): New. (vec<T, A, vl_ptr>::space): New. (vec<T, A, vl_ptr>::iterate): New. (vec<T, A, vl_ptr>::copy): New. (vec<T, A, vl_ptr>::reserve): New. (vec<T, A, vl_ptr>::reserve_exact): New. (vec<T, A, vl_ptr>::splice): New. (vec<T, A, vl_ptr>::safe_splice): New. (vec<T, A, vl_ptr>::quick_push): New. (vec<T, A, vl_ptr>::safe_push): New. (vec<T, A, vl_ptr>::pop): New. (vec<T, A, vl_ptr>::truncate): New. (vec<T, A, vl_ptr>::safe_grow): New. (vec<T, A, vl_ptr>::safe_grow_cleared): New. (vec<T, A, vl_ptr>::quick_grow): New. (vec<T, A, vl_ptr>::quick_grow_cleared): New. (vec<T, A, vl_ptr>::quick_insert): New. (vec<T, A, vl_ptr>::safe_insert): New. (vec<T, A, vl_ptr>::ordered_remove): New. (vec<T, A, vl_ptr>::unordered_remove): New. (vec<T, A, vl_ptr>::block_remove): New. (vec<T, A, vl_ptr>::qsort): New. (vec<T, A, vl_ptr>::lower_bound): New. (vec_stack_alloc): Define. (FOR_EACH_VEC_SAFE_ELT): Define. * vecir.h: Remove. Update all users. * vecprim.h: Remove. Update all users. Move uchar to coretypes.h. * Makefile.in (VEC_H): Add $(GGC_H). Remove vecir.h and vecprim.h dependencies everywhere. 2012-11-16 Diego Novillo <dnovillo@google.com> * gengtype-lex.l (VEC): Remove. Add characters in the set [\!\>\.-]. * gengtype-parse.c (token_names): Remove "VEC". (require_template_declaration): Remove handling of VEC_TOKEN. (type): Likewise. Call create_user_defined_type when parsing GTY((user)). * gengtype-state.c (type_lineloc): handle TYPE_UNDEFINED. (write_state_undefined_type): New. (write_state_type): Call write_state_undefined_type for TYPE_UNDEFINED. (read_state_type): Call read_state_undefined_type for TYPE_UNDEFINED. * gengtype.c (dbgprint_count_type_at): Handle TYPE_UNDEFINED. (create_user_defined_type): Make extern. (type_for_name): Factor out of resolve_typedef. (create_undefined_type): New (resolve_typedef): Call it when we cannot find a previous typedef and the type is not a template. (find_structure): Accept TYPE_UNDEFINED. (set_gc_used_type): Add argument ALLOWED_UNDEFINED_TYPES, default to false. Emit an error for TYPE_UNDEFINED unless LEVEL is GC_UNUSED or ALLOWED_UNDEFINED_TYPES is set. Set ALLOWED_UNDEFINED_TYPES to true for TYPE_USER_STRUCT. (filter_type_name): Accept templates with more than one argument. (output_mangled_typename): Handle TYPE_UNDEFINED (walk_type): Likewise. (write_types_process_field): Likewise. (write_func_for_structure): If CHAIN_NEXT is set, ORIG_S should not be a user-defined type. (write_types_local_user_process_field): Handle TYPE_ARRAY, TYPE_NONE and TYPE_UNDEFINED. (write_types_local_process_field): Likewise. (contains_scalar_p): Return 0 for TYPE_USER_STRUCT. (write_root): Reject user-defined types that are not pointers. Handle TYPE_NONE, TYPE_UNDEFINED, TYPE_UNION, TYPE_LANG_STRUCT and TYPE_PARAM_STRUCT. (output_typename): Handle TYPE_NONE, TYPE_UNDEFINED, and TYPE_ARRAY. (dump_typekind): Handle TYPE_UNDEFINED. * gengtype.h (enum typekind): Add TYPE_UNDEFINED. (create_user_defined_type): Declare. (enum gty_token): Remove VEC_TOKEN. 2012-11-16 Diego Novillo <dnovillo@google.com> Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec) * coretypes.h (uchar): Define. * alias.c: Use new vec API in vec.h. * asan.c: Likewise. * attribs.c: Likewise. * basic-block.h: Likewise. * bb-reorder.c: Likewise. * builtins.c: Likewise. * calls.c: Likewise. * cfg.c: Likewise. * cfganal.c: Likewise. * cfgcleanup.c: Likewise. * cfgexpand.c: Likewise. * cfghooks.c: Likewise. * cfghooks.h: Likewise. * cfgloop.c: Likewise. * cfgloop.h: Likewise. * cfgloopanal.c: Likewise. * cfgloopmanip.c: Likewise. * cfgrtl.c: Likewise. * cgraph.c: Likewise. * cgraph.h: Likewise. * cgraphclones.c: Likewise. * cgraphunit.c: Likewise. * combine.c: Likewise. * compare-elim.c: Likewise. * coverage.c: Likewise. * cprop.c: Likewise. * data-streamer.h: Likewise. * dbxout.c: Likewise. * dce.c: Likewise. * df-core.c: Likewise. * df-problems.c: Likewise. * df-scan.c: Likewise. * dominance.c: Likewise. * domwalk.c: Likewise. * domwalk.h: Likewise. * dse.c: Likewise. * dwarf2cfi.c: Likewise. * dwarf2out.c: Likewise. * dwarf2out.h: Likewise. * emit-rtl.c: Likewise. * except.c: Likewise. * except.h: Likewise. * expr.c: Likewise. * expr.h: Likewise. * final.c: Likewise. * fold-const.c: Likewise. * function.c: Likewise. * function.h: Likewise. * fwprop.c: Likewise. * gcc.c: Likewise. * gcse.c: Likewise. * genattr.c: Likewise. * genattrtab.c: Likewise. * genautomata.c: Likewise. * genextract.c: Likewise. * genopinit.c: Likewise * ggc-common.c: Likewise. * ggc.h: Likewise. * gimple-low.c: Likewise. * gimple-ssa-strength-reduction.c: Likewise. * gimple-streamer-in.c: Likewise. * gimple.c: Likewise. * gimple.h: Likewise. * gimplify.c: Likewise. * graph.c: Likewise. * graphds.c: Likewise. * graphds.h: Likewise. * graphite-blocking.c: Likewise. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-optimize-isl.c: Likewise. * graphite-poly.c: Likewise. * graphite-poly.h: Likewise. * graphite-scop-detection.c: Likewise. * graphite-scop-detection.h: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * godump.c: Likewise. * haifa-sched.c: Likewise. * hw-doloop.c: Likewise. * hw-doloop.h: Likewise. * ifcvt.c: Likewise. * insn-addr.h: Likewise. * ipa-cp.c: Likewise. * ipa-inline-analysis.c: Likewise. * ipa-inline-transform.c: Likewise. * ipa-inline.c: Likewise. * ipa-inline.h: Likewise. * ipa-prop.c: Likewise. * ipa-prop.h: Likewise. * ipa-pure-const.c: Likewise. * ipa-ref-inline.h: Likewise. * ipa-ref.c: Likewise. * ipa-ref.h: Likewise. * ipa-reference.c: Likewise. * ipa-split.c: Likewise. * ipa-utils.c: Likewise. * ipa-utils.h: Likewise. * ipa.c: Likewise. * ira-build.c: Likewise. * ira-color.c: Likewise. * ira-emit.c: Likewise. * ira-int.h: Likewise. * ira.c: Likewise. * loop-invariant.c: Likewise. * loop-unroll.c: Likewise. * lower-subreg.c: Likewise. * lra-lives.c: Likewise. * lra.c: Likewise. * lto-cgraph.c: Likewise. * lto-section-out.c: Likewise. * lto-streamer-in.c: Likewise. * lto-streamer-out.c: Likewise. * lto-streamer.h: Likewise. * lto-symtab.c: Likewise. * mcf.c: Likewise. * modulo-sched.c: Likewise. * omp-low.c: Likewise. * opts-common.c: Likewise. * opts-global.c: Likewise. * opts.c: Likewise. * opts.h: Likewise. * passes.c: Likewise. * predict.c: Likewise. * print-tree.c: Likewise. * profile.c: Likewise. * profile.h: Likewise. * read-rtl.c: Likewise. * ree.c: Likewise. * reg-stack.c: Likewise. * regrename.c: Likewise. * regrename.h: Likewise. * reload.c: Likewise. * reload.h: Likewise. * reload1.c: Likewise. * rtl.h: Likewise. * sched-deps.c: Likewise. * sched-int.h: Likewise. * sdbout.c: Likewise. * sel-sched-dump.c: Likewise. * sel-sched-ir.c: Likewise. * sel-sched-ir.h: Likewise. * sel-sched.c: Likewise. * sese.c: Likewise. * sese.h: Likewise. * statistics.h: Likewise. * stmt.c: Likewise. * stor-layout.c: Likewise. * store-motion.c: Likewise. * tlink.c: Likewise. * toplev.c: Likewise. * trans-mem.c: Likewise. * tree-browser.c: 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-diagnostic.c: Likewise. * tree-dump.c: Likewise. * tree-eh.c: Likewise. * tree-emutls.c: Likewise. * tree-flow.h: Likewise. * tree-if-conv.c: Likewise. * tree-inline.c: Likewise. * tree-inline.h: Likewise. * tree-into-ssa.c: Likewise. * tree-iterator.c: Likewise. * tree-loop-distribution.c: Likewise. * tree-mudflap.c: Likewise. * tree-optimize.c: Likewise. * tree-outof-ssa.c: Likewise. * tree-parloops.c: Likewise. * tree-phinodes.c: Likewise. * tree-predcom.c: Likewise. * tree-pretty-print.c: Likewise. * tree-scalar-evolution.c: Likewise. * tree-sra.c: Likewise. * tree-ssa-address.c: Likewise. * tree-ssa-alias.c: Likewise. * tree-ssa-ccp.c: Likewise. * tree-ssa-coalesce.c: Likewise. * tree-ssa-dce.c: Likewise. * tree-ssa-dom.c: Likewise. * tree-ssa-forwprop.c: Likewise. * tree-ssa-live.c: Likewise. * tree-ssa-live.h: 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-math-opts.c: Likewise. * tree-ssa-operands.c: 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-sccvn.h: Likewise. * tree-ssa-strlen.c: Likewise. * tree-ssa-structalias.c: Likewise. * tree-ssa-tail-merge.c: Likewise. * tree-ssa-threadedge.c: Likewise. * tree-ssa-threadupdate.c: Likewise. * tree-ssa-uncprop.c: Likewise. * tree-ssa-uninit.c: Likewise. * tree-ssa.c: Likewise. * tree-ssanames.c: Likewise. * tree-stdarg.c: Likewise. * tree-streamer-in.c: Likewise. * tree-streamer-out.c: Likewise. * tree-streamer.c: Likewise. * tree-streamer.h: Likewise. * tree-switch-conversion.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.h: Likewise. * value-prof.c: Likewise. * value-prof.h: Likewise. * var-tracking.c: Likewise. * varasm.c: Likewise. * varpool.c: Likewise. * vmsdbgout.c: Likewise. * config/bfin/bfin.c: Likewise. * config/c6x/c6x.c: Likewise. * config/darwin.c: Likewise. * config/i386/i386.c: Likewise. * config/ia64/ia64.c: Likewise. * config/mep/mep.c: Likewise. * config/mips/mips.c: Likewise. * config/pa/pa.c: Likewise. * config/rs6000/rs6000-c.c: Likewise. * config/rs6000/rs6000.c: Likewise. * config/rx/rx.c: Likewise. * config/spu/spu-c.c: Likewise. * config/vms/vms.c: Likewise. * config/vxworks.c: Likewise. * config/epiphany/resolve-sw-modes.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193595 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-04 Tobias Grosser <tobias@grosser.es>rguenth2012-07-041-0/+17
| | | | | | | | | | | | | | | | | | | Michael Matz <matz@suse.de> * Makefile.in (OBJS): Add graphite-optimize-isl.o. (graphite-optimize-isl.o): Add dependencies. * common.opt (floop-nest-optimize): New flag. * doc/invoke.texi (floop-nest-optimize): Document. * graphite-dependences.c (compute_deps): Export. * graphite-poly.h (compute_deps): Declare. * graphite-optimize-isl.c: New file. * graphite-poly.c (apply_poly_transforms): Run the loop nest optimizer. * tree-ssa-loop.c (gate_graphite_transforms): Enable graphite if -floop-nest-optimize is enabled. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189249 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-07-02 Richard Guenther <rguenther@suse.de>rguenth2012-07-021-158/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Michael Matz <matz@suse.de> Tobias Grosser <tobias@grosser.es> Sebastian Pop <sebpop@gmail.com> config/ * cloog.m4: Set up to work against ISL only. * isl.m4: New file. * Makefile.def: Add ISL host module, remove PPL host module. Adjust ClooG host module to use the proper ISL. * Makefile.tpl: Pass ISL include flags instead of PPL ones. * configure.ac: Include config/isl.m4. Add ISL host library, remove PPL. Remove PPL configury, add ISL configury, adjust ClooG configury. * Makefile.in: Regenerated. * configure: Likewise. gcc/ * Makefile.in: Remove PPL flags in favor of ISL ones. (BACKENDLIBS): Remove PPL libs. (INCLUDES): Remove PPL includes in favor of ISL ones. (graphite-clast-to-gimple.o): Remove graphite-dependences.h and graphite-cloog-compat.h dependencies. (graphite-dependences.o): Likewise. (graphite-poly.o): Likewise. * configure.ac: Declare ISL vars instead of PPL ones. * configure: Regenerated. * doc/install.texi: Replace PPL requirement documentation with ISL one. * graphite-blocking.c: Remove PPL code, add ISL equivalent. * graphite-clast-to-gimple.c: Likewise. * graphite-dependences.c: Likewise. * graphite-interchange.c: Likewise. * graphite-poly.h: Likewise. * graphite-poly.c: Likewise. * graphite-sese-to-poly.c: Likewise. * graphite.c: Likewise. * graphite-scop-detection.c: Re-arrange includes. * graphite-cloog-util.c: Remove. * graphite-cloog-util.h: Likewise. * graphite-ppl.h: Likewise. * graphite-ppl.c: Likewise. * graphite-dependences.h: Likewise. libgomp/ * testsuite/libgomp.graphite/force-parallel-4.c: Adjust. * testsuite/libgomp.graphite/force-parallel-5.c: Likewise. * testsuite/libgomp.graphite/force-parallel-7.c: Likewise. * testsuite/libgomp.graphite/force-parallel-8.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189156 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR47654: Loop blocking should strip-mine at least two loops.spop2011-07-051-2/+2
| | | | | | | | | | | | | | | | | PR tree-optimization/47654 * graphite-blocking.c (pbb_strip_mine_time_depth): Do not return bool. (lst_do_strip_mine_loop): Return an int. (lst_do_strip_mine): Same. (scop_do_strip_mine): Same. (scop_do_block): Loop blocking should strip-mine at least two loops. * graphite-interchange.c (lst_interchange_select_outer): Return an int. (scop_do_interchange): Same. * graphite-poly.h (scop_do_interchange): Update declaration. (scop_do_strip_mine): Same. * gcc.dg/graphite/block-pr47654.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175861 138bc75d-0d04-0410-961f-82ee72b054a4
* Relax the definition of same_pdr_p.spop2011-01-251-2/+1
| | | | | | | | | | 2011-01-25 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (new_poly_ddr): Call same_pdr_p. * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE of both data references to be the same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169210 138bc75d-0d04-0410-961f-82ee72b054a4
* Postpone the rewrite out of SSA to the end of the translation to polyhedral ↵spop2010-12-011-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | representation. 2010-11-22 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/45297 * graphite-poly.c (new_poly_bb): Returns a poly_bb_p. Do not take the reduction bool in parameter. Clear PBB_IS_REDUCTION. Set GBB_PBB. * graphite-poly.h (new_poly_bb): Update declaration. (gbb_from_bb): Moved here... (pbb_from_bb): New. * graphite-sese-to-poly.c (var_used_in_not_loop_header_phi_node): Removed. (graphite_stmt_p): Removed. (try_generate_gimple_bb): Returns a gimple_bb_p. Do not pass in sbitmap reductions. Always build a gimple_bb_p. Do not call new_poly_bb. (build_scop_bbs_1): Do not pass in sbitmap reductions. (build_scop_bbs): Same. (gbb_from_bb): ... from here. (add_conditions_to_constraints): Moved up. (analyze_drs): New. (build_scop_drs): Call analyze_drs. Remove all the PBBs that do not contain data references. (new_pbb_from_pbb): New. (insert_out_of_ssa_copy_on_edge): Call new_pbb_from_pbb after a block is split. (rewrite_close_phi_out_of_ssa): Update call to insert_out_of_ssa_copy_on_edge. (rewrite_reductions_out_of_ssa): Now static. (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. (split_pbb): New. (split_reduction_stmt): Call split_pbb. (translate_scalar_reduction_to_array): Pass in the scop, do not pass in the sbitmap reductions. (rewrite_commutative_reductions_out_of_ssa_close_phi): Same. (rewrite_commutative_reductions_out_of_ssa_loop): Same. (rewrite_commutative_reductions_out_of_ssa): Same. (build_poly_scop): Call build_scop_bbs, rewrite_commutative_reductions_out_of_ssa, rewrite_reductions_out_of_ssa, and rewrite_cross_bb_scalar_deps_out_of_ssa. Move build_scop_drs before scop_to_lst. * graphite-sese-to-poly.h (rewrite_commutative_reductions_out_of_ssa): Removed declaration. (rewrite_reductions_out_of_ssa): Same. (rewrite_cross_bb_scalar_deps_out_of_ssa): Same. (build_scop_bbs): Same. * graphite.c (graphite_transform_loops): Do not initialize reductions. Do not call build_scop_bbs, rewrite_commutative_reductions_out_of_ssa, rewrite_reductions_out_of_ssa, and rewrite_cross_bb_scalar_deps_out_of_ssa. * sese.h (struct gimple_bb): Add field pbb. (GBB_PBB): New. * gcc.dg/graphite/pr45297.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167348 138bc75d-0d04-0410-961f-82ee72b054a4
* Add a stride parameter to scop_do_strip_mine.spop2010-12-011-1/+1
| | | | | | | | | | | | | | 2010-10-20 Sebastian Pop <sebastian.pop@amd.com> * graphite-blocking.c (lst_do_strip_mine_loop): Extra parameter for the stride. (lst_do_strip_mine): Same. (scop_do_strip_mine): Same. * graphite-poly.c (apply_poly_transforms): Update call to scop_do_strip_mine. * graphite-poly.h (scop_do_strip_mine): Update declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167345 138bc75d-0d04-0410-961f-82ee72b054a4
* New pass: loop flattening.spop2010-09-301-3/+24
| | | | | | | | | | | | | | | | | 2010-09-09 Sebastian Pop <sebastian.pop@amd.com> * Makefile.in (OBJS-common): Add graphite-flattening.o. (graphite-flattening.o): New rule. * common.opt (floop-flatten): New flag. * doc/invoke.texi (-floop-flatten): Documented. * graphite-flattening.c: New. * graphite-poly.c (apply_poly_transforms): Call flatten_all_loops. * graphite-poly.h (flatten_all_loops): Declared. (lst_remove_loop_and_inline_stmts_in_loop_father): New. * tree-ssa-loop.c (gate_graphite_transforms): When flag_loop_flatten is set, also set flag_graphite. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164804 138bc75d-0d04-0410-961f-82ee72b054a4
* Add cloog_checksum.spop2010-09-301-0/+1
| | | | | | | | | 2010-09-09 Sebastian Pop <sebastian.pop@amd.com> * graphite-poly.c (cloog_checksum): New. * graphite-poly.h (cloog_checksum): Declared. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164803 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix pbb_number_of_iterations_at_time.spop2010-09-301-1/+0
| | | | | | | | | | | 2010-09-09 Sebastian Pop <sebastian.pop@amd.com> * graphite-poly.c (pbb_number_of_iterations): Removed. (pbb_number_of_iterations_at_time): Correctly compute the number of iterations in the transformed loop. * graphite-poly.h (pbb_number_of_iterations): Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164802 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix lst_update_scattering.spop2010-09-301-22/+14
| | | | | | | | | | 2010-09-09 Sebastian Pop <sebastian.pop@amd.com> * graphite-poly.h (lst_update_scattering_seq): Removed. (lst_update_scattering): Correctly handle outermost loop dewey renumbering. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164801 138bc75d-0d04-0410-961f-82ee72b054a4
* Outline lst_niter_for_loop.spop2010-09-301-0/+13
| | | | | | | | | | 2010-09-09 Sebastian Pop <sebastian.pop@amd.com> * graphite-blocking.c (pbb_strip_mine_profitable_p): Renamed lst_strip_mine_profitable_p. Call lst_niter_for_loop. * graphite-poly.h (lst_niter_for_loop): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164800 138bc75d-0d04-0410-961f-82ee72b054a4
* Use FOR_EACH_VEC_ELT.spop2010-09-301-1/+1
| | | | | | | | 2010-09-09 Sebastian Pop <sebastian.pop@amd.com> * graphite-poly.h (lst_dewey_number): Use FOR_EACH_VEC_ELT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164797 138bc75d-0d04-0410-961f-82ee72b054a4
* Write OpenScop format.spop2010-09-301-1/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-07-29 Riyadh Baghdadi <baghdadi.mr@gmail.com> * graphite-cloog-util.c (openscop_print_cloog_matrix): New. (openscop_print_polyhedron_matrix): New. * graphite-cloog-util.h (openscop_print_polyhedron_matrix): Declared. * graphite-poly.c (openscop_print_pdr_polyhedron): Same. (openscop_print_pdr_powerset): New. (openscop_print_powerset_matrix): New. (openscop_print_scattering_function_1): New. (print_scattering_function): Add support for scattering names and OpenScop format. (graphite_write_transforms): Remove. (apply_poly_transforms): Updated to call print_scop. (print_pdr_access_layout): Updated to support OpenScop format. (print_pdr): Same. (openscop_print_pbb_domain): New. (print_pbb_body): Added a parameter to allow indicating that pbb_body is not provided. (print_pbb): Updated to call the new print_pbb_body. (openscop_print_scop_context): New. (print_scop_header): New. (print_scop): Updated to call print_scop_header. * graphite-poly.h: Document OpenScop format. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164770 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix comments and indentation.spop2010-06-091-0/+1
| | | | | | | | | | | | 2010-06-09 Sebastian Pop <sebastian.pop@amd.com> * graphite-poly.h: Fix comments and indentation. * graphite-sese-to-poly.c: Same. (build_sese_conditions_before): Compute stmt and gbb only when needed. * tree-chrec.c: Fix comments and indentation. (tree-ssa-loop-niter.c): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160508 138bc75d-0d04-0410-961f-82ee72b054a4
* Replace Value with mpz_tspop2010-05-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* * 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
* Add a verbosity parameter to clean up the comments of pretty printers.spop2010-03-311-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-03-23 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (print_pddr): Call print_pdr with an extra argument. * graphite-poly.c (debug_pdr): Add an extra argument for the verbosity level. (print_pdr): Same. (print_pbb_domain): Same. (print_pbb): Same. (print_scop_context): Same. (print_scop): Same. (print_cloog): Same. (debug_pbb_domain): Same. (debug_pbb): Same. (print_pdrs): Same. (debug_pdrs): Same. (debug_scop_context): Same. (debug_scop): Same. (debug_cloog): Same. (print_scop_params): Same. (debug_scop_params): Same. (print_iteration_domain): Same. (print_iteration_domains): Same. (debug_iteration_domain): Same. (debug_iteration_domains): Same. (print_scattering_function): Same. (print_scattering_functions): Same. (debug_scattering_function): Same. (debug_scattering_functions): Same. * graphite-poly.h (debug_pdr): Update declaration. (print_pdr): Same. (print_pbb_domain): Same. (print_pbb): Same. (print_scop_context): Same. (print_scop): Same. (print_cloog): Same. (debug_pbb_domain): Same. (debug_pbb): Same. (print_pdrs): Same. (debug_pdrs): Same. (debug_scop_context): Same. (debug_scop): Same. (debug_cloog): Same. (print_scop_params): Same. (debug_scop_params): Same. (print_iteration_domain): Same. (print_iteration_domains): Same. (debug_iteration_domain): Same. (debug_iteration_domains): Same. (print_scattering_function): Same. (print_scattering_functions): Same. (debug_scattering_function): Same. (debug_scattering_functions): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157888 138bc75d-0d04-0410-961f-82ee72b054a4
* Print SCoPs under CLooG format.spop2010-03-311-0/+2
| | | | | | | | | | | | | | 2010-03-23 Sebastian Pop <sebastian.pop@amd.com> * graphite-poly.c (print_scattering_function_1): New. (print_scattering_function): Call it. (print_scop_params): Remove spaces at the end of lines. (print_cloog): New. (debug_cloog): New. * graphite-poly.h (print_cloog): Declared. (debug_cloog): Declared. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157887 138bc75d-0d04-0410-961f-82ee72b054a4
* Make print_scop output the scoplib format.spop2010-03-311-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | 2010-03-16 Sebastian Pop <sebastian.pop@amd.com> * graphite-poly.c (print_scattering_function): Pretty print following the scoplib format. (print_pdr): Same. (print_pbb_domain): Same. (dump_gbb_cases): Same. (dump_gbb_conditions): Same. (print_pdrs): Same. (print_pbb): Same. (print_scop_params): Same. (print_scop_context): Same. (print_scop): Same. (print_pbb_body): New. (lst_indent_to): New. (print_lst): Start new lines with a #. * graphite-poly.h (pbb_bb): New. (pbb_index): Use pbb_bb. * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of disjuncts. * tree-data-ref.c (dump_data_reference): Start new lines with a #. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157883 138bc75d-0d04-0410-961f-82ee72b054a4
* New function combine_context_id_scat.spop2010-03-081-2/+51
| | | | | | | | | | 2010-03-04 Sebastian Pop <sebastian.pop@amd.com> * graphite-poly.h (struct poly_scattering): Add layout documentation. (struct poly_bb): Same. (combine_context_id_scat): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157281 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR42771.spop2010-02-111-0/+7
| | | | | | | | | | | | | | | | | | | | | | | 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
* Memoize memory strides per loop.spop2010-01-081-0/+7
| | | | | | | | | | | | | | | | | 2010-01-07 Sebastian Pop <sebastian.pop@amd.com> * graphite-interchange.c (memory_stride_in_loop): Renamed pdr_stride_in_loop. (memory_strides_in_loop): Renamed memory_strides_in_loop_1. (memory_strides_in_loop): Memoize the memory strides per loop. (lst_interchange_profitable_p): Do not initialize to zero the memory strides. * graphite-poly.h (struct lst): Add a field memory_strides. (LST_LOOP_MEMORY_STRIDES): New. (new_lst_loop): Initialize LST_LOOP_MEMORY_STRIDES to -1. (free_lst): Clear LST_LOOP_MEMORY_STRIDES. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155725 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-18 Sebastian Pop <sebastian.pop@amd.com>spop2009-11-251-0/+1
| | | | | | | | * graphite-blocking.c (scop_do_block): New. * graphite-poly.c (apply_poly_transforms): Call scop_do_block. * graphite-poly.h (scop_do_block): Declared. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154638 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-11-03 Sebastian Pop <sebastian.pop@amd.com>spop2009-11-251-4/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154632 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-30 Sebastian Pop <sebastian.pop@amd.com>spop2009-11-251-16/+335
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154631 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-22 Sebastian Pop <sebastian.pop@amd.com>spop2009-11-251-0/+28
| | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154618 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-22 Sebastian Pop <sebastian.pop@amd.com>spop2009-11-251-2/+23
| | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154617 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-15 Sebastian Pop <sebastian.pop@amd.com>spop2009-11-251-0/+6
| | | | | | | | | | | | | * graphite-blocking.c (lst_do_strip_mine): Avoid strip mining the root of the LST. * graphite-interchange.c (lst_do_interchange): Avoid interchanging the root of the LST. * graphite-poly.c (scop_to_lst): Fix LST sequence in an outermost fake loop. (print_lst): Print the root of LST in a different format. * graphite-poly.h (lst_depth): Adjust to include the root of the LST. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154593 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-14 Sebastian Pop <sebastian.pop@amd.com>spop2009-11-251-0/+36
| | | | | | | | | | | * graphite-blocking.c (pbb_do_strip_mine): Removed. (lst_do_strip_mine_loop): New. (lst_do_strip_mine): New. (scop_do_strip_mine): Call lst_do_strip_mine. * graphite-poly.h (lst_add_loop_under_loop): New. (lst_find_first_pbb): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154582 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-13 Sebastian Pop <sebastian.pop@amd.com>spop2009-11-251-0/+1
| | | | | | | | * graphite-poly.c (dot_lst_1): New. (dot_lst): New. * graphite-poly.h (dot_lst): Declared. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154573 138bc75d-0d04-0410-961f-82ee72b054a4