[Bug middle-end/35545] virtual call specialization not happening with FDO

2014-09-25 Thread hubicka at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35545 --- Comment #12 from Jan Hubicka --- We still fail to fold here. After tracer we get: # ap_2 = PHI # prephitmp_14 = PHI <&MEM[(void *)&_ZTV1A + 16B](4)> _19 = *prephitmp_14; PROF_24 = [obj_type_ref] OBJ_TYPE_REF(_19;(struct A)ap_2->0);

[Bug middle-end/35545] virtual call specialization not happening with FDO

2013-12-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35545 Tobias Burnus changed: What|Removed |Added CC||burnus at gcc dot gnu.org --- Comment #11

[Bug middle-end/35545] virtual call specialization not happening with FDO

2013-12-17 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35545 --- Comment #8 from Jeffrey A. Law --- It's not a matter of cost model, but if propagating the values to their uses. I haven't looked closely at the tracer, but wouldn't it benefit by having constants in particular propagated to their uses? Yes,

[Bug middle-end/35545] virtual call specialization not happening with FDO

2013-12-17 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35545 --- Comment #10 from Jan Hubicka --- > Tracer depends on the usual estimate_num_insns limits > (it is 12 years since I wrote it, so what I recall) note that one impotant thing that changed in those 12 years is that I originally carefuly tuned tr

[Bug middle-end/35545] virtual call specialization not happening with FDO

2013-12-17 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35545 --- Comment #9 from Jan Hubicka --- > It's not a matter of cost model, but if propagating the values to their uses. > I haven't looked closely at the tracer, but wouldn't it benefit by having > constants in particular propagated to their uses? T

[Bug middle-end/35545] virtual call specialization not happening with FDO

2013-12-17 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35545 --- Comment #7 from Jan Hubicka --- > You certainly don't want to put something between DOM and phi-only-cprop. > Jump > threading will tend to expose lots of degenerate PHIs. phi-only-cprop > eliminates those degenerates. We could have used t

[Bug middle-end/35545] virtual call specialization not happening with FDO

2013-12-17 Thread law at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35545 Jeffrey A. Law changed: What|Removed |Added CC||law at redhat dot com --- Comment #6 fro

[Bug middle-end/35545] virtual call specialization not happening with FDO

2013-12-17 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35545 --- Comment #5 from Jan Hubicka --- Main issue seems to be that VRP messes up on: # ap_2 = PHI # prephitmp_14 = PHI <&MEM[(void *)&_ZTV1A + 16B](5)> _19 = *prephitmp_14; here it somehow won't constant propagate the load. Index: passes.def

[Bug middle-end/35545] virtual call specialization not happening with FDO

2013-12-17 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35545 --- Comment #4 from rguenther at suse dot de --- "hubicka at gcc dot gnu.org" wrote: >http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35545 > >Jan Hubicka changed: > > What|Removed |Added >--

[Bug middle-end/35545] virtual call specialization not happening with FDO

2013-12-17 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35545 --- Comment #3 from Jan Hubicka --- Following patch gets rid of OBJ_TYPE_REF Index: value-prof.c === --- value-prof.c(revision 206040) +++ value-prof.c(working copy) @

[Bug middle-end/35545] virtual call specialization not happening with FDO

2013-12-17 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35545 Jan Hubicka changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug middle-end/35545] virtual call specialization not happening with FDO

2008-03-11 Thread pinskia at gcc dot gnu dot org
--- Comment #1 from pinskia at gcc dot gnu dot org 2008-03-12 06:07 --- Jump threading happened by we did not prop the call correctly: ap = (struct A *) D.2075; ap->_vptr$A = &_ZTV1A[2]; OBJ_TYPE_REF(*ap->_vptr$A;ap->0) (ap); ... this = (struct B *) D.2076; this->D.2018._vptr$