]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_codegen_llvm/llvm/ffi.rs
Beginning of moving all backend-agnostic code to rustc_codegen_ssa
[rust.git] / src / librustc_codegen_llvm / llvm / ffi.rs
index 06c60dba2f52830ed2f9c8d19f9db8c52506793d..f1a966d7654388c1389e0a5b37c1cb007b25c829 100644 (file)
@@ -19,8 +19,8 @@
 use libc::{c_ulonglong, c_void};
 
 use std::marker::PhantomData;
-use rustc_codegen_utils;
 use syntax;
+use rustc_codegen_ssa;
 
 use super::RustString;
 
@@ -144,18 +144,18 @@ pub enum IntPredicate {
 }
 
 impl IntPredicate {
-    pub fn from_generic(intpre: rustc_codegen_utils::common::IntPredicate) -> Self {
+    pub fn from_generic(intpre: rustc_codegen_ssa::common::IntPredicate) -> Self {
         match intpre {
-            rustc_codegen_utils::common::IntPredicate::IntEQ => IntPredicate::IntEQ,
-            rustc_codegen_utils::common::IntPredicate::IntNE => IntPredicate::IntNE,
-            rustc_codegen_utils::common::IntPredicate::IntUGT => IntPredicate::IntUGT,
-            rustc_codegen_utils::common::IntPredicate::IntUGE => IntPredicate::IntUGE,
-            rustc_codegen_utils::common::IntPredicate::IntULT => IntPredicate::IntULT,
-            rustc_codegen_utils::common::IntPredicate::IntULE => IntPredicate::IntULE,
-            rustc_codegen_utils::common::IntPredicate::IntSGT => IntPredicate::IntSGT,
-            rustc_codegen_utils::common::IntPredicate::IntSGE => IntPredicate::IntSGE,
-            rustc_codegen_utils::common::IntPredicate::IntSLT => IntPredicate::IntSLT,
-            rustc_codegen_utils::common::IntPredicate::IntSLE => IntPredicate::IntSLE,
+            rustc_codegen_ssa::common::IntPredicate::IntEQ => IntPredicate::IntEQ,
+            rustc_codegen_ssa::common::IntPredicate::IntNE => IntPredicate::IntNE,
+            rustc_codegen_ssa::common::IntPredicate::IntUGT => IntPredicate::IntUGT,
+            rustc_codegen_ssa::common::IntPredicate::IntUGE => IntPredicate::IntUGE,
+            rustc_codegen_ssa::common::IntPredicate::IntULT => IntPredicate::IntULT,
+            rustc_codegen_ssa::common::IntPredicate::IntULE => IntPredicate::IntULE,
+            rustc_codegen_ssa::common::IntPredicate::IntSGT => IntPredicate::IntSGT,
+            rustc_codegen_ssa::common::IntPredicate::IntSGE => IntPredicate::IntSGE,
+            rustc_codegen_ssa::common::IntPredicate::IntSLT => IntPredicate::IntSLT,
+            rustc_codegen_ssa::common::IntPredicate::IntSLE => IntPredicate::IntSLE,
         }
     }
 }
@@ -183,25 +183,25 @@ pub enum RealPredicate {
 }
 
 impl RealPredicate {
-    pub fn from_generic(realpred: rustc_codegen_utils::common::RealPredicate) -> Self {
+    pub fn from_generic(realpred: rustc_codegen_ssa::common::RealPredicate) -> Self {
         match realpred {
-            rustc_codegen_utils::common::RealPredicate::RealPredicateFalse =>
+            rustc_codegen_ssa::common::RealPredicate::RealPredicateFalse =>
                 RealPredicate::RealPredicateFalse,
-            rustc_codegen_utils::common::RealPredicate::RealOEQ => RealPredicate::RealOEQ,
-            rustc_codegen_utils::common::RealPredicate::RealOGT => RealPredicate::RealOGT,
-            rustc_codegen_utils::common::RealPredicate::RealOGE => RealPredicate::RealOGE,
-            rustc_codegen_utils::common::RealPredicate::RealOLT => RealPredicate::RealOLT,
-            rustc_codegen_utils::common::RealPredicate::RealOLE => RealPredicate::RealOLE,
-            rustc_codegen_utils::common::RealPredicate::RealONE => RealPredicate::RealONE,
-            rustc_codegen_utils::common::RealPredicate::RealORD => RealPredicate::RealORD,
-            rustc_codegen_utils::common::RealPredicate::RealUNO => RealPredicate::RealUNO,
-            rustc_codegen_utils::common::RealPredicate::RealUEQ => RealPredicate::RealUEQ,
-            rustc_codegen_utils::common::RealPredicate::RealUGT => RealPredicate::RealUGT,
-            rustc_codegen_utils::common::RealPredicate::RealUGE => RealPredicate::RealUGE,
-            rustc_codegen_utils::common::RealPredicate::RealULT => RealPredicate::RealULT,
-            rustc_codegen_utils::common::RealPredicate::RealULE => RealPredicate::RealULE,
-            rustc_codegen_utils::common::RealPredicate::RealUNE => RealPredicate::RealUNE,
-            rustc_codegen_utils::common::RealPredicate::RealPredicateTrue =>
+            rustc_codegen_ssa::common::RealPredicate::RealOEQ => RealPredicate::RealOEQ,
+            rustc_codegen_ssa::common::RealPredicate::RealOGT => RealPredicate::RealOGT,
+            rustc_codegen_ssa::common::RealPredicate::RealOGE => RealPredicate::RealOGE,
+            rustc_codegen_ssa::common::RealPredicate::RealOLT => RealPredicate::RealOLT,
+            rustc_codegen_ssa::common::RealPredicate::RealOLE => RealPredicate::RealOLE,
+            rustc_codegen_ssa::common::RealPredicate::RealONE => RealPredicate::RealONE,
+            rustc_codegen_ssa::common::RealPredicate::RealORD => RealPredicate::RealORD,
+            rustc_codegen_ssa::common::RealPredicate::RealUNO => RealPredicate::RealUNO,
+            rustc_codegen_ssa::common::RealPredicate::RealUEQ => RealPredicate::RealUEQ,
+            rustc_codegen_ssa::common::RealPredicate::RealUGT => RealPredicate::RealUGT,
+            rustc_codegen_ssa::common::RealPredicate::RealUGE => RealPredicate::RealUGE,
+            rustc_codegen_ssa::common::RealPredicate::RealULT => RealPredicate::RealULT,
+            rustc_codegen_ssa::common::RealPredicate::RealULE => RealPredicate::RealULE,
+            rustc_codegen_ssa::common::RealPredicate::RealUNE => RealPredicate::RealUNE,
+            rustc_codegen_ssa::common::RealPredicate::RealPredicateTrue =>
                 RealPredicate::RealPredicateTrue
         }
     }
@@ -231,25 +231,25 @@ pub enum TypeKind {
 }
 
 impl TypeKind {
-    pub fn to_generic(self) -> rustc_codegen_utils::common::TypeKind {
+    pub fn to_generic(self) -> rustc_codegen_ssa::common::TypeKind {
         match self {
-            TypeKind::Void => rustc_codegen_utils::common::TypeKind::Void,
-            TypeKind::Half => rustc_codegen_utils::common::TypeKind::Half,
-            TypeKind::Float => rustc_codegen_utils::common::TypeKind::Float,
-            TypeKind::Double => rustc_codegen_utils::common::TypeKind::Double,
-            TypeKind::X86_FP80 => rustc_codegen_utils::common::TypeKind::X86_FP80,
-            TypeKind::FP128 => rustc_codegen_utils::common::TypeKind::FP128,
-            TypeKind::PPC_FP128 => rustc_codegen_utils::common::TypeKind::PPC_FP128,
-            TypeKind::Label => rustc_codegen_utils::common::TypeKind::Label,
-            TypeKind::Integer => rustc_codegen_utils::common::TypeKind::Integer,
-            TypeKind::Function => rustc_codegen_utils::common::TypeKind::Function,
-            TypeKind::Struct => rustc_codegen_utils::common::TypeKind::Struct,
-            TypeKind::Array => rustc_codegen_utils::common::TypeKind::Array,
-            TypeKind::Pointer => rustc_codegen_utils::common::TypeKind::Pointer,
-            TypeKind::Vector => rustc_codegen_utils::common::TypeKind::Vector,
-            TypeKind::Metadata => rustc_codegen_utils::common::TypeKind::Metadata,
-            TypeKind::X86_MMX => rustc_codegen_utils::common::TypeKind::X86_MMX,
-            TypeKind::Token => rustc_codegen_utils::common::TypeKind::Token,
+            TypeKind::Void => rustc_codegen_ssa::common::TypeKind::Void,
+            TypeKind::Half => rustc_codegen_ssa::common::TypeKind::Half,
+            TypeKind::Float => rustc_codegen_ssa::common::TypeKind::Float,
+            TypeKind::Double => rustc_codegen_ssa::common::TypeKind::Double,
+            TypeKind::X86_FP80 => rustc_codegen_ssa::common::TypeKind::X86_FP80,
+            TypeKind::FP128 => rustc_codegen_ssa::common::TypeKind::FP128,
+            TypeKind::PPC_FP128 => rustc_codegen_ssa::common::TypeKind::PPC_FP128,
+            TypeKind::Label => rustc_codegen_ssa::common::TypeKind::Label,
+            TypeKind::Integer => rustc_codegen_ssa::common::TypeKind::Integer,
+            TypeKind::Function => rustc_codegen_ssa::common::TypeKind::Function,
+            TypeKind::Struct => rustc_codegen_ssa::common::TypeKind::Struct,
+            TypeKind::Array => rustc_codegen_ssa::common::TypeKind::Array,
+            TypeKind::Pointer => rustc_codegen_ssa::common::TypeKind::Pointer,
+            TypeKind::Vector => rustc_codegen_ssa::common::TypeKind::Vector,
+            TypeKind::Metadata => rustc_codegen_ssa::common::TypeKind::Metadata,
+            TypeKind::X86_MMX => rustc_codegen_ssa::common::TypeKind::X86_MMX,
+            TypeKind::Token => rustc_codegen_ssa::common::TypeKind::Token,
         }
     }
 }
@@ -272,19 +272,19 @@ pub enum AtomicRmwBinOp {
 }
 
 impl AtomicRmwBinOp {
-    pub fn from_generic(op: rustc_codegen_utils::common::AtomicRmwBinOp) -> Self {
+    pub fn from_generic(op: rustc_codegen_ssa::common::AtomicRmwBinOp) -> Self {
         match op {
-            rustc_codegen_utils::common::AtomicRmwBinOp::AtomicXchg => AtomicRmwBinOp::AtomicXchg,
-            rustc_codegen_utils::common::AtomicRmwBinOp::AtomicAdd => AtomicRmwBinOp::AtomicAdd,
-            rustc_codegen_utils::common::AtomicRmwBinOp::AtomicSub => AtomicRmwBinOp::AtomicSub,
-            rustc_codegen_utils::common::AtomicRmwBinOp::AtomicAnd => AtomicRmwBinOp::AtomicAnd,
-            rustc_codegen_utils::common::AtomicRmwBinOp::AtomicNand => AtomicRmwBinOp::AtomicNand,
-            rustc_codegen_utils::common::AtomicRmwBinOp::AtomicOr => AtomicRmwBinOp::AtomicOr,
-            rustc_codegen_utils::common::AtomicRmwBinOp::AtomicXor => AtomicRmwBinOp::AtomicXor,
-            rustc_codegen_utils::common::AtomicRmwBinOp::AtomicMax => AtomicRmwBinOp::AtomicMax,
-            rustc_codegen_utils::common::AtomicRmwBinOp::AtomicMin => AtomicRmwBinOp::AtomicMin,
-            rustc_codegen_utils::common::AtomicRmwBinOp::AtomicUMax => AtomicRmwBinOp::AtomicUMax,
-            rustc_codegen_utils::common::AtomicRmwBinOp::AtomicUMin => AtomicRmwBinOp::AtomicUMin
+            rustc_codegen_ssa::common::AtomicRmwBinOp::AtomicXchg => AtomicRmwBinOp::AtomicXchg,
+            rustc_codegen_ssa::common::AtomicRmwBinOp::AtomicAdd => AtomicRmwBinOp::AtomicAdd,
+            rustc_codegen_ssa::common::AtomicRmwBinOp::AtomicSub => AtomicRmwBinOp::AtomicSub,
+            rustc_codegen_ssa::common::AtomicRmwBinOp::AtomicAnd => AtomicRmwBinOp::AtomicAnd,
+            rustc_codegen_ssa::common::AtomicRmwBinOp::AtomicNand => AtomicRmwBinOp::AtomicNand,
+            rustc_codegen_ssa::common::AtomicRmwBinOp::AtomicOr => AtomicRmwBinOp::AtomicOr,
+            rustc_codegen_ssa::common::AtomicRmwBinOp::AtomicXor => AtomicRmwBinOp::AtomicXor,
+            rustc_codegen_ssa::common::AtomicRmwBinOp::AtomicMax => AtomicRmwBinOp::AtomicMax,
+            rustc_codegen_ssa::common::AtomicRmwBinOp::AtomicMin => AtomicRmwBinOp::AtomicMin,
+            rustc_codegen_ssa::common::AtomicRmwBinOp::AtomicUMax => AtomicRmwBinOp::AtomicUMax,
+            rustc_codegen_ssa::common::AtomicRmwBinOp::AtomicUMin => AtomicRmwBinOp::AtomicUMin
         }
     }
 }
@@ -305,16 +305,16 @@ pub enum AtomicOrdering {
 }
 
 impl AtomicOrdering {
-    pub fn from_generic(ao: rustc_codegen_utils::common::AtomicOrdering) -> Self {
+    pub fn from_generic(ao: rustc_codegen_ssa::common::AtomicOrdering) -> Self {
         match ao {
-            rustc_codegen_utils::common::AtomicOrdering::NotAtomic => AtomicOrdering::NotAtomic,
-            rustc_codegen_utils::common::AtomicOrdering::Unordered => AtomicOrdering::Unordered,
-            rustc_codegen_utils::common::AtomicOrdering::Monotonic => AtomicOrdering::Monotonic,
-            rustc_codegen_utils::common::AtomicOrdering::Acquire => AtomicOrdering::Acquire,
-            rustc_codegen_utils::common::AtomicOrdering::Release => AtomicOrdering::Release,
-            rustc_codegen_utils::common::AtomicOrdering::AcquireRelease =>
+            rustc_codegen_ssa::common::AtomicOrdering::NotAtomic => AtomicOrdering::NotAtomic,
+            rustc_codegen_ssa::common::AtomicOrdering::Unordered => AtomicOrdering::Unordered,
+            rustc_codegen_ssa::common::AtomicOrdering::Monotonic => AtomicOrdering::Monotonic,
+            rustc_codegen_ssa::common::AtomicOrdering::Acquire => AtomicOrdering::Acquire,
+            rustc_codegen_ssa::common::AtomicOrdering::Release => AtomicOrdering::Release,
+            rustc_codegen_ssa::common::AtomicOrdering::AcquireRelease =>
                 AtomicOrdering::AcquireRelease,
-            rustc_codegen_utils::common::AtomicOrdering::SequentiallyConsistent =>
+            rustc_codegen_ssa::common::AtomicOrdering::SequentiallyConsistent =>
                 AtomicOrdering::SequentiallyConsistent
         }
     }
@@ -333,12 +333,12 @@ pub enum SynchronizationScope {
 }
 
 impl SynchronizationScope {
-    pub fn from_generic(sc: rustc_codegen_utils::common::SynchronizationScope) -> Self {
+    pub fn from_generic(sc: rustc_codegen_ssa::common::SynchronizationScope) -> Self {
         match sc {
-            rustc_codegen_utils::common::SynchronizationScope::Other => SynchronizationScope::Other,
-            rustc_codegen_utils::common::SynchronizationScope::SingleThread =>
+            rustc_codegen_ssa::common::SynchronizationScope::Other => SynchronizationScope::Other,
+            rustc_codegen_ssa::common::SynchronizationScope::SingleThread =>
                 SynchronizationScope::SingleThread,
-            rustc_codegen_utils::common::SynchronizationScope::CrossThread =>
+            rustc_codegen_ssa::common::SynchronizationScope::CrossThread =>
                 SynchronizationScope::CrossThread,
         }
     }