------- 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