[clang] [CIR] Upstream support for data member comparison (PR #171897)
Henrich Lauko via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 11 14:54:12 PST 2025
================
@@ -108,4 +112,12 @@ mlir::Operation *LowerItaniumCXXABI::lowerGetRuntimeMember(
cir::CastKind::bitcast, memberBytesPtr);
}
+mlir::Value
+LowerItaniumCXXABI::lowerDataMemberCmp(cir::CmpOp op, mlir::Value loweredLhs,
+ mlir::Value loweredRhs,
+ mlir::OpBuilder &builder) const {
+ return cir::CmpOp::create(builder, op.getLoc(), op.getKind(), loweredLhs,
----------------
xlauko wrote:
Is there a reason to create `cir::CmpOp` and not `LLVM::ICmpOp` equivalent? I believe `loweredLhs` and `loweredRhs` are already `LLVM` dialect values, so technically we gen invalid intermediate IR.
https://github.com/llvm/llvm-project/pull/171897
More information about the cfe-commits
mailing list