tinygo/compiler
Ayke van Laethem 3b0ed63c29 all: refactor compile options
Move most of the logic of determining which compiler configuration to
use (such as GOOS/GOARCH, build tags, whether to include debug symbols,
panic strategy, etc.) into the compileopts package. This makes it a
single source of truth for anything related to compiler configuration.

It has a few advantages:

  * The compile configuration is independent of the compiler package.
    This makes it possible to move optimization passes out of the
    compiler, as they don't rely on compiler.Config anymore.
  * There is only one place to look if an incorrect compile option is
    used.
  * The compileopts provides some resistance against unintentionally
    picking the wrong option, such as with c.selectGC() vs c.GC() in the
    compiler.
  * It is now a lot easier to change compile options, as most options
    are getters now.
2019-11-04 11:45:35 +01:00
..
asserts.go compiler: support constant indices with a named type 2019-10-01 21:31:00 +02:00
calls.go Improved blocking (#513) 2019-09-22 17:58:00 +02:00
channel.go add blocking select 2019-11-04 09:15:21 +01:00
check.go use error returns to generate detailed error messages in the IR checker 2019-10-25 15:50:03 +02:00
compiler.go all: refactor compile options 2019-11-04 11:45:35 +01:00
defer.go fix bugs found by LLVM assertions 2019-09-16 18:31:33 +02:00
errors.go all: improve compiler error handling 2019-04-26 08:52:10 +02:00
func-lowering.go fix miscompile of static goroutine calls to closures 2019-11-02 12:50:32 +01:00
func.go all: refactor compile options 2019-11-04 11:45:35 +01:00
gc.go all: refactor compile options 2019-11-04 11:45:35 +01:00
goroutine-lowering.go all: refactor compile options 2019-11-04 11:45:35 +01:00
goroutine.go all: refactor compile options 2019-11-04 11:45:35 +01:00
inlineasm.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
interface-lowering.go compiler: fix interface lowering miscompilation with reflect 2019-10-25 09:35:05 -04:00
interface.go all: refactor compile options 2019-11-04 11:45:35 +01:00
llvm.go fix goroutine lowering type errors 2019-10-16 16:04:37 +02:00
map.go compiler: add support for pointers as map keys 2019-06-08 21:48:05 +02:00
optimizer.go all: refactor compile options 2019-11-04 11:45:35 +01:00
reflect.go reflect: delete incorrect optimization 2019-09-24 16:13:19 +02:00
sizes.go compiler: allow larger-than-int values to be sent across a channel 2019-05-05 16:46:50 +02:00
symbol.go compiler: add //go:align pragma 2019-09-18 20:15:17 +02:00
syscall.go all: refactor compile options 2019-11-04 11:45:35 +01:00
volatile.go compiler: implement volatile operations as compiler builtins 2019-05-14 12:24:01 +02:00
wordpack.go compiler: rename getZeroValue to llvm.ConstNull 2019-09-15 19:09:10 +02:00