Skip to content

Commit c9f26c2

Browse files
denismerigouxeddyb
authored andcommitted
Beginning of moving all backend-agnostic code to rustc_codegen_ssa
1 parent b02e5cc commit c9f26c2

File tree

24 files changed

+233
-174
lines changed

24 files changed

+233
-174
lines changed

src/Cargo.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2122,9 +2122,14 @@ dependencies = [
21222122
"memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
21232123
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
21242124
"rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
2125+
"rustc_codegen_ssa 0.0.0",
21252126
"rustc_llvm 0.0.0",
21262127
]
21272128

2129+
[[package]]
2130+
name = "rustc_codegen_ssa"
2131+
version = "0.0.0"
2132+
21282133
[[package]]
21292134
name = "rustc_codegen_utils"
21302135
version = "0.0.0"

src/librustc_codegen_llvm/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ test = false
1313
cc = "1.0.1"
1414
num_cpus = "1.0"
1515
rustc-demangle = "0.1.4"
16+
rustc_codegen_ssa = { path = "../librustc_codegen_ssa" }
1617
rustc_llvm = { path = "../librustc_llvm" }
1718
memmap = "0.6"
1819

src/librustc_codegen_llvm/back/lto.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use rustc_data_structures::fx::FxHashMap;
2525
use rustc_codegen_utils::symbol_export;
2626
use time_graph::Timeline;
2727
use ModuleLlvm;
28-
use rustc_codegen_utils::{ModuleCodegen, ModuleKind};
28+
use rustc_codegen_ssa::{ModuleCodegen, ModuleKind};
2929

3030
use libc;
3131

src/librustc_codegen_llvm/back/write.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ use time_graph::{self, TimeGraph, Timeline};
2727
use llvm::{self, DiagnosticInfo, PassManager, SMDiagnostic};
2828
use llvm_util;
2929
use {CodegenResults, ModuleLlvm};
30-
use rustc_codegen_utils::{ModuleCodegen, ModuleKind, CachedModuleCodegen, CompiledModule};
30+
use rustc_codegen_ssa::{ModuleCodegen, ModuleKind, CachedModuleCodegen, CompiledModule};
3131
use CrateInfo;
3232
use rustc::hir::def_id::{CrateNum, LOCAL_CRATE};
3333
use rustc::ty::TyCtxt;

src/librustc_codegen_llvm/base.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
//! int) and rec(x=int, y=int, z=int) will have the same llvm::Type.
2525
2626
use super::ModuleLlvm;
27-
use rustc_codegen_utils::{ModuleCodegen, ModuleKind, CachedModuleCodegen};
27+
use rustc_codegen_ssa::{ModuleCodegen, ModuleKind, CachedModuleCodegen};
2828
use super::LlvmCodegenBackend;
2929

3030
use abi;
@@ -52,7 +52,7 @@ use builder::{Builder, MemFlags};
5252
use callee;
5353
use rustc_mir::monomorphize::item::DefPathBasedNames;
5454
use common;
55-
use rustc_codegen_utils::common::{RealPredicate, TypeKind, IntPredicate};
55+
use rustc_codegen_ssa::common::{RealPredicate, TypeKind, IntPredicate};
5656
use meth;
5757
use mir;
5858
use context::CodegenCx;

src/librustc_codegen_llvm/builder.rs

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

1111
use llvm::{AtomicRmwBinOp, AtomicOrdering, SynchronizationScope, AsmDialect};
1212
use llvm::{self, False, BasicBlock};
13-
use rustc_codegen_utils::common::{IntPredicate, TypeKind, RealPredicate};
14-
use rustc_codegen_utils;
13+
use rustc_codegen_ssa::common::{IntPredicate, TypeKind, RealPredicate};
14+
use rustc_codegen_ssa;
1515
use common::Funclet;
1616
use context::CodegenCx;
1717
use type_::Type;
@@ -527,7 +527,7 @@ impl BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
527527
fn atomic_load(
528528
&self,
529529
ptr: &'ll Value,
530-
order: rustc_codegen_utils::common::AtomicOrdering,
530+
order: rustc_codegen_ssa::common::AtomicOrdering,
531531
size: Size,
532532
) -> &'ll Value {
533533
self.count_insn("load.atomic");
@@ -681,7 +681,7 @@ impl BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
681681
}
682682

683683
fn atomic_store(&self, val: &'ll Value, ptr: &'ll Value,
684-
order: rustc_codegen_utils::common::AtomicOrdering, size: Size) {
684+
order: rustc_codegen_ssa::common::AtomicOrdering, size: Size) {
685685
debug!("Store {:?} -> {:?}", val, ptr);
686686
self.count_insn("store.atomic");
687687
let ptr = self.check_store(val, ptr);
@@ -1204,8 +1204,8 @@ impl BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
12041204
dst: &'ll Value,
12051205
cmp: &'ll Value,
12061206
src: &'ll Value,
1207-
order: rustc_codegen_utils::common::AtomicOrdering,
1208-
failure_order: rustc_codegen_utils::common::AtomicOrdering,
1207+
order: rustc_codegen_ssa::common::AtomicOrdering,
1208+
failure_order: rustc_codegen_ssa::common::AtomicOrdering,
12091209
weak: bool,
12101210
) -> &'ll Value {
12111211
let weak = if weak { llvm::True } else { llvm::False };
@@ -1223,10 +1223,10 @@ impl BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
12231223
}
12241224
fn atomic_rmw(
12251225
&self,
1226-
op: rustc_codegen_utils::common::AtomicRmwBinOp,
1226+
op: rustc_codegen_ssa::common::AtomicRmwBinOp,
12271227
dst: &'ll Value,
12281228
src: &'ll Value,
1229-
order: rustc_codegen_utils::common::AtomicOrdering,
1229+
order: rustc_codegen_ssa::common::AtomicOrdering,
12301230
) -> &'ll Value {
12311231
unsafe {
12321232
llvm::LLVMBuildAtomicRMW(
@@ -1241,8 +1241,8 @@ impl BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
12411241

12421242
fn atomic_fence(
12431243
&self,
1244-
order: rustc_codegen_utils::common::AtomicOrdering,
1245-
scope: rustc_codegen_utils::common::SynchronizationScope
1244+
order: rustc_codegen_ssa::common::AtomicOrdering,
1245+
scope: rustc_codegen_ssa::common::SynchronizationScope
12461246
) {
12471247
unsafe {
12481248
llvm::LLVMRustBuildAtomicFence(

src/librustc_codegen_llvm/common.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +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;
32+
use rustc_codegen_ssa::common::TypeKind;
3333

3434
use libc::{c_uint, c_char};
3535

src/librustc_codegen_llvm/glue.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
use std;
1616

17-
use rustc_codegen_utils::common::IntPredicate;
17+
use rustc_codegen_ssa::common::IntPredicate;
1818
use meth;
1919
use rustc::ty::layout::LayoutOf;
2020
use rustc::ty::{self, Ty};

src/librustc_codegen_llvm/interfaces/builder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use libc::c_char;
1919
use mir::operand::OperandRef;
2020
use mir::place::PlaceRef;
2121
use rustc::ty::layout::{Align, Size};
22-
use rustc_codegen_utils::common::{
22+
use rustc_codegen_ssa::common::{
2323
AtomicOrdering, AtomicRmwBinOp, IntPredicate, RealPredicate, SynchronizationScope,
2424
};
2525

src/librustc_codegen_llvm/interfaces/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pub use self::statics::StaticMethods;
3131
pub use self::type_::{
3232
ArgTypeMethods, BaseTypeMethods, DerivedTypeMethods, LayoutTypeMethods, TypeMethods,
3333
};
34-
pub use rustc_codegen_utils::interfaces::{Backend, BackendMethods, BackendTypes, CodegenObject};
34+
pub use rustc_codegen_ssa::interfaces::{Backend, BackendMethods, BackendTypes, CodegenObject};
3535

3636
pub trait CodegenMethods<'tcx>:
3737
Backend<'tcx>

src/librustc_codegen_llvm/interfaces/type_.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use rustc::ty::layout::TyLayout;
1515
use rustc::ty::layout::{self, Align, Size};
1616
use rustc::ty::Ty;
1717
use rustc::util::nodemap::FxHashMap;
18-
use rustc_codegen_utils::common::TypeKind;
18+
use rustc_codegen_ssa::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: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use type_::Type;
2424
use type_of::LayoutLlvmExt;
2525
use rustc::ty::{self, Ty};
2626
use rustc::ty::layout::{LayoutOf, HasTyCtxt};
27-
use rustc_codegen_utils::common::TypeKind;
27+
use rustc_codegen_ssa::common::TypeKind;
2828
use rustc::hir;
2929
use syntax::ast;
3030
use syntax::symbol::Symbol;
@@ -463,8 +463,8 @@ 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 rustc_codegen_utils::common::AtomicOrdering::*;
467-
use rustc_codegen_utils::common::
466+
use rustc_codegen_ssa::common::AtomicOrdering::*;
467+
use rustc_codegen_ssa::common::
468468
{SynchronizationScope, AtomicRmwBinOp};
469469

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

src/librustc_codegen_llvm/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ extern crate rustc_incremental;
5555
extern crate rustc_llvm;
5656
extern crate rustc_platform_intrinsics as intrinsics;
5757
extern crate rustc_codegen_utils;
58+
extern crate rustc_codegen_ssa;
5859
extern crate rustc_fs_util;
5960

6061
#[macro_use] extern crate log;
@@ -91,7 +92,7 @@ use rustc::util::time_graph;
9192
use rustc::util::nodemap::{FxHashSet, FxHashMap};
9293
use rustc::util::profiling::ProfileCategory;
9394
use rustc_mir::monomorphize;
94-
use rustc_codegen_utils::{ModuleCodegen, CompiledModule};
95+
use rustc_codegen_ssa::{ModuleCodegen, CompiledModule};
9596
use rustc_codegen_utils::codegen_backend::CodegenBackend;
9697
use rustc_data_structures::svh::Svh;
9798

0 commit comments

Comments
 (0)