Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rustc_codegen_llvm: traitification of LLVM-specific CodegenCx and Builder methods #54012

Closed
wants to merge 76 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
1f3faa8
rustc_codegen_llvm: begin generalizing over backend values.
irinagpopa Aug 2, 2018
67f94d8
Reduced line length to pass tidy
denismerigoux Aug 3, 2018
bc2897e
Generalized base.rs#call_memcpy and everything that it uses
denismerigoux Aug 7, 2018
ba2ed26
Generalized BasicBlocks in BuilderMethods trait
denismerigoux Aug 20, 2018
a4f6f8e
Generalized IntPredicate in the BuilderMethods trait
denismerigoux Aug 20, 2018
c42cf09
Generalized RealPredicate
denismerigoux Aug 21, 2018
138b446
Removed useless traits for IntPredicate and RealPredicate
denismerigoux Aug 21, 2018
c62e222
Generalized OperandBundleDef in BuilderMethods
denismerigoux Aug 21, 2018
6d78a14
Generalized AtomicRmwBinOp for BuilderMethods
denismerigoux Aug 21, 2018
733840b
Generalized AtomicOrdering for BuilderMethods
denismerigoux Aug 21, 2018
a401974
Generalized SynchronisationScope for BuilderMethods
denismerigoux Aug 21, 2018
b83a2b7
Generalized AsmDialect for BuilderMethods
denismerigoux Aug 21, 2018
958f94b
Removed genericity over Value in various functions
denismerigoux Aug 22, 2018
234f537
Line too long split
denismerigoux Aug 22, 2018
9be7a5e
Use associated types instead of type parameters inside the BuilderMet…
denismerigoux Aug 22, 2018
17e3189
Removed parasite yaml file and put explicit lifetimes
denismerigoux Aug 23, 2018
2680e1b
Use real type names rather than Self::
denismerigoux Aug 23, 2018
2d8ccf2
Fixed borrow-checker deficiency at stage 1
denismerigoux Aug 23, 2018
28ee44a
New files and folders for traits
denismerigoux Aug 28, 2018
78fbb2d
New Backend trait containing associated types
denismerigoux Aug 28, 2018
dfa4f77
Traitification of common.rs methods
denismerigoux Aug 28, 2018
67e865f
Replaced Codegen field access by trait method
denismerigoux Aug 28, 2018
1174b40
Added self argument for Codegen CommonMethod trait methods
denismerigoux Aug 29, 2018
a054141
Split CommonMethods to accomodate for use in back/write.rs
denismerigoux Aug 29, 2018
c67788d
CommonWriteMethods are not static any more
denismerigoux Aug 29, 2018
bfea5b2
Removed code duplication for CommonWriteMethods
denismerigoux Aug 30, 2018
b588c00
All CommonMethods now real methods (not static)
denismerigoux Aug 30, 2018
012a6e5
Use the method form for CodegenCx everywhere
denismerigoux Aug 30, 2018
638f4ac
Small generalization of some CodegenCx methods
denismerigoux Aug 30, 2018
89cd9c0
Added definition of type trait
denismerigoux Aug 30, 2018
1d8e6dc
Traitification of type_ methods
denismerigoux Sep 5, 2018
3160690
Work around to fix issue https://github.com/rust-lang/rust/issues/53912
denismerigoux Sep 6, 2018
f8bdd1f
Prefixed const methods with "const" instead of "c"
denismerigoux Sep 6, 2018
49e5874
Prefixed type methods & removed trait impl for write::CodegenContext
denismerigoux Sep 6, 2018
2a513df
Removing LLVM content from CommonMethods -> ConstMethods
denismerigoux Sep 6, 2018
79ea68f
Removed phantomdata no longer necessary
denismerigoux Sep 6, 2018
18216fc
Fixed typos
denismerigoux Sep 7, 2018
626d3cb
Attempt at including CodegenCx within Builder with Associated types
denismerigoux Sep 7, 2018
1ef9f8f
Generalized some base.rs methods
denismerigoux Sep 7, 2018
5428c7e
Generalized memset and memcpy
denismerigoux Sep 7, 2018
20a7eef
Added StaticMethods trait
denismerigoux Sep 10, 2018
037bc7a
Transfered memcpy and memset to BuilderMethods
denismerigoux Sep 10, 2018
ff46476
Traitified IntrinsicCallMethods
denismerigoux Sep 11, 2018
9a8dfd7
Generalized base::unsized_info
denismerigoux Sep 13, 2018
56f3990
Generalized base::unsize_thin_ptr
denismerigoux Sep 13, 2018
8b9ff39
Generalized base::coerce_unsized_into
denismerigoux Sep 14, 2018
c71c6cc
Generalized mir::codegen_mir (and all subsequent functions)
denismerigoux Sep 20, 2018
da0cf8c
Added 'll lifetime parameter to backend
denismerigoux Sep 21, 2018
29f4d0e
Added new lifetimes for Funclets in FunctionsCx -> compiles
denismerigoux Sep 21, 2018
88a5dea
Tidy too long lines
denismerigoux Sep 21, 2018
48af59f
Generalized mono_item.rs and base.rs:codegen_instance
denismerigoux Sep 21, 2018
8ea0331
Adapt code to latest rustc master changes
denismerigoux Sep 24, 2018
2e8af91
Generalized base:maybe_create_entry_wrapper
denismerigoux Sep 24, 2018
4460972
Move doc to trait declarations
denismerigoux Sep 24, 2018
df5a57c
Generalized base:codegen_crate
denismerigoux Sep 25, 2018
440f2fb
Renamed lifetimes for better understanding
denismerigoux Sep 26, 2018
0c10974
Preparing the generalization of base:compile_coodegen_unit
denismerigoux Sep 26, 2018
3f6f753
Added compile codegen to backend trait
denismerigoux Sep 27, 2018
570d3c0
Starting to move backend-agnostic code into codegen_utils
denismerigoux Sep 28, 2018
0da5170
Moved common.rs enums
denismerigoux Sep 28, 2018
a03673c
Moved OperandBundleDef
denismerigoux Sep 28, 2018
4a2f7c7
Adapt to latest rustc master changes
denismerigoux Sep 28, 2018
b8e7061
Moved Funclet
denismerigoux Sep 28, 2018
c785979
Moved Backend interface into rustc_codegen_utils
denismerigoux Oct 1, 2018
9a05142
Adapted to lastest rustc master changes
denismerigoux Oct 1, 2018
31dee75
Beginning of moving all backend-agnostic code to rustc_codegen_ssa
denismerigoux Oct 1, 2018
26e18a1
Moved DeclareMethods, MiscMethods and StaticMethods
denismerigoux Oct 2, 2018
431601c
Greate separation of librsutc_codegen_llvm : librustc_codegen_ssa com…
denismerigoux Oct 3, 2018
9fe9347
Finished moving backend-agnostic code to rustc_codegen_ssa
denismerigoux Oct 3, 2018
58c8f32
Fix lines too long
denismerigoux Oct 4, 2018
2a6412b
Added some docs + start to &mut self builder methods
denismerigoux Oct 4, 2018
376f4fe
All Builder methods now take &mut self instead of &self
denismerigoux Oct 5, 2018
afd940a
Added default impl for DerivedTypeMethods + empty impl for Cranelift …
denismerigoux Oct 9, 2018
b2c66a2
Traits skeletton fully in place
denismerigoux Oct 10, 2018
6d63072
Separating the back folder between backend-agnostic and LLVM-specific…
denismerigoux Oct 23, 2018
1cdea08
Added README explaining the refactoring
denismerigoux Oct 22, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions src/Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2128,6 +2128,32 @@ dependencies = [
"rustc_llvm 0.0.0",
]

[[package]]
name = "rustc_codegen_ssa"
version = "0.0.0"
dependencies = [
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
"jobserver 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
"memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc 0.0.0",
"rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc_allocator 0.0.0",
"rustc_apfloat 0.0.0",
"rustc_codegen_utils 0.0.0",
"rustc_data_structures 0.0.0",
"rustc_errors 0.0.0",
"rustc_fs_util 0.0.0",
"rustc_incremental 0.0.0",
"rustc_mir 0.0.0",
"rustc_target 0.0.0",
"serialize 0.0.0",
"syntax 0.0.0",
"syntax_pos 0.0.0",
]

[[package]]
name = "rustc_codegen_utils"
version = "0.0.0"
Expand Down Expand Up @@ -2184,6 +2210,7 @@ dependencies = [
"rustc-rayon 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc_allocator 0.0.0",
"rustc_borrowck 0.0.0",
"rustc_codegen_ssa 0.0.0",
"rustc_codegen_utils 0.0.0",
"rustc_data_structures 0.0.0",
"rustc_errors 0.0.0",
Expand Down
Loading