Piotr Czarnecki
06266eb3bd
Refactor the MIR translator to use LLVM Builder directly
2016-02-08 11:41:24 +01:00
Simonas Kazlauskas
ebf6341d1d
Translation part of drop panic recovery
...
With this commit we now finally execute all the leftover drops once some drop panics for some
reason!
2016-02-04 15:56:05 +02:00
Oliver 'ker' Schneider
6fef118bc0
use a newtype for the variant discriminant instead of u64
2016-01-16 16:03:09 +01:00
Jeffrey Seyfried
76021d84b3
Refactor away extension traits RegionEscape and HasTypeFlags
2016-01-07 00:42:12 +00:00
Simonas Kazlauskas
20ec53a0d3
Fix ReturnPointer generation for void return types
...
Fixes #30480
2016-01-06 13:57:52 +02:00
Simonas Kazlauskas
2b2f983523
Fix GEPs for MIR indexing translation
...
Fixes #30474
2015-12-19 20:30:13 +02:00
James Miller
a2557d472e
Align pointers to DST fields properly
...
DST fields, being of an unknown type, are not automatically aligned
properly, so a pointer to the field needs to be aligned using the
information in the vtable.
Fixes #26403 and a number of other DST-related bugs discovered while
implementing this.
2015-12-08 00:03:45 +13:00
Michael Woerister
bbe1d28496
Move the core MIR datastructures to librustc.
...
This is done mostly so that we can refer to MIR types in csearch and other metadata related area.
2015-11-30 10:03:33 +01:00
Michael Woerister
c533902285
MIR: Add pass that erases all regions right before trans
2015-11-18 17:26:24 +01:00
Ariel Ben-Yehuda
e82f5d4f54
implement coercions in MIR
2015-11-14 00:09:36 +02:00
Ariel Ben-Yehuda
c1bfd0ca6b
implement lvalue_len
...
no tests - sorry
2015-11-13 22:47:02 +02:00
Ariel Ben-Yehuda
dcb64b52a2
represent fat ptr operands as 2 separate pointers
...
this does add some complexity, but to do otherwise would require unsized
lvalues to have their own allocas, which would be ugly.
2015-11-13 22:47:02 +02:00
Simonas Kazlauskas
21deb18bfd
[MIR trans] Translate statics
...
Fixes #29578
2015-11-11 00:15:16 +02:00
Niko Matsakis
e84829d51d
Plumbing to omit allocas for temps when possible (currently unused)
2015-11-03 04:35:00 -05:00
Niko Matsakis
02017b30eb
New trans codepath that builds fn body from MIR instead.
2015-11-03 04:35:00 -05:00