https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84223
--- Comment #2 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- ICE happens because "name" is an SSA with a pointer type: static void assign_parameter_index_in_region (tree name, sese_info_p region) { gcc_assert (TREE_CODE (name) == SSA_NAME && INTEGRAL_TYPE_P (TREE_TYPE (name)) && ! defined_in_sese_p (name, region->region)); Should we relax the assert to allow pointers, or should the caller do something different?