Commit Graph

86117 Commits

Author SHA1 Message Date
Eduard-Mihai Burtescu
d1410ada92 [eddyb] rustc_codegen_ssa: avoid a Clone bound on TargetMachine. 2018-11-16 15:08:18 +02:00
Eduard-Mihai Burtescu
47c84c4234 [eddyb] rustc_codegen_llvm: remove unnecessary 'a from LlvmCodegenBackend impls. 2018-11-16 15:08:18 +02:00
Eduard-Mihai Burtescu
9f49a2626e [eddyb] rustc_codegen_utils: remove extraneous #![allow(dead_code)]. 2018-11-16 15:08:18 +02:00
Eduard-Mihai Burtescu
9bb6663431 [eddyb] rustc_codegen_ssa: handle LLVM unsafety correctly. 2018-11-16 15:08:18 +02:00
Denis Merigoux
bf7f8cd3fc Added README explaining the refactoring 2018-11-16 15:08:18 +02:00
Denis Merigoux
b9e5cf99a9 Separating the back folder between backend-agnostic and LLVM-specific code 2018-11-16 15:08:18 +02:00
Denis Merigoux
b25b804013 Added default impl for DerivedTypeMethods + empty impl for Cranelift BaseTypeMethods 2018-11-16 15:08:18 +02:00
Denis Merigoux
54dd3a47fd All Builder methods now take &mut self instead of &self 2018-11-16 15:08:18 +02:00
Denis Merigoux
1ebdfbb026 Added some docs + start to &mut self builder methods 2018-11-16 15:08:18 +02:00
Denis Merigoux
015e4441f5 Finished moving backend-agnostic code to rustc_codegen_ssa 2018-11-16 15:08:18 +02:00
Denis Merigoux
c0a428ee70 Great separation of librustc_codegen_llvm: librustc_codegen_ssa compiles 2018-11-16 15:07:24 +02:00
Denis Merigoux
915382f730 Moved DeclareMethods, MiscMethods and StaticMethods 2018-11-16 14:55:47 +02:00
Denis Merigoux
c9f26c2155 Beginning of moving all backend-agnostic code to rustc_codegen_ssa 2018-11-16 14:55:42 +02:00
Denis Merigoux
b02e5cce16 Moved Backend interface into rustc_codegen_utils 2018-11-16 14:40:16 +02:00
Eduard-Mihai Burtescu
b06836e71a [eddyb/rebase cleanup] move type_{needs_drop,is_sized,is_freeze} to rustc_codegen_utils 2018-11-16 14:40:16 +02:00
Eduard-Mihai Burtescu
35b40f51fb [eddyb/rebase cleanup] abstracted Funclet 2018-11-16 14:40:12 +02:00
Denis Merigoux
566fa4d003 Moved common.rs enums 2018-11-16 14:38:19 +02:00
Denis Merigoux
39fd4d9274 Starting to move backend-agnostic code into codegen_utils
IntPredicate moved
2018-11-16 14:38:19 +02:00
Denis Merigoux
4ba09ab8d2 Added compile codegen to backend trait 2018-11-16 14:38:19 +02:00
Denis Merigoux
6819e6e6e1 Preparing the generalization of base:compile_coodegen_unit 2018-11-16 14:38:15 +02:00
Denis Merigoux
91a2a80692 Renamed lifetimes for better understanding 2018-11-16 14:36:43 +02:00
Denis Merigoux
8d530db2c5 Generalized base:codegen_crate 2018-11-16 14:36:43 +02:00
Denis Merigoux
97825a36be Move doc to trait declarations 2018-11-16 14:36:38 +02:00
Denis Merigoux
ac34068ed9 Generalized base:maybe_create_entry_wrapper 2018-11-16 14:34:26 +02:00
Denis Merigoux
b14f3e5490 Adapt code to latest rustc master changes 2018-11-16 14:34:26 +02:00
Denis Merigoux
441a7c1092 Generalized mono_item.rs and base.rs:codegen_instance 2018-11-16 14:34:26 +02:00
Denis Merigoux
6a993fe353 Generalized mir::codegen_mir (and all subsequent functions) 2018-11-16 14:33:10 +02:00
Denis Merigoux
cbe31a4229 Generalized base::coerce_unsized_into 2018-11-16 14:15:13 +02:00
Denis Merigoux
78dd95f4c7 Generalized base::unsize_thin_ptr 2018-11-16 14:15:13 +02:00
Denis Merigoux
034f69753b Generalized base::unsized_info 2018-11-16 14:15:13 +02:00
Eduard-Mihai Burtescu
484e07c231 [eddyb/rebase cleanup] s/&self./self. 2018-11-16 14:15:13 +02:00
Denis Merigoux
0a1c50955b Traitified IntrinsicCallMethods 2018-11-16 14:12:49 +02:00
Denis Merigoux
a5aeb8edd6 Transfered memcpy and memset to BuilderMethods 2018-11-16 14:11:59 +02:00
Denis Merigoux
3c082a23e8 Added StaticMethods trait 2018-11-16 14:11:59 +02:00
Denis Merigoux
d77e34f35b Generalized memset and memcpy 2018-11-16 14:11:59 +02:00
Denis Merigoux
0514c7b1b2 Generalized some base.rs methods 2018-11-16 14:11:59 +02:00
Denis Merigoux
c487b825b0 Attempt at including CodegenCx within Builder with Associated types 2018-11-16 14:11:59 +02:00
Denis Merigoux
1929ac2007 Fixed typos 2018-11-16 14:11:59 +02:00
Denis Merigoux
4787b7cac9 Removed phantomdata no longer necessary
Because CodegenContext doesn't implement Backend anymore
2018-11-16 14:11:59 +02:00
Denis Merigoux
a1d0d4f943 Removing LLVM content from CommonMethods -> ConstMethods 2018-11-16 14:11:59 +02:00
Denis Merigoux
e224f063e8 Prefixed type methods & removed trait impl for write::CodegenContext 2018-11-16 14:11:59 +02:00
Denis Merigoux
6d42574b7a Prefixed const methods with "const" instead of "c" 2018-11-16 14:11:59 +02:00
Denis Merigoux
730b13ab51 Traitification of type_ methods
The methods are now attached to CodegenCx instead of Type
2018-11-16 14:11:59 +02:00
Denis Merigoux
5f28e0a0b6 Added definition of type trait 2018-11-16 14:11:59 +02:00
Denis Merigoux
3e77f2fc4f Use the method form for CodegenCx everywhere 2018-11-16 14:11:59 +02:00
Denis Merigoux
6c5b990c5f All CommonMethods now real methods (not static) 2018-11-16 14:11:59 +02:00
Denis Merigoux
33eee83737 Removed code duplication for CommonWriteMethods 2018-11-16 14:11:59 +02:00
Denis Merigoux
4cc18d3de5 CommonWriteMethods are not static any more 2018-11-16 14:11:59 +02:00
Denis Merigoux
3aee77277e Split CommonMethods to accomodate for use in back/write.rs 2018-11-16 14:11:59 +02:00
Denis Merigoux
83e07f9fe9 Added self argument for Codegen CommonMethod trait methods 2018-11-16 14:11:59 +02:00