summaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2014-04-15 08:01:01 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2014-04-15 08:01:01 +0000
commit718c46016e9b47d4771a9bda0da34dcc6f149e0a (patch)
treec69fd1fc4cb66f4513f0321b78b2af763ccd4971 /gcc/gimplify.c
parentd2994b806914cf8468d9707ded03e2d14e146a88 (diff)
downloadgcc-718c46016e9b47d4771a9bda0da34dcc6f149e0a.tar.gz
cfgloop.h (struct loop): Move force_vectorize down.
* cfgloop.h (struct loop): Move force_vectorize down. * gimplify.c (gimple_boolify) <ANNOTATE_EXPR>: Handle new kinds. (gimplify_expr) <ANNOTATE_EXPR>: Minor tweak. * lto-streamer-in.c (input_cfg): Read dont_vectorize field. * lto-streamer-out.c (output_cfg): Write dont_vectorize field. * tree-cfg.c (replace_loop_annotate): Revamp and handle new kinds. * tree-core.h (enum annot_expr_kind): Add new kind values. * tree-inline.c (copy_loops): Copy dont_vectorize field and reorder. * tree-pretty-print.c (dump_generic_node) <ANNOTATE_EXPR>: Handle new kinds. * tree.def (ANNOTATE_EXPR): Tweak comment. ada/ * gcc-interface/trans.c (gnat_gimplify_stmt): Propagate loop hints. From-SVN: r209403
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 744178420ab..d7470fbb0a6 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -2813,15 +2813,18 @@ gimple_boolify (tree expr)
return expr;
case ANNOTATE_EXPR:
- if ((enum annot_expr_kind) TREE_INT_CST_LOW (TREE_OPERAND (expr, 1))
- == annot_expr_ivdep_kind)
+ switch ((enum annot_expr_kind) TREE_INT_CST_LOW (TREE_OPERAND (expr, 1)))
{
+ case annot_expr_ivdep_kind:
+ case annot_expr_no_vector_kind:
+ case annot_expr_vector_kind:
TREE_OPERAND (expr, 0) = gimple_boolify (TREE_OPERAND (expr, 0));
if (TREE_CODE (type) != BOOLEAN_TYPE)
TREE_TYPE (expr) = boolean_type_node;
return expr;
+ default:
+ gcc_unreachable ();
}
- /* FALLTHRU */
default:
if (COMPARISON_CLASS_P (expr))
@@ -7528,7 +7531,7 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
case ANNOTATE_EXPR:
{
tree cond = TREE_OPERAND (*expr_p, 0);
- tree id = TREE_OPERAND (*expr_p, 1);
+ tree kind = TREE_OPERAND (*expr_p, 1);
tree type = TREE_TYPE (cond);
if (!INTEGRAL_TYPE_P (type))
{
@@ -7538,8 +7541,8 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
}
tree tmp = create_tmp_var (type, NULL);
gimplify_arg (&cond, pre_p, EXPR_LOCATION (*expr_p));
- gimple call = gimple_build_call_internal (IFN_ANNOTATE, 2,
- cond, id);
+ gimple call
+ = gimple_build_call_internal (IFN_ANNOTATE, 2, cond, kind);
gimple_call_set_lhs (call, tmp);
gimplify_seq_add_stmt (pre_p, call);
*expr_p = tmp;