Revert "Expose TailCallKind via the LLVM C API"

This is failing on several build bots. Reverting as discussed in
https://reviews.llvm.org/D66061.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@368953 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jonas Devlieghere 2019-08-15 03:49:51 +00:00
parent 2d8a339384
commit d91aaf6ee5
4 changed files with 3 additions and 61 deletions

View File

@ -452,13 +452,6 @@ enum {
typedef unsigned LLVMAttributeIndex;
typedef enum {
LLVMTailCallKindNone,
LLVMTailCallKindTail,
LLVMTailCallKindMustTail,
LLVMTailCallKindNoTail
} LLVMTailCallKind;
/**
* @}
*/
@ -3270,24 +3263,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.
*

View File

@ -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) {

View File

@ -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

View File

@ -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;
}