Updates the documentation for the generic versions of apply and partial_apply.
These functions take a simple list of types to substitute instead of the
A = T syntax previously listed in the documentation.
Updates the SIL documentation to use the @convention attribute on function
types. The @thin and @cc attributes are obsolete and result in errors when
used in SIL code.
In Python 3, 'print' was changed from a statement to a function. Using
the __future__ module allows scripts to use print function whether
running with Python 2.6+ or Python 3.x. This commit changes as many
instances of print as I could find to use the print function and the
__future__ module.
I changed a couple of SIL code blocks which seemed to be wrong. Since my knowledge here is rather limited I doublechecked my changes by generating SIL from example swift files to see if it matches.
Debug variable info may be attached to debug_value, debug_value_addr,
alloc_box, and alloc_stack instructions.
In order to write textual SIL -> SIL testcases that exercise the handling
of debug information by SIL passes, we need to make a couple of additions
to the textual SIL language. In memory, the debug information attached to
SIL instructions references information from the AST. If we want to create
debug info from parsing a textual .sil file, these bits need to be made
explicit.
Performance Notes: This is memory neutral for compilations from Swift
source code, because the variable name is still stored in the AST. For
compilations from textual source the variable name is stored in tail-
allocated memory following the SIL instruction that introduces the
variable.
<rdar://problem/22707128>
Add explanations for lit substitutions marked as "FIXME" in the testing
documentation.
- Place all `%target-*` substitutions in the same section of the
documentation.
- Remove substitutions that are no longer available or in use, such as
`%llvm-opt` and `%leaks-runner`.
- Use uniform spacing between all substitutions bullet points.
There's a buggy SIL verifier check that was previously tautological,
and it turns out that it's violated, apparently harmlessly. Since it
was already doing nothing, I've commented it out temporarily while
I figure out the right way to fix SILGen to get the invariant right.