Граф коммитов

  • 58e31fd470
    Simplify a bit of code Ayke van Laethem 2018-08-26 21:38:55 +02:00
  • de6c20f1bd
    Implement untyped bool Ayke van Laethem 2018-08-25 03:06:11 +02:00
  • c9e6a52d05
    Implement constant slice Ayke van Laethem 2018-08-25 02:58:59 +02:00
  • 9f2bcfe5e3
    Implement global interface variable constant Ayke van Laethem 2018-08-25 02:58:00 +02:00
  • c25b448758
    Rewrite init() interpretation to a real interpreter Ayke van Laethem 2018-08-25 01:14:33 +02:00
  • 9b4ac0459b
    Make strings constant Ayke van Laethem 2018-08-24 05:18:16 +02:00
  • f49ceddd73
    Enable elimination of dead globals by marking them private Ayke van Laethem 2018-08-24 04:18:12 +02:00
  • 5f28b07f75
    Enable aggressive code size optimizations: -Oz Ayke van Laethem 2018-08-24 03:32:29 +02:00
  • f9f92de1c3
    Add a test for the unicode package Ayke van Laethem 2018-08-24 03:28:50 +02:00
  • 36a5af9e6d
    README: dead code elimination Ayke van Laethem 2018-08-24 03:01:58 +02:00
  • ab3358e5a3
    Add make fmt Ayke van Laethem 2018-08-24 02:59:18 +02:00
  • fa12da95e2
    Some documentation fixes Ayke van Laethem 2018-08-24 02:56:09 +02:00
  • 0defed9677
    Resolve named types Ayke van Laethem 2018-08-24 02:55:06 +02:00
  • 1229667f7c
    Support pointers in global variables Ayke van Laethem 2018-08-24 02:54:37 +02:00
  • 68b1100c89
    Support maps bigger than 8 elements in .data Ayke van Laethem 2018-08-24 02:53:23 +02:00
  • 4ef271d4c6
    Fix double addition in init map update Ayke van Laethem 2018-08-24 02:48:59 +02:00
  • 179cf74b01
    Implement package-global maps (of max 8 entries) Ayke van Laethem 2018-08-24 00:56:20 +02:00
  • 2b78b6d7e8
    Fix bug in runtime.memzero Ayke van Laethem 2018-08-23 23:44:58 +02:00
  • e884221fad
    Implement len() for map types Ayke van Laethem 2018-08-23 23:14:54 +02:00
  • 005665aee6
    Move hashmap creation to runtime Ayke van Laethem 2018-08-23 23:12:27 +02:00
  • ae2fc3c8a7
    Add support for package-level slice variables Ayke van Laethem 2018-08-23 22:08:03 +02:00
  • c99faf468d
    Refactor initializing of global data Ayke van Laethem 2018-08-23 22:04:29 +02:00
  • 160d532498
    Fix init functions Ayke van Laethem 2018-08-23 21:59:09 +02:00
  • ea6355b39e
    Make parseConvert not require frame parameter Ayke van Laethem 2018-08-22 23:42:40 +02:00
  • d5c7c28135
    Simplify some code Ayke van Laethem 2018-08-22 05:14:15 +02:00
  • 3a6ef38041
    Preliminary implementation of a hashmap, unfinished Ayke van Laethem 2018-08-22 04:50:24 +02:00
  • 8fb9cd4e23
    Implement shifting with a differently-sized integer Ayke van Laethem 2018-08-22 04:35:25 +02:00
  • 337e48270b
    Implement comparing a pointer to nil Ayke van Laethem 2018-08-22 04:33:09 +02:00
  • c3cb22030f
    Implement == and != for strings Ayke van Laethem 2018-08-22 00:56:11 +02:00
  • 2777f8464e
    Implement printing of booleans Ayke van Laethem 2018-08-22 00:54:39 +02:00
  • a30ffa5c1e
    Revert "Move coroutine passes from Makefile to compiler itself" Ayke van Laethem 2018-08-20 20:17:51 +02:00
  • df4ee6e733
    passes: Fix bug in SimpleDCE Ayke van Laethem 2018-08-20 20:08:11 +02:00
  • 6739ad07b2
    Update nrfx submodule Ayke van Laethem 2018-08-20 05:21:48 +02:00
  • d9ca5f97fb
    Move coroutine passes from Makefile to compiler itself Ayke van Laethem 2018-08-20 04:31:01 +02:00
  • 03c8a8bd3a
    README: Add build guide Ayke van Laethem 2018-08-20 04:19:54 +02:00
  • 7460e10894
    Add dead code elimination (DCE) pass Ayke van Laethem 2018-08-19 20:44:55 +02:00
  • fae4c7f555
    Better error messages Ayke van Laethem 2018-08-19 20:43:39 +02:00
  • bce33bbf41
    Rename {Function,Global}.Name -> LinkName Ayke van Laethem 2018-08-19 20:42:24 +02:00
  • 3146cc86d4
    Move Compiler.program to Program.program Ayke van Laethem 2018-08-19 20:41:05 +02:00
  • e18fd6da16
    Rename analysis.go -> passes.go Ayke van Laethem 2018-08-19 17:07:48 +02:00
  • 29d601883b
    Implement dummy GOMAXPROCS Ayke van Laethem 2018-08-18 20:06:59 +02:00
  • 8b6cb204cd
    Basic support for slices Ayke van Laethem 2018-08-18 20:05:58 +02:00
  • 86a3aea868
    Add a LICENSE file Ayke van Laethem 2018-08-18 18:59:50 +02:00
  • 9aaac8e17b
    README: Describe supported targets Ayke van Laethem 2018-08-18 15:59:12 +02:00
  • bfe9b52661
    README: Mark a few features as supported Ayke van Laethem 2018-08-18 15:58:22 +02:00
  • ad9a62f260
    Make sure we handle all package members Ayke van Laethem 2018-08-18 01:13:35 +02:00
  • a475233f36
    Support recursive types Ayke van Laethem 2018-08-18 01:12:52 +02:00
  • cad3e03f94
    Allow imports from GOROOT Ayke van Laethem 2018-08-18 01:11:50 +02:00
  • 4af2bcb6a9
    Split up tgo.go Ayke van Laethem 2018-08-18 00:24:21 +02:00
  • 0b98ec83ba
    Remove unnecessary check for nil in parseExpr Ayke van Laethem 2018-08-18 00:19:19 +02:00
  • 70871c98f8
    Improve print functions Ayke van Laethem 2018-08-17 23:23:38 +02:00
  • 62c4c5e90b
    go fmt Ayke van Laethem 2018-08-17 23:21:47 +02:00
  • 574c7ec047
    Refactor: Use our own types as much as possible from the analysis Ayke van Laethem 2018-08-17 23:12:15 +02:00
  • a97ca91c1f
    compiler: Implement interface calls Ayke van Laethem 2018-06-10 00:36:39 +02:00
  • 62325eab40
    compiler: Improve IR/SSA printing Ayke van Laethem 2018-06-09 22:34:46 +02:00
  • 5acde63f88
    compiler: Move isPointer out of Compiler object Ayke van Laethem 2018-06-09 18:02:43 +02:00
  • 56056934e3
    README: expand a bit Ayke van Laethem 2018-06-08 13:43:12 +02:00
  • 6b3e394dce
    compiler: Fix ChangeInterface Ayke van Laethem 2018-06-08 13:41:13 +02:00
  • 9ad59bf001
    Add README Ayke van Laethem 2018-06-07 18:37:55 +02:00
  • 90fb0ee4eb
    Add AVR support Ayke van Laethem 2018-06-07 18:35:54 +02:00
  • 802302a1aa
    Add support for inline assembly Ayke van Laethem 2018-06-07 18:29:35 +02:00
  • 808cb991af
    compiler: Fix interface analysis (oops!) Ayke van Laethem 2018-06-07 18:24:47 +02:00
  • 0d1b7239c1
    Assorted allocator fixes Ayke van Laethem 2018-06-07 18:24:31 +02:00
  • b8260ba554
    Makefile: use -Os instead of -O1 Ayke van Laethem 2018-06-07 18:22:28 +02:00
  • 2e5b313d54
    compiler: Give the interface type a name Ayke van Laethem 2018-06-07 17:54:41 +02:00
  • bb60912fa1
    tgo: Print IR on panic (sometimes) Ayke van Laethem 2018-06-07 17:45:49 +02:00
  • cafdcecb60
    tgo: Use a named string type for strings Ayke van Laethem 2018-06-07 17:44:53 +02:00
  • b0af01056d
    tgo: Remove \0 from end of string Ayke van Laethem 2018-06-07 16:48:48 +02:00
  • c2005a5f79
    tgo: Add rudimentary interface support. Ayke van Laethem 2018-06-07 15:48:32 +02:00
  • 0168bf7797
    Add goroutines and function pointers Ayke van Laethem 2018-06-07 14:48:24 +02:00
  • 8df220a53b
    Move to my own fork of LLVM Ayke van Laethem 2018-06-07 13:20:09 +02:00
  • 1eccae287b
    tgo: Fix runtime.TargetBits Ayke van Laethem 2018-06-04 01:09:33 +02:00
  • d1dbca53ff
    tgo: Eliminate most debug prints Ayke van Laethem 2018-06-03 23:50:14 +02:00
  • 315e39b164
    tgo: Remove getGlobalName from Compiler object Ayke van Laethem 2018-06-03 23:37:15 +02:00
  • b4e60deacd
    runtime/nrf: Fix allocator by adding align() function Ayke van Laethem 2018-06-03 17:56:56 +02:00
  • 2390b24c5a
    tgo: Add extra chip types for nRF Ayke van Laethem 2018-06-03 17:54:18 +02:00
  • 5fa39adb81
    tgo: Allow anonymous function declarations Ayke van Laethem 2018-06-03 17:45:33 +02:00
  • 588910792d
    Translate bootstrapping main from C to LLVM IR Ayke van Laethem 2018-06-03 17:32:10 +02:00
  • a9bbed2f6c
    tgo: Implement special case for LLVM intrinsics Ayke van Laethem 2018-06-03 17:13:00 +02:00
  • 89f77fa861
    machine/dummy: Add LED1, LED2, etc to dummy machine Ayke van Laethem 2018-06-03 16:42:09 +02:00
  • 320c583221
    Implement printing of int8/uint8/pointers Ayke van Laethem 2018-06-03 16:39:24 +02:00
  • e171f32493
    Implement minimal bump pointer allocator Ayke van Laethem 2018-06-03 16:18:40 +02:00
  • b45ea2deb9 arm: Fix linker script stack section Ayke van Laethem 2018-05-28 10:55:14 +02:00
  • 2fca772431 Makefile: Autodetect LLVM bin dir Ayke van Laethem 2018-05-28 09:00:12 +02:00
  • a39951c3d7 runtime: Convert device initialization to Go Ayke van Laethem 2018-05-05 20:08:17 +02:00
  • c4f0dc90dd machine: Rewrite most of the GPIO functionality Ayke van Laethem 2018-05-05 20:02:00 +02:00
  • 16489c0df6 compiler: Workaround for runtime.boundsCheck in runtime dependencies Ayke van Laethem 2018-05-05 19:18:53 +02:00
  • 01602309fd compiler: Implement register loads and stores Ayke van Laethem 2018-05-05 19:17:23 +02:00
  • 8c426b406d Automatically convert .svd files to Go source files Ayke van Laethem 2018-05-05 19:02:43 +02:00
  • 3b4621c215 compiler: Implement XOR (^x) Ayke van Laethem 2018-05-05 18:33:32 +02:00
  • 877d0817ea compiler: Comments Ayke van Laethem 2018-05-05 18:32:58 +02:00
  • 84b45a33f1 compiler: Implement initializers for arrays in global structs Ayke van Laethem 2018-05-05 18:30:58 +02:00
  • db8b6c6900 compiler: Fix package dependency order calculation Ayke van Laethem 2018-05-05 18:29:23 +02:00
  • 88f143f3e6 compiler: Implement initializers for global structs Ayke van Laethem 2018-05-03 22:38:04 +02:00
  • b0cb51bdd8 compiler: Do not pre-define runtime functions by the compiler Ayke van Laethem 2018-05-03 21:15:29 +02:00
  • b11a618d99 compiler: Set actual initializer for global variables Ayke van Laethem 2018-04-29 00:57:50 +02:00
  • c5a82bb916 compiler: Fix globals so they actually work Ayke van Laethem 2018-04-29 00:49:33 +02:00
  • 14cbc1555d compiler: Use zeroinitializer instead of memset Ayke van Laethem 2018-04-29 00:48:42 +02:00
  • 6ed1ca11c7 compiler: Use correct package path for global Ayke van Laethem 2018-04-29 00:47:26 +02:00
  • 2534111141 compiler: comments Ayke van Laethem 2018-04-27 16:19:57 +02:00