summaryrefslogtreecommitdiff
path: root/gcc/passes.c
Commit message (Collapse)AuthorAgeFilesLines
* 2009-06-16 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-06-161-0/+1
| | | | | | | | MELT branch merged with trunk r148523 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@148527 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-06-12 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-06-121-2/+3
| | | | | | | | MELT branch merged with trunk r148428 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@148430 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-06-05 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-06-051-52/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * basilys.h: BASILYS_HAS_OBJ_TAB_FIELDS fully removed. (basilysgc_register_pass): changed signature in declaration. * basilys.c: BASILYS_HAS_OBJ_TAB_FIELDS fully removed. (handle_melt_attribute): moved from my c-common.c. (melt_attr_spec): new static variable. (melt_attribute_callback): added callback for attributes. (basilys_initialize): registering attributes. (basilysgc_register_pass): changed signature for positioning passed as string. (dispatch_gate_basilys, dispatch_execute_basilys) (gate_basilys_lowering, execute_basilys_lowering) (gate_basilys_earlyopt, gate_basilys_lateopt) (execute_basilys_lateopt, gate_basilys_latessa, gate_basilys_ipa) (execute_basilys_ipa): removed functions. (pass_basilys_ipa, pass_basilys_lowering, pass_basilys_earlyopt) (pass_basilys_lateopt, pass_basilys_latessa): removed these extra built-in passes. One can register arbitrary passes using basilysgc_register_pass. * melt/ana-base.melt: removed builtin basilys_earlyopt_gccpass basilys_ipa_gccpass basilys_lateopt_gccpass basilys_latessa_gccpass basilys_lowering_gccpass. (install_melt_gcc_pass): added new primitive for basilysgc_register_pass. * melt/ana-simple.melt: TODO: smallana_command should create and register its own simple IPA pass! * warmelt-first-0.c: regenerated. * warmelt-macro-0.c: regenerated. * warmelt-normal-0.c: regenerated. * warmelt-normatch-0.c: regenerated. * warmelt-genobj-0.c: regenerated. * warmelt-outobj-0.c: regenerated. * c-common.c: reverted to the trunk. * passes.c: reverted to the trunk. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@148208 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-05-26 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-05-261-6/+11
| | | | | | | | MELT branch merged with trunk r147859 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@147861 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-05-15 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-05-151-1/+1
| | | | | | | | | | | | | | MELT branch merged with trunk r147550 2009-05-15 Basile Starynkevitch <basile@starynkevitch.net> merged with trunk rev147539 * gcc/melt/warmelt-normal.melt (normexp_defcmatcher): use obj_hash instead of hashcode! * gcc/Makefile.in: TEXI_GCCINT_FILES has both plugins.texi & melt.texi git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@147552 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-05-11 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-05-111-9/+1
| | | | | | | | MELT branch merged with trunk r147379 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@147380 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-05-04 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-05-041-2/+7
| | | | | | | | MELT branch merged with trunk r147090 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@147091 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-27 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-04-271-12/+9
| | | | | | | | | | | MERGED WITH TRUNK r146824:: * gcc/basilys.h: all GTY goes before the identifiers. * gcc/basilys.c: removed errors.h include. * gcc/run-basilys.h: ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@146839 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-07 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-04-071-4/+10
| | | | | | | | MELT branch merged with trunk r145646 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@145649 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-04-02 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-04-021-2/+6
| | | | | | | | MELT branch merged with trunk r145451 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@145454 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-03-29 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-03-291-0/+32
| | | | | | | | MELT branch merged with trunk r145230 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@145246 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-02-23 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-02-231-1/+1
| | | | | | | | MELT branch merged with trunk r144379 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@144380 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-01-29 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2009-01-291-3/+1
| | | | | | | | MELT branch merged with trunk r143767 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@143769 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-11-03 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-11-031-0/+1
| | | | | | | | MELT branch merged with trunk r141555 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@141561 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-09-16 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-09-161-0/+4
| | | | | | | | | | | | | | | | | | | | | [ana-base.bysl is beginning to show interesting stuff] * tree-pass.h (pass_basilys_latessa): added pass. * passes.c (init_optimization_passes): added pass_basilys_latessa. * basilys.h (basilys_basicblock_gimpleseq): added function. * basilys.c (dispatch_execute_basilys): added dbgcounter debugprint. (gate_basilys_latessa, execute_basilys_latessa): added functions. (pass_basilys_lateopt) added pass. * Makefile.in: also making ana-base-n.so * melt/ana-base.bysl: added each_bb_cfun citerator, basicblock_gimpleseq primitive, basilys_latessa_gccpass instance, do_each_bb_cfun, simpana_latessagate, simpana_latessaexec functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@140389 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-09-08 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-09-091-0/+1
| | | | | | | | MELT branch merged with trunk r140164 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@140169 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-09-02 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-09-021-0/+1
| | | | | | | | | MELT branch merged with trunk r139912 after graphite merge into trunk graphite uses PPL & CLOOG... git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@139915 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-09-02 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-09-021-1/+5
| | | | | | | | | | | | | compiler probe still buggy! * gcc/cfg.c (check_bb_profile): Added return if cfun is null. * gcc/gimple-pretty-print.c (gimple_dump_bb_buff): Don't dump phi nodes when none. * gcc/compiler_probe (bb_starting_displayer): More robust, and more debugprintf... (pass_compiler_probe) requirements are only PROP_cfg. * gcc/passes.c (init_optimization_passes): moved pass_compiler_probe. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@139913 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-09-01 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-09-011-27/+22
| | | | | | | | | | | | | | MERGED WITH TRUNK rev139820 * gcc/melt/warmelt-first.bysl: added location argument to inform. * gcc/warmelt-first-0.c: regenerated. * gcc/warmelt-macro-0.c: regenerated. * gcc/warmelt-normal-0.c: regenerated. * gcc/warmelt-genobj-0.c: regenerated. * gcc/warmelt-outobj-0.c: regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@139849 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-14 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-08-141-8/+8
| | | | | | | | MELT branch merged with trunk r139100 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@139113 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-01 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-08-011-1/+1
| | | | | | | | MELT branch merged with trunk r138450 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@138521 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-31 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-07-311-13/+10
| | | | | | | | | | | the yesterday's version failed to compile any simple C file. Fixed! MELT branch merged with trunk r138355 * gcc/passes.c: better order for basilys related passes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@138403 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-29 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-07-291-24/+9
| | | | | | | | | | | MELT branch merged with trunk r138226 [after tuple merge into trunk] some compiler probe stuff are missing * gcc/compiler-probe.h: more gimple, less tree * gcc/compiler-probe.c: incomplete merge. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@138247 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-22 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-07-221-4/+10
| | | | | | | | | | | | MERGED WITH TRUNK rev138050 * gcc/compiler-probe.c: more C++ friendly. * gcc/passes.c: merged with trunk. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@138056 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-01 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-07-011-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc/basilys.c: added pass_basilys_ipa, pass_basilys_lowering, pass_basilys_earlyopt, pass_basilys_lateopt. (basilysgc_set_routine_data, dispatch_gate_basilys) (dispatch_execute_basilys) (gate_basilys_lowering, execute_basilys_lowering) (gate_basilys_earlyopt, execute_basilys_earlyopt) (gate_basilys_lateopt, execute_basilys_lateopt, gate_basilys_ipa) (execute_basilys_ipa): new functions. * gcc/basilys.h: added FGCCPASS_* enum for fields in CLASS_GCC_PASS. (basilys_routine_data) new function. added routdata inside routines. routaddr made a little bigger for future use. * gcc/tree-passes.h: added pass_basilys_lowering, pass_basilys_earlyopt, pass_basilys_ipa, pass_basilys_lateopt. removed pass_basilys. * gcc/passes.c: likewise. * gcc/melt/warmelt-first.bysl: added class_gcc_pass & sysdata_pass_dict. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@137323 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-01 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-07-011-0/+1
| | | | | | | | MELT branch merged with trunk r137318 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@137321 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-01 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-07-011-4/+4
| | | | | | | | MELT branch merged with trunk r137307 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@137309 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-06-06 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-06-061-4/+10
| | | | | | | | MELT branch merged with trunk r136492 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@136504 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-22 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-05-231-1/+0
| | | | | | | | MELT branch merged with trunk r135793 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@135794 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-17 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-05-171-18/+50
| | | | | | | | MELT branch merged with trunk r135459 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@135460 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-05-06 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-05-061-44/+171
| | | | | | | | MELT branch merged with trunk r134973 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@134974 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-04-21 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-04-211-0/+1
| | | | | | | | MELT branch merged with trunk r134525 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@134526 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-04-15 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-04-151-0/+2
| | | | | | | | | | | * gcc/gengtype.c: (open_base_files) handles basilys.c only when ENABLE_BASILYSMELT * gcc/tree-pass.h: declare basilys_pass only when ENABLE_BASILYSMELT * gcc/toplev.c: (toplev_main) do basilys* init & final only when ENABLE_BASILYSMELT * gcc/passes.c: (init_optimization_passes) do basilys_pass only when ENABLE_BASILYSMELT git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@134311 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-04-05 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-04-051-18/+37
| | | | | | | | MELT branch merged with trunk r133930 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@133932 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-20 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-03-201-35/+39
| | | | | | | | | | | | | | MELT branch merged with trunk r133366 * gcc/basilys.c: pass_basilys is now a gimple_opt_pass. * gcc/tree-pass.h: pass_basilys is now a gimple_opt_pass. pass_compiler_probe now declared here. * gcc/passes.c: using new struct-s for passes. * gcc/compiler-probe.h: moved pass_compiler_probe from here to tree-pass.h * gcc/compiler-probe.c: pass_compiler_probe is a gimple_opt_pass. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@133372 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-02 Basile Starynkevitch <basile@starynkevitch.net>bstarynk2008-03-021-0/+1
| | | | | | | | merged with trunk 132817 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@132818 138bc75d-0d04-0410-961f-82ee72b054a4
* added most of my (Basile Starynkevitch's) filesbstarynk2008-02-191-1/+29
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@132436 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-01-22 Manuel Lopez-Ibanez <manu@gcc.gnu.org>manu2008-01-221-0/+4
| | | | | | | | | | | | | | | PR middle-end/33092 * tree-pass.h (pass_build_alias): New pass. * tree-ssa-alias.c (gate_build_alias): New. (pass_build_alias): New. * passes.c (init_optimization_passes): Add pass_build_alias after pass_create_structure_vars. testsuite/ * gcc.dg/pr33092.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131717 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-29 Richard Guenther <rguenther@suse.de>rguenth2007-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * passes.c (init_optimization_passes): Exchange store_copy_prop with copy_prop. * tree-pass.h (pass_store_copy_prop): Remove. * tree-ssa-copy.c (do_store_copy_prop): Remove. (stmt_may_generate-copy): Do not handle store_copy_prop. (get_copy_of_val): Likewise. (set_copy_of_val): Likewise. (copy_prop_visit_assignment): Likewise. (copy_prop_visit_stmt): Likewise. (copy_prop_visit_phi_node): Likewise. (init_copy_prop): Likewise. (execute_copy_prop): Likewise. (do_copy_prop): Remove. (gate_store_copy_prop): Likewise. (store_copy_prop): Likewise. (pass_store_copy_prop): Likewise. (pass_copy_prop): Call execute_copy_prop. * opts.c (decode_options): Do not set flag_tree_store_copy_prop. * common.opt (ftree-store-copy-prop): Mark obsolete. * doc/invoke.texi (ftree-store-copy-prop): Remove documentation. * gcc.dg/tree-ssa/ssa-copyprop-1.c: Scan optimized dump. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129734 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-24 Olga Golovanevsky <olga@il.ibm.com>olga2007-10-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | * ipa-type-escape.h: Expose function is_array_access_through_pointer_and_index. * ipa-type-escape.c (is_array_access_through_pointer_and_index): Add three new parameters. Add support of POINTER_PLUS_EXPR tree code. 2007-10-24 Olga Golovanevsky <olga@il.ibm.com> * ipa-struct-reorg.c, ipa-struct-reorg.h: New files. * tree-pass.h: Add pass_ipa_struct_reorg. * common.opt: Add ipa-struct-reorg flag. * Makefile.in: Add ipa-strcut-reorg.o compilation. * passes.c: Add pass pass_ipa_struct_reorg. * params.h: Add STRUCT_REORG_COLD_STRUCT_RATIO. * params.def: Add PARAM_STRUCT_REORG_COLD_STRUCT_RATIO. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129600 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/15764jason2007-10-031-0/+1
| | | | | | | | | | | | | | | | * cp/decl.c (wrap_cleanups_r): New fn. (wrap_temporary_cleanups): New fn. (initialize_local_var): Call it. * tree-eh.c (same_handler_p): New fn. (optimize_double_finally): New fn. (refactor_eh_r): New fn. (refactor_eh): New fn. (pass_refactor_eh): New pass. * tree-pass.h: Declare it. * passes.c (init_optimization_passes): Add it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128979 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-parloops.c: New file.rakdver2007-09-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree-ssa-operands.h (free_stmt_operands): Declare. * tree-ssa-loop-manip.c (split_loop_exit_edge): Return the new basic block. * tree-pass.h (pass_parallelize_loops): Declare. * omp-low.c (expand_omp_parallel, expand_omp_for): Update SSA form for virtual operands. (build_omp_regions_1): Allow analysing just a single OMP region and its subregions. ( build_omp_regions_root, omp_expand_local): New functions. (build_omp_regions): Add argument to build_omp_regions_1 call. * builtins.def (DEF_GOMP_BUILTIN): Initialize OMP builtins when autoparallelization is run. * timevar.def (TV_TREE_PARALLELIZE_LOOPS): New. * tree-ssa-loop.c (gate_tree_parallelize_loops, tree_parallelize_loops, pass_parallelize_loops): New. * common.opt (ftree-parallelize-loops): New. * tree-flow.h (omp_expand_local, tree_duplicate_sese_tail, parallelize_loops): Declare. (add_phi_args_after_copy, split_loop_exit_edge): Declaration changed. * Makefile.in (tree-parloops.o): Added. * tree-cfg.c (add_phi_args_after_copy_edge, tree_duplicate_sese_tail): New functions. (add_phi_args_after_copy_bb): Use add_phi_args_after_copy_edge. (add_phi_args_after_copy): Call add_phi_args_after_copy_edge for one extra edge as well. (tree_duplicate_sese_region): Add argument to add_phi_args_after_copy. Use VEC_free to free doms vector. (move_block_to_fn): Update loop info. Remove phi nodes for virtual operands. Recompute operand caches in the new function. (move_sese_region_to_fn): Update loop info. * passes.c (init_optimization_passes): Add pass_parallelize_loops. * tree-ssa-operands.c (free_stmt_operands): New function. * doc/passes.texi: Document autoparallelization. * doc/invoke.texi (-ftree-parallelize-loops): New option. * gcc.dg/tree-ssa/parallelization-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128517 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (java_expand_body): Kill.hubicka2007-09-111-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill. * toplev.c (process_options): all frontends now do unit-at-a-time. * cgraphunit.c: update comments. (cgraph_expand_function): call passmanager dirrectly; emit thunks. * c-decl.c (finish_function): use cgraph_add_new_function. * method.c (use_thunk): Use tree_rest_of_compilation * cp-objecp-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill. (LANG_HOOKS_CALLGRAPH_EMIT_ASSOCIATED_THUNKS): Define. * cp-tree.h (expand_body): Kill. (emit_associated_thunks): Declare. * semantics.c (emit_associated_thunks): Export. (expand_body): Kill. * misc.c (gnat_expand_body): Kill. (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill. * f95-lang.c (gfc_expand_function): Kill. (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill. * function.c (expand_function_end): We are always unit-at-a-time. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128367 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-10 Robert Kidd <rkidd@crhc.uiuc.edu>rkidd2007-09-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to RTL level tracer pass. * passes.c (init_optimization_passes): Move pass_tracer from after pass_rtl_ifcvt to after pass_dce. * tracer.c: Update copyright. (layout_superblocks): Remove function. (mark_bb_seen): New. (bb_seen_p): New. (count_insns): Change to estimate instructions in a Tree-SSA statement. (find_trace): Use bb_seen_p. (tail_duplicate): Use bb_seen_p. Call add_phi_args_after_copy after duplicate_block. (tracer): Change prototype to match that of a pass execute callback. (gate_tracer): Rename from gate_handle_tracer. (rest_of_handle_tracer): Remove function. * rtl.h: Remove prototype for tracer. * testsuite/gcc.dg/tree-prof/tracer-1.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128341 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-pass.h (pass_cselim): Declare new pass.matz2007-09-101-0/+1
| | | | | | | | | | | | | | | | | | | | | * passes.c (init_optimization_passes): Link in pass_cselim. * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Renamed from tree_ssa_phiopt; add do_store_elim parameter, handle it by calling cond_store_replacement. (condstoretemp): New static variable. (cond_store_replacement): New function. (tree_ssa_phiopt, tree_ssa_cs_elim): New wrappers around tree_ssa_phiopt_worker. (struct name_to_bb): New. (get_non_trapping, name_to_bb_hash, name_to_bb_eq, add_or_mark_expr, nt_init_block, nt_fini_block): New static functions. (seen_ssa_names, nontrap_set): New static variables. (gate_cselim, pass_cselim): Define new pass. * common.opt (ftree-cselim): New flag. * toplev.c (process_options): Set flag_tree_cselim if required. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128324 138bc75d-0d04-0410-961f-82ee72b054a4
* * passes.c (init_optimization_passes): Add simple dce and addressablehubicka2007-09-071-0/+4
| | | | | | | | | | | | passes. * tree-ssa.c (execute_update_addresses_taken): New function. (pass_update_address_taken): New. * tree-ssa-dse.c (execute_simple_dse): New function. (pass_simple_dse): New. * tree-pass.h (pass_simple_dse, pass_update_address_taken): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128239 138bc75d-0d04-0410-961f-82ee72b054a4
* * cgraphbuild.c (rebuild_cgraph_edges): Export.rakdver2007-09-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cgraph.h (rebuild_cgraph_edges): Declare. * tree-pass.h (pass_expand_omp_ssa): New. * omp-low.c (find_omp_clause): Export. (copy_var_decl): Split from omp_copy_decl_2. (build_omp_barrier): Return the call to emit instead of emitting it directly. (lower_rec_input_clauses, expand_omp_single): Gimplify the result of build_omp_barrier. (extract_omp_for_data, expand_parallel_call, expand_omp_parallel, expand_omp_for_generic, expand_omp_for_static_nochunk, expand_omp_for_static_chunk, expand_omp_for, expand_omp_sections): Adapted to work on SSA form. (execute_expand_omp): Do not invalidate dominance information. (gate_expand_omp): Do not run with -fopenmp-ssa flag. (gate_expand_omp_ssa, pass_expand_omp_ssa): New. * gimplify.c (gimplify_omp_for): Ensure that the control variable is a gimple_reg. (force_gimple_operand): Allow gimplifying code expressions without value. * tree-predcom.c (mark_virtual_ops_for_renaming): Handle phi nodes. * common.opt (fopenmp-ssa): New. * tree-flow.h (find_omp_clause, copy_var_decl): Declare. * Makefile.in (tree-cfg.o): Add TREE_INLINE_H dependency. * tree-cfg.c: Include tree-inline.h. (struct move_stmt_d): Replace vars_to_remove by vars_map field. (replace_by_duplicate_decl, replace_ssa_name, mark_virtual_ops_in_region): New functions. (move_stmt_r, move_block_to_fn, move_sese_region_to_fn): Adapted to work on SSA form. * passes.c (init_optimization_passes): Add pass_expand_omp_ssa pass. * tree-ssa-operands.c (get_expr_operands): Handle operands of OMP constructs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128223 138bc75d-0d04-0410-961f-82ee72b054a4
* * regrename.c (pass_regrename, pass_cprop_hardreg): Add RTL sharinghubicka2007-09-051-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | verifier. * fwprop.c (pass_rtl_fwprop, pass_rtl_fwprop_add): Likewise. * see.c (pass_see): Likewise. * tracer.c (pass_tracer): Likewise. * postreload-gcse.c (pass_gcse2): Likewise. * postreload.c (pass_postreload_cse): Likewise. * mode-switching.c (pass_mode_switching): Likewise. * modulo-sched.c (pass_sms): Likewise. * cse.c (cse_insn): Likewise. * web.c (pass_web): Likweise. * combine-stack-adj.c (pass_stack_adjustments): Likewise. * dce.c (pass_ud_rtl_dce, pass_fast_rtl_dce): Likewise. * loop-init.c (pass_rtl_loop_init): Likewise. (pass_rtl_loop_done, pass_rtl_move_loop_, pass_rtl_unswitch, pass_rtl_unroll_and, pass_rtl_doloop): Likewise. * global.c (pass_global_alloc): Likewise. * ifcvt.c (pass_rtl_ifcvt, pass_if_after_combine, pass_if_after_reload): Likewise. * reload.c (pass_peephole2, pass_split_for_shoren_branches): Likewise. * dse.c (pass_rtl_dse1, pass_rtl_dse2): Likewise. * regmove.c (pass_regmove): Likewise. * function.c (pass_thread_prologugues_epilogues): Likewise. * gcse.c (pass_gcse): Likewise. * rtl-factoring.c (pass_rtl_seqabstr): Likewise. * lower-subreg.c (pass_lower_subreg2): Likewise. * bt-load.c (pass_branch_target_load): Likewise. * emit-rtl.c (pass_unshare_all_rtl): Likewise. * cfgcleanup.c (pass_jump, pass_jump2): Likewise. * combine.c (pass_combine): Likewise. * bb-reorder.c (pass_duplicate_comp, pass_reorder_blocks): Likewise. (pass_partition_blocks): Likewise. * var-tracking.c (pass_variable_track): Likewise. * reg-stack.c (pass_stack_regs_run): Likewise. * sched-rgn.c (pass_sched, pass_sched2): Likewise. * passes.c (pass_postreload): Likewise. (execute_function_todo): Add TODO_verify_rtl_sharing handling code. * tree-pass.h (TODO_verify_rtl_sharing): New. (TODO_update_ssa, TODO_update_ssa_no_phi, TODO_update_ssa_full_phi, TODO_update_ssa_only_virtuals, TODO_remove_unused_locals, TODO_set_props, TODO_df_finish, TODO_df_verify, TODO_mark_first_instance, TODO_rebuild_alias): Renumber. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128126 138bc75d-0d04-0410-961f-82ee72b054a4
* * system.h (CONST_CAST2, CONST_CAST_TREE, CONST_CAST_RTX,ghazi2007-09-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONST_CAST_BB): New macros for type-specific casts. (CONST_CAST): Add a TYPE parameter and define it in terms of CONST_CAST2. * c-decl.c (c_make_fname_decl): Supply a TYPE for CONST_CAST. * c-lex.c (cb_ident, lex_string): Likewise, * c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise, * config/i386/i386.c (ix86_function_regparm, ix86_function_sseregparm): Use CONST_CAST_TREE. * config/mmix/mmix.c (mmix_encode_section_info): Supply a TYPE for CONST_CAST. * gcc.c (set_spec, read_specs, for_each_path, execute, do_spec_1, give_switch, set_multilib_dir): Likewise, * gengtype-parse.c (string_seq, typedef_name): Likewise, * gimple-low.c (block_may_fallthru): Use CONST_CAST_TREE. * jump.c (reversed_comparison_code_parts): Use CONST_CAST_RTX. * passes.c (execute_one_pass): Supply a TYPE for CONST_CAST. * prefix.c (update_path): Likewise, * pretty-print.c (pp_base_destroy_prefix): Likewise, * rtlanal.c (keep_with_call_p): Use CONST_CAST_RTX. * tree-cfg.c (tree_can_merge_blocks_p, tree_block_ends_with_condjump_p): Use CONST_CAST_BB. * tree-eh.c (lookup_stmt_eh_region_fn): USe CONST_CAST_TREE. * tree.c (build_string): Supply a TYPE for CONST_CAST. (attribute_list_contained): Use CONST_CAST_TREE. cp: * call.c (name_as_c_string): Supply a TYPE for CONST_CAST. * decl.c (cp_make_fname_decl): Likewise, * parser.c (cp_parser_string_literal): Likewise, * tree.c (pod_type_p, zero_init_p): Use CONST_CAST_TREE. * typeck.c (cp_type_quals, cp_type_readonly, cp_has_mutable_p): Likewise, fortran: * gfortranspec.c (lang_specific_driver): Use CONST_CAST2. * options.c (gfc_post_options): Supply a TYPE for CONST_CAST. * parse.c (parse_omp_structured_block): Likewise, * st.c (gfc_free_statement): Likewise, java: * jcf-parse.c (read_class, java_parse_file): Supply a TYPE for CONST_CAST. * jcf.h (JCF_FINISH): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128051 138bc75d-0d04-0410-961f-82ee72b054a4
* PR middle-end/32370jakub2007-08-281-1/+1
| | | | | | | | | | * passes.c (init_optimization_passes): Move pass_df_finish after pass_postreload sublist. * gcc.dg/pr32370.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127856 138bc75d-0d04-0410-961f-82ee72b054a4