https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87162
ma.jiang at zte dot com.cn changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ma.jiang at zte dot com.cn --- Comment #8 from ma.jiang at zte dot com.cn --- (In reply to Wen Yang from comment #7) > This patch will make it more robust: > > # git diff > diff --git a/gcc/trans-mem.c b/gcc/trans-mem.c > index 1d4eb80..326e1c4 100644 > --- a/gcc/trans-mem.c > +++ b/gcc/trans-mem.c > @@ -2099,6 +2099,9 @@ gate_tm_init (void) > if (!flag_tm) > return false; > > + if (!cfun->cfg) > + return false; > + > calculate_dominance_info (CDI_DOMINATORS); > bitmap_obstack_initialize (&tm_obstack); I think gate functions should not do complex compute. gate_tm_init should be split into two parts.