Commit Graph

28 Commits (c10ae8622bc07baeea1fb81522b01fc6e953eaf6)

Author SHA1 Message Date
Andrew Kelley 6b2d06710c IR: start a new passing self hosted test suite 2016-12-19 00:41:37 -05:00
Andrew Kelley e50ced44a2 IR: all structs anonymous 2016-12-18 16:56:50 -05:00
Andrew Kelley 12fcbecbf8 IR: add more instructions
* MaybeWrap
 * TestErr
 * UnwrapErrCode
 * UnwrapErrPayload
 * ErrUnionTypeChild
 * ErrWrapCode
 * ErrWrapPayload
2016-12-17 16:16:17 -05:00
Andrew Kelley 647d13168a IR: implement maybe return expression 2016-12-13 19:36:56 -05:00
Andrew Kelley 3f3630d7e3 IR: implement the rest of the builtin functions
* returnAddress
 * frameAddress
 * addWithOverflow
 * subWithOverflow
 * mulWithOverflow
 * shlWithOverflow
 * alignOf
2016-12-13 04:30:41 -05:00
Andrew Kelley 9b17c0ff7f IR: implement intType builtin
and int type field access
and fix compile time bool not
2016-12-11 16:30:01 -05:00
Andrew Kelley 3429639e84 IR: implement truncate builtin 2016-12-11 15:31:07 -05:00
Andrew Kelley 433c17aeb1 IR: implement divExact builtin 2016-12-11 14:27:37 -05:00
Andrew Kelley 8fcb1a141b IR: implement fence and cmpxchg builtins 2016-12-11 04:06:07 -05:00
Andrew Kelley 6feae8a4e9 IR: support error union type 2016-12-10 18:38:53 -05:00
Andrew Kelley 443e14afbd IR: fix errorName builtin 2016-12-10 17:11:35 -05:00
Andrew Kelley 7d0fb281fe IR: a bunch of fixes and some additions
* add errorName builtin function
 * add assertion for generated memcopy being on correct types
 * respect handle_is_ptr for constant values
 * fix return codegen to respect sret semantics
 * remove ArrayLen IR instruction; we already have StructFieldPtr
   with "len" field
 * fix gen_const_val for pointers inside aggregates
2016-12-08 01:52:57 -05:00
Andrew Kelley 0ad580f001 IR: add minValue, maxValue, and negation 2016-12-07 01:23:38 -05:00
Andrew Kelley 7d9fa01ed5 IR: implement compile time eval unwrap maybe 2016-12-06 22:04:55 -05:00
Andrew Kelley 6ed202ab16 IR: implement defer 2016-12-06 21:26:17 -05:00
Andrew Kelley bed83bc5a1 IR: implement short circuit bool or, and 2016-12-05 19:12:19 -05:00
Andrew Kelley 24048b2af6 IR: implement break and continue 2016-12-05 18:43:16 -05:00
Andrew Kelley 0541532ed6 IR: implement generic function calls 2016-12-05 05:12:44 -05:00
Andrew Kelley 25a89e7a36 IR: compile time function evaluation 2016-12-04 23:52:43 -05:00
Andrew Kelley eb5693d91f IR: function call porting progress
also implemented container init
generics is still todo
2016-11-28 02:40:01 -05:00
Andrew Kelley a52ede6494 IR: support goto and labels 2016-11-26 23:16:38 -05:00
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 697c768730 IR: support switch with range 2016-11-26 04:03:39 -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 bf7cde62c5 IR: support setDebugSafety builtin function 2016-11-18 20:57:27 -05:00
Andrew Kelley c8333d0cc9 add concept of inline for, inline while, inline var 2016-11-03 14:13:57 -04:00