Commit Graph

1080 Commits

Author SHA1 Message Date
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
1e0b493276 Merge pull request #209 from stereosteve/sort
quicksort
2016-11-09 12:12:25 -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
Steve Perkins
4b55966a16 add sort to CMakeLists + std/index 2016-11-03 07:01:40 +00:00
Steve Perkins
cf00245bf9 sort requires compare function.
Provide some handy functions for builtin comparable types.
2016-11-03 04:10:33 +00:00
Steve Perkins
e761aa2d2f sortCmp allows for a custom cmp function 2016-11-02 18:52:00 -04:00
Steve Perkins
c5b2bdae11 quicksort 2016-11-02 18:10:44 -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
e4271f4fb2 more test coverage, change 'got' to 'found' in errors 2016-10-28 12:15:37 -04:00
Andrew Kelley
e3857a361c more test coverage 2016-10-28 12:04:46 -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
c982077156 Merge pull request #206 from fsaintjacques/fix/doc-langref
capitalize builtins in doc
2016-10-25 02:36:47 -04:00