This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/39625] [4.5 regression] Revision 145338 breaks ability to build Ada
- From: "ebotcazou at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Apr 2009 08:33:12 -0000
- Subject: [Bug middle-end/39625] [4.5 regression] Revision 145338 breaks ability to build Ada
- References: <bug-39625-13830@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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