Eduard-Mihai Burtescu
5b4747ded7
rustc_target: avoid using AbiAndPrefAlign where possible.
2018-11-22 05:01:49 +02:00
Eduard-Mihai Burtescu
3ce8d444af
rustc_target: separate out an individual Align from AbiAndPrefAlign.
2018-11-22 04:38:00 +02:00
Eduard-Mihai Burtescu
d56e892085
rustc_target: rename abi::Align to AbiAndPrefAlign.
2018-11-22 04:12:59 +02:00
Eduard-Mihai Burtescu
756f84d7ce
[eddyb] rustc_codegen_llvm: remove unused parametrization of CodegenCx
and Builder
over Value
s.
2018-11-16 15:08:18 +02:00
Eduard-Mihai Burtescu
0b569249c8
[eddyb] rustc_codegen_ssa: rename interfaces
to traits
.
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
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
c9f26c2155
Beginning of moving all backend-agnostic code to rustc_codegen_ssa
2018-11-16 14:55:42 +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
97825a36be
Move doc to trait declarations
2018-11-16 14:36:38 +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
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
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
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
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
Denis Merigoux
8714e6bce6
Traitification of common.rs methods
2018-11-16 14:11:59 +02:00
Denis Merigoux
3889c2dcfb
New Backend trait containing associated types
2018-11-16 14:11:59 +02:00
Denis Merigoux
d577ec7e5f
New files and folders for traits
...
Moved common enums to common
2018-11-16 14:11:59 +02:00
Denis Merigoux
7a2670e307
Use real type names rather than Self::
2018-11-16 14:11:59 +02:00
Denis Merigoux
a16d85bbae
Removed parasite yaml file and put explicit lifetimes
2018-11-16 14:11:59 +02:00
Denis Merigoux
89825f2ef5
Use associated types instead of type parameters inside the BuilderMethods trait
2018-11-16 14:11:59 +02:00
Denis Merigoux
9c41e1aa10
Removed genericity over Value in various functions
...
Prelude to using associated types in traits rather than type parameters
2018-11-16 14:11:34 +02:00
Denis Merigoux
1ca750683e
Generalized AsmDialect for BuilderMethods
2018-11-16 14:11:09 +02:00
Denis Merigoux
b761538997
Generalized SynchronisationScope for BuilderMethods
2018-11-16 14:11:09 +02:00
Denis Merigoux
b699866290
Generalized AtomicOrdering for BuilderMethods
2018-11-16 14:11:09 +02:00
Denis Merigoux
275589150b
Generalized AtomicRmwBinOp for BuilderMethods
2018-11-16 14:11:09 +02:00
Denis Merigoux
1bcb4df166
Generalized OperandBundleDef in BuilderMethods
2018-11-16 14:11:09 +02:00
Denis Merigoux
bc86624c43
Removed useless traits for IntPredicate and RealPredicate
2018-11-16 14:11:09 +02:00
Denis Merigoux
8590336d49
Generalized RealPredicate
2018-11-16 14:11:09 +02:00
Denis Merigoux
51b7f2739b
Generalized IntPredicate in the BuilderMethods trait
2018-11-16 14:11:09 +02:00
Denis Merigoux
14798d6937
Generalized BasicBlocks in BuilderMethods trait
2018-11-16 14:11:09 +02:00
Denis Merigoux
34c5dc045f
Generalized base.rs#call_memcpy and everything that it uses
...
Generalized operand.rs#nontemporal_store and fixed tidy issues
Generalized operand.rs#nontemporal_store's implem even more
With a BuilderMethod trait implemented by Builder for LLVM
Cleaned builder.rs : no more code duplication, no more ValueTrait
Full traitification of builder.rs
2018-11-16 14:11:09 +02:00