reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
604 bool isLeftShift = I.getOpcode() == Instruction::Shl; 612 if (I.getOpcode() != Instruction::AShr && 613 canEvaluateShifted(Op0, Op1C->getZExtValue(), isLeftShift, *this, &I)) { 617 << *Op0 << "\n SH: " << I << "\n"); 620 I, getShiftedValue(Op0, Op1C->getZExtValue(), isLeftShift, *this, DL)); 630 if (Instruction *FoldedShift = foldBinOpIntoSelectOrPhi(I)) 641 if (TrOp && I.isLogicalShift() && TrOp->isShift() && 647 Value *NSh = Builder.CreateBinOp(I.getOpcode(), TrOp, ShAmt, I.getName()); 647 Value *NSh = Builder.CreateBinOp(I.getOpcode(), TrOp, ShAmt, I.getName()); 661 if (I.getOpcode() == Instruction::Shl) 664 assert(I.getOpcode() == Instruction::LShr && "Unknown logical shift"); 670 ConstantInt::get(I.getContext(), MaskV), 674 return new TruncInst(And, I.getType()); 702 Constant *Mask = ConstantInt::get(I.getContext(), Bits); 737 Constant *Mask = ConstantInt::get(I.getContext(), Bits); 766 if (canShiftBinOpWithConstantRHS(I, Op0BO)) { 767 Constant *NewRHS = ConstantExpr::get(I.getOpcode(), 771 Builder.CreateBinOp(I.getOpcode(), Op0BO->getOperand(0), Op1); 784 Constant *NewRHS = ConstantExpr::get(I.getOpcode(), 810 canShiftBinOpWithConstantRHS(I, TBO)) { 811 Constant *NewRHS = ConstantExpr::get(I.getOpcode(), 815 Builder.CreateBinOp(I.getOpcode(), FalseVal, Op1); 829 canShiftBinOpWithConstantRHS(I, FBO)) { 830 Constant *NewRHS = ConstantExpr::get(I.getOpcode(), 834 Builder.CreateBinOp(I.getOpcode(), TrueVal, Op1);