From a9ca888fc4f4c819f84dd04a373c92f990e724c6 Mon Sep 17 00:00:00 2001 From: Alexis Engelke Date: Thu, 19 Mar 2026 21:42:49 +0100 Subject: [PATCH] [IR][CAPI] Mark LLVMIsABranchInst as deprecated (#187576) Follow-up of https://github.com/llvm/llvm-project/pull/187314. --- llvm/include/llvm-c/Core.h | 9 ++++++--- llvm/lib/IR/Core.cpp | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/llvm/include/llvm-c/Core.h b/llvm/include/llvm-c/Core.h index ca71f4a90b41..7f648dd53d9f 100644 --- a/llvm/include/llvm-c/Core.h +++ b/llvm/include/llvm-c/Core.h @@ -2081,9 +2081,8 @@ LLVM_C_ABI unsigned LLVMGetTargetExtTypeIntParam(LLVMTypeRef TargetExtTy, macro(SelectInst) \ macro(ShuffleVectorInst) \ macro(StoreInst) \ - macro(BranchInst) \ - macro(UncondBrInst) \ - macro(CondBrInst) \ + macro(UncondBrInst) \ + macro(CondBrInst) \ macro(IndirectBrInst) \ macro(InvokeInst) \ macro(ReturnInst) \ @@ -2230,6 +2229,10 @@ LLVM_C_ABI LLVMBool LLVMIsPoison(LLVMValueRef Val); LLVM_C_ABI LLVMValueRef LLVMIsA##name(LLVMValueRef Val); LLVM_FOR_EACH_VALUE_SUBCLASS(LLVM_DECLARE_VALUE_CAST) +LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED( + LLVMValueRef LLVMIsABranchInst(LLVMValueRef Val), + "Use LLVMIsAUncondBrInst/LLVMIsACondBrInst instead"); + LLVM_C_ABI LLVMValueRef LLVMIsAMDNode(LLVMValueRef Val); LLVM_C_ABI LLVMValueRef LLVMIsAValueAsMetadata(LLVMValueRef Val); LLVM_C_ABI LLVMValueRef LLVMIsAMDString(LLVMValueRef Val); diff --git a/llvm/lib/IR/Core.cpp b/llvm/lib/IR/Core.cpp index 3e5e07416ec2..a4e03de7b615 100644 --- a/llvm/lib/IR/Core.cpp +++ b/llvm/lib/IR/Core.cpp @@ -1169,10 +1169,13 @@ LLVMInstructionGetAllMetadataOtherThanDebugLoc(LLVMValueRef Value, return wrap(static_cast(dyn_cast_or_null(unwrap(Val)))); \ } -// Suppress warning for BranchInst. -LLVM_SUPPRESS_DEPRECATED_DECLARATIONS_PUSH LLVM_FOR_EACH_VALUE_SUBCLASS(LLVM_DEFINE_VALUE_CAST) -LLVM_SUPPRESS_DEPRECATED_DECLARATIONS_POP + +LLVMValueRef LLVMIsABranchInst(LLVMValueRef Val) { + if (Value *V = unwrap(Val)) + return isa(V) ? Val : nullptr; + return nullptr; +} LLVMValueRef LLVMIsAMDNode(LLVMValueRef Val) { if (auto *MD = dyn_cast_or_null(unwrap(Val)))