From 2ad704bea0f4ed38351d7c0bb0ec17f076dca5b7 Mon Sep 17 00:00:00 2001 From: xlauko Date: Sat, 10 May 2025 13:42:00 +0200 Subject: [PATCH] [CIR][NFC] Remove redundant pointer casts --- clang/include/clang/CIR/Dialect/IR/CIROps.td | 4 ++-- clang/lib/CIR/Dialect/IR/CIRDialect.cpp | 13 ++++++------- clang/lib/CIR/Dialect/Transforms/LifetimeCheck.cpp | 2 +- .../lib/CIR/Dialect/Transforms/LoweringPrepare.cpp | 8 ++------ .../Transforms/TargetLowering/ItaniumCXXABI.cpp | 9 ++++----- clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp | 7 ++++--- 6 files changed, 19 insertions(+), 24 deletions(-) diff --git a/clang/include/clang/CIR/Dialect/IR/CIROps.td b/clang/include/clang/CIR/Dialect/IR/CIROps.td index 94ae7117f15e..156516957e07 100644 --- a/clang/include/clang/CIR/Dialect/IR/CIROps.td +++ b/clang/include/clang/CIR/Dialect/IR/CIROps.td @@ -374,7 +374,7 @@ def PtrStrideOp : CIR_Op<"ptr_stride", let extraClassDeclaration = [{ // Get type pointed by the base pointer. mlir::Type getElementTy() { - return mlir::cast(getBase().getType()).getPointee(); + return getBase().getType().getPointee(); } }]; } @@ -2870,7 +2870,7 @@ def GetMemberOp : CIR_Op<"get_member"> { /// Return the result type. cir::PointerType getResultTy() { - return mlir::cast(getResult().getType()); + return getResult().getType(); } }]; diff --git a/clang/lib/CIR/Dialect/IR/CIRDialect.cpp b/clang/lib/CIR/Dialect/IR/CIRDialect.cpp index ee7d1f426b50..d6294c1c58d9 100644 --- a/clang/lib/CIR/Dialect/IR/CIRDialect.cpp +++ b/clang/lib/CIR/Dialect/IR/CIRDialect.cpp @@ -961,8 +961,8 @@ OpFoldResult cir::ComplexImagOp::fold(FoldAdaptor adaptor) { //===----------------------------------------------------------------------===// LogicalResult cir::ComplexRealPtrOp::verify() { - auto resultPointeeTy = mlir::cast(getType()).getPointee(); - auto operandPtrTy = mlir::cast(getOperand().getType()); + mlir::Type resultPointeeTy = getType().getPointee(); + cir::PointerType operandPtrTy = getOperand().getType(); auto operandPointeeTy = mlir::cast(operandPtrTy.getPointee()); @@ -976,8 +976,8 @@ LogicalResult cir::ComplexRealPtrOp::verify() { } LogicalResult cir::ComplexImagPtrOp::verify() { - auto resultPointeeTy = mlir::cast(getType()).getPointee(); - auto operandPtrTy = mlir::cast(getOperand().getType()); + mlir::Type resultPointeeTy = getType().getPointee(); + cir::PointerType operandPtrTy = getOperand().getType(); auto operandPointeeTy = mlir::cast(operandPtrTy.getPointee()); @@ -3661,7 +3661,7 @@ LogicalResult cir::GetMethodOp::verify() { auto methodTy = getMethod().getType(); // Assume objectTy is !cir.ptr - auto objectPtrTy = mlir::cast(getObject().getType()); + cir::PointerType objectPtrTy = getObject().getType(); auto objectTy = objectPtrTy.getPointee(); if (methodTy.getClsTy() != objectTy) { @@ -3670,8 +3670,7 @@ LogicalResult cir::GetMethodOp::verify() { } // Assume methodFuncTy is !cir.func - auto calleePtrTy = mlir::cast(getCallee().getType()); - auto calleeTy = mlir::cast(calleePtrTy.getPointee()); + auto calleeTy = mlir::cast(getCallee().getType().getPointee()); auto methodFuncTy = methodTy.getMemberFuncTy(); // We verify at here that calleeTy is !cir.func, !Args)> diff --git a/clang/lib/CIR/Dialect/Transforms/LifetimeCheck.cpp b/clang/lib/CIR/Dialect/Transforms/LifetimeCheck.cpp index 738efb2ddffd..af909005b4a0 100644 --- a/clang/lib/CIR/Dialect/Transforms/LifetimeCheck.cpp +++ b/clang/lib/CIR/Dialect/Transforms/LifetimeCheck.cpp @@ -1029,7 +1029,7 @@ void LifetimeCheckPass::classifyAndInitTypeCategories(mlir::Value addr, if (eltAddr.use_empty()) return; - auto eltTy = mlir::cast(eltAddr.getType()).getPointee(); + auto eltTy = eltAddr.getType().getPointee(); // Classify exploded types. Keep alloca original location. classifyAndInitTypeCategories(eltAddr, eltTy, loc, ++nestLevel); diff --git a/clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp b/clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp index 3058915f2f69..3099cab40fc2 100644 --- a/clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp +++ b/clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp @@ -1392,9 +1392,7 @@ void LoweringPreparePass::lowerArrayDtor(ArrayDtor op) { auto eltTy = op->getRegion(0).getArgument(0).getType(); auto arrayLen = - mlir::cast( - mlir::cast(op.getAddr().getType()).getPointee()) - .getSize(); + mlir::cast(op.getAddr().getType().getPointee()).getSize(); lowerArrayDtorCtorIntoLoop(builder, op, eltTy, op.getAddr(), arrayLen); } @@ -1458,9 +1456,7 @@ void LoweringPreparePass::lowerArrayCtor(ArrayCtor op) { auto eltTy = op->getRegion(0).getArgument(0).getType(); auto arrayLen = - mlir::cast( - mlir::cast(op.getAddr().getType()).getPointee()) - .getSize(); + mlir::cast(op.getAddr().getType().getPointee()).getSize(); lowerArrayDtorCtorIntoLoop(builder, op, eltTy, op.getAddr(), arrayLen); } diff --git a/clang/lib/CIR/Dialect/Transforms/TargetLowering/ItaniumCXXABI.cpp b/clang/lib/CIR/Dialect/Transforms/TargetLowering/ItaniumCXXABI.cpp index 11be6c951d93..17ff1433bf4a 100644 --- a/clang/lib/CIR/Dialect/Transforms/TargetLowering/ItaniumCXXABI.cpp +++ b/clang/lib/CIR/Dialect/Transforms/TargetLowering/ItaniumCXXABI.cpp @@ -324,9 +324,9 @@ void ItaniumCXXABI::lowerGetMethod( llvm_unreachable("ARM method ptr abi NYI"); // Apply the adjustment to the 'this' pointer. - mlir::Type thisVoidPtrTy = cir::PointerType::get( - cir::VoidType::get(rewriter.getContext()), - mlir::cast(op.getObject().getType()).getAddrSpace()); + mlir::Type thisVoidPtrTy = + cir::PointerType::get(cir::VoidType::get(rewriter.getContext()), + op.getObject().getType().getAddrSpace()); mlir::Value thisVoidPtr = rewriter.create( op.getLoc(), thisVoidPtrTy, cir::CastKind::bitcast, loweredObjectPtr); adjustedThis = rewriter.create(op.getLoc(), thisVoidPtrTy, @@ -377,8 +377,7 @@ void ItaniumCXXABI::lowerGetMethod( auto vtablePtrTy = cir::PointerType::get( cir::IntType::get(rewriter.getContext(), 8, true)); auto vtablePtrPtrTy = cir::PointerType::get( - vtablePtrTy, - mlir::cast(op.getObject().getType()).getAddrSpace()); + vtablePtrTy, op.getObject().getType().getAddrSpace()); auto vtablePtrPtr = rewriter.create( op.getLoc(), vtablePtrPtrTy, cir::CastKind::bitcast, loweredObjectPtr); mlir::Value vtablePtr = rewriter.create( diff --git a/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp b/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp index 9a44450d70a7..17d0c5874e62 100644 --- a/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp +++ b/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp @@ -45,6 +45,7 @@ #include "mlir/Target/LLVMIR/Export.h" #include "clang/CIR/Dialect/IR/CIRDialect.h" #include "clang/CIR/Dialect/IR/CIROpsEnums.h" +#include "clang/CIR/Dialect/IR/CIRTypes.h" #include "clang/CIR/Dialect/Passes.h" #include "clang/CIR/LoweringHelpers.h" #include "clang/CIR/MissingFeatures.h" @@ -2319,7 +2320,7 @@ mlir::LogicalResult CIRToLLVMComplexImagOpLowering::matchAndRewrite( mlir::LogicalResult CIRToLLVMComplexRealPtrOpLowering::matchAndRewrite( cir::ComplexRealPtrOp op, OpAdaptor adaptor, mlir::ConversionPatternRewriter &rewriter) const { - auto operandTy = mlir::cast(op.getOperand().getType()); + cir::PointerType operandTy = op.getOperand().getType(); auto resultLLVMTy = getTypeConverter()->convertType(op.getResult().getType()); auto elementLLVMTy = getTypeConverter()->convertType(operandTy.getPointee()); @@ -2334,7 +2335,7 @@ mlir::LogicalResult CIRToLLVMComplexRealPtrOpLowering::matchAndRewrite( mlir::LogicalResult CIRToLLVMComplexImagPtrOpLowering::matchAndRewrite( cir::ComplexImagPtrOp op, OpAdaptor adaptor, mlir::ConversionPatternRewriter &rewriter) const { - auto operandTy = mlir::cast(op.getOperand().getType()); + cir::PointerType operandTy = op.getOperand().getType(); auto resultLLVMTy = getTypeConverter()->convertType(op.getResult().getType()); auto elementLLVMTy = getTypeConverter()->convertType(operandTy.getPointee()); @@ -3666,7 +3667,7 @@ mlir::LogicalResult CIRToLLVMPtrDiffOpLowering::matchAndRewrite( auto diff = rewriter.create(op.getLoc(), llvmDstTy, lhs, rhs); - auto ptrTy = mlir::cast(op.getLhs().getType()); + cir::PointerType ptrTy = op.getLhs().getType(); auto typeSize = getTypeSize(ptrTy.getPointee(), *op); // Avoid silly division by 1.