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-09-28 17:22:10 +0200
commit1a7503cd23d1084ebc6bd7f4892f0c2c5827e0ca (patch)
treeca202edd885b83ea1cd0485854a2612b23b1547f /gcc/common.opt
parentb67a04233bfc1f711b72495fdd09391aeaf7af82 (diff)
noloopalias: Add new pass to optimise loops.gcc-8_2_0-amp2-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 c6d92b503c47..f230412db1fa 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -2719,6 +2719,11 @@ fvectorize-more
Common Report Var(flag_vectorize_more) Optimization
Vectorize a bit more.
+fnoloopalias=
+Common Report Joined Var(noloopalias) Init(0)
+Restrict pointer aliasing for given function's loops
+(allows more aggressive optimisations).
+
funwind-tables
Common Report Var(flag_unwind_tables) Optimization
Just generate unwind tables for exception handling.