================ @@ -143,6 +147,114 @@ class CIRBaseBuilderTy : public mlir::OpBuilder { return createCast(loc, cir::CastKind::bitcast, src, newTy); } + mlir::Value createBinop(mlir::Value lhs, cir::BinOpKind kind, + const llvm::APInt &rhs) { + return create<cir::BinOp>(lhs.getLoc(), lhs.getType(), kind, lhs, + getConstAPInt(lhs.getLoc(), lhs.getType(), rhs)); + } + + mlir::Value createBinop(mlir::Value lhs, cir::BinOpKind kind, + mlir::Value rhs) { + return create<cir::BinOp>(lhs.getLoc(), lhs.getType(), kind, lhs, rhs); + } + + mlir::Value createBinop(mlir::Location loc, mlir::Value lhs, + cir::BinOpKind kind, mlir::Value rhs) { + return create<cir::BinOp>(loc, lhs.getType(), kind, lhs, rhs); + } + + mlir::Value createLowBitsSet(mlir::Location loc, unsigned size, + unsigned bits) { + llvm::APInt val = llvm::APInt::getLowBitsSet(size, bits); + auto type = cir::IntType::get(getContext(), size, false); ---------------- mmha wrote:
`/*isSigned*/` but yes :) https://github.com/llvm/llvm-project/pull/132420 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits