diff options
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/include/llvm-c/Core.h | 25 | ||||
-rw-r--r-- | llvm/lib/IR/Core.cpp | 33 | ||||
-rw-r--r-- | llvm/test/Bindings/llvm-c/invoke.ll | 4 | ||||
-rw-r--r-- | llvm/tools/llvm-c-test/echo.cpp | 2 |
4 files changed, 3 insertions, 61 deletions
diff --git a/llvm/include/llvm-c/Core.h b/llvm/include/llvm-c/Core.h index 00d151c4541..cac2f297056 100644 --- a/llvm/include/llvm-c/Core.h +++ b/llvm/include/llvm-c/Core.h @@ -452,13 +452,6 @@ enum { typedef unsigned LLVMAttributeIndex; -typedef enum { - LLVMTailCallKindNone, - LLVMTailCallKindTail, - LLVMTailCallKindMustTail, - LLVMTailCallKindNoTail -} LLVMTailCallKind; - /** * @} */ @@ -3271,24 +3264,6 @@ LLVMBool LLVMIsTailCall(LLVMValueRef CallInst); void LLVMSetTailCall(LLVMValueRef CallInst, LLVMBool IsTailCall); /** - * Obtains the kind of tail call for a call instruction. - * - * This only works on llvm::CallInst instructions. - * - * @see llvm::CallInst::getTailCallKind() - */ -LLVMTailCallKind LLVMGetTailCallKind(LLVMValueRef CallInst); - -/** - * Set the kind of tail call for a call instruction. - * - * This only works on llvm::CallInst instructions. - * - * @see llvm::CallInst::setTailCallKind() - */ -void LLVMSetTailCallKind(LLVMValueRef CallInst, LLVMTailCallKind TCK); - -/** * Return the normal destination basic block. * * This only works on llvm::InvokeInst instructions. diff --git a/llvm/lib/IR/Core.cpp b/llvm/lib/IR/Core.cpp index 4c38bb1a553..b4dc91bc3f3 100644 --- a/llvm/lib/IR/Core.cpp +++ b/llvm/lib/IR/Core.cpp @@ -2844,39 +2844,6 @@ void LLVMSetTailCall(LLVMValueRef Call, LLVMBool isTailCall) { unwrap<CallInst>(Call)->setTailCall(isTailCall); } -LLVMTailCallKind LLVMGetTailCallKind(LLVMValueRef Call) { - switch (unwrap<CallInst>(Call)->getTailCallKind()) { - case CallInst::TailCallKind::TCK_None: - return LLVMTailCallKindNone; - case CallInst::TailCallKind::TCK_Tail: - return LLVMTailCallKindTail; - case CallInst::TailCallKind::TCK_MustTail: - return LLVMTailCallKindMustTail; - case CallInst::TailCallKind::TCK_NoTail: - return LLVMTailCallKindNoTail; - } -} - -void LLVMSetTailCallKind(LLVMValueRef Call, LLVMTailCallKind TCK) { - CallInst::TailCallKind kind; - switch (TCK) { - case LLVMTailCallKindNone: - kind = CallInst::TailCallKind::TCK_None; - break; - case LLVMTailCallKindTail: - kind = CallInst::TailCallKind::TCK_Tail; - break; - case LLVMTailCallKindMustTail: - kind = CallInst::TailCallKind::TCK_MustTail; - break; - case LLVMTailCallKindNoTail: - kind = CallInst::TailCallKind::TCK_NoTail; - break; - } - - unwrap<CallInst>(Call)->setTailCallKind(kind); -} - /*--.. Operations on invoke instructions (only) ............................--*/ LLVMBasicBlockRef LLVMGetNormalDest(LLVMValueRef Invoke) { diff --git a/llvm/test/Bindings/llvm-c/invoke.ll b/llvm/test/Bindings/llvm-c/invoke.ll index 69228225251..613a18de1a8 100644 --- a/llvm/test/Bindings/llvm-c/invoke.ll +++ b/llvm/test/Bindings/llvm-c/invoke.ll @@ -55,12 +55,12 @@ catch: ; preds = %unwind5, %unwind3, ret i32 %merge unwind3: ; preds = %landingPad - %8 = musttail call i32 @llvm.eh.typeid.for(i8* nonnull bitcast (%C6object9ClassInfo* @C6object9Exception__ClassInfo to i8*)) + %8 = tail call i32 @llvm.eh.typeid.for(i8* nonnull bitcast (%C6object9ClassInfo* @C6object9Exception__ClassInfo to i8*)) %9 = icmp eq i32 %8, %5 br i1 %9, label %catch, label %unwind5 unwind5: ; preds = %unwind3 - %10 = notail call i32 @llvm.eh.typeid.for(i8* nonnull bitcast (%C6object9ClassInfo* @C6object9Throwable__ClassInfo to i8*)) + %10 = tail call i32 @llvm.eh.typeid.for(i8* nonnull bitcast (%C6object9ClassInfo* @C6object9Throwable__ClassInfo to i8*)) %11 = icmp eq i32 %10, %5 br i1 %11, label %catch, label %unwind7 diff --git a/llvm/tools/llvm-c-test/echo.cpp b/llvm/tools/llvm-c-test/echo.cpp index 7216aa7f594..8341b11aa45 100644 --- a/llvm/tools/llvm-c-test/echo.cpp +++ b/llvm/tools/llvm-c-test/echo.cpp @@ -643,7 +643,7 @@ struct FunCloner { Args.push_back(CloneValue(LLVMGetOperand(Src, i))); LLVMValueRef Fn = CloneValue(LLVMGetCalledValue(Src)); Dst = LLVMBuildCall(Builder, Fn, Args.data(), ArgCount, Name); - LLVMSetTailCallKind(Dst, LLVMGetTailCallKind(Src)); + LLVMSetTailCall(Dst, LLVMIsTailCall(Src)); CloneAttrs(Src, Dst); break; } |