mirror of
https://github.com/RPCS3/llvm.git
synced 2025-04-11 18:42:01 +00:00
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:
parent
2d8a339384
commit
d91aaf6ee5
@ -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.
|
||||
*
|
||||
|
@ -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) {
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user