Commit Graph

86274 Commits

Author SHA1 Message Date
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
Oliver Scherer
9b8791179f Update stderr file 2018-11-16 09:04:35 +01:00
Andreas Jonson
03aaa4b659 remove unused dependency 2018-11-16 08:46:15 +01:00
bors
6b9b97bd9b Auto merge of #55948 - matthiaskrgr:clippy, r=oli-obk
submodules: update clippy from d8b42690 to 7e0ddef4

Fixes clippy toolstate.

Changes:
````
rustup https://github.com/rust-lang/rust/pull/55852/
Fix "too" -> "foo" typo in format.rs
Fix `use_self` violation
Fix wrong suggestion for `redundant_closure_call`
Check for common metadata
Fix `use_self` false positive on `use` statements
Fix `use_self` false positive
Remove `+` from `has_unary_equivalent`
Fix dogfood
Update println! formatting
Fix false positive in check mode caused by `gen_deprecated`
RIIR update lints: Add check mode (update_lints.py rewrite complete)
changed into_iter to iter and fixed a lint check
Fix `collapsible_if` error
Fix `possible_missing_comma` false positives
format code
fix comment spacing
change single char str to char
add lint to lintarray macro
Revert "small fix"
small fix
added float support for mistyped literal lints
tmp progress
````
2018-11-15 18:35:38 +00:00
Matthias Krüger
f354c85102 submodules: update clippy from d8b42690 to f5d868c9
Fixes clippy toolstate.

Changes:
````
rustup https://github.com/rust-lang/rust/pull/55852/
Fix "too" -> "foo" typo in format.rs
Fix `use_self` violation
Fix wrong suggestion for `redundant_closure_call`
Check for common metadata
Fix `use_self` false positive on `use` statements
Fix `use_self` false positive
Remove `+` from `has_unary_equivalent`
Fix dogfood
Update println! formatting
Fix false positive in check mode caused by `gen_deprecated`
RIIR update lints: Add check mode (update_lints.py rewrite complete)
changed into_iter to iter and fixed a lint check
Fix `collapsible_if` error
Fix `possible_missing_comma` false positives
format code
fix comment spacing
change single char str to char
add lint to lintarray macro
Revert "small fix"
small fix
added float support for mistyped literal lints
tmp progress
````
2018-11-15 17:49:24 +01:00
Oliver Scherer
c8a9300d8e Fix stability hole with static _ 2018-11-15 16:16:34 +01:00
Samuel Holland
8c8ff6a4e1 test/linkage-visibility: Ignore on musl targets
DynamicLibrary uses libc's dlsym() function internally to find symbols.
Some implementations of dlsym(), like musl's, only look at dynamically-
exported symbols, as found in shared libraries. To also export symbols
from the main executable, we would need to pass --export-dynamic to the
linker. Since this flag isn't available everywhere, ignore the test for
now.
2018-11-15 13:53:15 +00:00
Samuel Holland
4f9c860385 Add powerpc64-unknown-linux-musl target 2018-11-15 13:43:31 +00:00
Samuel Holland
2bb5029d74 Use the ELFv2 ABI on powerpc64 musl 2018-11-15 13:43:01 +00:00
Samuel Holland
346e97600b Fix powerpc64 ELFv2 big-endian struct-passing ABI
The requirements here are not "ELFv1" requirements, but big-endian
requirements, as the extension or non-extension of the argument is
necessary to put the argument in the correct half of the register.
Parameter passing in the ELFv2 ABI needs these same transformations.
Since this code makes no difference on little-endian machines, simplify
it to use the same code path everywhere.
2018-11-15 13:43:01 +00:00
Samuel Holland
81303d7d90 Add powerpc-unknown-linux-musl target 2018-11-15 13:42:57 +00:00
bors
9649c1f70f Auto merge of #55974 - pietroalbini:rollup, r=pietroalbini
Rollup of 17 pull requests

Successful merges:

 - #55182 (Redox: Update to new changes)
 - #55211 (Add BufWriter::buffer method)
 - #55507 (Add link to std::mem::size_of to size_of intrinsic documentation)
 - #55530 (Speed up String::from_utf16)
 - #55556 (Use `Mmap` to open the rmeta file.)
 - #55622 (NetBSD: link libstd with librt in addition to libpthread)
 - #55750 (Make `NodeId` and `HirLocalId` `newtype_index`)
 - #55778 (Wrap some query results in `Lrc`.)
 - #55781 (More precise spans for temps and their drops)
 - #55785 (Add mem::forget_unsized() for forgetting unsized values)
 - #55852 (Rewrite `...` as `..=` as a `MachineApplicable` 2018 idiom lint)
 - #55865 (Unix RwLock: avoid racy access to write_locked)
 - #55901 (fix various typos in doc comments)
 - #55926 (Change sidebar selector to fix compatibility with docs.rs)
 - #55930 (A handful of hir tweaks)
 - #55932 (core/char: Speed up `to_digit()` for `radix <= 10`)
 - #55956 (add tests for some fixed ICEs)

Failed merges:

r? @ghost
2018-11-15 12:43:01 +00:00
Pietro Albini
d0e08ce88e
Rollup merge of #55956 - euclio:issue-55587, r=estebank
add tests for some fixed ICEs

Fixes #55587.
Fixes #54348.

Looks like these ICEs are already fixed in nightly, so this PR just adds tests.

r? @estebank
2018-11-15 11:04:47 +01:00