Summary: | ICE with -flto -O3 (BB N can not throw but has an EH edge) | ||
---|---|---|---|
Product: | gcc | Reporter: | Andrew Pinski <pinskia> |
Component: | tree-optimization | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gcc-bugs, hubicka |
Priority: | P3 | Keywords: | ice-on-valid-code, lto |
Version: | 4.5.0 | ||
Target Milestone: | 4.5.0 | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2009-10-26 20:56:03 |
Description
Andrew Pinski
2009-10-26 19:06:06 UTC
Confirmed. There is a crude fixup pass, but this should be handled by IPA nothrow (which doesn't exist). ipa nothrow is hidden in ipa-pure-const (that should be renamed eventually). However issue here is that at IPA stage we should not touch function bodies, so we should not do these updates. This is why fixup pass exists to resolve these cases after we get into local compilation. This however seems like LTO is getting something wrong, we do make throw flags to disappear at IPA for quite some time. Seems to work for me, even with the 4.5.0 release. Subject: Re: ICE with -flto -O3 (BB N can not
throw but has an EH edge)
> Seems to work for me, even with the 4.5.0 release.
Note that on mainline the code removing wpa fixup should help here too. There clearly was bugs.
Honza
|