================ @@ -284,41 +303,55 @@ static bool expandClampIntrinsic(CallInst *Orig, Intrinsic::ID ClampIntrinsic) { Builder.SetInsertPoint(Orig); auto *MaxCall = Builder.CreateIntrinsic( Ty, getMaxForClamp(Ty, ClampIntrinsic), {X, Min}, nullptr, "dx.max"); - auto *MinCall = - Builder.CreateIntrinsic(Ty, getMinForClamp(Ty, ClampIntrinsic), - {MaxCall, Max}, nullptr, "dx.min"); - - Orig->replaceAllUsesWith(MinCall); - Orig->eraseFromParent(); - return true; + return Builder.CreateIntrinsic(Ty, getMinForClamp(Ty, ClampIntrinsic), + {MaxCall, Max}, nullptr, "dx.min"); } static bool expandIntrinsic(Function &F, CallInst *Orig) { + Value *Result = nullptr; switch (F.getIntrinsicID()) { case Intrinsic::abs: - return expandAbs(Orig); + Result = expandAbs(Orig); + break; case Intrinsic::exp: - return expandExpIntrinsic(Orig); + Result = expandExpIntrinsic(Orig); + break; case Intrinsic::log: - return expandLogIntrinsic(Orig); + Result = expandLogIntrinsic(Orig); + break; case Intrinsic::log10: - return expandLog10Intrinsic(Orig); + Result = expandLog10Intrinsic(Orig); + break; case Intrinsic::pow: - return expandPowIntrinsic(Orig); + Result = expandPowIntrinsic(Orig); + break; case Intrinsic::dx_any: - return expandAnyIntrinsic(Orig); + Result = expandAnyIntrinsic(Orig); + break; case Intrinsic::dx_uclamp: case Intrinsic::dx_clamp: - return expandClampIntrinsic(Orig, F.getIntrinsicID()); + Result = expandClampIntrinsic(Orig, F.getIntrinsicID()); + break; case Intrinsic::dx_lerp: - return expandLerpIntrinsic(Orig); + Result = expandLerpIntrinsic(Orig); + break; case Intrinsic::dx_length: - return expandLengthIntrinsic(Orig); - case Intrinsic::dx_sdot: - case Intrinsic::dx_udot: - return expandIntegerDot(Orig, F.getIntrinsicID()); + Result = expandLengthIntrinsic(Orig); + break; + case Intrinsic::fdot: + Result = expandFloatDotIntrinsic(Orig); + break; + case Intrinsic::sdot: + case Intrinsic::udot: + Result = expandIntegerDotIntrinsic(Orig, F.getIntrinsicID()); + break; } - return false; + + if (Result) { + Orig->replaceAllUsesWith(Result); + Orig->eraseFromParent(); + } ---------------- farzonl wrote:
add a return true to the if block. just keep it simple and leave the `return false;` https://github.com/llvm/llvm-project/pull/102872 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits