Eli Friedman
ae08edf5bb
Do a bit of naming cleanup in IRGen. Make sure closure IRgen doesn't get confused when we capture something other than a variable.
...
Swift SVN r1644
2012-04-25 23:47:57 +00:00
John McCall
5ad3782b01
Rework the IR-generation of initialization and teach the
...
compiler to enter properly-scoped cleanups to destroy local
variables.
Swift SVN r1385
2012-04-11 03:00:08 +00:00
John McCall
82ca0e7720
Basic infrastructure for cleanup emission and branches. Totally untested!
...
Swift SVN r1332
2012-04-05 20:36:19 +00:00
Eli Friedman
29f3fca950
First iteration of CaptureAnalysis.
...
Swift SVN r1284
2012-03-29 00:24:03 +00:00
Eli Friedman
99b75ce728
Further progress on captures in closures.
...
Swift SVN r1279
2012-03-28 01:32:46 +00:00
John McCall
df7ebcd9e8
Introduce the concept of an 'owned address', i.e. an address with
...
an owner attached. Use this to implement [byref(heap)]. Force
locals to the heap if they've been referenced in a way that requires
this.
Swift SVN r1265
2012-03-26 03:26:21 +00:00
Eli Friedman
ea17adc3ec
Completely switch over IRGen for closures to use the standard prologue/epilogue emission.
...
Swift SVN r1250
2012-03-22 01:04:05 +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
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
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
6c559b2ce1
More missing tuple functionality.
...
Swift SVN r877
2011-11-17 10:12:21 +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
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
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
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