Skip to content

Commit 566fa4d

Browse files
denismerigouxeddyb
authored andcommitted
Moved common.rs enums
1 parent 39fd4d9 commit 566fa4d

File tree

10 files changed

+173
-155
lines changed

10 files changed

+173
-155
lines changed

src/librustc_codegen_llvm/base.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ use mir::place::PlaceRef;
5353
use builder::{Builder, MemFlags};
5454
use callee;
5555
use rustc_mir::monomorphize::item::DefPathBasedNames;
56-
use common::{self, RealPredicate, TypeKind};
57-
use rustc_codegen_utils::common::IntPredicate;
56+
use common;
57+
use rustc_codegen_utils::common::{RealPredicate, TypeKind, IntPredicate};
5858
use meth;
5959
use mir;
6060
use context::CodegenCx;

src/librustc_codegen_llvm/builder.rs

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010

1111
use llvm::{AtomicRmwBinOp, AtomicOrdering, SynchronizationScope, AsmDialect};
1212
use llvm::{self, False, OperandBundleDef, BasicBlock};
13-
use common::{self, *};
14-
use rustc_codegen_utils::common::IntPredicate;
13+
use common;
14+
use rustc_codegen_utils::common::{IntPredicate, TypeKind, RealPredicate};
15+
use rustc_codegen_utils;
1516
use context::CodegenCx;
1617
use type_::Type;
1718
use type_of::LayoutLlvmExt;
@@ -524,7 +525,7 @@ impl BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
524525
fn atomic_load(
525526
&self,
526527
ptr: &'ll Value,
527-
order: common::AtomicOrdering,
528+
order: rustc_codegen_utils::common::AtomicOrdering,
528529
size: Size,
529530
) -> &'ll Value {
530531
self.count_insn("load.atomic");
@@ -678,7 +679,7 @@ impl BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
678679
}
679680

680681
fn atomic_store(&self, val: &'ll Value, ptr: &'ll Value,
681-
order: common::AtomicOrdering, size: Size) {
682+
order: rustc_codegen_utils::common::AtomicOrdering, size: Size) {
682683
debug!("Store {:?} -> {:?}", val, ptr);
683684
self.count_insn("store.atomic");
684685
let ptr = self.check_store(val, ptr);
@@ -1201,8 +1202,8 @@ impl BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
12011202
dst: &'ll Value,
12021203
cmp: &'ll Value,
12031204
src: &'ll Value,
1204-
order: common::AtomicOrdering,
1205-
failure_order: common::AtomicOrdering,
1205+
order: rustc_codegen_utils::common::AtomicOrdering,
1206+
failure_order: rustc_codegen_utils::common::AtomicOrdering,
12061207
weak: bool,
12071208
) -> &'ll Value {
12081209
let weak = if weak { llvm::True } else { llvm::False };
@@ -1220,10 +1221,10 @@ impl BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
12201221
}
12211222
fn atomic_rmw(
12221223
&self,
1223-
op: common::AtomicRmwBinOp,
1224+
op: rustc_codegen_utils::common::AtomicRmwBinOp,
12241225
dst: &'ll Value,
12251226
src: &'ll Value,
1226-
order: common::AtomicOrdering,
1227+
order: rustc_codegen_utils::common::AtomicOrdering,
12271228
) -> &'ll Value {
12281229
unsafe {
12291230
llvm::LLVMBuildAtomicRMW(
@@ -1236,7 +1237,11 @@ impl BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
12361237
}
12371238
}
12381239

1239-
fn atomic_fence(&self, order: common::AtomicOrdering, scope: common::SynchronizationScope) {
1240+
fn atomic_fence(
1241+
&self,
1242+
order: rustc_codegen_utils::common::AtomicOrdering,
1243+
scope: rustc_codegen_utils::common::SynchronizationScope
1244+
) {
12401245
unsafe {
12411246
llvm::LLVMRustBuildAtomicFence(
12421247
self.llbuilder,

src/librustc_codegen_llvm/common.rs

Lines changed: 1 addition & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ use rustc::mir::interpret::{Scalar, AllocType, Allocation};
2929
use rustc::hir;
3030
use mir::constant::const_alloc_to_llvm;
3131
use mir::place::PlaceRef;
32+
use rustc_codegen_utils::common::TypeKind;
3233

3334
use libc::{c_uint, c_char};
3435

@@ -64,81 +65,6 @@ impl<'a, V> OperandBundleDef<'a, V> {
6465
}
6566
}
6667

67-
#[allow(dead_code)]
68-
pub enum RealPredicate {
69-
RealPredicateFalse,
70-
RealOEQ,
71-
RealOGT,
72-
RealOGE,
73-
RealOLT,
74-
RealOLE,
75-
RealONE,
76-
RealORD,
77-
RealUNO,
78-
RealUEQ,
79-
RealUGT,
80-
RealUGE,
81-
RealULT,
82-
RealULE,
83-
RealUNE,
84-
RealPredicateTrue
85-
}
86-
87-
pub enum AtomicRmwBinOp {
88-
AtomicXchg,
89-
AtomicAdd,
90-
AtomicSub,
91-
AtomicAnd,
92-
AtomicNand,
93-
AtomicOr,
94-
AtomicXor,
95-
AtomicMax,
96-
AtomicMin,
97-
AtomicUMax,
98-
AtomicUMin
99-
}
100-
101-
pub enum AtomicOrdering {
102-
#[allow(dead_code)]
103-
NotAtomic,
104-
Unordered,
105-
Monotonic,
106-
// Consume, // Not specified yet.
107-
Acquire,
108-
Release,
109-
AcquireRelease,
110-
SequentiallyConsistent,
111-
}
112-
113-
pub enum SynchronizationScope {
114-
// FIXME: figure out if this variant is needed at all.
115-
#[allow(dead_code)]
116-
Other,
117-
SingleThread,
118-
CrossThread,
119-
}
120-
121-
#[derive(Copy, Clone, PartialEq, Debug)]
122-
pub enum TypeKind {
123-
Void,
124-
Half,
125-
Float,
126-
Double,
127-
X86_FP80,
128-
FP128,
129-
PPc_FP128,
130-
Label,
131-
Integer,
132-
Function,
133-
Struct,
134-
Array,
135-
Pointer,
136-
Vector,
137-
Metadata,
138-
X86_MMX,
139-
Token,
140-
}
141-
14268
/*
14369
* A note on nomenclature of linking: "extern", "foreign", and "upcall".
14470
*

src/librustc_codegen_llvm/interfaces/builder.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ use libc::c_char;
2020
use mir::operand::OperandRef;
2121
use mir::place::PlaceRef;
2222
use rustc::ty::layout::{Align, Size};
23-
use rustc_codegen_utils::common::IntPredicate;
23+
use rustc_codegen_utils::common::{
24+
AtomicOrdering, AtomicRmwBinOp, IntPredicate, RealPredicate, SynchronizationScope,
25+
};
2426

2527
use std::borrow::Cow;
2628
use std::ops::Range;

src/librustc_codegen_llvm/interfaces/type_.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010

1111
use super::backend::Backend;
1212
use super::HasCodegen;
13-
use common::TypeKind;
1413
use mir::place::PlaceRef;
1514
use rustc::ty::layout::TyLayout;
1615
use rustc::ty::layout::{self, Align, Size};
1716
use rustc::ty::Ty;
1817
use rustc::util::nodemap::FxHashMap;
18+
use rustc_codegen_utils::common::TypeKind;
1919
use rustc_target::abi::call::{ArgType, CastTarget, FnType, Reg};
2020
use std::cell::RefCell;
2121
use syntax::ast;

src/librustc_codegen_llvm/intrinsic.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ use abi::{Abi, FnType, LlvmType, PassMode};
1818
use mir::place::PlaceRef;
1919
use mir::operand::{OperandRef, OperandValue};
2020
use base::*;
21-
use common::*;
2221
use context::CodegenCx;
2322
use glue;
2423
use type_::Type;
2524
use type_of::LayoutLlvmExt;
2625
use rustc::ty::{self, Ty};
2726
use rustc::ty::layout::{LayoutOf, HasTyCtxt};
27+
use rustc_codegen_utils::common::TypeKind;
2828
use rustc::hir;
2929
use syntax::ast;
3030
use syntax::symbol::Symbol;
@@ -463,7 +463,9 @@ impl IntrinsicCallMethods<'tcx> for Builder<'a, 'll, 'tcx> {
463463
// This requires that atomic intrinsics follow a specific naming pattern:
464464
// "atomic_<operation>[_<ordering>]", and no ordering means SeqCst
465465
name if name.starts_with("atomic_") => {
466-
use self::AtomicOrdering::*;
466+
use rustc_codegen_utils::common::AtomicOrdering::*;
467+
use rustc_codegen_utils::common::
468+
{SynchronizationScope, AtomicRmwBinOp};
467469

468470
let split: Vec<&str> = name.split('_').collect();
469471

src/librustc_codegen_llvm/llvm/ffi.rs

Lines changed: 65 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ use libc::{c_uint, c_int, size_t, c_char};
1919
use libc::{c_ulonglong, c_void};
2020

2121
use std::marker::PhantomData;
22-
use common;
2322
use rustc_codegen_utils;
2423
use syntax;
2524

@@ -184,24 +183,26 @@ pub enum RealPredicate {
184183
}
185184

186185
impl RealPredicate {
187-
pub fn from_generic(realpred: common::RealPredicate) -> Self {
186+
pub fn from_generic(realpred: rustc_codegen_utils::common::RealPredicate) -> Self {
188187
match realpred {
189-
common::RealPredicate::RealPredicateFalse => RealPredicate::RealPredicateFalse,
190-
common::RealPredicate::RealOEQ => RealPredicate::RealOEQ,
191-
common::RealPredicate::RealOGT => RealPredicate::RealOGT,
192-
common::RealPredicate::RealOGE => RealPredicate::RealOGE,
193-
common::RealPredicate::RealOLT => RealPredicate::RealOLT,
194-
common::RealPredicate::RealOLE => RealPredicate::RealOLE,
195-
common::RealPredicate::RealONE => RealPredicate::RealONE,
196-
common::RealPredicate::RealORD => RealPredicate::RealORD,
197-
common::RealPredicate::RealUNO => RealPredicate::RealUNO,
198-
common::RealPredicate::RealUEQ => RealPredicate::RealUEQ,
199-
common::RealPredicate::RealUGT => RealPredicate::RealUGT,
200-
common::RealPredicate::RealUGE => RealPredicate::RealUGE,
201-
common::RealPredicate::RealULT => RealPredicate::RealULT,
202-
common::RealPredicate::RealULE => RealPredicate::RealULE,
203-
common::RealPredicate::RealUNE => RealPredicate::RealUNE,
204-
common::RealPredicate::RealPredicateTrue => RealPredicate::RealPredicateTrue
188+
rustc_codegen_utils::common::RealPredicate::RealPredicateFalse =>
189+
RealPredicate::RealPredicateFalse,
190+
rustc_codegen_utils::common::RealPredicate::RealOEQ => RealPredicate::RealOEQ,
191+
rustc_codegen_utils::common::RealPredicate::RealOGT => RealPredicate::RealOGT,
192+
rustc_codegen_utils::common::RealPredicate::RealOGE => RealPredicate::RealOGE,
193+
rustc_codegen_utils::common::RealPredicate::RealOLT => RealPredicate::RealOLT,
194+
rustc_codegen_utils::common::RealPredicate::RealOLE => RealPredicate::RealOLE,
195+
rustc_codegen_utils::common::RealPredicate::RealONE => RealPredicate::RealONE,
196+
rustc_codegen_utils::common::RealPredicate::RealORD => RealPredicate::RealORD,
197+
rustc_codegen_utils::common::RealPredicate::RealUNO => RealPredicate::RealUNO,
198+
rustc_codegen_utils::common::RealPredicate::RealUEQ => RealPredicate::RealUEQ,
199+
rustc_codegen_utils::common::RealPredicate::RealUGT => RealPredicate::RealUGT,
200+
rustc_codegen_utils::common::RealPredicate::RealUGE => RealPredicate::RealUGE,
201+
rustc_codegen_utils::common::RealPredicate::RealULT => RealPredicate::RealULT,
202+
rustc_codegen_utils::common::RealPredicate::RealULE => RealPredicate::RealULE,
203+
rustc_codegen_utils::common::RealPredicate::RealUNE => RealPredicate::RealUNE,
204+
rustc_codegen_utils::common::RealPredicate::RealPredicateTrue =>
205+
RealPredicate::RealPredicateTrue
205206
}
206207
}
207208
}
@@ -216,7 +217,7 @@ pub enum TypeKind {
216217
Double = 3,
217218
X86_FP80 = 4,
218219
FP128 = 5,
219-
PPc_FP128 = 6,
220+
PPC_FP128 = 6,
220221
Label = 7,
221222
Integer = 8,
222223
Function = 9,
@@ -230,25 +231,25 @@ pub enum TypeKind {
230231
}
231232

232233
impl TypeKind {
233-
pub fn to_generic(self) -> common::TypeKind {
234+
pub fn to_generic(self) -> rustc_codegen_utils::common::TypeKind {
234235
match self {
235-
TypeKind::Void => common::TypeKind::Void,
236-
TypeKind::Half => common::TypeKind::Half,
237-
TypeKind::Float => common::TypeKind::Float,
238-
TypeKind::Double => common::TypeKind::Double,
239-
TypeKind::X86_FP80 => common::TypeKind::X86_FP80,
240-
TypeKind::FP128 => common::TypeKind::FP128,
241-
TypeKind::PPc_FP128 => common::TypeKind::PPc_FP128,
242-
TypeKind::Label => common::TypeKind::Label,
243-
TypeKind::Integer => common::TypeKind::Integer,
244-
TypeKind::Function => common::TypeKind::Function,
245-
TypeKind::Struct => common::TypeKind::Struct,
246-
TypeKind::Array => common::TypeKind::Array,
247-
TypeKind::Pointer => common::TypeKind::Pointer,
248-
TypeKind::Vector => common::TypeKind::Vector,
249-
TypeKind::Metadata => common::TypeKind::Metadata,
250-
TypeKind::X86_MMX => common::TypeKind::X86_MMX,
251-
TypeKind::Token => common::TypeKind::Token,
236+
TypeKind::Void => rustc_codegen_utils::common::TypeKind::Void,
237+
TypeKind::Half => rustc_codegen_utils::common::TypeKind::Half,
238+
TypeKind::Float => rustc_codegen_utils::common::TypeKind::Float,
239+
TypeKind::Double => rustc_codegen_utils::common::TypeKind::Double,
240+
TypeKind::X86_FP80 => rustc_codegen_utils::common::TypeKind::X86_FP80,
241+
TypeKind::FP128 => rustc_codegen_utils::common::TypeKind::FP128,
242+
TypeKind::PPC_FP128 => rustc_codegen_utils::common::TypeKind::PPC_FP128,
243+
TypeKind::Label => rustc_codegen_utils::common::TypeKind::Label,
244+
TypeKind::Integer => rustc_codegen_utils::common::TypeKind::Integer,
245+
TypeKind::Function => rustc_codegen_utils::common::TypeKind::Function,
246+
TypeKind::Struct => rustc_codegen_utils::common::TypeKind::Struct,
247+
TypeKind::Array => rustc_codegen_utils::common::TypeKind::Array,
248+
TypeKind::Pointer => rustc_codegen_utils::common::TypeKind::Pointer,
249+
TypeKind::Vector => rustc_codegen_utils::common::TypeKind::Vector,
250+
TypeKind::Metadata => rustc_codegen_utils::common::TypeKind::Metadata,
251+
TypeKind::X86_MMX => rustc_codegen_utils::common::TypeKind::X86_MMX,
252+
TypeKind::Token => rustc_codegen_utils::common::TypeKind::Token,
252253
}
253254
}
254255
}
@@ -271,19 +272,19 @@ pub enum AtomicRmwBinOp {
271272
}
272273

273274
impl AtomicRmwBinOp {
274-
pub fn from_generic(op: common::AtomicRmwBinOp) -> Self {
275+
pub fn from_generic(op: rustc_codegen_utils::common::AtomicRmwBinOp) -> Self {
275276
match op {
276-
common::AtomicRmwBinOp::AtomicXchg => AtomicRmwBinOp::AtomicXchg,
277-
common::AtomicRmwBinOp::AtomicAdd => AtomicRmwBinOp::AtomicAdd,
278-
common::AtomicRmwBinOp::AtomicSub => AtomicRmwBinOp::AtomicSub,
279-
common::AtomicRmwBinOp::AtomicAnd => AtomicRmwBinOp::AtomicAnd,
280-
common::AtomicRmwBinOp::AtomicNand => AtomicRmwBinOp::AtomicNand,
281-
common::AtomicRmwBinOp::AtomicOr => AtomicRmwBinOp::AtomicOr,
282-
common::AtomicRmwBinOp::AtomicXor => AtomicRmwBinOp::AtomicXor,
283-
common::AtomicRmwBinOp::AtomicMax => AtomicRmwBinOp::AtomicMax,
284-
common::AtomicRmwBinOp::AtomicMin => AtomicRmwBinOp::AtomicMin,
285-
common::AtomicRmwBinOp::AtomicUMax => AtomicRmwBinOp::AtomicUMax,
286-
common::AtomicRmwBinOp::AtomicUMin => AtomicRmwBinOp::AtomicUMin
277+
rustc_codegen_utils::common::AtomicRmwBinOp::AtomicXchg => AtomicRmwBinOp::AtomicXchg,
278+
rustc_codegen_utils::common::AtomicRmwBinOp::AtomicAdd => AtomicRmwBinOp::AtomicAdd,
279+
rustc_codegen_utils::common::AtomicRmwBinOp::AtomicSub => AtomicRmwBinOp::AtomicSub,
280+
rustc_codegen_utils::common::AtomicRmwBinOp::AtomicAnd => AtomicRmwBinOp::AtomicAnd,
281+
rustc_codegen_utils::common::AtomicRmwBinOp::AtomicNand => AtomicRmwBinOp::AtomicNand,
282+
rustc_codegen_utils::common::AtomicRmwBinOp::AtomicOr => AtomicRmwBinOp::AtomicOr,
283+
rustc_codegen_utils::common::AtomicRmwBinOp::AtomicXor => AtomicRmwBinOp::AtomicXor,
284+
rustc_codegen_utils::common::AtomicRmwBinOp::AtomicMax => AtomicRmwBinOp::AtomicMax,
285+
rustc_codegen_utils::common::AtomicRmwBinOp::AtomicMin => AtomicRmwBinOp::AtomicMin,
286+
rustc_codegen_utils::common::AtomicRmwBinOp::AtomicUMax => AtomicRmwBinOp::AtomicUMax,
287+
rustc_codegen_utils::common::AtomicRmwBinOp::AtomicUMin => AtomicRmwBinOp::AtomicUMin
287288
}
288289
}
289290
}
@@ -304,15 +305,16 @@ pub enum AtomicOrdering {
304305
}
305306

306307
impl AtomicOrdering {
307-
pub fn from_generic(ao: common::AtomicOrdering) -> Self {
308+
pub fn from_generic(ao: rustc_codegen_utils::common::AtomicOrdering) -> Self {
308309
match ao {
309-
common::AtomicOrdering::NotAtomic => AtomicOrdering::NotAtomic,
310-
common::AtomicOrdering::Unordered => AtomicOrdering::Unordered,
311-
common::AtomicOrdering::Monotonic => AtomicOrdering::Monotonic,
312-
common::AtomicOrdering::Acquire => AtomicOrdering::Acquire,
313-
common::AtomicOrdering::Release => AtomicOrdering::Release,
314-
common::AtomicOrdering::AcquireRelease => AtomicOrdering::AcquireRelease,
315-
common::AtomicOrdering::SequentiallyConsistent =>
310+
rustc_codegen_utils::common::AtomicOrdering::NotAtomic => AtomicOrdering::NotAtomic,
311+
rustc_codegen_utils::common::AtomicOrdering::Unordered => AtomicOrdering::Unordered,
312+
rustc_codegen_utils::common::AtomicOrdering::Monotonic => AtomicOrdering::Monotonic,
313+
rustc_codegen_utils::common::AtomicOrdering::Acquire => AtomicOrdering::Acquire,
314+
rustc_codegen_utils::common::AtomicOrdering::Release => AtomicOrdering::Release,
315+
rustc_codegen_utils::common::AtomicOrdering::AcquireRelease =>
316+
AtomicOrdering::AcquireRelease,
317+
rustc_codegen_utils::common::AtomicOrdering::SequentiallyConsistent =>
316318
AtomicOrdering::SequentiallyConsistent
317319
}
318320
}
@@ -331,11 +333,13 @@ pub enum SynchronizationScope {
331333
}
332334

333335
impl SynchronizationScope {
334-
pub fn from_generic(sc: common::SynchronizationScope) -> Self {
336+
pub fn from_generic(sc: rustc_codegen_utils::common::SynchronizationScope) -> Self {
335337
match sc {
336-
common::SynchronizationScope::Other => SynchronizationScope::Other,
337-
common::SynchronizationScope::SingleThread => SynchronizationScope::SingleThread,
338-
common::SynchronizationScope::CrossThread => SynchronizationScope::CrossThread,
338+
rustc_codegen_utils::common::SynchronizationScope::Other => SynchronizationScope::Other,
339+
rustc_codegen_utils::common::SynchronizationScope::SingleThread =>
340+
SynchronizationScope::SingleThread,
341+
rustc_codegen_utils::common::SynchronizationScope::CrossThread =>
342+
SynchronizationScope::CrossThread,
339343
}
340344
}
341345
}

0 commit comments

Comments
 (0)