rust/src
bors 2fd060815f Auto merge of #36181 - seanmonstar:likely, r=nikomatsakis
core: add likely and unlikely intrinsics

I'm no good at reading assembly, but I have tried a stage1 compiler with this patch, and it does cause different asm output. Additionally, testing this compiler on my httparse crate with some `likely` usage added in to the branches does affect benchmarks. However, I'm sure a codegen test should be included, if anyone knows what it should look like.

There isn't an entry in `librustc_trans/context.rs` in this diff, because it already exists (`llvm.expect.i1` is used for array indices).

----

Even though this does affect httparse benchmarks, it doesn't seem to affect it the same way GCC's `__builtin_expect` affects picohttpparser. I was confused that the deviation on the benchmarks grew hugely when testing this, especially since I'm absolutely certain that the branchs where I added `likely` were always `true`. I chalk that up to GCC and LLVM handle branch prediction differently.

cc #26179
2016-09-13 10:54:55 -07:00
..
bootstrap Auto merge of #36256 - rjgoldsborough:make-configure-detect-nodejs-36207, r=alexcrichton 2016-09-09 14:04:31 -07:00
build_helper
compiler-rt@8598065bd9
doc Rollup merge of #36380 - kylog:fix-typo, r=steveklabnik 2016-09-13 10:25:49 +02:00
driver
etc Auto merge of #35585 - Kha:gdb-qualified, r=michaelwoerister 2016-08-31 05:51:58 -07:00
grammar
jemalloc@e058ca6616
liballoc Doc: explain why Box/Rc/Arc methods do not take self 2016-08-27 19:53:02 +02:00
liballoc_jemalloc Add s390x support 2016-09-09 22:28:19 +01:00
liballoc_system Add s390x support 2016-09-09 22:28:19 +01:00
libarena
libbacktrace
libcollections Work around pointer aliasing issue in Vec::extend_from_slice, extend_with_element 2016-09-09 02:38:47 +02:00
libcollectionstest Address FIXME in libcollectionstest/btree/set.rs 2016-08-28 18:52:21 -04:00
libcore Auto merge of #36181 - seanmonstar:likely, r=nikomatsakis 2016-09-13 10:54:55 -07:00
libcoretest Auto merge of #35856 - phimuemue:master, r=brson 2016-09-02 21:02:41 -07:00
libflate
libfmt_macros
libgetopts Replace _, _ with .. 2016-09-04 12:30:33 +03:00
libgraphviz
liblibc@d4f6a19c55 Add s390x support 2016-09-09 22:28:19 +01:00
liblog
libpanic_abort
libpanic_unwind Add s390x support 2016-09-09 22:28:19 +01:00
libproc_macro Proc_macro is alive 2016-08-16 13:17:36 -07:00
librand
librbml Rollup merge of #35977 - frewsxcv:usize-isize, r=eddyb 2016-08-30 10:39:06 +02:00
librustc Auto merge of #35960 - nikomatsakis:incr-comp-krate-edges, r=michaelwoerister 2016-09-12 17:15:26 -07:00
librustc_back Add s390x support 2016-09-09 22:28:19 +01:00
librustc_bitflags
librustc_borrowck Refactor TyStruct/TyEnum/TyUnion into TyAdt 2016-09-08 22:17:53 +03:00
librustc_const_eval Update E0297 to new error format 2016-09-10 13:22:19 -07:00
librustc_const_math
librustc_data_structures ICH: Adapt to changes in the MetaItem AST representation. 2016-09-01 14:39:31 -04:00
librustc_driver Auto merge of #36214 - jseyfried:stackless_expansion, r=nrc 2016-09-07 19:02:51 -07:00
librustc_errors Special case a few colors for Windows 2016-08-31 15:19:43 -07:00
librustc_incremental Auto merge of #35960 - nikomatsakis:incr-comp-krate-edges, r=michaelwoerister 2016-09-12 17:15:26 -07:00
librustc_lint Auto merge of #36331 - petrochenkov:tyadt, r=eddyb 2016-09-09 04:57:11 -07:00
librustc_llvm Fix incorrect LLVM Linkage enum 2016-09-04 16:12:01 -05:00
librustc_macro rustc: Implement custom derive (macros 1.1) 2016-09-02 12:52:56 -07:00
librustc_metadata Auto merge of #35960 - nikomatsakis:incr-comp-krate-edges, r=michaelwoerister 2016-09-12 17:15:26 -07:00
librustc_mir Refactor TyStruct/TyEnum/TyUnion into TyAdt 2016-09-08 22:17:53 +03:00
librustc_passes Refactor TyStruct/TyEnum/TyUnion into TyAdt 2016-09-08 22:17:53 +03:00
librustc_platform_intrinsics
librustc_plugin Auto merge of #36240 - leeopop:master, r=jseyfried 2016-09-04 18:36:42 -07:00
librustc_privacy Refactor TyStruct/TyEnum/TyUnion into TyAdt 2016-09-08 22:17:53 +03:00
librustc_resolve Auto merge of #36289 - euclio:self-suggestion, r=jseyfried 2016-09-07 05:59:50 -07:00
librustc_save_analysis Auto merge of #36331 - petrochenkov:tyadt, r=eddyb 2016-09-09 04:57:11 -07:00
librustc_trans Auto merge of #36181 - seanmonstar:likely, r=nikomatsakis 2016-09-13 10:54:55 -07:00
librustc_typeck Auto merge of #36181 - seanmonstar:likely, r=nikomatsakis 2016-09-13 10:54:55 -07:00
librustc_unicode Implement TryFrom<u32> for char 2016-08-29 17:34:02 +02:00
librustdoc Rollup merge of #36045 - ollie27:rustdoc_titles3, r=steveklabnik 2016-09-10 15:57:50 +02:00
libserialize Replace _, _ with .. 2016-09-04 12:30:33 +03:00
libstd Auto merge of #36264 - matklad:zeroing-cstring, r=alexcrichton 2016-09-13 04:57:23 -07:00
libsyntax Auto merge of #36354 - mikhail-m1:master, r=jonathandturner 2016-09-12 14:05:41 -07:00
libsyntax_ext Auto merge of #36308 - dtolnay:inputitem, r=alexcrichton 2016-09-11 15:12:27 -07:00
libsyntax_pos incr.comp.: Add stable hashing of HIR spans to ICH. 2016-09-01 09:43:44 -04:00
libterm Replace _, _ with .. 2016-09-04 12:30:33 +03:00
libtest std: Stabilize APIs for the 1.12 release 2016-08-19 11:59:56 -07:00
libunwind Add s390x support 2016-09-09 22:28:19 +01:00
llvm@16b79d01fd Fix optimization regressions for operations on [x; n]-initialized arrays. 2016-09-01 00:27:03 +03:00
rt Address comments and add requested tests 2016-09-03 13:39:35 +03:00
rtstartup
rust-installer@755bc3db4f Update rust-installer. Fixes #35840 2016-08-23 00:38:26 +00:00
rustc rustc: Implement custom derive (macros 1.1) 2016-09-02 12:52:56 -07:00
rustllvm Fix incorrect LLVM Linkage enum 2016-09-04 16:12:01 -05:00
test Auto merge of #36181 - seanmonstar:likely, r=nikomatsakis 2016-09-13 10:54:55 -07:00
tools Add s390x support 2016-09-09 22:28:19 +01:00
stage0.txt Update cargo bootstrap rev and add fix for cargo#3005 2016-08-23 00:05:33 +00:00