Commit Graph

62 Commits

Author SHA1 Message Date
Ginger Bill 6c2772d093 Scrap Virtual Machine and begin again
I just didn't like the style of it.
2016-11-03 16:26:22 +00:00
Ginger Bill 8534e064b9 File restructure (again) 2016-11-02 13:44:04 +00:00
Ginger Bill fa0eb88b7b Interpreter - bounds checking 2016-10-31 00:10:31 +00:00
Ginger Bill ca311c4a59 Begin work on the Interpreter 2016-10-30 17:49:30 +00:00
Ginger Bill 3ec67853e1 Minor Entity refactor 2016-10-30 13:20:45 +00:00
Ginger Bill aed7a83f5b Code reorganization - Separate files and slice refactoring 2016-10-26 15:05:41 +01:00
Ginger Bill bd5d095de4 Separate ssa_struct_gep and ssa_array_gep procedures 2016-10-23 14:46:52 +01:00
Ginger Bill f60dc7b0a7 Minor Style Fixes 2016-10-22 19:41:58 +01:00
Ginger Bill a675d3f94d union_cast 2016-10-16 21:31:06 +01:00
Ginger Bill f5318c46d1 Implicit Values: context; Fix lvalue selector assignments; Fix offset_of* for using fields. 2016-10-10 10:27:50 +01:00
Ginger Bill 90babbfbf3 Very Basic Profiling 2016-10-09 20:14:32 +01:00
Ginger Bill 2e0b260d3a SSA - Basic block optimizations 2016-10-09 11:46:14 +01:00
Ginger Bill b705fa7f22 Change from gbArray(T) to Array<T> 2016-10-08 20:37:31 +01:00
Ginger Bill f6589d9814 Refactor: Remove dead code 2016-10-02 21:45:24 +01:00
Ginger Bill 17ab23f1f0 Const Aggregate Literals for IR; Module path fix 2016-09-30 23:34:32 +01:00
Ginger Bill c6aac264fa Begin work on const llvm aggregate literals 2016-09-30 20:38:46 +01:00
Ginger Bill 6e39a42c8a Demo 004 2016-09-28 21:25:14 +01:00
Ginger Bill 5f6b0942f4 Update Standard Library; Fix Type_Info for integers 2016-09-28 00:07:03 +01:00
Ginger Bill 006741908b Remove #define DISPLAY_TIMING 2016-09-27 15:30:10 +01:00
Ginger Bill b593332942 Minimal Dependency Map: Only build what is needed 2016-09-27 15:28:44 +01:00
Ginger Bill 70f3361a34 Bug Fixes: some assertions; variable inits;
Remove some dead code
2016-09-24 22:55:17 +01:00
Ginger Bill fa7d7938e1 Fix push_* with better defer system 2016-09-23 19:45:45 +01:00
Ginger Bill a31bab5aae Unicode file loading; push_allocator & push_context 2016-09-23 14:59:58 +01:00
Ginger Bill 664c2cd7a5 Fix enum type comparison; Start demo 003 code 2016-09-21 23:26:31 +01:00
Ginger Bill 33bd3f635f Remove the need for clang
Replaced by: opt -> llc -> link
2016-09-21 18:31:01 +01:00
Ginger Bill 0e2347e582 Filename as default import name; as .; as _; panic() 2016-09-21 14:46:56 +01:00
Ginger Bill 9561dc33ce enum_to_string 2016-09-19 21:33:52 +01:00
Ginger Bill 828095afd1 Better name mangler for SSA generation
TODO: Define better name mangling rules and allow for explicit name overload
2016-09-18 21:44:22 +01:00
Ginger Bill eb424bb315 #import and #load
#import - imported entities will not get exported
#load   - loaded entities will get exported
2016-09-16 19:46:48 +01:00
Ginger Bill 968de5aae8 Call expression, either handle all or ignore all results. 2016-09-16 11:38:20 +01:00
Ginger Bill 807256dea4 ssa - alloca all variables at the very start 2016-09-15 18:58:29 +01:00
Ginger Bill bb109b47d6 Basic module system (only file namespacing) 2016-09-14 14:16:01 +01:00
Ginger Bill a60e6bedd9 Begin work on modules - No codegen!!! 2016-09-14 12:00:04 +01:00
Ginger Bill c6d02e4778 Fix missing type_info with manual linear search 2016-09-08 00:23:14 +01:00
Ginger Bill 50aeea1c2e Remove AstNode linked lists and replace with arrays 2016-09-07 21:59:03 +01:00
Ginger Bill 61fcfd6f3d Begin Type_Info
Missing stuff in records, procedures, and tuples
2016-09-07 14:03:17 +01:00
Ginger Bill 455820fc84 Speed up SSA generation and clang compilation 2016-09-05 18:42:42 +01:00
Ginger Bill ae72b3c5bd Tagged unions memory layout change; begin demo 002 2016-09-04 22:50:17 +01:00
Ginger Bill fa09d805e2 Match statements; Type System change (Type_Record for all sum and product types) 2016-09-01 20:38:44 +01:00
Ginger Bill a06f70d5d9 Better using; foreign system libraries; optional semicolons 2016-08-30 18:39:29 +01:00
Ginger Bill f93cf3827b Change rune literals to #rune "C" 2016-08-25 00:23:04 +01:00
Ginger Bill 6bd898e552 Untagged (unsafe) unions and unambiguous in|postfix notation. 2016-08-24 15:06:36 +01:00
gingerBill a98e93f03f File Library and TypeDecl syntax change 2016-08-22 11:52:49 +01:00
Ginger Bill f931b089d5 print_(f32|f64) 2016-08-18 15:58:36 +01:00
gingerBill 6b2cd1b33f Win32 Demo - Minor math tests 2016-08-18 09:24:52 +01:00
gingerBill 6f9d11b381 Remove scalar*vector; swizzle; broadcast 2016-08-17 18:36:37 +01:00
gingerBill 511f3744f6 Fix automatic pointer deref for structures in SSA 2016-08-17 11:18:38 +01:00
gingerBill 9e61e3beee field = value, for structure literals 2016-08-16 21:01:59 +01:00
gingerBill e8530ca883 Win32 Demo: OpenGL Context 2016-08-16 20:08:40 +01:00
gingerBill 5da6b74567 Compile with odin.exe and no run.bat
This is win32 only and requires CreateProcessA
2016-08-16 12:33:11 +01:00