Simonas Kazlauskas
a5e7a61c49
Implement references to functions and constants
2015-12-15 12:25:05 +02: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
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
Ariel Ben-Yehuda
602cf7ec3c
MIR: implement fat raw pointer comparisons
...
The implementation itself only requires changes to trans, but
a few additional bugs concerning the handling of fat pointers
had to be fixed.
2015-11-13 22:47:02 +02:00
Björn Steinbrink
3235b22ee3
Fix handling of fat pointer function arguments
...
The store for the "extra" data went to the wrong destination.
2015-11-05 16:18:45 +01:00
Björn Steinbrink
fe3a609b0b
[MIR-trans] Fix handling of small aggregate arguments
...
Function arguments that are small aggregates get passed as integer types
instead. To correctly handle that, we need to use store_ty instead of
plain Store.
2015-11-04 16:20:23 +01:00
Niko Matsakis
b46c0fc497
address nits from dotdash
2015-11-03 18:00:35 -05:00
Niko Matsakis
9c9f4be9df
correct typos
2015-11-03 18:00:30 -05:00
Niko Matsakis
6a5b263503
Add (and use) an analysis to determine which temps can forgo an alloca.
2015-11-03 18:00:30 -05: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