When handling 'if' in constant propagation, if a certain variable was
killed when processing the first branch of the 'if', then the second
would get any propagation from previous nodes. This is similar to the
change done for copy propagation code.
x = 1;
if (...) {
z = x; // This
Caio Marcelo de Oliveira Filho writes:
> When handling 'if' in constant propagation, if a certain variable was
> killed when processing the first branch of the 'if', then the second
> would get any propagation from previous nodes. This is similar to the
> change done for copy propagation code.
>
> Possible follow-up change for someone looking at compiler perf:
> kill_entry doesn't seem to need to be a list since
> 4654439fdd766f79a78fe0d812fd916f5815e7e6, and we could probably just
> store the write_mask in the entry->data field and not have struct
> kill_entry at all!
That makes sense. I