4545#include " mlir/Target/LLVMIR/Export.h"
4646#include " clang/CIR/Dialect/IR/CIRDialect.h"
4747#include " clang/CIR/Dialect/IR/CIROpsEnums.h"
48+ #include " clang/CIR/Dialect/IR/CIRTypes.h"
4849#include " clang/CIR/Dialect/Passes.h"
4950#include " clang/CIR/LoweringHelpers.h"
5051#include " clang/CIR/MissingFeatures.h"
@@ -2319,7 +2320,7 @@ mlir::LogicalResult CIRToLLVMComplexImagOpLowering::matchAndRewrite(
23192320mlir::LogicalResult CIRToLLVMComplexRealPtrOpLowering::matchAndRewrite (
23202321 cir::ComplexRealPtrOp op, OpAdaptor adaptor,
23212322 mlir::ConversionPatternRewriter &rewriter) const {
2322- auto operandTy = mlir::cast<cir::PointerType>( op.getOperand ().getType () );
2323+ cir::PointerType operandTy = op.getOperand ().getType ();
23232324 auto resultLLVMTy = getTypeConverter ()->convertType (op.getResult ().getType ());
23242325 auto elementLLVMTy = getTypeConverter ()->convertType (operandTy.getPointee ());
23252326
@@ -2334,7 +2335,7 @@ mlir::LogicalResult CIRToLLVMComplexRealPtrOpLowering::matchAndRewrite(
23342335mlir::LogicalResult CIRToLLVMComplexImagPtrOpLowering::matchAndRewrite (
23352336 cir::ComplexImagPtrOp op, OpAdaptor adaptor,
23362337 mlir::ConversionPatternRewriter &rewriter) const {
2337- auto operandTy = mlir::cast<cir::PointerType>( op.getOperand ().getType () );
2338+ cir::PointerType operandTy = op.getOperand ().getType ();
23382339 auto resultLLVMTy = getTypeConverter ()->convertType (op.getResult ().getType ());
23392340 auto elementLLVMTy = getTypeConverter ()->convertType (operandTy.getPointee ());
23402341
@@ -3666,7 +3667,7 @@ mlir::LogicalResult CIRToLLVMPtrDiffOpLowering::matchAndRewrite(
36663667 auto diff =
36673668 rewriter.create <mlir::LLVM::SubOp>(op.getLoc (), llvmDstTy, lhs, rhs);
36683669
3669- auto ptrTy = mlir::cast<cir::PointerType>( op.getLhs ().getType () );
3670+ cir::PointerType ptrTy = op.getLhs ().getType ();
36703671 auto typeSize = getTypeSize (ptrTy.getPointee (), *op);
36713672
36723673 // Avoid silly division by 1.
0 commit comments