[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