reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/CodeGen/CGExprScalar.cpp
   97     auto *LHSCI = dyn_cast<llvm::ConstantInt>(LHS);
  716         return Builder.CreateMul(Ops.LHS, Ops.RHS, "mul");
  719           return Builder.CreateNSWMul(Ops.LHS, Ops.RHS, "mul");
  723           return Builder.CreateNSWMul(Ops.LHS, Ops.RHS, "mul");
  733     if (Ops.LHS->getType()->isFPOrFPVectorTy()) {
  734       Value *V = Builder.CreateFMul(Ops.LHS, Ops.RHS, "mul");
  737     return Builder.CreateMul(Ops.LHS, Ops.RHS, "mul");
  755     return Builder.CreateAnd(Ops.LHS, Ops.RHS, "and");
  758     return Builder.CreateXor(Ops.LHS, Ops.RHS, "xor");
  761     return Builder.CreateOr(Ops.LHS, Ops.RHS, "or");
 1572     DynamicData.push_back(Info.LHS);
 2320   BinOp.LHS = InVal;
 2596   BinOp.LHS = llvm::Constant::getNullValue(BinOp.RHS->getType());
 2815   Result.LHS = Visit(E->getLHS());
 2892     OpInfo.LHS = EmitLoadOfLValue(LHSLV, E->getExprLoc());
 2893     OpInfo.LHS = CGF.EmitToMemory(OpInfo.LHS, type);
 2893     OpInfo.LHS = CGF.EmitToMemory(OpInfo.LHS, type);
 2896     atomicPHI = Builder.CreatePHI(OpInfo.LHS->getType(), 2);
 2897     atomicPHI->addIncoming(OpInfo.LHS, startBB);
 2898     OpInfo.LHS = atomicPHI;
 2901     OpInfo.LHS = EmitLoadOfLValue(LHSLV, E->getExprLoc());
 2904   OpInfo.LHS =
 2905       EmitScalarConversion(OpInfo.LHS, LHSTy, E->getComputationLHSType(), Loc);
 2982     llvm::Value *LHSCmp = Builder.CreateICmpNE(Ops.LHS, IntMin);
 3012   if (Ops.LHS->getType()->isFPOrFPVectorTy()) {
 3013     llvm::Value *Val = Builder.CreateFDiv(Ops.LHS, Ops.RHS, "div");
 3030     return Builder.CreateUDiv(Ops.LHS, Ops.RHS, "div");
 3032     return Builder.CreateSDiv(Ops.LHS, Ops.RHS, "div");
 3047     return Builder.CreateURem(Ops.LHS, Ops.RHS, "rem");
 3049     return Builder.CreateSRem(Ops.LHS, Ops.RHS, "rem");
 3088   Value *resultAndOverflow = Builder.CreateCall(intrinsic, {Ops.LHS, Ops.RHS});
 3130   llvm::Value *lhs = Builder.CreateSExt(Ops.LHS, CGF.Int64Ty);
 3164   Value *pointer = op.LHS;
 3326   if (auto *LHSBinOp = dyn_cast<llvm::BinaryOperator>(op.LHS)) {
 3334       return buildFMulAdd(RHSBinOp, op.LHS, CGF, Builder, isSub, false);
 3341   if (op.LHS->getType()->isPointerTy() ||
 3348       return Builder.CreateAdd(op.LHS, op.RHS, "add");
 3351         return Builder.CreateNSWAdd(op.LHS, op.RHS, "add");
 3355         return Builder.CreateNSWAdd(op.LHS, op.RHS, "add");
 3365   if (op.LHS->getType()->isFPOrFPVectorTy()) {
 3370     Value *V = Builder.CreateFAdd(op.LHS, op.RHS, "add");
 3377   return Builder.CreateAdd(op.LHS, op.RHS, "add");
 3395   Value *LHS = op.LHS;
 3489   if (!op.LHS->getType()->isPointerTy()) {
 3493         return Builder.CreateSub(op.LHS, op.RHS, "sub");
 3496           return Builder.CreateNSWSub(op.LHS, op.RHS, "sub");
 3500           return Builder.CreateNSWSub(op.LHS, op.RHS, "sub");
 3510     if (op.LHS->getType()->isFPOrFPVectorTy()) {
 3514       Value *V = Builder.CreateFSub(op.LHS, op.RHS, "sub");
 3521     return Builder.CreateSub(op.LHS, op.RHS, "sub");
 3533     = Builder.CreatePtrToInt(op.LHS, CGF.PtrDiffTy, "sub.ptr.lhs.cast");
 3594   if (Ops.LHS->getType() != RHS->getType())
 3595     RHS = Builder.CreateIntCast(RHS, Ops.LHS->getType(), false, "sh_prom");
 3605         Builder.CreateAnd(RHS, GetWidthMinusOneValue(Ops.LHS, RHS), "shl.mask");
 3607            isa<llvm::IntegerType>(Ops.LHS->getType())) {
 3610     llvm::Value *WidthMinusOne = GetWidthMinusOneValue(Ops.LHS, Ops.RHS);
 3628                            : GetWidthMinusOneValue(Ops.LHS, RHS);
 3631           Ops.LHS, Builder.CreateSub(PromotedWidthMinusOne, RHS, "shl.zeros",
 3655   return Builder.CreateShl(Ops.LHS, RHS, "shl");
 3662   if (Ops.LHS->getType() != RHS->getType())
 3663     RHS = Builder.CreateIntCast(RHS, Ops.LHS->getType(), false, "sh_prom");
 3668         Builder.CreateAnd(RHS, GetWidthMinusOneValue(Ops.LHS, RHS), "shr.mask");
 3670            isa<llvm::IntegerType>(Ops.LHS->getType())) {
 3673         Builder.CreateICmpULE(RHS, GetWidthMinusOneValue(Ops.LHS, RHS));
 3678     return Builder.CreateLShr(Ops.LHS, RHS, "shr");
 3679   return Builder.CreateAShr(Ops.LHS, RHS, "shr");
 3742     Value *LHS = BOInfo.LHS;