This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/39625] [4.5 regression] Revision 145338 breaks ability to build Ada



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]