[clang] [CIR] Preserve address space in base/derived class address casts (PR #230841)
Steffen Larsen via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 12 07:01:17 PDT 2026
================
@@ -3621,6 +3621,26 @@ OpFoldResult cir::NotOp::fold(FoldAdaptor adaptor) {
return {};
}
+//===----------------------------------------------------------------------===//
+// BaseClassAddrOp & DerivedClassAddrOp
+//===----------------------------------------------------------------------===//
+
+static LogicalResult verifyClassAddrCast(Operation *op, cir::PointerType srcTy,
+ cir::PointerType resultTy) {
+ if (srcTy.getAddrSpace() != resultTy.getAddrSpace())
+ return op->emitOpError() << "address space mismatch";
+
+ return mlir::success();
+}
----------------
steffenlarsen wrote:
I'm not sure I'm convinced this function adds much simplicity to this. Plenty of other places makes a similar check.
https://github.com/llvm/llvm-project/pull/230841
More information about the cfe-commits
mailing list