diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-11-13 23:31:51 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-11-13 23:31:51 +0000 |
commit | b0e3fe9603e8f733d29b95c1f7725f47c910c6cf (patch) | |
tree | 5b2631fd0e6dc942bbd89ba9465f3c9d6d96aaa6 /gcc/common.opt | |
parent | bb0363917ab6674c9e652f3d083644ef6a8f6a74 (diff) | |
download | gcc-b0e3fe9603e8f733d29b95c1f7725f47c910c6cf.tar.gz |
[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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230364 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/common.opt')
-rw-r--r-- | gcc/common.opt | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/common.opt b/gcc/common.opt index 757ce858735..3eb520eaef2 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -2403,6 +2403,10 @@ ftree-vrp Common Report Var(flag_tree_vrp) Init(0) Optimization Perform Value Range Propagation on trees. +fsplit-paths +Common Report Var(flag_split_paths) Init(0) Optimization +Split paths leading to loop backedges. + funit-at-a-time Common Report Var(flag_unit_at_a_time) Init(1) Compile whole compilation unit at a time. |