This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/19507] missed tree-optimization


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]