This is the mail archive of the gcc-patches@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]

Re: Bug in reload_cse_move2add()


I've only had a look at this quickly, but two immediate things aren't 
clear to me.

1) We don't appear to note where a conditional jump may branch back in the 
source, hence a loop of the form

	L1
	   ...
	   incr (reg)
	   ...
	   b<cond> L1

	   reg=const

might not see the multiple increments (why does the main loop in 
reload_cse_move2add not handle JUMP_INSNs?)

2) There doesn't appear to be any handling of conditional execution in 
move2add_note_stores?  I don't think this is the test case I sent you, but 
do we correctly invalidate information when a register is conditionally 
updated?  (note that although ce2 pass hasn't run at this time, since 
reload_completed==1, split_insns will split (set () (if_then_else ...) 
into conditional move expressions).

R.


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