diff --git a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp index c9acbab253e10..abbe8e597709a 100644 --- a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp +++ b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp @@ -523,14 +523,14 @@ extern "C" typedef void (*LLVMRustSelfProfileBeforePassCallback)(void*, // LlvmS extern "C" typedef void (*LLVMRustSelfProfileAfterPassCallback)(void*); // LlvmSelfProfiler std::string LLVMRustwrappedIrGetName(const llvm::Any &WrappedIr) { - if (any_isa(WrappedIr)) - return any_cast(WrappedIr)->getName().str(); - if (any_isa(WrappedIr)) - return any_cast(WrappedIr)->getName().str(); - if (any_isa(WrappedIr)) - return any_cast(WrappedIr)->getName().str(); - if (any_isa(WrappedIr)) - return any_cast(WrappedIr)->getName(); + if (const auto *Cast = any_cast(&WrappedIr)) + return (*Cast)->getName().str(); + if (const auto *Cast = any_cast(&WrappedIr)) + return (*Cast)->getName().str(); + if (const auto *Cast = any_cast(&WrappedIr)) + return (*Cast)->getName().str(); + if (const auto *Cast = any_cast(&WrappedIr)) + return (*Cast)->getName(); return ""; }