------- Comment #31 from ebotcazou at gcc dot gnu dot org 2009-04-16 08:33 ------- > Do you happen to have a testcase?
Attached in the PR. <bb 22>: formal_24(ab) = p__proc_next (formal_6(ab)); goto <bb 3>; # formal_7(ab) = PHI <formal_9(ab)(2), formal_5(ab)(3), formal_5(ab)(4), formal_7(ab)(6), formal_6(ab)(9), formal_6(ab)(10), formal_6(ab)(11), formal_6(ab)(12), formal_6(ab)(13), formal_24(ab)(22), formal_6(ab)(14), formal_6(ab)(15), formal_6(ab)(16), formal_6(ab)(17), formal_6(ab)(18), formal_6(ab)(19), formal_6(ab)(20)> the reaching SSA_NAME on the abnormal edge is wrong. This breaks inlining. > I compensated for the loss of the aboveduring EH lowering when we split > blocks at these points. __builtin_setjmp / __builtin_longjmp and nonlocal gotos don't use the EH machinery, you need a specific treatment for them. > The intent of the patch was to make the gimple predicates valid after > gimplification (and not only during it), so the fix should be applied > during CFG creation or lowering. OK. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39625