------- Comment #10 from rguenth at gcc dot gnu dot org 2007-07-07 16:13
-------
So the bogus replacement happens in store_copyprop (function
_ZSt10__search_nIN10__gnu_test24forward_iterator_wrapperIiEEiiET_S3_S3_T0_RKT1_St20forward_iterator_tag)
for a (yet) mysterious reason it replaces in
# BLOCK 25 freq:2
# PRED: 23 [46.0%] (false,exec) 21 [46.0%] (false,exec)
# SMT.1008_263 = PHI <SMT.1008_221(23), SMT.1008_149(21)>
# __i$D47460$SharedInfo_92 = PHI <__i$D47460$SharedInfo_40(23),
SR.1030_31(21)>
# __i$D47460$ptr_93 = PHI <__i$D47460$ptr_39(23), __i$D47460$ptr_75(21)>
__i$D47460$ptr_106 = __i$D47460$ptr_93 + 4;
# VUSE <SMT.1008_263>
D.52134_317 = D.48545_101->SharedInfo;
! if (__i$D47460$SharedInfo_92 != D.52134_317)
goto <bb 32>;
else
goto <bb 26>;
# SUCC: 32 [85.0%] (true,exec) 26 [15.0%] (false,exec)
the __i$D47460$SharedInfo_92 by __i$D47460$SharedInfo_40.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32636