Commit 89d3d605 by Jeff Law Committed by Jeff Law

invoke.texi (-fisolate-erroneous-paths): Document.

	* doc/invoke.texi (-fisolate-erroneous-paths): Document.

	* gimple-ssa-isolate-paths.c (gate_isolate_erroneous_paths):
	No longer check if we have __builtin_trap, assume it's
	available.

java/

	* builtins.c (initialize_builtins): Provide __builtin_trap.

From-SVN: r204533
parent 0d40ed43
2013-11-07 Jeff Law <law@redhat.com>
* doc/invoke.texi (-fisolate-erroneous-paths): Document.
* gimple-ssa-isolate-paths.c (gate_isolate_erroneous_paths):
No longer check if we have __builtin_trap, assume it's
available.
2013-11-07 Thomas Schwinge <thomas@codesourcery.com> 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
* doc/sourcebuild.texi (Top Level) <lto-plugin>: GNU ld can use * doc/sourcebuild.texi (Top Level) <lto-plugin>: GNU ld can use
...@@ -377,6 +377,7 @@ Objective-C and Objective-C++ Dialects}. ...@@ -377,6 +377,7 @@ Objective-C and Objective-C++ Dialects}.
-fira-region=@var{region} -fira-hoist-pressure @gol -fira-region=@var{region} -fira-hoist-pressure @gol
-fira-loop-pressure -fno-ira-share-save-slots @gol -fira-loop-pressure -fno-ira-share-save-slots @gol
-fno-ira-share-spill-slots -fira-verbose=@var{n} @gol -fno-ira-share-spill-slots -fira-verbose=@var{n} @gol
-fisolate-erroneous-paths
-fivopts -fkeep-inline-functions -fkeep-static-consts -flive-range-shrinkage @gol -fivopts -fkeep-inline-functions -fkeep-static-consts -flive-range-shrinkage @gol
-floop-block -floop-interchange -floop-strip-mine -floop-nest-optimize @gol -floop-block -floop-interchange -floop-strip-mine -floop-nest-optimize @gol
-floop-parallelize-all -flto -flto-compression-level @gol -floop-parallelize-all -flto -flto-compression-level @gol
...@@ -6742,6 +6743,7 @@ also turns on the following optimization flags: ...@@ -6742,6 +6743,7 @@ also turns on the following optimization flags:
-finline-small-functions @gol -finline-small-functions @gol
-findirect-inlining @gol -findirect-inlining @gol
-fipa-sra @gol -fipa-sra @gol
-fisolate-erroneous-paths @gol
-foptimize-sibling-calls @gol -foptimize-sibling-calls @gol
-fpartial-inlining @gol -fpartial-inlining @gol
-fpeephole2 @gol -fpeephole2 @gol
...@@ -7635,6 +7637,11 @@ it may significantly increase code size ...@@ -7635,6 +7637,11 @@ it may significantly increase code size
(see @option{--param ipcp-unit-growth=@var{value}}). (see @option{--param ipcp-unit-growth=@var{value}}).
This flag is enabled by default at @option{-O3}. This flag is enabled by default at @option{-O3}.
@item -fisolate-erroneous-paths
Detect paths which trigger erroneous or undefined behaviour. Isolate those
paths from the main control flow and turn the statement with erroneous or
undefined behaviour into a trap.
@item -ftree-sink @item -ftree-sink
@opindex ftree-sink @opindex ftree-sink
Perform forward store motion on trees. This flag is Perform forward store motion on trees. This flag is
......
...@@ -283,8 +283,7 @@ gate_isolate_erroneous_paths (void) ...@@ -283,8 +283,7 @@ gate_isolate_erroneous_paths (void)
{ {
/* If we do not have a suitable builtin function for the trap statement, /* If we do not have a suitable builtin function for the trap statement,
then do not perform the optimization. */ then do not perform the optimization. */
return (flag_isolate_erroneous_paths != 0 return (flag_isolate_erroneous_paths != 0);
&& builtin_decl_explicit (BUILT_IN_TRAP) != NULL);
} }
namespace { namespace {
......
2013-11-07 Jeff Law <law@redhat.com>
* builtins.c (initialize_builtins): Provide __builtin_trap.
2013-10-29 David Malcolm <dmalcolm@redhat.com> 2013-10-29 David Malcolm <dmalcolm@redhat.com>
Patch autogenerated by refactor_symtab.py from Patch autogenerated by refactor_symtab.py from
......
...@@ -579,7 +579,9 @@ initialize_builtins (void) ...@@ -579,7 +579,9 @@ initialize_builtins (void)
define_builtin (BUILT_IN_RETURN_ADDRESS, "__builtin_return_address", define_builtin (BUILT_IN_RETURN_ADDRESS, "__builtin_return_address",
build_function_type_list (ptr_type_node, int_type_node, NULL_TREE), build_function_type_list (ptr_type_node, int_type_node, NULL_TREE),
"__builtin_return_address", ECF_NOTHROW | ECF_LEAF); "__builtin_return_address", ECF_NOTHROW | ECF_LEAF);
define_builtin (BUILT_IN_TRAP, "__builtin_trap",
build_function_type_list (void_type_node, NULL_TREE),
"__builtin_trap", ECF_NOTHROW | ECF_LEAF | ECF_NORETURN);
build_common_builtin_nodes (); build_common_builtin_nodes ();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment