On Tue, Oct 08, 2013 at 10:51:29PM +0200, Tobias Burnus wrote:
> + return false;
> + }
> + c_parser_for_statement (parser, true);
> + return false;
> +
> case PRAGMA_GCC_PCH_PREPROCESS:
>c_parser_error (parser, "%<#pragma GCC pch_preprocess%> must be
> first");
>
Jakub Jelinek wrote:
On Tue, Oct 08, 2013 at 08:51:50AM +0200, Tobias Burnus wrote:
+ if (loop->latch && loop->latch->next_bb != EXIT_BLOCK_PTR
+ && bb_seq_addr (loop->latch->next_bb))
Why this bb_seq_addr guard?
Without, I get a segfault in the stage 1 (prev-gcc/xg++) compiler
On Tue, Oct 08, 2013 at 08:51:50AM +0200, Tobias Burnus wrote:
> --- a/gcc/cfgloop.c
> +++ b/gcc/cfgloop.c
> @@ -507,6 +507,39 @@ flow_loops_find (struct loops *loops)
> loop->latch = latch;
> }
> }
> + /* Search for ANNOTATE call with annot_expr_ivdep_kind; if foun
Attached is an early version (C only) for #pragma ivdep, which aids
vectorization by setting (for the following for-loop) loop->safelen to
INT_MAX. [In the final version, I will also add parsing support for C++
and use it for Fortran's "do concurrent".]
As suggested by Richard and Jakub (than