@@ -1460,60 +1460,6 @@ LLVMRustGetDiagInfoKind(LLVMDiagnosticInfoRef DI) {
14601460 return toRust ((DiagnosticKind)unwrap (DI)->getKind ());
14611461}
14621462
1463- // This is kept distinct from LLVMGetTypeKind, because when
1464- // a new type kind is added, the Rust-side enum must be
1465- // updated or UB will result.
1466- extern " C" LLVMTypeKind LLVMRustGetTypeKind (LLVMTypeRef Ty) {
1467- switch (unwrap (Ty)->getTypeID ()) {
1468- case Type::VoidTyID:
1469- return LLVMVoidTypeKind;
1470- case Type::HalfTyID:
1471- return LLVMHalfTypeKind;
1472- case Type::FloatTyID:
1473- return LLVMFloatTypeKind;
1474- case Type::DoubleTyID:
1475- return LLVMDoubleTypeKind;
1476- case Type::X86_FP80TyID:
1477- return LLVMX86_FP80TypeKind;
1478- case Type::FP128TyID:
1479- return LLVMFP128TypeKind;
1480- case Type::PPC_FP128TyID:
1481- return LLVMPPC_FP128TypeKind;
1482- case Type::LabelTyID:
1483- return LLVMLabelTypeKind;
1484- case Type::MetadataTyID:
1485- return LLVMMetadataTypeKind;
1486- case Type::IntegerTyID:
1487- return LLVMIntegerTypeKind;
1488- case Type::FunctionTyID:
1489- return LLVMFunctionTypeKind;
1490- case Type::StructTyID:
1491- return LLVMStructTypeKind;
1492- case Type::ArrayTyID:
1493- return LLVMArrayTypeKind;
1494- case Type::PointerTyID:
1495- return LLVMPointerTypeKind;
1496- case Type::FixedVectorTyID:
1497- return LLVMVectorTypeKind;
1498- case Type::TokenTyID:
1499- return LLVMTokenTypeKind;
1500- case Type::ScalableVectorTyID:
1501- return LLVMScalableVectorTypeKind;
1502- case Type::BFloatTyID:
1503- return LLVMBFloatTypeKind;
1504- case Type::X86_AMXTyID:
1505- return LLVMX86_AMXTypeKind;
1506- default : {
1507- std::string error;
1508- auto stream = llvm::raw_string_ostream (error);
1509- stream << " Rust does not support the TypeID: " << unwrap (Ty)->getTypeID ()
1510- << " for the type: " << *unwrap (Ty);
1511- stream.flush ();
1512- report_fatal_error (error.c_str ());
1513- }
1514- }
1515- }
1516-
15171463DEFINE_SIMPLE_CONVERSION_FUNCTIONS (SMDiagnostic, LLVMSMDiagnosticRef)
15181464
15191465extern "C" LLVMSMDiagnosticRef LLVMRustGetSMDiagnostic(LLVMDiagnosticInfoRef DI,
@@ -1993,29 +1939,3 @@ extern "C" void LLVMRustSetNoSanitizeHWAddress(LLVMValueRef Global) {
19931939 MD.NoHWAddress = true ;
19941940 GV.setSanitizerMetadata (MD);
19951941}
1996-
1997- enum class LLVMRustTailCallKind {
1998- None = 0 ,
1999- Tail = 1 ,
2000- MustTail = 2 ,
2001- NoTail = 3
2002- };
2003-
2004- extern " C" void LLVMRustSetTailCallKind (LLVMValueRef Call,
2005- LLVMRustTailCallKind Kind) {
2006- CallInst *CI = unwrap<CallInst>(Call);
2007- switch (Kind) {
2008- case LLVMRustTailCallKind::None:
2009- CI->setTailCallKind (CallInst::TCK_None);
2010- break ;
2011- case LLVMRustTailCallKind::Tail:
2012- CI->setTailCallKind (CallInst::TCK_Tail);
2013- break ;
2014- case LLVMRustTailCallKind::MustTail:
2015- CI->setTailCallKind (CallInst::TCK_MustTail);
2016- break ;
2017- case LLVMRustTailCallKind::NoTail:
2018- CI->setTailCallKind (CallInst::TCK_NoTail);
2019- break ;
2020- }
2021- }
0 commit comments