[PATCH] Check for all known bits on ret in InstCombine

Hal Finkel hfinkel at anl.gov
Tue Jul 22 13:10:44 PDT 2014

----- Original Message -----
> From: "Chandler Carruth" <chandlerc at google.com>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: reviews+D4567+public+8b075aecf68909a0 at reviews.llvm.org, "Commit Messages and Patches for LLVM"
> <llvm-commits at cs.uiuc.edu>, "Philip Reames" <listmail at philipreames.com>
> Sent: Tuesday, July 22, 2014 2:56:39 PM
> Subject: Re: [PATCH] Check for all known bits on ret in InstCombine
> On Tue, Jul 22, 2014 at 12:48 PM, Hal Finkel < hfinkel at anl.gov >
> wrote:
> > I'm defining dead as an SSA subgraph where the only sinks (uses
> > which
> > have "side-effects" or otherwise can't be removed) are the
> > assumptions. I think this is sufficiently conservative to remove
> > assumptions from true dead code regions and prevent them from
> > keeping control flow alive without sacrificing optimization
> > opportunities.
> But we should already kill them in unreachable blocks.
> 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.

But I think this will never happen, the assumption has side effects, so it can't be speculated. So it will always keep the control flow, and so it should be obvious when the control flow guarding the intrinsic is dead.


Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory

More information about the llvm-commits mailing list