summaryrefslogtreecommitdiff
path: root/gcc/common.opt
diff options
context:
space:
mode:
authorChristoph Muellner <christoph.muellner@theobroma-systems.com>2018-09-18 18:11:01 +0200
committerChristoph Muellner <christoph.muellner@theobroma-systems.com>2018-10-15 11:06:40 +0200
commitc4f89d50e200538b1ac8889801705300e0b27ef2 (patch)
tree69468611e174e5a844a8fdc84e3ce46ca18e145d /gcc/common.opt
parent66d7d833bece61e58998ad53a609cd32e3ee4fad (diff)
noloopalias: Add new pass to optimise loops.gcc-8_2_0-amp3gcc-8_2_0-amp3-branch
This pass allows to declare pointer non-aliasing on loop level within the given function. If such non-aliasing is given, then we outline the loop into its own function. The arguments of the new function are all variables, which are used in the loop, where pointers are declared as restricted types (non-aliasing). This allows to optimize the loop more aggressively. Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
Diffstat (limited to 'gcc/common.opt')
-rw-r--r--gcc/common.opt5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/common.opt b/gcc/common.opt
index 6f43ef937e95..86d0d02d8d72 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -2721,6 +2721,11 @@ fnoalias
Common Report Var(flag_noalias) Optimization
Assume no aliasing in the whole program.
+fnoloopalias
+Common Report Var(flag_noloopalias) Optimization
+Restrict pointer aliasing for function's loops
+(allows more aggressive optimisations).
+
funwind-tables
Common Report Var(flag_unwind_tables) Optimization
Just generate unwind tables for exception handling.