------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen dot de 2005-01-18 16:39 ------- A C testcase with the missing jump threading(?):
void bar(void); void foo(const _Bool *flag) { if (*flag) bar(); if (*flag) bar(); } a testcase where we able to thread the jump: extern long int random(void); void foo(void) { long int i = random(); if (i) i = random(); if (i) i = random(); } the difference seems to be we use .GLOBAL_VAR_10 = V_MAY_DEF <.GLOBAL_VAR_9>; in the latter while we use TMT.0_9 = V_MAY_DEF <TMT.0_7>; in the former. Though, of course, I don't know what either means. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19507