https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102285

--- Comment #10 from qinzhao at gcc dot gnu.org ---
commented the following transformation in tree-ssa-ccp.c:

2733 #if 0
2734         /* The heuristic of fold_builtin_alloca_with_align differs before
and
2735            after inlining, so we don't require the arg to be changed into
a
2736            constant for folding, but just to be constant.  */
2737         if (gimple_call_builtin_p (stmt, BUILT_IN_ALLOCA_WITH_ALIGN)
2738             || gimple_call_builtin_p (stmt,
BUILT_IN_ALLOCA_WITH_ALIGN_AND_MAX))
2739           {
2740             tree new_rhs = fold_builtin_alloca_with_align (stmt);
2741             if (new_rhs)
2742               {
2743                 gimplify_and_update_call_from_tree (gsi, new_rhs);
2744                 tree var = TREE_OPERAND (TREE_OPERAND (new_rhs, 0),0);
2745                 insert_clobbers_for_var (*gsi, var);
2746                 return true;
2747               }
2748           }
2749 #endif

cures the ICE.  "fb.3" is a new temp variable that is created inside
"fold_builtin_alloca_with_align".

Reply via email to