================
@@ -341,14 +356,14 @@ void LowerItaniumCXXABI::lowerGetMethod(
// points to a virtual function.
mlir::Value methodPtrField =
cir::ExtractMemberOp::create(locBuilder, ptrdiffCIRTy, loweredMethod, 0);
- mlir::Value virtualBit =
- cir::AndOp::create(rewriter, op.getLoc(), methodPtrField, ptrdiffOne);
- mlir::Value isVirtual;
+ mlir::Value virtualBit;
if (useARMMethodPtrABI)
- llvm_unreachable("ARM method ptr abi NYI");
+ virtualBit = cir::AndOp::create(locBuilder, rawAdj, ptrdiffOne);
else
- isVirtual = cir::CmpOp::create(locBuilder, cir::CmpOpKind::eq, virtualBit,
- ptrdiffOne);
+ virtualBit =
+ cir::AndOp::create(rewriter, op.getLoc(), methodPtrField, ptrdiffOne);
----------------
erichkeane wrote:
Why does this one get a location, but the one above doesn't?
https://github.com/llvm/llvm-project/pull/196592
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits