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