[llvm-commits] [llvm] r53534 - in /llvm/trunk: lib/Transforms/Scalar/InstructionCombining.cpp test/Transforms/InstCombine/2008-07-13-DivZero.ll test/Transforms/InstCombine/udiv_select_to_select_shift.ll

Duncan Sands baldrick at free.fr
Tue Jul 15 00:34:16 PDT 2008


> >> +    // If we found a call to a function, we can't assume it will  
> >> return, so
> >> +    // information from below it cannot be propagated above it.
> >> +    if (isa<CallInst>(BBI) && !isa<IntrinsicInst>(BBI))
> >> +      break;
> >
> > I guess you only really need to exit here if SI is zero.

Sorry, I confused SI with the original instruction I.  What I meant
was that you always transform uses as long as they are below the
original DivRem in the basic block; if they come before the DivRem
then you have to be careful about calls that do not return.

Ciao,

Duncan.



More information about the llvm-commits mailing list