Before this commit all vtables would have the same name "vtable" in
debuginfo. Now they get a name that identifies the implementing type
and the trait that is being implemented.
* Make define_global() return a RValue directly
* Return LValue in functions declaring a global variable
* Remove useless cast
* Fix bytes_in_context to use an array rvalue
* Remove global_names which is unused
* Make const_struct create a constant struct
* Correctly initialize global in static_addr_of_mut
* Fix global variable initialization
* Remove workaround for ARGV
* Implement `black_box` as intrinsic
Responsibility of implementing the black box is now lies on backend
* Remove some TODOs
* Update to nightly-2021-09-17
* CI: don't fail on warnings
* Implement basic support for inline assembly
* Disable LTO
We don't support it yet at all
* Handle `inout(reg) var` correctly
Turns out that `+` readwrite output registers cannot be tied with
input variables.
* Add limited support for llvm_asm!
* Handle CHANNEL correctly
* Add support for arbitrary explicit registers
* Handle symbols properly
* Add rudimentary asm tests
* Exclude llvm_asm! tests from tests runs
* Insert `__builtin_unreachable()` after diverging asm blocks