diff options
author | Christoph Muellner <christoph.muellner@theobroma-systems.com> | 2018-09-18 18:11:01 +0200 |
---|---|---|
committer | Christoph Muellner <christoph.muellner@theobroma-systems.com> | 2018-10-15 11:06:40 +0200 |
commit | c4f89d50e200538b1ac8889801705300e0b27ef2 (patch) | |
tree | 69468611e174e5a844a8fdc84e3ce46ca18e145d /gcc/common.opt | |
parent | 66d7d833bece61e58998ad53a609cd32e3ee4fad (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.opt | 5 |
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. |