Commit graph

24 commits

Author SHA1 Message Date
Albert Larsan
cf2dff2b1e
Move /src/test to /tests 2023-01-11 09:32:08 +00:00
Xavier Denis
86be22ebcd add crate name to mir dumps 2020-07-29 13:41:11 +02:00
Ana-Maria Mihalache
ef88769e4f --bless all mir-opt tests. 2020-04-07 15:09:01 +00:00
Matthew Jasper
101a2f59b4 Use as_temp to evaluate statement expressions 2019-06-25 22:41:22 +01:00
Yuki Okushi
f734057c3c Fix test 2019-05-04 04:24:32 +09:00
varkor
62838975d0 Remove unnecessary ignore-tidy-linelength 2019-04-23 11:42:14 +01:00
Eduard-Mihai Burtescu
2386168139 rustc: explicitly pass the namespace to PrintCx::parameterized. 2019-03-15 09:26:13 +02:00
Mark Rousskov
2a663555dd Remove licenses 2018-12-25 21:08:33 -07:00
Rémy Rakic
e90c942477 Update mir-opt test suite 2018-09-18 14:36:37 +02:00
Taylor Cramer
9c15a6606e Ensure StorageDead is created even if variable initialization fails 2018-07-12 10:13:41 -07:00
Eduard-Mihai Burtescu
919ed409b0 tests: update to include move annotations in MIR. 2017-11-28 04:18:32 +02:00
Mikhail Modin
7a6832de99 change MIR dump filenames from nodeN to DefPath 2017-11-09 12:00:17 +03:00
Christopher Vittal
426183c01b Update README and tests for new infrastructure 2017-10-09 23:22:34 -04:00
Ariel Ben-Yehuda
906c06a2f6 make operands live to the end of their containing expression
In MIR construction, operands need to live exactly until they are used,
which is during the (sub)expression that made the call to `as_operand`.

Before this PR, operands lived until the end of the temporary scope,
which was sometimes unnecessarily longer and sometimes too short.

Fixes #38669.
2017-03-03 13:54:18 +02:00
Ariel Ben-Yehuda
6755fb8ba2 schedule drops on bindings only after initializing them
This reduces the number of dynamic drops in libstd from 1141 to 899.
However, without this change, the next patch would have created much
more dynamic drops.

A basic merge unswitching hack reduced the number of dynamic drops to
644, with no effect on stack usage. I should be writing a more dedicated
drop unswitching pass.

No performance measurements.
2017-03-02 22:38:21 +02:00
Ariel Ben-Yehuda
bfdf437f37 update tests 2016-10-04 20:43:43 +03:00
Jonas Schievink
d2c8893137 Remove MIR dump comments from mir-opt tests
They're ignored by the test runner, so let's not suggest that they
matter
2016-09-29 01:22:11 +02:00
Jonas Schievink
34155a87f6 Change the local prefix to _
There's no need for a long prefix, since there's nothing to distinguish
anymore.
2016-09-29 01:11:54 +02:00
Jonas Schievink
e75feea696 Fix off-by-one when emitting StorageDead for vars 2016-09-26 22:30:56 +02:00
Jonas Schievink
393db2d830 [WIP] Move MIR towards a single kind of local 2016-09-26 20:41:54 +02:00
Patrick Walton
79cb2dbfac librustc_mir: Propagate constants during copy propagation.
This optimization kicks in a lot when bootstrapping the compiler.
2016-09-24 10:47:33 -07:00
Patrick Walton
480287ec3b librustc: Implement def-use chains and trivial copy propagation on MIR.
This only supports trivial cases in which there is exactly one def and
one use.
2016-09-19 19:18:38 -07:00
Eduard Burtescu
9453d9b8ad rustc: remove ParamSpace from Substs. 2016-08-17 06:32:00 +03:00
Eduard Burtescu
02aec40dc9 [MIR] Add Storage{Live,Dead} statements to emit llvm.lifetime.{start,end}. 2016-08-14 06:34:14 +03:00