On Mon, 2006-12-04 at 10:22 -0800, Chris Lattner wrote:
> >    // If this is another cast that can be eliminated, it isn't  
> > codegen either.
> >    if (const CastInst *CI = dyn_cast<CastInst>(V))
> > -    if (isEliminableCastPair(CI, CastInst::getCastOpcode(V, Ty),  
> > Ty, TD))
> > +    if (isEliminableCastPair(CI, CastInst::getCastOpcode(
> > +            V, V->getType()->isSigned(), Ty, Ty->isSigned()), Ty,  
> > TD))
> >        return false;
> >    return true;
> >  }
> 
> Won't this miscompile stuff like:
> 
> %B = zext sbyte %A to ushort
> %C = zext ushort %B to uint
> 
> into a sext?

No. This patch doesn't change anything. The only reason for this change
is the change in signature for getCastOpcode. See the corresponding
change in getCastOpcode.  This passed everything on Linux last night
before I committed it.

Reid.

> 
> -Chris
> _______________________________________________
> llvm-commits mailing list
> llvm-commits@cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to