Commit Graph

4421 Commits

Author SHA1 Message Date
Dave Abrahams
27cbda9290 docs/contents.rst: Fix broken toctree reference
Swift SVN r6654
2013-07-26 21:39:10 +00:00
Joe Groff
60d440e124 SIL.rst: Give an example of uncurried decl refs.
Swift SVN r6653
2013-07-26 21:25:43 +00:00
Dave Abrahams
c8f46ae9ea SIL.rst: ReST syntax fixup
Swift SVN r6646
2013-07-26 17:12:36 +00:00
Dave Abrahams
628937e68e SIL.rst: stop using ReST line-block directives for grammar rules
Swift SVN r6644
2013-07-26 17:08:17 +00:00
Dave Abrahams
d20039bb2e SIL.rst: At Joe's request, change "class reference" to "class value" everywhere
...except one place where "reference" became "type"

Swift SVN r6643
2013-07-26 16:54:08 +00:00
Dave Abrahams
ea24dbd9db SIL.rst: Fix mis-merge
Swift SVN r6634
2013-07-26 00:34:58 +00:00
Dave Abrahams
aaa2295717 SIL.rst: Editorial fixes, part I
Swift SVN r6633
2013-07-26 00:33:02 +00:00
Anna Zaks
320d3300ef [docs] Add noreturn attribute documentation to the LangRef
Swift SVN r6632
2013-07-26 00:32:25 +00:00
Anna Zaks
360eed61bf [docs] Document ApplicableFunction constraint.
Swift SVN r6631
2013-07-26 00:32:25 +00:00
Joe Groff
553b445c8c SIL.rst: Clarify the syntax of apply instructions.
Swift SVN r6624
2013-07-25 23:39:38 +00:00
Joe Groff
8056358348 SIL.rst: Clarify UB semantics of project_existential insns.
Avoid the SSA watch word "use". The projected address or class reference from an existential can be spilled, phi-ed, or GVNed, but it's UB if it's passed to a protocol method from another existential, or if the address is dereferenced after the existential has been modified.

Swift SVN r6621
2013-07-25 23:02:24 +00:00
Joe Groff
f43aa1face SIL.rst: Remove needless reference to type canonicalization.
Swift SVN r6620
2013-07-25 22:46:51 +00:00
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
John McCall
c34eaf1a24 Fix langref specification of call syntax.
Swift SVN r6601
2013-07-25 17:03:04 +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
Chris Lattner
2c99f64272 rename this to avoid the prefix number which doesn't mean anything anymore.
Swift SVN r6577
2013-07-25 01:33:17 +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