diff options
author | Richard Biener <rguenther@suse.de> | 2013-01-31 09:00:54 +0000 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2013-01-31 09:00:54 +0000 |
commit | 96dc38a4238bd73fd83072b4882fca8700059582 (patch) | |
tree | d6aeb452f86b1642240ab74d863ba99b6bd83792 /gcc/doc | |
parent | 1a9a9994e8e4192e27276a880016616c423771ed (diff) |
2013-01-31 Richard Biener <rguenther@suse.de>
PR middle-end/53073
* common.opt (faggressive-loop-optimizations): New flag,
enabled by default.
* doc/invoke.texi (faggressive-loop-optimizations): Document.
* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
infer_loop_bounds_from_undefined by it.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@195610 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 7d964677630..ef06b0b2851 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -349,7 +349,8 @@ Objective-C and Objective-C++ Dialects}. @item Optimization Options @xref{Optimize Options,,Options that Control Optimization}. -@gccoptlist{-falign-functions[=@var{n}] -falign-jumps[=@var{n}] @gol +@gccoptlist{-faggressive-loop-optimizations -falign-functions[=@var{n}] @gol +-falign-jumps[=@var{n}] @gol -falign-labels[=@var{n}] -falign-loops[=@var{n}] @gol -fassociative-math -fauto-inc-dec -fbranch-probabilities @gol -fbranch-target-load-optimize -fbranch-target-load-optimize2 @gol @@ -6988,6 +6989,16 @@ When @option{-fgcse-after-reload} is enabled, a redundant load elimination pass is performed after reload. The purpose of this pass is to clean up redundant spilling. +@item -faggressive-loop-optimizations +@opindex faggressive-loop-optimizations +This option tells the loop optimizer to use language constraints to +derive bounds for the number of iterations of a loop. This assumes that +loop code does not invoke undefined behavior by for example causing signed +integer overflows or out-of-bound array accesses. The bounds for the +number of iterations of a loop are used to guide loop unrolling and peeling +and loop exit test optimizations. +This option is enabled by default. + @item -funsafe-loop-optimizations @opindex funsafe-loop-optimizations This option tells the loop optimizer to assume that loop indices do not |