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
Denis Merigoux
d325844804
Replaced Codegen field access by trait method
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
Denis Merigoux
83b2152ce4
Reduced line length to pass tidy
...
Generalized FunctionCx
Added ValueTrait and first change
Generalize CondegenCx
Generalized the Builder struct defined in librustc_codegen_llvm/builder.rs
2018-11-16 14:11:09 +02:00
Denis Merigoux
c76fc3d804
Work around to fix issue https://github.com/rust-lang/rust/issues/53912
2018-11-16 14:11:09 +02:00
Irina Popa
5a9e6b8776
rustc_codegen_llvm: begin generalizing over backend values.
2018-11-16 14:10:53 +02:00