> On 12/17/13 23:53, Tobias Burnus wrote:
> >Am 17.12.2013 21:56, schrieb Jeff Law:
> >>>* tree-vrp.c (extract_range_from_unary_expr_1): Add OBJ_TYPE_REF
> >>s/Add/Handle. Please add the PR marker as well.
> >>
> >>OK with that trivial nit.
> >
> >And the proper PR. I don't think that INVALID
On 12/17/13 23:53, Tobias Burnus wrote:
Am 17.12.2013 21:56, schrieb Jeff Law:
* tree-vrp.c (extract_range_from_unary_expr_1): Add OBJ_TYPE_REF
s/Add/Handle. Please add the PR marker as well.
OK with that trivial nit.
And the proper PR. I don't think that INVALID C++ PR is the PR you wa
Am 17.12.2013 21:56, schrieb Jeff Law:
* tree-vrp.c (extract_range_from_unary_expr_1): Add OBJ_TYPE_REF
s/Add/Handle. Please add the PR marker as well.
OK with that trivial nit.
And the proper PR. I don't think that INVALID C++ PR is the PR you want
to refer to.
Tobias
On 12/17/13 11:00, Jan Hubicka wrote:
Here we should devirtualize since B's foo is dominating target and we correctly
do so.
We however do more, we trace the code into:
for (i = 0; i < 1; i++)
{
if (i%7==0)
{
ap = new A();
ap->foo();
}
Hi,
PR 35545 has trivial testcase of feedback directed devirtualization:
int main()
{
int i;
A* ap = 0;
for (i = 0; i < 1; i++)
{
if (i%7==0)
ap = new A();
else
ap = new B();
ap->foo();
Here we should devirtualize since B's foo is dominating targe