The asmname attribute allows one to specify the name that will be used
when lowering a given SIL declaration to LLVM IR. It is not currently
exposed in the surface language.
Make sure this attribute round-trips through the parser and
serialization.
Part of rdar://137014448O.
With a focus on updating the documentation of Ownership SSA.
The main changes are:
* Created a new directory `docs/SIL` and moved all SIL-related files into this directory.
* Converted `rst` files to markdown.
* Extracted sections from `SIL.md` which go into very much detail - including the instruction reference - into separate files: `Types.md`, `Ownership.md`, `FunctionAttributes.md`, `Instructions.md`. Those files are referenced from `SIL.md` at the relevant places.
* Rewrote and updated the OSSA part in `SIL.md`
* Removed a few sections, which are not relevant anymore, like "Value dependency" (which is replaced by ownership concepts).
* Fixed and improved a lot of small things.