<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 22, 2014 at 12:48 PM, Hal Finkel <span dir="ltr"><<a href="mailto:hfinkel@anl.gov" target="_blank">hfinkel@anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":2ln" class="a3s" style="overflow:hidden"><div class="">> I'm defining dead as an SSA subgraph where the only sinks (uses which<br>

> have "side-effects" or otherwise can't be removed) are the<br>
> assumptions. I think this is sufficiently conservative to remove<br>
> assumptions from true dead code regions and prevent them from<br>
> keeping control flow alive without sacrificing optimization<br>
> opportunities.<br>
<br>
</div>But we should already kill them in unreachable blocks.</div></blockquote></div><br>Probably. It also should handle the case where we if-convert prior to discovering the block was dead, and thus have a dead SSA subgraph without dead control flow.</div>
</div>