| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
Split `MCValue.linker_load` into `.load_got`, `.load_direct`, and
`.lea_direct`.
|
|
`.load_tlv` signifies we want to load the value of a TLV
`.lea_tlv` signifies we want to load effective address of a TLV
|
|
macho: add TLS support
|
|
wasm: Implement `@tagName` instruction
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add two emit helpers for linker reloc based `lea` and `mov`
instructions: `asmMovLinker` and `asmLeaLinker`.
|
|
|
|
These non-dereferencable pointers still need to have the correct
alignment and non-null-ness.
|
|
|
|
|
|
|
|
|
|
When we lower the instruction for `@tagName` we generate a new
function if it doesn't exist yet for that decl. This function creates
an if-else chain to determine which value was provided. Each tag
generates a constant that contains its name as the value. For each
tag we generate a case where the pointer of the string is stored in
the result slice. The length of the tagname is comptime-known, therefore
will be stored in the slice directly without having it being part of
the tagname symbol. In the future this can use a jump table instead
of an if-else chain, similar to the `switch` instruction.
|
|
|
|
|
|
|
|
|
|
wasm: implement float operations with compiler-rt
|
|
Liveness: defer deaths of externally-scoped instructions in loop bodies
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|