[Patch,tree-optimization]: Add new path Splitting pass on tree ssa
authorAjit Agarwal <ajitkum@xilinx.com>
Fri, 13 Nov 2015 23:31:51 +0000 (23:31 +0000)
committerJeff Law <law@gcc.gnu.org>
Fri, 13 Nov 2015 23:31:51 +0000 (16:31 -0700)
commit8fe17e23b052741c8cbec99c7173c3c07f8e8c64
tree5b2631fd0e6dc942bbd89ba9465f3c9d6d96aaa6
parent269e63b735d6e4e18367e94e8417b5d5eb799960
[Patch,tree-optimization]: Add new path Splitting pass on tree ssa
representation

* Makefile.in (OBJS): Add gimple-ssa-split-paths.o
* common.opt (-fsplit-paths): New flag controlling path splitting.
* doc/invoke.texi (fsplit-paths): Document.
* opts.c (default_options_table): Add -fsplit-paths to -O2.
* passes.def: Add split_paths pass.
* timevar.def (TV_SPLIT_PATHS): New timevar.
* tracer.c: Include "tracer.h"
(ignore_bb_p): No longer static.
(transform_duplicate): New function, broken out of tail_duplicate.
(tail_duplicate): Use transform_duplicate.
* tracer.h (ignore_bb_p): Declare
(transform_duplicate): Likewise.
* tree-pass.h (make_pass_split_paths): Declare.
* gimple-ssa-split-paths.c: New file.

* gcc.dg/tree-ssa/split-path-1.c: New test.

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r230364
13 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/common.opt
gcc/doc/invoke.texi
gcc/gimple-ssa-split-paths.c [new file with mode: 0644]
gcc/opts.c
gcc/passes.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c [new file with mode: 0644]
gcc/timevar.def
gcc/tracer.c
gcc/tracer.h [new file with mode: 0644]
gcc/tree-pass.h