diff options
Diffstat (limited to 'lib/Bytecode/Reader/Reader.cpp')
-rw-r--r-- | lib/Bytecode/Reader/Reader.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/Bytecode/Reader/Reader.cpp b/lib/Bytecode/Reader/Reader.cpp index 7ac784ecc7..98ed57ea6f 100644 --- a/lib/Bytecode/Reader/Reader.cpp +++ b/lib/Bytecode/Reader/Reader.cpp @@ -834,9 +834,8 @@ void BytecodeReader::ParseInstruction(SmallVector<unsigned, 8> &Oprnds, case 62: { // attributed load if (Oprnds.size() != 2 || !isa<PointerType>(InstTy)) error("Invalid attributed load instruction!"); - signed Log2AlignVal = ((Oprnds[1]>>1)-1); Result = new LoadInst(getValue(iType, Oprnds[0]), "", (Oprnds[1] & 1), - ((Log2AlignVal < 0) ? 0 : 1<<Log2AlignVal)); + (1 << (Oprnds[1]>>1)) >> 1); break; } case Instruction::Load: @@ -850,10 +849,9 @@ void BytecodeReader::ParseInstruction(SmallVector<unsigned, 8> &Oprnds, Value *Ptr = getValue(iType, Oprnds[1]); const Type *ValTy = cast<PointerType>(Ptr->getType())->getElementType(); - signed Log2AlignVal = ((Oprnds[2]>>1)-1); Result = new StoreInst(getValue(getTypeSlot(ValTy), Oprnds[0]), Ptr, (Oprnds[2] & 1), - ((Log2AlignVal < 0) ? 0 : 1<<Log2AlignVal)); + (1 << (Oprnds[2]>>1)) >> 1); break; } case Instruction::Store: { |