(&right, left);
add_condition_to_domain (left, stmt, pbb, LT_EXPR);
add_condition_to_domain (right, stmt, pbb, GT_EXPR);
- ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (left,
- right);
+ ppl_Pointset_Powerset_C_Polyhedron_upper_bound_assign (left, right);
ppl_delete_Pointset_Powerset_C_Polyhedron (right);
}
else
unsigned int i;
gimple stmt;
gimple_bb_p gbb = PBB_BLACK_BOX (pbb);
- VEC (gimple, heap) *conditions = GBB_CONDITIONS (gbb);
- if (VEC_empty (gimple, conditions))
+ if (VEC_empty (gimple, GBB_CONDITIONS (gbb)))
return;
- for (i = 0; VEC_iterate (gimple, conditions, i, stmt); i++)
+ for (i = 0; VEC_iterate (gimple, GBB_CONDITIONS (gbb), i, stmt); i++)
switch (gimple_code (stmt))
{
case GIMPLE_COND:
enum tree_code code = gimple_cond_code (stmt);
/* The conditions for ELSE-branches are inverted. */
- if (VEC_index (gimple, gbb->condition_cases, i) == NULL)
+ if (!VEC_index (gimple, GBB_CONDITION_CASES (gbb), i))
code = invert_tree_comparison (code, false);
add_condition_to_pbb (pbb, stmt, code);
struct bsc *data = (struct bsc *) dw_data->global_data;
VEC (gimple, heap) **conditions = data->conditions;
VEC (gimple, heap) **cases = data->cases;
- gimple_bb_p gbb = gbb_from_bb (bb);
- gimple stmt = single_pred_cond (bb);
+ gimple_bb_p gbb;
+ gimple stmt;
if (!bb_in_sese_p (bb, data->region))
return;
+ stmt = single_pred_cond (bb);
+
if (stmt)
{
edge e = single_pred_edge (bb);
VEC_safe_push (gimple, heap, *cases, NULL);
}
+ gbb = gbb_from_bb (bb);
+
if (gbb)
{
GBB_CONDITIONS (gbb) = VEC_copy (gimple, heap, *conditions);
/* Can all ivs be represented by a signed integer?
As CLooG might generate negative values in its expressions, signed loop ivs
are required in the backend. */
+
static bool
scop_ivs_can_be_represented (scop_p scop)
{
if (!loop->single_iv)
continue;
- type = TREE_TYPE(loop->single_iv);
+ type = TREE_TYPE (loop->single_iv);
precision = TYPE_PRECISION (type);
if (TYPE_UNSIGNED (type)
-step + 1 <= (iv1->base - iv0->base) <= MAX - step + 1
(where MAX is the maximum value of the unsigned variant of TYPE, and
- the computations in this formula are performed in full precision
- (without overflows).
+ the computations in this formula are performed in full precision,
+ i.e., without overflows).
Usually, for loops with exit condition iv0->base + step * i < iv1->base,
- we have a condition of form iv0->base - step < iv1->base before the loop,
+ we have a condition of the form iv0->base - step < iv1->base before the loop,
and for loops iv0->base < iv1->base - step * i the condition
iv0->base < iv1->base + step, due to loop header copying, which enable us
to prove the lower bound.