From 0737c24053d88d47a1c5dc560dc97da49c1076ae Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 2 Feb 2007 05:29:55 +0000 Subject: [PATCH] bugfix for reid's shift patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33779 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/InstructionCombining.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 4aa92ec6d4f..0306c3919bd 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -5454,10 +5454,10 @@ Instruction *InstCombiner::FoldShiftByConstant(Value *Op0, ConstantInt *Op1, // unsigned TypeBits = Op0->getType()->getPrimitiveSizeInBits(); if (Op1->getZExtValue() >= TypeBits) { - if (isUnsignedShift || isLeftShift) + if (I.getOpcode() != Instruction::AShr) return ReplaceInstUsesWith(I, Constant::getNullValue(Op0->getType())); else { - I.setOperand(1, ConstantInt::get(Type::Int8Ty, TypeBits-1)); + I.setOperand(1, ConstantInt::get(I.getType(), TypeBits-1)); return &I; } } -- 2.34.1