http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55823


--- Comment #5 from Jan Hubicka <hubicka at ucw dot cz> 2013-01-02 00:10:52 UTC 
---

ipa-cp is behaving funny here. It clones InitCommon so THIS pointer's binfo is

known to enable devirtualization of SetLayoutDirection.



It doesn't devirtualize GetLayoutDirection because it works on per-argument

basis.  This is stupid: obviously whenever THIS binfo is known also DC binfo is

known, so we should propagate both into the clone. This is missed optimization

relative to previous ipa-cp implementation and I think relatively serious one -

it is very common that more than one argument is constant.

Martin, can you take a look?



Still don't know exactly why we miss the devirtualization after inlining.



Honza

Reply via email to