<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/rustllvm/RustWrapper.cpp, branch 1.20.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.20.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.20.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2017-06-04T14:54:39+00:00</updated>
<entry>
<title>Merge branch 'profiling' of github.com:whitequark/rust into profiling</title>
<updated>2017-06-04T14:54:39+00:00</updated>
<author>
<name>Marco Castelluccio</name>
<email>mcastelluccio@mozilla.com</email>
</author>
<published>2017-06-04T14:54:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ecba8d6a23d8bafd6296d619180a5f3e09bb21b1'/>
<id>urn:sha1:ecba8d6a23d8bafd6296d619180a5f3e09bb21b1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add NullOp::SizeOf and BinOp::Offset</title>
<updated>2017-05-28T07:43:24+00:00</updated>
<author>
<name>Ariel Ben-Yehuda</name>
<email>ariel.byd@gmail.com</email>
</author>
<published>2017-05-18T15:43:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7b295eea4296eedf7858a001297eadfaace253d3'/>
<id>urn:sha1:7b295eea4296eedf7858a001297eadfaace253d3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add profiling support, through the rustc -Z profile flag.</title>
<updated>2017-05-01T09:16:20+00:00</updated>
<author>
<name>whitequark</name>
<email>whitequark@whitequark.org</email>
</author>
<published>2017-02-13T09:57:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=42754ce710a777b38402b12728daf54d68ea2b50'/>
<id>urn:sha1:42754ce710a777b38402b12728daf54d68ea2b50</id>
<content type='text'>
When -Z profile is passed, the GCDAProfiling LLVM pass is added
to the pipeline, which uses debug information to instrument the IR.
After compiling with -Z profile, the $(OUT_DIR)/$(CRATE_NAME).gcno
file is created, containing initial profiling information.
After running the program built, the $(OUT_DIR)/$(CRATE_NAME).gcda
file is created, containing branch counters.

The created *.gcno and *.gcda files can be processed using
the "llvm-cov gcov" and "lcov" tools. The profiling data LLVM
generates does not faithfully follow the GCC's format for *.gcno
and *.gcda files, and so it will probably not work with other tools
(such as gcov itself) that consume these files.
</content>
</entry>
<entry>
<title>Expose LLVM appendModuleInlineAsm</title>
<updated>2017-04-13T00:12:49+00:00</updated>
<author>
<name>A.J. Gardner</name>
<email>aaron.j.gardner@gmail.com</email>
</author>
<published>2017-03-22T00:50:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9240054b3ee5690b6c75bebdb6316a14bdd46340'/>
<id>urn:sha1:9240054b3ee5690b6c75bebdb6316a14bdd46340</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add missing global metadata</title>
<updated>2017-03-16T20:10:04+00:00</updated>
<author>
<name>Tim Neumann</name>
<email>mail@timnn.me</email>
</author>
<published>2017-03-16T20:10:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=95bd7f2e013ad79d857ac54b42b362b36ae8806d'/>
<id>urn:sha1:95bd7f2e013ad79d857ac54b42b362b36ae8806d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>clang-format</title>
<updated>2017-03-16T20:03:22+00:00</updated>
<author>
<name>Tim Neumann</name>
<email>mail@timnn.me</email>
</author>
<published>2017-03-16T20:03:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=222ca3c4a550e001e0b1bb957f0035d6bd753d4a'/>
<id>urn:sha1:222ca3c4a550e001e0b1bb957f0035d6bd753d4a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>isolate llvm 4.0 code path</title>
<updated>2017-03-16T20:01:05+00:00</updated>
<author>
<name>Tim Neumann</name>
<email>mail@timnn.me</email>
</author>
<published>2017-03-16T20:01:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=449219ab2bf65f465b18c0841d7f8d9d3b958943'/>
<id>urn:sha1:449219ab2bf65f465b18c0841d7f8d9d3b958943</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #39456 - nagisa:mir-switchint-everywhere, r=nikomatsakis</title>
<updated>2017-02-13T02:32:09+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2017-02-13T02:32:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=05a7f25cc42d08aa541f50876915489bdc0eb4bb'/>
<id>urn:sha1:05a7f25cc42d08aa541f50876915489bdc0eb4bb</id>
<content type='text'>
[MIR] SwitchInt Everywhere

Something I've been meaning to do for a very long while. This PR essentially gets rid of 3 kinds of conditional branching and only keeps the most general one - `SwitchInt`. Primary benefits are such that dealing with MIR now does not involve dealing with 3 different ways to do conditional control flow. On the other hand, constructing a `SwitchInt` currently requires more code than what previously was necessary to build an equivalent `If` terminator. Something trivially "fixable" with some constructor methods somewhere (MIR needs stuff like that badly in general).

Some timings (tl;dr: slightly faster^1 (unexpected), but also uses slightly more memory at peak (expected)):

^1: Not sure if the speed benefits are because of LLVM liking the generated code better or the compiler itself getting compiled better. Either way, its a net benefit. The CORE and SYNTAX timings done for compilation without optimisation.

```
AFTER:
Building stage1 std artifacts (x86_64-unknown-linux-gnu -&gt; x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 31.50 secs
    Finished release [optimized] target(s) in 31.42 secs
Building stage1 compiler artifacts (x86_64-unknown-linux-gnu -&gt; x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 439.56 secs
    Finished release [optimized] target(s) in 435.15 secs

CORE: 99% (24.81 real, 0.13 kernel, 24.57 user); 358536k resident
CORE: 99% (24.56 real, 0.15 kernel, 24.36 user); 359168k resident
SYNTAX: 99% (49.98 real, 0.48 kernel, 49.42 user); 653416k resident
SYNTAX: 99% (50.07 real, 0.58 kernel, 49.43 user); 653604k resident

BEFORE:
Building stage1 std artifacts (x86_64-unknown-linux-gnu -&gt; x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 31.84 secs
Building stage1 compiler artifacts (x86_64-unknown-linux-gnu -&gt; x86_64-unknown-linux-gnu)
    Finished release [optimized] target(s) in 451.17 secs

CORE: 99% (24.66 real, 0.20 kernel, 24.38 user); 351096k resident
CORE: 99% (24.36 real, 0.17 kernel, 24.18 user); 352284k resident
SYNTAX: 99% (52.24 real, 0.56 kernel, 51.66 user); 645544k resident
SYNTAX: 99% (51.55 real, 0.48 kernel, 50.99 user); 646428k resident
```

cc @nikomatsakis @eddyb
</content>
</entry>
<entry>
<title>[LLVM 4.0] Fix CreateCompileUnit</title>
<updated>2017-02-11T21:15:28+00:00</updated>
<author>
<name>Matt Ickstadt</name>
<email>mattico8@gmail.com</email>
</author>
<published>2017-02-11T21:01:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=68fff6254286bcee426fd9020c54f8f30b64758e'/>
<id>urn:sha1:68fff6254286bcee426fd9020c54f8f30b64758e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix intcast, use it where appropriate</title>
<updated>2017-02-10T17:47:09+00:00</updated>
<author>
<name>Simonas Kazlauskas</name>
<email>git@kazlauskas.me</email>
</author>
<published>2017-02-10T17:29:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f3bd7231015706bee72846a758e1234febaaa60a'/>
<id>urn:sha1:f3bd7231015706bee72846a758e1234febaaa60a</id>
<content type='text'>
</content>
</entry>
</feed>
