aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-pre.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa-pre.cc')
-rw-r--r--gcc/tree-ssa-pre.cc21
1 files changed, 11 insertions, 10 deletions
diff --git a/gcc/tree-ssa-pre.cc b/gcc/tree-ssa-pre.cc
index f6c531e..9933173 100644
--- a/gcc/tree-ssa-pre.cc
+++ b/gcc/tree-ssa-pre.cc
@@ -2773,16 +2773,17 @@ find_or_generate_expression (basic_block block, tree op, gimple_seq *stmts)
bitmap exprset = value_expressions[lookfor];
bitmap_iterator bi;
unsigned int i;
- EXECUTE_IF_SET_IN_BITMAP (exprset, 0, i, bi)
- {
- pre_expr temp = expression_for_id (i);
- /* We cannot insert random REFERENCE expressions at arbitrary
- places. We can insert NARYs which eventually re-materializes
- its operand values. */
- if (temp->kind == NARY)
- return create_expression_by_pieces (block, temp, stmts,
- TREE_TYPE (op));
- }
+ if (exprset)
+ EXECUTE_IF_SET_IN_BITMAP (exprset, 0, i, bi)
+ {
+ pre_expr temp = expression_for_id (i);
+ /* We cannot insert random REFERENCE expressions at arbitrary
+ places. We can insert NARYs which eventually re-materializes
+ its operand values. */
+ if (temp->kind == NARY)
+ return create_expression_by_pieces (block, temp, stmts,
+ TREE_TYPE (op));
+ }
/* Defer. */
return NULL_TREE;