------- Comment #2 from hjagasia at gcc dot gnu dot org  2008-12-22 19:41 
-------
For the clast_stmt below:

if (midend_8 >= mid_10+1) {
  for (s_3=0;s_3<=min(midend_8-mid_10-1,63);s_3++) {
    S5(0,s_3) ;
  }
}

graphite gets into
translate_clast:stmt_guard->graphite_create_new_guard->graphite_create_guard_cond_expr->graphite_translate_clast_equation->clast_to_gcc_expression

Finally graphite calls
fold_build2 (PLUS_EXPR, type, tl, tr);
which in turn calls 
build2_stat (code, type, op0, op1, PASS_MEM_STAT);

Finally for the RHS of the clast guard equation "if (midend_8 >= mid_10+1)"
the following code is invoked:

  if ((code == MINUS_EXPR || code == PLUS_EXPR || code == MULT_EXPR)
      && arg0 && arg1 && tt && POINTER_TYPE_P (tt))
    gcc_assert (TREE_CODE (arg0) == INTEGER_CST || TREE_CODE (arg1) ==
INTEGER_CST);

For the RHS, "mid_10+1", the TREE_CODE of "mid_10" is SSA_NAME and that of "1"
is INTEGER_CST.

Hence the gcc_assert raises an assertion.


-- 

hjagasia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2008-12-22 19:41:18
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38559

Reply via email to