Commit Graph

972 Commits (f47dea2a2ee5e2351736fa416d82c1ed38bfe0f1)

Author SHA1 Message Date
Andrew Kelley 84f7805029 IR: support import builtin function 2016-11-26 20:52:22 -05:00
Andrew Kelley 4619b5de06 IR: support inline switch 2016-11-26 15:38:07 -05:00
Andrew Kelley 24b65e41ee IR: add error for non static const on switch case range 2016-11-26 04:37:34 -05:00
Andrew Kelley 697c768730 IR: support switch with range 2016-11-26 04:03:39 -05:00
Andrew Kelley bbf785bc1d IR: switch expression works with numbers 2016-11-26 00:25:48 -05:00
Andrew Kelley 0c22358cc1 IR: generating a switch statement 2016-11-24 02:44:03 -05:00
Andrew Kelley a2257e4b81 IR: implement setFnVisible builtin 2016-11-21 15:36:25 -05:00
Andrew Kelley 052cd44588 IR: fix codegen for arrays 2016-11-21 15:01:21 -05:00
Andrew Kelley e80e8a8099 IR: fix detection of invalid codegen 2016-11-21 13:53:08 -05:00
Andrew Kelley 67d565136a IR: implement ctz and clz builtins 2016-11-21 13:27:44 -05:00
Andrew Kelley 71d95c6597 IR: support unwrap maybe operation 2016-11-21 03:08:24 -05:00
Andrew Kelley b47e2fa060 IR: support sizeOf builtin 2016-11-20 02:11:36 -05:00
Andrew Kelley 6c8b919d17 IR: implement ir_print for maybe type 2016-11-19 01:56:48 -05:00
Andrew Kelley 2f8dd46174 IR: error for uncasted null lit variable 2016-11-19 01:53:14 -05:00
Andrew Kelley 8a81f8aa13 IR: implement compileVar builtin and more
* implicit array to slice cast
 * fix if statements at global scope
 * implement array type IR
2016-11-19 01:39:51 -05:00
Andrew Kelley 19037014e5 IR: more maybe type support 2016-11-18 23:52:42 -05:00
Andrew Kelley 31565efe9d IR: fix decl references pointerness 2016-11-18 22:44:59 -05:00
Andrew Kelley d94cb0566b IR: correctly codegening memset and memcpy 2016-11-18 22:24:41 -05:00
Andrew Kelley bf7cde62c5 IR: support setDebugSafety builtin function 2016-11-18 20:57:27 -05:00
Andrew Kelley ed31ae8867 IR: inline assembly working 2016-11-18 02:07:40 -05:00
Andrew Kelley c3b603fdf9 remove AST cloning code and add AST render for while loops 2016-11-17 21:17:58 -05:00
Andrew Kelley 7a2a0672b4 IR: pointers to constants use correct addresses 2016-11-17 21:07:29 -05:00
Andrew Kelley 62d0d88b56 IR: pointers to constants don't copy data 2016-11-17 04:00:02 -05:00
Andrew Kelley a55555c99e remove superseded eval code 2016-11-17 00:44:14 -05:00
Andrew Kelley 8d1c6138f9 IR: implement pointer dereferencing (even at compile time) 2016-11-15 01:48:36 -05:00
Andrew Kelley af4d4c882a IR: implement compile time array access 2016-11-14 21:01:48 -05:00
Andrew Kelley 2edc6c1a3f IR: add assembly instruction 2016-11-13 21:07:30 -05:00
Andrew Kelley 04c047463b IR: fix hang for unreachable functions 2016-11-13 16:02:18 -05:00
Andrew Kelley e2fd3b2b1b IR: fix prefix op eval setting wrong type 2016-11-13 13:42:04 -05:00
Andrew Kelley d4f2394dcf IR handles global variables correctly 2016-11-13 01:56:28 -05:00
Andrew Kelley a5c9da0de2 IR: gen string literal 2016-11-10 00:41:17 -05:00
Andrew Kelley 9d19b8d66e IR: move unused codegen code to commented out in bottom of ir.cpp 2016-11-09 23:21:02 -05:00
Andrew Kelley b8379b4c5b IR: support pointer types 2016-11-07 19:37:34 -05:00
Andrew Kelley 05de70017d IR: support slice types 2016-11-07 18:58:01 -05:00
Andrew Kelley a2e3293930 WIP moving all analysis to IR 2016-11-04 15:36:30 -04:00
Andrew Kelley bc6c33b1b6 IR: support this literal and bool literal 2016-11-03 14:26:21 -04:00
Andrew Kelley c8333d0cc9 add concept of inline for, inline while, inline var 2016-11-03 14:13:57 -04:00
Andrew Kelley 1a0111d4c3 *WIP* 2016-10-30 02:46:16 -04:00
Andrew Kelley 56cdaff9e7 ir: support return expression 2016-10-29 19:24:59 -04:00
Andrew Kelley afc5507b64 ir: ability to modify global vars 2016-10-29 19:14:48 -04:00
Andrew Kelley 8e2804efa1 IR: ability to assign to an array at runtime 2016-10-28 02:32:36 -04:00
Andrew Kelley 114049a220 IR analysis unrolls a complicated loop 2016-10-27 03:28:29 -04:00
Andrew Kelley 78e6314422 IR: phi instruction works at compile time 2016-10-27 01:52:06 -04:00
Andrew Kelley bfcd6648e7 IR can inline loops 2016-10-27 01:08:06 -04:00
Andrew Kelley 44d6f8ffd8 IR supports variable assignment 2016-10-23 01:33:23 -04:00
Andrew Kelley d7a2b05a81 IR: introduce concept of lvalues 2016-10-23 00:21:29 -04:00
Andrew Kelley a9a6f77a1f add variable declaration initialization IR 2016-10-20 01:13:39 -04:00
Andrew Kelley 682511d1b2 add variable declaration IR 2016-10-18 03:00:48 -04:00
Andrew Kelley ac6d1674e3 IR working for if statements 2016-10-16 02:19:01 -04:00
Andrew Kelley ce3c52471d IR if statements WIP 2016-10-11 23:45:33 -04:00