From 7b3e2debb8faf45a303dd0ffbf16bbeebc54f568 Mon Sep 17 00:00:00 2001 From: Christopher Tetreault Date: Fri, 15 May 2020 10:45:42 -0700 Subject: [PATCH] [SVE] Restore broken LLVM-C ABI compatability Reviewers: deadalnix, efriedma, rengolin, jyknight, joerg Reviewed By: joerg Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79915 --- include/llvm-c/Core.h | 36 ++++++++++++++++++------------------ lib/IR/Core.cpp | 4 ++-- tools/llvm-c-test/echo.cpp | 2 +- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/include/llvm-c/Core.h b/include/llvm-c/Core.h index 1991dd98a76..38560546d96 100644 --- a/include/llvm-c/Core.h +++ b/include/llvm-c/Core.h @@ -144,24 +144,24 @@ typedef enum { } LLVMOpcode; typedef enum { - LLVMVoidTypeKind, /**< type with no size */ - LLVMHalfTypeKind, /**< 16 bit floating point type */ - LLVMBFloatTypeKind, /**< 16 bit brain floating point type */ - LLVMFloatTypeKind, /**< 32 bit floating point type */ - LLVMDoubleTypeKind, /**< 64 bit floating point type */ - LLVMX86_FP80TypeKind, /**< 80 bit floating point type (X87) */ - LLVMFP128TypeKind, /**< 128 bit floating point type (112-bit mantissa)*/ - LLVMPPC_FP128TypeKind, /**< 128 bit floating point type (two 64-bits) */ - LLVMLabelTypeKind, /**< Labels */ - LLVMIntegerTypeKind, /**< Arbitrary bit width integers */ - LLVMFunctionTypeKind, /**< Functions */ - LLVMStructTypeKind, /**< Structures */ - LLVMArrayTypeKind, /**< Arrays */ - LLVMPointerTypeKind, /**< Pointers */ - LLVMMetadataTypeKind, /**< Metadata */ - LLVMX86_MMXTypeKind, /**< X86 MMX */ - LLVMTokenTypeKind, /**< Tokens */ - LLVMFixedVectorTypeKind, /**< Fixed width SIMD vector type */ + LLVMVoidTypeKind, /**< type with no size */ + LLVMHalfTypeKind, /**< 16 bit floating point type */ + LLVMBFloatTypeKind, /**< 16 bit brain floating point type */ + LLVMFloatTypeKind, /**< 32 bit floating point type */ + LLVMDoubleTypeKind, /**< 64 bit floating point type */ + LLVMX86_FP80TypeKind, /**< 80 bit floating point type (X87) */ + LLVMFP128TypeKind, /**< 128 bit floating point type (112-bit mantissa)*/ + LLVMPPC_FP128TypeKind, /**< 128 bit floating point type (two 64-bits) */ + LLVMLabelTypeKind, /**< Labels */ + LLVMIntegerTypeKind, /**< Arbitrary bit width integers */ + LLVMFunctionTypeKind, /**< Functions */ + LLVMStructTypeKind, /**< Structures */ + LLVMArrayTypeKind, /**< Arrays */ + LLVMPointerTypeKind, /**< Pointers */ + LLVMVectorTypeKind, /**< Fixed width SIMD vector type */ + LLVMMetadataTypeKind, /**< Metadata */ + LLVMX86_MMXTypeKind, /**< X86 MMX */ + LLVMTokenTypeKind, /**< Tokens */ LLVMScalableVectorTypeKind /**< Scalable SIMD vector type */ } LLVMTypeKind; diff --git a/lib/IR/Core.cpp b/lib/IR/Core.cpp index 3bb193797f2..f0eb329f4e9 100644 --- a/lib/IR/Core.cpp +++ b/lib/IR/Core.cpp @@ -503,12 +503,12 @@ LLVMTypeKind LLVMGetTypeKind(LLVMTypeRef Ty) { return LLVMArrayTypeKind; case Type::PointerTyID: return LLVMPointerTypeKind; + case Type::FixedVectorTyID: + return LLVMVectorTypeKind; case Type::X86_MMXTyID: return LLVMX86_MMXTypeKind; case Type::TokenTyID: return LLVMTokenTypeKind; - case Type::FixedVectorTyID: - return LLVMFixedVectorTypeKind; case Type::ScalableVectorTyID: return LLVMScalableVectorTypeKind; } diff --git a/tools/llvm-c-test/echo.cpp b/tools/llvm-c-test/echo.cpp index 49b9f74382b..b254da28ddc 100644 --- a/tools/llvm-c-test/echo.cpp +++ b/tools/llvm-c-test/echo.cpp @@ -142,7 +142,7 @@ struct TypeCloner { case LLVMScalableVectorTypeKind: // FIXME: scalable vectors unsupported break; - case LLVMFixedVectorTypeKind: + case LLVMVectorTypeKind: return LLVMVectorType( Clone(LLVMGetElementType(Src)), LLVMGetVectorSize(Src)