tinygo/compiler
Ayke van Laethem c810628a20 loader: rewrite/refactor much of the code to use go list directly
There were a few problems with the go/packages package. While it is more
or less designed for our purpose, it didn't work quite well as it didn't
provide access to indirectly imported packages (most importantly the
runtime package). This led to a workaround that sometimes broke
`tinygo test`.

This PR contains a number of related changes:

  * It uses `go list` directly to retrieve the list of packages/files to
    compile, instead of relying on the go/packages package.
  * It replaces our custom TestMain replace code with the standard code
    for running tests (generated by `go list`).
  * It adds a dummy runtime/pprof package and modifies the testing
    package, to get tests to run again with the code generated by
    `go list`.
2020-09-03 22:10:14 +02:00
..
ircheck compiler: move IR checker to separate package 2020-03-21 15:45:25 +01:00
llvmutil compiler/llvmutil: move constant pointer packs into constant globals 2020-02-24 23:27:04 +01:00
asserts.go compiler: implement spec-compliant shifts 2020-03-28 17:35:19 +01:00
atomic.go compiler: add support for atomic operations 2020-05-28 15:11:46 +02:00
calls.go compiler: add parameter names to IR 2020-04-21 08:54:39 +02:00
channel.go compiler/runtime: move the channel blocked list onto the stack 2020-06-08 19:59:57 +02:00
compiler.go loader: rewrite/refactor much of the code to use go list directly 2020-09-03 22:10:14 +02:00
defer.go compiler: implement func value and builtin defers 2020-07-31 01:48:57 +02:00
errors.go compiler: rename Compiler.getValue -> builder.getValue 2020-03-25 20:17:46 +01:00
func.go compiler: add parameter names to IR 2020-04-21 08:54:39 +02:00
gc.go compiler: track the result of string concatenation 2020-04-02 14:04:25 +02:00
goroutine.go arm: automatically determine stack sizes 2020-08-27 19:23:22 +02:00
inlineasm.go all: replace ReadRegister with AsmFull inline assembly 2020-04-29 18:25:16 +02:00
interface.go compiler: add parameter names to IR 2020-04-21 08:54:39 +02:00
interrupt.go compiler: refactor function calling 2020-03-25 20:17:46 +01:00
intrinsics.go compiler,runtime: translate memzero calls to LLVM memset intrinsics 2020-03-27 21:01:59 +01:00
llvm.go compiler/llvm.go: fix typo 2020-04-13 16:07:35 +02:00
map.go compiler: refactor map operations to use the builder object 2020-03-25 20:17:46 +01:00
sizes.go compiler: unexport some exported symbols 2020-04-13 09:24:57 +02:00
symbol.go compiler: refactor public interface 2020-03-25 20:17:46 +01:00
syscall.go compiler: refactor function calling 2020-03-25 20:17:46 +01:00
volatile.go compiler: do not perform nil checking when indexing slices 2020-03-27 07:38:16 +01:00