Joe Groff
91f8bc5b2a
SIL.rst: Briefly discuss the cdecl and objc conventions.
...
C types are always trivial and C function signatures don't get mangled by the platform ABI at the SIL level. ObjC methods uncurry left-to-right, "_cmd" is magicked away, and they follow ARC's ownership rules for reference counting.
Swift SVN r6619
2013-07-25 22:28:31 +00:00
Joe Groff
f3d943f111
SIL.rst: Elaborate on how exactly function types get transformed.
...
Swift SVN r6618
2013-07-25 22:08:53 +00:00
Joe Groff
ac50a32428
SIL.rst: Remove absurd grammar example.
...
None of the instructions I used to demonstrate the operand syntax actually use it. That's dumb.
Also refactor the grammar to fix an inaccurate use of 'sil-value'. We allow the '#n' value index even in places we don't require a type, but not for instruction or bb argument defs.
Swift SVN r6615
2013-07-25 21:46:02 +00:00
Joe Groff
cbd8fc1665
SIL.rst: Make more explicit that 'coerce' has no runtime effect.
...
Swift SVN r6611
2013-07-25 21:00:12 +00:00
Joe Groff
e673b0cf55
SIL.rst: Update in response to DaveA comments.
...
Avoid overspecifying optimization/diagnostic passes because those aren't nailed down yet. Don't use "shared" to refer to boxed variables; it's meaningless in this context.
Swift SVN r6610
2013-07-25 21:00:10 +00:00
Joe Groff
258d4fd3c2
SIL.rst: Rename values in an example to avoid confusion.
...
Swift SVN r6606
2013-07-25 18:38:17 +00:00
Joe Groff
9fc4047d6c
SIL.rst: Terminators never produce values.
...
Swift SVN r6604
2013-07-25 17:39:35 +00:00
Joe Groff
16d68f6115
SIL.rst: Update with feedback from ChrisL and Fariborz.
...
Swift SVN r6603
2013-07-25 17:37:05 +00:00
Chris Lattner
9d093f32af
updates: increase some of the description of compiler flow, change some minor wording
...
and fix some syntactic issues.
Swift SVN r6590
2013-07-25 07:06:56 +00:00
Joe Groff
b85ba363a8
SIL.rst: Update SIL comment syntax.
...
Swift SVN r6575
2013-07-25 00:29:35 +00:00
Joe Groff
a6ff8a4479
SIL.rst: Update the calling convention section.
...
Swift SVN r6574
2013-07-25 00:25:54 +00:00
Joe Groff
213f2e8592
SIL.rst: Cleanups.
...
Swift SVN r6572
2013-07-24 23:32:37 +00:00
Joe Groff
e98dfb5ff4
SIL.rst: Call things out as UB instead of being vague.
...
Swift SVN r6571
2013-07-24 23:32:35 +00:00
Joe Groff
b1500945c2
SIL.rst: More words about addresses and generic function types.
...
Swift SVN r6570
2013-07-24 23:32:32 +00:00
Joe Groff
af2ffca8a2
SIL.rst: Elaborate on the restrictions on SIL address types.
...
Swift SVN r6565
2013-07-24 22:27:57 +00:00
Joe Groff
6850f6698e
SIL.rst: Missing grammar rule.
...
Swift SVN r6564
2013-07-24 22:12:54 +00:00
Joe Groff
668f38732d
SIL.rst: Cleanups.
...
Swift SVN r6562
2013-07-24 22:10:50 +00:00
Joe Groff
872e781093
SIL.rst: Document sil function linkage specifiers.
...
Swift SVN r6561
2013-07-24 22:10:48 +00:00
Joe Groff
777c1fd4e9
SIL.rst: Fix section reference.
...
Swift SVN r6560
2013-07-24 21:21:34 +00:00
Joe Groff
d8b9ddc5f3
SIL.rst: Discuss undefined behavior.
...
SIL has it, though a perfect Swift program written against a perfect Swift standard library run through perfect optimization passes should never emit it.
Swift SVN r6556
2013-07-24 21:03:00 +00:00
Joe Groff
77ee3c7819
SIL.rst: Reference type values need to be used with an owning strong refcount.
...
Obvious, but worth spelling out.
Swift SVN r6555
2013-07-24 21:02:59 +00:00
Joe Groff
30c0d47033
SIL.rst: Define "runtime failure".
...
Swift SVN r6554
2013-07-24 21:02:57 +00:00
Joe Groff
320106c7bd
SIL.rst: Provide some high-level discussion of dataflow errors.
...
Swift SVN r6552
2013-07-24 19:06:56 +00:00
Joe Groff
e4a6c93b4b
SIL.rst: Discuss some additional categories of type.
...
Swift SVN r6551
2013-07-24 19:06:54 +00:00
Joe Groff
936a1f08d2
SIL.rst: Touch-ups.
...
Swift SVN r6548
2013-07-24 18:07:23 +00:00
Joe Groff
676de04f61
SIL.rst: ReST syntax.
...
Swift SVN r6544
2013-07-24 03:52:50 +00:00
Joe Groff
82d1091bc6
SIL.rst: Update docs for terminators.
...
Swift SVN r6539
2013-07-24 01:01:55 +00:00
Joe Groff
b2115265d3
SIL.rst: Update docs for index_addr/index_raw_pointer.
...
And lump them in with memory access instructions.
Swift SVN r6537
2013-07-24 00:24:10 +00:00
Joe Groff
a919bc1073
SIL.rst: Remove out-of-date "examples" section.
...
Swift SVN r6536
2013-07-24 00:24:08 +00:00
Joe Groff
08723dd3a9
SIL.rst: Update docs for checked cast instructions.
...
Swift SVN r6535
2013-07-24 00:03:35 +00:00
Joe Groff
ac5cefddb8
SIL.rst: Update docs for unchecked conversion instructions.
...
Swift SVN r6530
2013-07-23 23:15:52 +00:00
Joe Groff
51d7e56d4e
SIL.rst: Update docs for protocol type instructions.
...
Swift SVN r6500
2013-07-23 16:41:25 +00:00
Joe Groff
8fa2419136
SIL.rst: Wording.
...
Swift SVN r6499
2013-07-23 16:41:23 +00:00
Joe Groff
a9c8ad3c07
SIL.rst: Update docs for reference counting instructions.
...
The retain_autoreleased docs might need some help from someone more versed in the arcana of the autoreleased-return-value hack.
Swift SVN r6491
2013-07-23 03:09:10 +00:00
Joe Groff
a245dfae3a
SIL.rst: Update docs for load/store-ish instructions.
...
Swift SVN r6490
2013-07-23 03:09:02 +00:00
Chris Lattner
e903fae800
update this to reflect the current direction in SIL optzn passes.
...
Swift SVN r6487
2013-07-23 02:29:13 +00:00
Joe Groff
b9ab10d67a
SIL.rst: Update docs for aggregate construct/extract insts.
...
Swift SVN r6486
2013-07-23 01:45:11 +00:00
Joe Groff
ff4b9ce1f3
SIL.rst: Put the 'module' instruction in with the literal insts.
...
Swift SVN r6485
2013-07-23 01:45:05 +00:00
Joe Groff
2bec3871d8
SIL.rst: Update docs for metatype instructions.
...
Swift SVN r6484
2013-07-23 01:45:00 +00:00
Joe Groff
dffe597ee0
SIL.rst: Update docs for function application instructions.
...
Swift SVN r6483
2013-07-23 01:44:53 +00:00
Joe Groff
b55d0c7ae9
SIL.rst: Update documentation for dynamic method instructions.
...
Swift SVN r6482
2013-07-22 21:42:40 +00:00
Joe Groff
37b3911cef
SIL.rst: Update documentation for literal instructions.
...
Swift SVN r6480
2013-07-22 21:42:10 +00:00
Joe Groff
6e418585b3
SIL.rst: Update syntax and description of alloc/dealloc instructions.
...
Swift SVN r6479
2013-07-22 21:41:29 +00:00
Joe Groff
c0b03b42ac
SIL.rst: Reorder instructions consistent with SILNodes.def.
...
Neither order is particularly great yet, but getting them in sync will help us keep SIL.rst coverage up as we add/remove instructions in the future.
Swift SVN r6457
2013-07-22 17:31:26 +00:00
Joe Groff
f00345496c
SIL.rst: ReST syntax.
...
Swift SVN r6452
2013-07-22 15:48:35 +00:00
Chris Lattner
dbd820c6e5
teach memorypromotion about ProjectExistentialInst. Mention ARC optimization in SIL.rst.
...
Swift SVN r6435
2013-07-22 00:46:00 +00:00
Joe Groff
99874c0df4
SIL.rst: Wording.
...
Swift SVN r6420
2013-07-21 00:05:18 +00:00
Joe Groff
2b05858cd5
SIL.rst: Rework the "Syntax" section.
...
Describe the syntax entities as implemented by Chris and Manman in the parser.
Swift SVN r6419
2013-07-21 00:03:21 +00:00
Joe Groff
bb65bcd6d4
SIL.rst: Add a section about the SIL pipeline in the compiler.
...
Give an overview of the entire compiler pipeline followed by some description of where we're at and where we want to be with SILGen and the following SIL passes.
Swift SVN r6418
2013-07-20 21:44:32 +00:00
Joe Groff
e84798351b
SIL.rst: Fill out the abstract.
...
Swift SVN r6417
2013-07-20 21:44:27 +00:00