On Wed, 30 Mar 2005, Eric Zimmerman wrote:> I have a CFG built by LLVM with blocks that look like this:
>
> myBlock:           ; preds = %predA, %predB
>   %cond = phi bool [ false, %predA ], [ %otherCond, %predB ]
>   br bool %cond, %succA, %succB
>
> Is there a pass or sequence of passes that will see the constant
> 'false' in the PHI instruction and change the target of %predA to
> point directly to %succB?  I tried -simplifycfg but it didn't seem to
> help.
Currently there isn't.  -simplifycfg does some of this sort of thing, but 
isn't smart enough to see through PHI nodes yet.
-Chris
-- 
http://nondot.org/sabre/
http://llvm.cs.uiuc.edu/