about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm/llvm
diff options
context:
space:
mode:
authorDenis Merigoux <denis.merigoux@gmail.com>2018-09-07 13:25:50 -0700
committerEduard-Mihai Burtescu <edy.burt@gmail.com>2018-11-16 14:11:59 +0200
commit0514c7b1b2bbc52cc8f7fe39ef44d0855fddbbdb (patch)
treed041c6c2bc52892f04478597310105ac2e793068 /src/librustc_codegen_llvm/llvm
parentc487b825b0a59b3e4c758a79f041245b79f4bf4f (diff)
downloadrust-0514c7b1b2bbc52cc8f7fe39ef44d0855fddbbdb.tar.gz
rust-0514c7b1b2bbc52cc8f7fe39ef44d0855fddbbdb.zip
Generalized some base.rs methods
Diffstat (limited to 'src/librustc_codegen_llvm/llvm')
-rw-r--r--src/librustc_codegen_llvm/llvm/ffi.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/librustc_codegen_llvm/llvm/ffi.rs b/src/librustc_codegen_llvm/llvm/ffi.rs
index e80c66fbe24..ea446f4b544 100644
--- a/src/librustc_codegen_llvm/llvm/ffi.rs
+++ b/src/librustc_codegen_llvm/llvm/ffi.rs
@@ -228,6 +228,30 @@ pub enum TypeKind {
     Token = 16,
 }
 
+impl TypeKind {
+    pub fn to_generic(self) -> common::TypeKind {
+        match self {
+            TypeKind::Void => common::TypeKind::Void,
+            TypeKind::Half => common::TypeKind::Half,
+            TypeKind::Float => common::TypeKind::Float,
+            TypeKind::Double => common::TypeKind::Double,
+            TypeKind::X86_FP80 => common::TypeKind::X86_FP80,
+            TypeKind::FP128 => common::TypeKind::FP128,
+            TypeKind::PPc_FP128 => common::TypeKind::PPc_FP128,
+            TypeKind::Label => common::TypeKind::Label,
+            TypeKind::Integer => common::TypeKind::Integer,
+            TypeKind::Function => common::TypeKind::Function,
+            TypeKind::Struct => common::TypeKind::Struct,
+            TypeKind::Array => common::TypeKind::Array,
+            TypeKind::Pointer => common::TypeKind::Pointer,
+            TypeKind::Vector => common::TypeKind::Vector,
+            TypeKind::Metadata => common::TypeKind::Metadata,
+            TypeKind::X86_MMX => common::TypeKind::X86_MMX,
+            TypeKind::Token => common::TypeKind::Token,
+        }
+    }
+}
+
 /// LLVMAtomicRmwBinOp
 #[derive(Copy, Clone)]
 #[repr(C)]