http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46717

--- Comment #11 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-30 
13:12:59 UTC ---
Before transform:

;; succ:       50 (eh,exec) 40 [100.0%]  count:63 (fallthru,exec)
<bb 39>:
D.479965_99 = MEM[(struct _List_node_base *)D.414535_48]._M_prev;
D.414537_51 = MEM[(struct linked_streambuf * &)D.479965_99 + 16];
OBJ_TYPE_REF(D.414534_47;prev_1->14) (prev_1, D.414537_51);

;; pred:       37 (false,exec) 39 [100.0%]  count:63 (fallthru,exec)
;; succ:       50 (eh,exec) 41 [100.0%]  count:63 (fallthru,exec)
<bb 40>:
boost::iostreams::detail::chain_base<boost::iostreams::chain<boost::iostreams::input,
char, std::char_traits<char>, std::allocator<char> >, char,
std::char_traits<char>, std::allocator<char>, boost::iostreams::input>::notify
(this_4(D));
...

;; basic block 50, loop depth 0, count 0
;; prev block 49, next block 51
;; pred:       30 (eh,exec) 40 (eh,exec) 39 (eh,exec)
;; succ:       51 [69.8%]  (true,exec) 52 [30.2%]  (false,exec)
# buf$_M_ptr_138 = PHI <D.353926_28(30), buf$_M_ptr_132(40),
buf$_M_ptr_132(39)>


I think I have a patch.

Reply via email to