]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/Makefile.in
* Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Nov 2013 19:47:44 +0000 (19:47 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Nov 2013 19:47:44 +0000 (19:47 +0000)
commitdb242b6d0eba96a468a2cea2c0e175aeb210644a
treefaf2cabbd865647a82ca5248eea0cae3bb79f870
parent28573ae7cd13538cd4491e16b805da10afc08d94
* Makefile.in (OBJS): Add gimple-ssa-isolate-paths.o
* common.opt (-fisolate-erroneous-paths): Add option and
documentation.
* gimple-ssa-isolate-paths.c: New file.
* gimple.c (check_loadstore): New function.
(infer_nonnull_range): Moved into gimple.c from tree-vrp.c
Verify OP is in the argument list and the argument corresponding
to OP is a pointer type.  Use operand_equal_p rather than
pointer equality when testing if OP is on the nonnull list.
Use check_loadstore rather than count_ptr_derefs.  Handle
GIMPLE_RETURN statements.
* tree-vrp.c (infer_nonnull_range): Remove.
* gimple.h (infer_nonnull_range): Declare.
* opts.c (default_options_table): Add
* OPT_fisolate_erroneous_paths.
* passes.def: Add pass_isolate_erroneous_paths.
* timevar.def (TV_ISOLATE_ERRONEOUS_PATHS): New timevar.
* tree-pass.h (make_pass_isolate_erroneous_paths): Declare.
* tree-ssa.c (struct count_ptr_d): Remove.
(count_ptr_derefs, count_uses_and_derefs): Remove.
* tree-ssa.h (count_uses_and_derefs): Remove.

* gcc.dg/pr38984.c: Add -fno-isolate-erroneous-paths.
* gcc.dg/tree-ssa/isolate-1.c: New test.
* gcc.dg/tree-ssa/isolate-2.c: New test.
* gcc.dg/tree-ssa/isolate-3.c: New test.
* gcc.dg/tree-ssa/isolate-4.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204414 138bc75d-0d04-0410-961f-82ee72b054a4
19 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/common.opt
gcc/gimple-ssa-isolate-paths.c [new file with mode: 0644]
gcc/gimple.c
gcc/gimple.h
gcc/opts.c
gcc/passes.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr38984.c
gcc/testsuite/gcc.dg/tree-ssa/isolate-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/isolate-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c [new file with mode: 0644]
gcc/timevar.def
gcc/tree-pass.h
gcc/tree-ssa.c
gcc/tree-ssa.h
gcc/tree-vrp.c