[llvm-commits] [llvm] r77986 - /llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp

Bill Wendling isanbard at gmail.com
Mon Aug 3 13:17:11 PDT 2009


Eli,

This is breaking the bootstrap of llvm-gcc:

Assertion failed: (C->getType() == Ty->getScalarType() && "ConstantInt
type doesn't match the type implied by its value!"), function get,
file /Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-i386-darwin9/llvm.src/lib/VMCore/Constants.cpp,
line 288.
/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-i386-darwin9/llvm-gcc.src/gcc/cse.c:8188:
internal compiler error: Abort trap
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://llvm.org/bugs/> for instructions.
make[3]: *** [cse.o] Error 1
make[3]: *** Waiting for unfinished jobs....

Could you investigate?

-bw

On Mon, Aug 3, 2009 at 12:15 PM, Eli Friedman<eli.friedman at gmail.com> wrote:
> Author: efriedma
> Date: Mon Aug  3 14:15:42 2009
> New Revision: 77986
>
> URL: http://llvm.org/viewvc/llvm-project?rev=77986&view=rev
> Log:
> Make SimplifyDemandedUseBits generate vector constants where
> appropriate.  Patch per report on llvmdev.  No testcase because the
> original report didn't come with a testcase, and I can't come up with a case
> that actually fails.
>
>
> Modified:
>    llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp
>
> Modified: llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp?rev=77986&r1=77985&r2=77986&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp (original)
> +++ llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp Mon Aug  3 14:15:42 2009
> @@ -1014,7 +1014,7 @@
>     if ((DemandedMask & (RHSKnownZero|RHSKnownOne)) == DemandedMask) {
>       // all known
>       if ((RHSKnownOne & LHSKnownOne) == RHSKnownOne) {
> -        Constant *AndC = ConstantInt::get(*Context,
> +        Constant *AndC = ConstantInt::get(VTy,
>                                           ~RHSKnownOne & DemandedMask);
>         Instruction *And =
>           BinaryOperator::CreateAnd(I->getOperand(0), AndC, "tmp");
> @@ -1407,7 +1407,7 @@
>   // If the client is only demanding bits that we know, return the known
>   // constant.
>   if ((DemandedMask & (RHSKnownZero|RHSKnownOne)) == DemandedMask) {
> -    Constant *C = ConstantInt::get(*Context, RHSKnownOne);
> +    Constant *C = ConstantInt::get(VTy, RHSKnownOne);
>     if (isa<PointerType>(V->getType()))
>       C = ConstantExpr::getIntToPtr(C, V->getType());
>     return C;
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>




More information about the llvm-commits mailing list