tinygo/compiler/testdata
Ayke van Laethem 2bb70812a8 compiler: add function and global section pragmas
This patch adds a new pragma for functions and globals to set the
section name. This can be useful to place a function or global in a
special device specific section, for example:

  * Functions may be placed in RAM to make them run faster, or in flash
    (if RAM is the default) to not let them take up RAM.
  * DMA memory may only be placed in a special memory area.
  * Some RAM may be faster than other RAM, and some globals may be
    performance critical thus placing them in this special RAM area can
    help.
  * Some (large) global variables may need to be placed in external RAM,
    which can be done by placing them in a special section.

To use it, you have to place a function or global in a special section,
for example:

    //go:section .externalram
    var externalRAMBuffer [1024]byte

This can then be placed in a special section of the linker script, for
example something like this:

    .bss.extram (NOLOAD) : {
        *(.externalram)
    } > ERAM
2021-06-24 15:00:30 +02:00
..
basic.go compiler: refactor and add tests 2021-01-15 14:43:43 +01:00
basic.ll compiler: use wasm for tests 2021-05-09 17:40:13 +02:00
float.go compiler: test float to int conversions and fix upper-bound calculation 2021-01-19 14:02:32 +01:00
float.ll compiler: use wasm for tests 2021-05-09 17:40:13 +02:00
func.go compiler: add func tests 2021-04-12 12:07:42 +02:00
func.ll compiler: use wasm for tests 2021-05-09 17:40:13 +02:00
goroutine-cortex-m-qemu.ll scheduler: task.Data made 64bit to avoid overflow 2021-06-01 15:00:07 +02:00
goroutine-wasm.ll scheduler: task.Data made 64bit to avoid overflow 2021-06-01 15:00:07 +02:00
goroutine.go compiler: add support for running a builtin in a goroutine 2021-05-26 20:21:08 +02:00
interface.go compiler: add interface IR test 2021-03-28 14:00:37 +02:00
interface.ll compiler: refactor method names 2021-06-17 12:17:32 +02:00
pointer.go compiler: refactor and add tests 2021-01-15 14:43:43 +01:00
pointer.ll compiler: use wasm for tests 2021-05-09 17:40:13 +02:00
pragma.go compiler: add function and global section pragmas 2021-06-24 15:00:30 +02:00
pragma.ll compiler: add function and global section pragmas 2021-06-24 15:00:30 +02:00
slice.go compiler: add some more slice tests 2021-03-22 11:35:06 +01:00
slice.ll compiler: use wasm for tests 2021-05-09 17:40:13 +02:00
string.go compiler: optimize string literals and globals 2021-04-08 11:40:59 +02:00
string.ll compiler: use wasm for tests 2021-05-09 17:40:13 +02:00