On Tue, Nov 4, 2014 at 7:54 AM, Jiong Wang <[email protected]> wrote:
>
> On 04/11/14 15:51, Paolo Carlini wrote:
>>
>> Hi,
>>
>> On 11/04/2014 04:37 PM, Martin Jambor wrote:
>>>
>>> Hi,
>>>
>>> since revision 216728, testsuite/g++.dg/ipa/devirt-40.C is failing
>>> because although the tested-for devirtualization does happen, it is
>>> probably being done earlier and the string we are trying to match is
>>> not emitted. But the important thing is that the tested
>>> devirtualization takes place.
>>>
>>> Patch has been pre-approved on IRC by Honza, I have tested it with
>>> make -k check RUNTESTFLAGS="dg.exp=ipa/devirt-40.C" which I hope is
>>> sufficient and I have tested that the pattern matches a call to an
>>> OBJ_TYPE_REF in function body in an earlier dump file. I will commit
>>> the patch shortly.
>>
>> Thanks. Just to confirm, devirt-42.C is also failing,
>
>
> +1, on my local arm/aarch64 test environment.
>
> FAIL: g++.dg/ipa/devirt-42.C -std=gnu++11 scan-tree-dump-times optimized
> "return 2" 2
> FAIL: g++.dg/ipa/devirt-42.C -std=gnu++98 scan-tree-dump-times optimized
> "return 2" 2
> FAIL: g++.dg/ipa/devirt-42.C -std=gnu++1y scan-ipa-dump-times inline
> "Discovered a virtual call to a known target" 2
> FAIL: g++.dg/ipa/devirt-42.C -std=gnu++1y scan-ipa-dump-times inline
> "First type is base of second" 3
> FAIL: g++.dg/ipa/devirt-42.C -std=gnu++11 scan-ipa-dump-times inline
> "First type is base of second" 3
> FAIL: g++.dg/ipa/devirt-42.C -std=gnu++98 scan-ipa-dump-times inline
> "Discovered a virtual call to a known target" 2
> FAIL: g++.dg/ipa/devirt-42.C -std=gnu++11 scan-ipa-dump-times inline
> "Discovered a virtual call to a known target" 2
> FAIL: g++.dg/ipa/devirt-42.C -std=gnu++98 scan-ipa-dump-times inline
> "First type is base of second" 3
>
> FAIL: g++.dg/ipa/devirt-42.C -std=gnu++1y scan-tree-dump-times optimized
> "return 2" 2
>
>> that is also
>> known, right?
>>
>> FAIL: g++.dg/ipa/devirt-42.C -std=gnu++11 scan-tree-dump-times optimized
>> "return 2" 2 FAIL: g++.dg/ipa/devirt-42.C -std=gnu++1y
>> scan-tree-dump-times optimized "return 2" 2 FAIL: g++.dg/ipa/devirt-42.C
>> -std=gnu++98 scan-tree-dump-times optimized "return 2" 2
>>
>> Thanks again,
>> Paolo.
>>
>
>
I am checking in this.
--
H.J.
---
diff --git a/gcc/testsuite/g++.dg/ipa/devirt-42.C
b/gcc/testsuite/g++.dg/ipa/devirt-42.C
index a97a30a..93eb02f 100644
--- a/gcc/testsuite/g++.dg/ipa/devirt-42.C
+++ b/gcc/testsuite/g++.dg/ipa/devirt-42.C
@@ -31,7 +31,7 @@ main()
/* { dg-final { scan-ipa-dump-times "Discovered a virtual call to a
known target" 2 "inline" } } */
/* Verify that speculation is optimized by late optimizers. */
-/* { dg-final { scan-tree-dump-times "return 2" 2 "optimized" } } */
+/* { dg-final { scan-tree-dump-times "return 2" 3 "optimized" } } */
/* { dg-final { scan-tree-dump-not "OBJ_TYPE_REF" "optimized" } } */
/* { dg-final { cleanup-ipa-dump "inline" } } */