aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/InstSelectSimple.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-11-02 00:44:25 +0000
committerChris Lattner <sabre@nondot.org>2002-11-02 00:44:25 +0000
commit796df73e6e55298195aa4db72a4abf9876d2ec05 (patch)
treecfd9ad9b220fabe7b6b8be6f760f32c77c8dbf3c /lib/Target/X86/InstSelectSimple.cpp
parent5af344d79d33fc5844a27e54a256b566d7017d36 (diff)
* Remove dead variable
* Shift amount is always guaranteed to be 8 bits git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4491 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/InstSelectSimple.cpp')
-rw-r--r--lib/Target/X86/InstSelectSimple.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/Target/X86/InstSelectSimple.cpp b/lib/Target/X86/InstSelectSimple.cpp
index 7e4f689fe2..65a7e67983 100644
--- a/lib/Target/X86/InstSelectSimple.cpp
+++ b/lib/Target/X86/InstSelectSimple.cpp
@@ -153,14 +153,16 @@ ISel::visitShiftInst (ShiftInst & I)
{
unsigned Op0r = getReg (I.getOperand (0));
unsigned DestReg = getReg (I);
- unsigned operandSize = I.getOperand (0)->getType ()->getPrimitiveSize ();
+ unsigned operandSize = I.getType ()->getPrimitiveSize ();
bool isRightShift = (I.getOpcode () == Instruction::Shr);
bool isOperandUnsigned = I.getType ()->isUnsigned ();
- bool isConstantShiftAmount = (isa <ConstantUInt> (I.getOperand (1)));
+
if (ConstantUInt *CUI = dyn_cast <ConstantUInt> (I.getOperand (1)))
{
- // The shift amount is constant. Get its value.
- uint64_t shAmt = CUI->getValue ();
+ // The shift amount is constant, guaranteed to be a ubyte. Get its value.
+ assert(CUI->getType() == Type::UByteTy && "Shift amount not a ubyte?");
+ unsigned char shAmt = CUI->getValue();
+
// Emit: <insn> reg, shamt (shift-by-immediate opcode "ir" form.)
if (isRightShift)
{