summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2015-09-11Update LLVM to fix nightly build failuresBjörn Steinbrink-2/+6
2015-09-11Auto merge of #28354 - dotdash:slow_plat, r=eddybbors-0/+3
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-11Avoid triggering a pathological case in the LLVM inlinerBjörn Steinbrink-0/+3
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-11Auto merge of #28338 - erickt:str-cmp, r=blussbors-15/+20
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-11Don't print duplicate macro backtrace framesJonas Schievink-6/+12
2015-09-11Auto merge of #28255 - nrc:fmt4, r=pnkfelixbors-77/+103
r? @pnkfelix
2015-09-11manual fixupsNick Cameron-12/+12
2015-09-11rustfmt libgraphvizNick Cameron-74/+100
2015-09-11Remove some remains of virtual structs from the parserVadim Petrochenkov-22/+8
2015-09-11Auto merge of #28328 - tshepang:unusual, r=brsonbors-10/+10
2015-09-11Auto merge of #28312 - GuillaumeGomez:privacy, r=Manishearthbors-11/+252
r? @Manishearth
2015-09-10Added testchristopherdumas-0/+16
2015-09-11Auto merge of #28337 - apasel422:tests, r=alexcrichtonbors-0/+13
Closes #17994.
2015-09-10Fix ICE per #28172christopherdumas-2/+2
2015-09-10Optimize string comparison by using memcmpErick Tryzelaar-15/+20
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-10Auto merge of #28331 - semarie:openbsd-configure-egcc, r=alexcrichtonbors-0/+22
under OpenBSD, it could be have present multiples versions of gcc compiler: - gcc-4.2 (with patchs) : c/c++ compiler present in `/usr/bin`. It is unusable to build recent LLVM (so rustc too). - gcc/g++ -4.9 : c/c++ compiler, installed as third-party with "ports" mechanism. The compiler is installed in `/usr/local` as `egcc` (and `eg++`). this PR adds probing for `egcc` for `CFG_GCC`, if the first probed `gcc` is too old. It will set `CC` and `CXX` too, in order to pass the variables to LLVM configure if builded. please note this PR is a first step in order to build rustc under OpenBSD with unpatched tree. r? @alexcrichton cc @brson @dhuseby
2015-09-10Auto merge of #28321 - nikomatsakis:issue-27616, r=pnkfelixbors-11/+35
Fixes #27616. r? @pnkfelix
2015-09-10Don't print the macro definition site in backtracesJonas Schievink-22/+21
This halves the backtrace length. The definition site wasn't very useful anyways, since it may be invalid (for compiler expansions) or located in another crate. Since the macro name is still printed, grepping for it is still an easy way of finding the definition.
2015-09-10Add test for #17994Andrew Paseltiner-0/+13
Closes #17994.
2015-09-10Auto merge of #28301 - christopherdumas:intergrate_error_burnstushi, ↵bors-181/+2007
r=steveklabnik This was @steveklabnik's idea. Thanks @BurntSushi for the awesome blog post! r? @steveklabnik
2015-09-10Make print_macro_backtrace non-recursiveJonas Schievink-22/+26
2015-09-10Auto merge of #28318 - dongz9:master, r=eddybbors-2/+2
Fix the following error when running configure with llvm 3.8svn: configure: error: bad LLVM version: 3.8.0svn, need >=3.5
2015-09-10disable jemalloc on OpenBSDSébastien Marie-1/+4
depending of the compiler used, jemalloc configure don't detect correctly some parameters.
2015-09-10Adapted @BurtSushi's blog post for the error handling chapter, rewrite the ↵christopherdumas-181/+2007
case study.
2015-09-10Auto merge of #28332 - apasel422:tests, r=alexcrichtonbors-0/+156
Closes #22638. Closes #22872. Closes #23024. Closes #23046.
2015-09-10Add tests for #22638, #22872, #23024, #23046Andrew Paseltiner-0/+156
Closes #22638. Closes #22872. Closes #23024. Closes #23046.
2015-09-10Auto merge of #28329 - tshepang:comfort, r=steveklabnikbors-2/+2
2015-09-10Add error code for private struct field issueGuillaume Gomez-6/+90
2015-09-10libsyntax: minor clean upAleksey Kladov-4/+4
Escape `{` in format strings as `{{`, instead of using a substitution
2015-09-10openbsd: probe CFG_GCC egccSébastien Marie-0/+19
if default CFG_GCC is too old, probe also egcc (which is gcc from ports). set CC/CXX too, in order to pass them to LLVM
2015-09-10Auto merge of #28266 - jackwilsonv:patch-4, r=steveklabnikbors-3/+3
r? @steveklabnik
2015-09-10Auto merge of #28282 - DiamondLovesYou:optional-data-layout, r=alexcrichtonbors-6/+13
NFC.
2015-09-10reference: not comfortable seeing a paragraph starting with a lowercase letterTshepang Lekhonkhobe-2/+2
2015-09-10Auto merge of #28323 - tshepang:idiom, r=steveklabnikbors-36/+40
2015-09-10reference: using periods here is unusualTshepang Lekhonkhobe-10/+10
2015-09-10Auto merge of #28232 - brson:tprl, r=steveklabnikbors-7/+14
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-09Refactor `TargetOptions::data_layout` into an `Option`al value to reflect ↵Richard Diamond-6/+13
current usage. NFC.
2015-09-09Auto merge of #28250 - durka:patch-7, r=steveklabnikbors-0/+52
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-09reference: format code snippets in an idiomatic mannerTshepang Lekhonkhobe-36/+40
2015-09-09Treat loans of 'static data as extending to the end of the enclosingNiko Matsakis-11/+35
fn. Fixes #27616.
2015-09-09Reduce code bloat from conversion traits in function parametersVadim Petrochenkov-28/+101
2015-09-09Auto merge of #28299 - apasel422:tests, r=alexcrichtonbors-0/+208
Closes #17001 Closes #21449 Closes #22992 Closes #23208 Closes #23442
2015-09-09Auto merge of #28313 - rutsky:patch-4, r=alexcrichtonbors-1/+1
Follow-up fix for PR #28283.
2015-09-09Fix clang tooDong Zhou-1/+1
2015-09-09Fix configure for LLVM 3.8Dong Zhou-1/+1
2015-09-09Auto merge of #28316 - Manishearth:rollup, r=Manishearthbors-108/+10
- Successful merges: #28281, #28283, #28289, #28294, #28295, #28305 - Failed merges:
2015-09-09Fixed incorrect error explanationchristopherdumas-3/+3
2015-09-09Rollup merge of #28305 - apasel422:copyright, r=alexcrichtonManish Goregaokar-98/+0
2015-09-09Rollup merge of #28295 - steveklabnik:language_fix, r=alexcrichtonManish Goregaokar-2/+2
Thanks Eric, reported via email
2015-09-09Rollup merge of #28294 - midinastasurazz:patch-3, r=steveklabnikManish Goregaokar-1/+1
The link address is defined below the paragraph so no need to have it inline.