[Bug ipa/83178] [8 regression] g++.dg/ipa/devirt-22.C fail
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jan 9 12:34:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83178
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jamborm at gcc dot gnu.org
--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> ---
Difference is that a new specialized clone is created with the revision:
--- /tmp/before/devirt-22.C.075i.cp 2018-01-09 13:30:36.973652893 +0100
+++ /tmp/after/devirt-22.C.075i.cp 2018-01-09 13:30:07.333100054 +0100
@@ -114,12 +114,12 @@
Node: void lookupSourceDone()/8:
Node: void sort(C&, C&)/7:
param [0]: VARIABLE
- ctxs: Outer type:struct C offset 0 [loc_time: 0, loc_size: 0,
prop_time: 0, prop_size: 0]
+ ctxs: Outer type:struct C offset 0 [loc_time: 0, loc_size: 0,
prop_time: 32, prop_size: 13]
Bits: value = 0x0, mask = 0xfffffffffffffff8
~[0, 0]
ref offset 0: &MEM[(void *)&_ZTV1C + 16B] [loc_time: 0, loc_size: 0,
prop_time: 0, prop_size: 0]
- param [1]: &b [loc_time: 0, loc_size: 0, prop_time: 0, prop_size: 0]
- ctxs: Outer type:struct C offset 0 [loc_time: 0, loc_size: 0,
prop_time: 0, prop_size: 0]
+ param [1]: &b [loc_time: 0, loc_size: 0, prop_time: 70, prop_size: 32]
+ ctxs: Outer type:struct C offset 0 [loc_time: 0, loc_size: 0,
prop_time: 64, prop_size: 26]
Bits: value = 0x0, mask = 0xfffffffffffffff8
~[0, 0]
AGGS VARIABLE
@@ -156,6 +156,10 @@
replacing param #1 p1 with const 0
ipa-prop: Discovered a virtual call to a known target (operator[].constprop/21
-> virtual int C::m_fn1()/0), for stmt OBJ_TYPE_REF(_2;this_4(D)->0)
(this_4(D));
Speculative call turned into direct call.
+ Creating a specialized node of A& C::operator[](int)/1.
+ replacing param #1 p1 with const 0
+ipa-prop: Discovered a virtual call to a known target (operator[].constprop/22
-> virtual int C::m_fn1()/0), for stmt OBJ_TYPE_REF(_2;this_4(D)->0)
(this_4(D));
+Speculative call turned into direct call.
Creating a specialized node of virtual int C::m_fn1()/0.
replacing param #0 this with const &b
- Creating a specialized node of virtual int C::m_fn1()/0 for all known
contexts.
Martin can you please take a look and adjust expected scan output?
More information about the Gcc-bugs
mailing list