Commit graph

42055 commits

Author SHA1 Message Date
bors
fbeef72163 Auto merge of #28354 - dotdash:slow_plat, r=eddyb
When the inliner has to decided if it wants to inline a function A into an
internal function B, it first checks whether it would be more profitable
to inline B into its callees instead. This means that it has to analyze
B, which involves checking the assumption cache. Building the assumption
cache requires scanning the whole function, and because inlining
currently clears the assumption cache, this scan happens again and
again, getting even slower as the function grows from inlining.

As inlining the huge find functions isn't really useful anyway, we can
mark them as noinline, which skips the cost analysis and reduces compile
times by as much as 70%.

cc #28273
2015-09-11 14:45:32 +00:00
Björn Steinbrink
9104a902c0 Avoid triggering a pathological case in the LLVM inliner
When the inliner has to decided if it wants to inline a function A into an
internal function B, it first checks whether it would be more profitable
to inline B into its callees instead. This means that it has to analyze
B, which involves checking the assumption cache. Building the assumption
cache requires scanning the whole function, and because inlining
currently clears the assumption cache, this scan happens again and
again, getting even slower as the function grows from inlining.

As inlining the huge find functions isn't really useful anyway, we can
mark them as noinline, which skips the cost analysis and reduces compile
times by as much as 70%.

cc #28273
2015-09-11 16:43:05 +02:00
bors
1a1e6b85f6 Auto merge of #28338 - erickt:str-cmp, r=bluss
llvm seems to be having some trouble optimizing the iterator-based string comparsion method into some equivalent to memcmp. This explicitly calls out to the memcmp intrinisic in order to allow llvm to generate better code. In some manual benchmarking, this memcmp-based approach is 20 times faster than the iterator approach.
2015-09-11 10:33:02 +00:00
Nick Cameron
309ee934a6 manual fixups 2015-09-11 20:41:09 +12:00
Nick Cameron
1831bf8fb5 rustfmt libgraphviz 2015-09-11 20:41:08 +12:00
bors
01024c9f61 Auto merge of #28328 - tshepang:unusual, r=brson 2015-09-11 06:28:17 +00:00
bors
8e52875026 Auto merge of #28312 - GuillaumeGomez:privacy, r=Manishearth
r? @Manishearth
2015-09-11 04:23:40 +00:00
bors
f6d64219a4 Auto merge of #28337 - apasel422:tests, r=alexcrichton
Closes #17994.
2015-09-11 01:18:19 +00:00
Erick Tryzelaar
fbd91a732b Optimize string comparison by using memcmp
llvm seems to be having some trouble optimizing the iterator-based
string comparsion method into some equivalent to memcmp. This
explicitly calls out to the memcmp intrinisic in order to allow
llvm to generate better code. In some manual benchmarking, this
memcmp-based approach is 20 times faster than the iterator approach.
2015-09-10 16:46:59 -07:00
bors
5ff55943a3 Auto merge of #28321 - nikomatsakis:issue-27616, r=pnkfelix
Fixes #27616.

r? @pnkfelix
2015-09-10 21:48:29 +00:00
Andrew Paseltiner
254325cee0 Add test for #17994
Closes #17994.
2015-09-10 16:05:30 -04:00
bors
98eeded587 Auto merge of #28301 - christopherdumas:intergrate_error_burnstushi, r=steveklabnik
This was @steveklabnik's idea. Thanks @BurntSushi for the awesome blog post!
r? @steveklabnik
2015-09-10 20:03:30 +00:00
christopherdumas
e18122682b Adapted @BurtSushi's blog post for the error handling chapter, rewrite the case study. 2015-09-10 09:48:04 -07:00
bors
250679e20d Auto merge of #28332 - apasel422:tests, r=alexcrichton
Closes #22638.
Closes #22872.
Closes #23024.
Closes #23046.
2015-09-10 16:29:49 +00:00
Andrew Paseltiner
a33532b1b7 Add tests for #22638, #22872, #23024, #23046
Closes #22638.
Closes #22872.
Closes #23024.
Closes #23046.
2015-09-10 11:31:23 -04:00
bors
9577e42682 Auto merge of #28329 - tshepang:comfort, r=steveklabnik 2015-09-10 13:44:48 +00:00
Guillaume Gomez
0477976867 Add error code for private struct field issue 2015-09-10 14:19:01 +02:00
bors
5f9f0b7cc3 Auto merge of #28266 - jackwilsonv:patch-4, r=steveklabnik
r? @steveklabnik
2015-09-10 07:39:50 +00:00
bors
de63207d18 Auto merge of #28282 - DiamondLovesYou:optional-data-layout, r=alexcrichton
NFC.
2015-09-10 05:39:48 +00:00
Tshepang Lekhonkhobe
c5a76c692b reference: not comfortable seeing a paragraph starting with a lowercase letter 2015-09-10 06:03:32 +02:00
bors
e3fd444dc9 Auto merge of #28323 - tshepang:idiom, r=steveklabnik 2015-09-10 03:48:30 +00:00
Tshepang Lekhonkhobe
dc6c11816c reference: using periods here is unusual 2015-09-10 05:48:08 +02:00
bors
c48b8f17a0 Auto merge of #28232 - brson:tprl, r=steveklabnik
r? @steveklabnik 

The phrase 'academic research' rubs me the wrong way. I have some concern about the role of this page and think it could be expanded to more than just academic papers and cleaned up a lot.
2015-09-10 00:37:55 +00:00
Richard Diamond
cdf6cebc00 Refactor TargetOptions::data_layout into an Optional value to reflect current usage.
NFC.
2015-09-09 19:16:45 -05:00
bors
3cda3c96e3 Auto merge of #28250 - durka:patch-7, r=steveklabnik
I took a stab at fixing #28064. Not sure if this all-features-in-one-example approach is the right one. Also I completely made up the terms "star globbing" and "brace expansion globbing" -- they are just called "glob-like syntax" in the reference.
2015-09-09 22:41:23 +00:00
Tshepang Lekhonkhobe
3860f974a7 reference: format code snippets in an idiomatic manner 2015-09-09 22:35:49 +02:00
Niko Matsakis
01de381b48 Treat loans of 'static data as extending to the end of the enclosing
fn. Fixes #27616.
2015-09-09 16:04:55 -04:00
bors
eaa5bf31b8 Auto merge of #28299 - apasel422:tests, r=alexcrichton
Closes #17001
Closes #21449
Closes #22992
Closes #23208
Closes #23442
2015-09-09 18:40:55 +00:00
bors
5d9dc1d7a1 Auto merge of #28313 - rutsky:patch-4, r=alexcrichton
Follow-up fix for PR #28283.
2015-09-09 16:44:43 +00:00
bors
3a4fb823e2 Auto merge of #28316 - Manishearth:rollup, r=Manishearth
- Successful merges: #28281, #28283, #28289, #28294, #28295, #28305
- Failed merges:
2015-09-09 14:42:00 +00:00
Manish Goregaokar
ee00780b98 Rollup merge of #28295 - steveklabnik:language_fix, r=alexcrichton
Thanks Eric, reported via email
2015-09-09 18:36:11 +05:30
Manish Goregaokar
b33b121e95 Rollup merge of #28294 - midinastasurazz:patch-3, r=steveklabnik
The link address is defined below the paragraph so no need to have it inline.
2015-09-09 18:36:11 +05:30
Manish Goregaokar
c9f291e4bb Rollup merge of #28289 - shepmaster:include_bytes-docs, r=alexcrichton
This can be shown with the example code

```rust
fn main() {
    let () = include_bytes!("/etc/hosts");
}

Which will have the error:

expected `&[u8; 195]`,
    found `()`
2015-09-09 18:36:11 +05:30
Manish Goregaokar
4fc09d3a15 Rollup merge of #28283 - rutsky:patch-3, r=steveklabnik
r? @steveklabnik
2015-09-09 18:36:11 +05:30
Manish Goregaokar
eb2e00a0fd Rollup merge of #28281 - rutsky:patch-2, r=steveklabnik
r? @steveklabnik
2015-09-09 18:36:10 +05:30
bors
7c8ae608dc Auto merge of #28300 - Manishearth:crate_err, r=eddyb
Partially fixes #22750

I'll write a test for this when I figure out how to.

r? @eddyb

cc @steveklabnik
2015-09-09 10:54:05 +00:00
Guillaume Gomez
a056d5869e Add error code for tuple struct constructor error 2015-09-09 12:08:21 +02:00
Guillaume Gomez
6090cea184 Add error code for unnecessary visibility qualifier 2015-09-09 11:59:55 +02:00
Vladimir Rutsky
a1758aea18 fix capitalization inside sentense 2015-09-09 12:54:31 +03:00
Guillaume Gomez
bda7ec0755 Add error code for enum item visibility error 2015-09-09 11:50:26 +02:00
Guillaume Gomez
42e16223cf Add new error code for visibility inside a function 2015-09-09 11:25:32 +02:00
Guillaume Gomez
c4a3936327 Add error code for privacy error on exported signature 2015-09-09 11:08:35 +02:00
Guillaume Gomez
5e9bfcd6d6 Add new error code for trait privacy error 2015-09-09 11:02:52 +02:00
bors
9ef923e380 Auto merge of #28297 - lifthrasiir:rustdoc-html-tweaks, r=alexcrichton
I have tested the result with w3m and I believe this is better than the current template. In detail:

- `section.sidebar` -> `nav.sidebar`, also added an unordered list.
- `div#help` -> `aside#help`, also added a hidden heading.
- The current crate is now emphasized in the sidebar.

Fixes #16310.
2015-09-09 08:00:10 +00:00
bors
55da0e0000 Auto merge of #28277 - DiamondLovesYou:intrinsic-unnamed-addr, r=huonw
Intrinsics never have an address, so it doesn't make sense to say that their
address is unnamed.
2015-09-09 03:46:32 +00:00
bors
44e657312e Auto merge of #28198 - alexcrichton:from-raw-mut, r=aturon
Conventionally in C `*mut T` is a transfer of ownership where `*const T` is a
loan, so `*mut T` is likely the more appropriate return type for these
functions. Additionally, this more closely mirrors the APIs on `Box` for this
sort of functionality.

cc #27769
2015-09-09 01:16:54 +00:00
bors
24e54aebd0 Auto merge of #28264 - mneumann:dragonfly_backend_fixes2, r=alexcrichton
Having -L/usr/local/lib in the linking path by default interferes
with an already installed version of Rust during building of Rust.
2015-09-08 22:22:36 +00:00
Andrew Paseltiner
04fff50d51 Add tests for #17001, #21449, #22992, #23208, #23442
Closes #17001
Closes #21449
Closes #22992
Closes #23208
Closes #23442
2015-09-08 16:51:21 -04:00
bors
8115b397f6 Auto merge of #28241 - dhuseby:adding_openbsd_snapshot, r=alexcrichton
@alexcrichton please upload this snapshot when landing:

https://github.com/dhuseby/rust-manual-snapshots/raw/master/rust-stage0-2015-08-11-1af31d4-openbsd-x86_64-9cae790c4ca19b1b29a048605ce249fe1c20a498.tar.bz2

BTW, this is the snapshot that @semarie has published on his website for use in the OpenBSD port for rust.  Credit goes to him.
2015-09-08 20:34:50 +00:00
Manish Goregaokar
c65d33819c Print correct crate name 2015-09-09 01:22:03 +05:30