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".