aboutsummaryrefslogtreecommitdiff
path: root/src/analyze.cpp
AgeCommit message (Collapse)Author
2016-12-18IR: all structs anonymousAndrew Kelley
2016-12-18IR: make generic function type have zero_bits flagAndrew Kelley
2016-12-18IR: support var type args and fix phi peer type resolutionAndrew Kelley
2016-12-17IR: fix `this` expressionAndrew Kelley
Previously it returned a block instead of a function when a function had any arguments.
2016-12-14fix external function callsAndrew Kelley
2016-12-13IR: implement the rest of the builtin functionsAndrew Kelley
* returnAddress * frameAddress * addWithOverflow * subWithOverflow * mulWithOverflow * shlWithOverflow * alignOf
2016-12-12IR: implement memberCount builtinAndrew Kelley
2016-12-11IR: implement intType builtinAndrew Kelley
and int type field access and fix compile time bool not
2016-12-11IR: implement fence and cmpxchg builtinsAndrew Kelley
2016-12-11IR: fix implementation of parsehAndrew Kelley
libc hello world works now
2016-12-06IR: implement compile time eval unwrap maybeAndrew Kelley
2016-12-06IR: implement deferAndrew Kelley
2016-12-05IR: implement break and continueAndrew Kelley
2016-12-05IR: implement generic function callsAndrew Kelley
2016-12-05IR: inline function evaluation works on generic functionsAndrew Kelley
2016-12-04IR: compile time function evaluationAndrew Kelley
2016-12-04IR: re-organize where state goes to prepare for genericsAndrew Kelley
* Rip out legacy code for generics * put scope in instruction instead of AST nodes * separate top level decl stuff from AST nodes - remove the assumption that there is a 1:1 correspondence between an output instruction and an AST node - This way we won't have to clone AST nodes for generics.
2016-12-01rewrite scope implementationAndrew Kelley
* now there are not extra unused hash tables * each variable declaration opens a new scope inside a function
2016-12-01rename BlockContext to ScopeAndrew Kelley
2016-11-28IR: function call porting progressAndrew Kelley
also implemented container init generics is still todo
2016-11-27IR: silence irrelevant function prototype errorsAndrew Kelley
2016-11-27IR: detect error for exceeding branch quotaAndrew Kelley
2016-11-26IR: support import builtin functionAndrew Kelley
2016-11-26IR: switch expression works with numbersAndrew Kelley
2016-11-21IR: fix detection of invalid codegenAndrew Kelley
2016-11-19IR: error for uncasted null lit variableAndrew Kelley
2016-11-19IR: implement compileVar builtin and moreAndrew Kelley
* implicit array to slice cast * fix if statements at global scope * implement array type IR
2016-11-18IR: correctly codegening memset and memcpyAndrew Kelley
2016-11-17IR: pointers to constants don't copy dataAndrew Kelley
2016-11-13IR handles global variables correctlyAndrew Kelley
2016-11-07IR: support slice typesAndrew Kelley
2016-11-04WIP moving all analysis to IRAndrew Kelley
2016-11-03IR: support this literal and bool literalAndrew Kelley
2016-11-03add concept of inline for, inline while, inline varAndrew Kelley
2016-10-30*WIP*Andrew Kelley
2016-10-29ir: support return expressionAndrew Kelley
2016-10-29ir: ability to modify global varsAndrew Kelley
2016-10-27IR analysis unrolls a complicated loopAndrew Kelley
2016-10-27IR can inline loopsAndrew Kelley
2016-10-23IR supports variable assignmentAndrew Kelley
2016-10-23IR: introduce concept of lvaluesAndrew Kelley
2016-10-20add variable declaration initialization IRAndrew Kelley
2016-10-16IR working for if statementsAndrew Kelley
2016-10-11IR if statements WIPAndrew Kelley
2016-10-09explicit casting works with IRAndrew Kelley
2016-10-06IR in 2 passesAndrew Kelley
2016-10-02simple add function works with IRAndrew Kelley
2016-09-30empty function compiles successfully with IRAndrew Kelley
2016-09-30*WIP*Andrew Kelley
2016-09-28remove compiler directivesAndrew Kelley
* add `setFnTest`, `setFnVisible`, `setFnStaticEval`, `setFnNoInline` builtin functions to replace previous directive functionality * add `coldcc` and `nakedcc` as keywords which can be used as part of a function prototype. * `setDebugSafety` builtin can be used to set debug safety features at a per block scope level. * closes #169