[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