John McCall
8831d35de1
The data pointer is also reference-counted.
...
Swift SVN r1215
2012-03-16 09:26:36 +00:00
John McCall
1f118dbda6
Basic support for Builtin.ObjectPointer as a completely
...
opaque type. Also some rudimentary support for retain/release.
Swift SVN r1214
2012-03-16 09:26:32 +00:00
Eli Friedman
2c4cc01fee
Make sure we consistently assign LLVM IR names to both function parameters and allocas created for those parameters. <rdar://problem/10934320>.
...
Swift SVN r1211
2012-03-15 00:04:07 +00:00
Eli Friedman
d466059220
Add support for IRGen for $0 etc.
...
Swift SVN r1210
2012-03-14 23:00:07 +00:00
Eli Friedman
a6a27d8cf3
Very basic support for closures in IRGen. Support for closures with arguments is next.
...
Swift SVN r1209
2012-03-14 00:10:37 +00:00
John McCall
803cff8113
Correctly emit references to oneof elements that carry no data.
...
These translate to implicit calls to the injection function.
Swift SVN r1116
2012-02-16 03:01:08 +00:00
John McCall
cd4c7f7818
Implement the emission of oneof injection functions. As always,
...
oneofs other than enums and singletons are not really implemented.
Swift SVN r1115
2012-02-16 01:57:08 +00:00
John McCall
d0f4d86f3e
Use LValueType everywhere instead of the l-value value kind.
...
Kill off TypeJudgement. Various fixes and improvements.
Swift SVN r1107
2012-02-06 22:47:08 +00:00
John McCall
ce7780af04
I don't think we're really getting anything out of ArgDecl
...
at the moment. We can put it back if I'm wrong.
Swift SVN r1100
2012-01-26 02:08:52 +00:00
John McCall
b85ddcb34a
IR generation for curried functions. For now, parameters
...
are stored in a malloc'ed buffer that gets leaked.
Swift SVN r1092
2012-01-19 23:29:49 +00:00
John McCall
b7e0b0ee06
Now that TupleTypeElts tell us directly what ArgDecls
...
are bound, bind ArgDecls correctly in uncurried functions.
Swift SVN r1080
2012-01-18 07:39:57 +00:00
John McCall
9c63d1e7e6
Fix a bug with curried function emission and teach the mangler
...
to differentiate uncurried and curried function types.
Swift SVN r1059
2012-01-17 08:08:47 +00:00
John McCall
0e638a02ea
IR generation for plus func references. I'm not convinced
...
that we should permit these references, really.
Swift SVN r1025
2012-01-12 21:27:26 +00:00
John McCall
286abfc5f7
Mostly kill off RValue. More tomorrow. :)
...
Swift SVN r1020
2012-01-12 10:18:40 +00:00
John McCall
885783ab76
Start switching things over to using explosions.
...
Swift SVN r1014
2012-01-12 07:05:49 +00:00
John McCall
c7bcadf450
On further reflection and use, the concept of an RValue is not actually
...
very useful; it is much more interesting to divide r-value emission
into "to arguments" and "to memory" models. To that end, introduce a
new structure for holding an "exploded" r-value.
Swift SVN r1006
2012-01-11 23:59:57 +00:00
John McCall
632b979188
Skeletal IR gen support for ExtensionDecl.
...
Swift SVN r981
2011-12-23 00:30:24 +00:00
John McCall
6bb1b947d8
Emit initializers of global variables as global constructors.
...
This isn't the actor model for globals, but is certainly still a
valid model.
Swift SVN r975
2011-12-22 23:35:41 +00:00
John McCall
9b7fb0c227
New l-value representation.
...
Swift SVN r956
2011-12-22 05:28:33 +00:00
John McCall
b69d5f95cd
Implement tuple shuffles.
...
Swift SVN r890
2011-11-18 10:10:21 +00:00
John McCall
de3c3ff04d
Build an implicit expression to record the conversion
...
of a oneof to its underlying type. Much better.
Swift SVN r881
2011-11-17 11:38:05 +00:00
John McCall
6c559b2ce1
More missing tuple functionality.
...
Swift SVN r877
2011-11-17 10:12:21 +00:00
John McCall
c21b11eb28
Add a method for conditionally trying to evaluate an expression
...
as its underlying l-value. Often more efficient than evaluating
it fully into an r-value and only then transforming it.
Swift SVN r875
2011-11-17 09:32:06 +00:00
Chris Lattner
60afdf4842
switch irgen to new diags
...
Swift SVN r769
2011-10-20 21:29:50 +00:00
Chris Lattner
a7c7d64fa0
Switch swift to use SourceLoc instead of SMLoc.
...
Also use the new getAdvancedLoc() method instead of hacking
on SMLoc directly.
Also fix the warning/note/error methods to forward through ASTContext
instead of being replicated everywhere.
Swift SVN r750
2011-10-18 01:22:29 +00:00
John McCall
cb54ecc675
Emit local variables and their initializers.
...
Swift SVN r712
2011-09-16 04:54:15 +00:00
John McCall
2cd676bf99
IR generation for 'if' statements. Adjust the standard library
...
to use global functions for the relational operators, just to get
prettier IR.
Swift SVN r679
2011-09-02 19:02:36 +00:00
John McCall
060c8c5d32
Emit l-values and assignment statements.
...
Swift SVN r677
2011-09-02 00:33:32 +00:00
John McCall
21119f3bc8
Make simple calls work. Note that parameters are working, too.
...
Swift SVN r670
2011-09-01 21:00:58 +00:00
John McCall
066719530c
Implement rudimentary l-value and r-value emission for DeclRefExpr.
...
Swift's ASTs are lacking the extremely useful concept of a DeclContext,
without which it's probably possible to make this work, but it'll be
extremely awkward. Anyway, these hacks are good enough to get the
test passing again.
Swift SVN r620
2011-08-25 10:33:05 +00:00
John McCall
ca0c671726
IR generation for tuple literals.
...
Swift SVN r619
2011-08-25 09:50:26 +00:00
John McCall
156c029718
Implement return statements; add some related infrastructure,
...
including a new file for control flow code.
Swift SVN r617
2011-08-25 09:09:58 +00:00
John McCall
64c72579b4
Flesh out more unimplemented stuff.
...
Swift SVN r612
2011-08-25 08:30:41 +00:00
John McCall
e200bed904
Basic framework for emitting Swift statements.
...
Swift SVN r611
2011-08-25 08:21:06 +00:00
John McCall
b2bbab90f4
Build function emission around emitting a FuncExpr instead of a FuncDecl.
...
Swift SVN r610
2011-08-25 07:55:02 +00:00
John McCall
e749b07d97
Break down expressions; some more unimplemented support.
...
Swift SVN r609
2011-08-25 07:47:56 +00:00
John McCall
b60d4807b8
Initial prologue/epilogue emission code. This breaks func.swift because
...
of the unimplemented load/store methods.
Swift SVN r604
2011-08-25 02:45:18 +00:00
John McCall
3e65b21a68
Provide r-value schemas for various implemented types. Use these to
...
implement function signature lowering. Basic setup for IR generation
of functions. Test that we can properly declare a simple function.
Swift SVN r595
2011-08-24 18:55:54 +00:00
John McCall
97c6ccadfb
More IR-generation infrastructure.
...
Swift SVN r576
2011-08-20 05:55:02 +00:00