This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch RFA: Add option -fcollectible-pointers, use it in ivopts


As discussed at https://gcc.gnu.org/ml/gcc/2016-01/msg00023.html , the
Go frontend needs some way to prevent ivopts from temporarily removing
all pointers into a memory block.  This patch adds a new option
-fcollectible-pointers which makes that happen.  This is not the best
way to solve the problem, but it seems safe for GCC 6.

I made the option -fcollectible-pointers intending that any similar
optimizations (or, rather, non-optimizations) can be captured in the
same option.  And if we develop a better approach for ivopts, it can
still be covered under this option name.

Bootstrapped and tested on x86_64-pc-linux-gnu.  OK for mainline?

Ian

gcc/ChangeLog:

2016-01-19  Ian Lance Taylor  <iant@google.com>

        * common.opt (fcollectible-pointers): New option.
        * tree-ssa-loop-ivopts.c (add_autoinc_candidates): If
        -fcollectible-pointers, skip pointers.
        * doc/invoke.texi (Optimize Options): Document
        -fcollectible-pointers

gcc/testsuite/ChangeLog:

2016-01-19  Ian Lance Taylor  <iant@google.com>

        * gcc.dg/tree-ssa/ivopt_5.c: New test.

Attachment: patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]