Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2014-03-02 | Add foreach.nlHEADmaster | Søren Sandmann Pedersen | 1 | -0/+50 | |
2014-02-02 | switch.c: Note about performance | Søren Sandmann Pedersen | 1 | -0/+3 | |
2014-02-02 | Remove some debug spew | Søren Sandmann Pedersen | 1 | -22/+0 | |
2014-02-02 | TODO | Søren Sandmann Pedersen | 4 | -124/+133 | |
2014-02-02 | Save and restore the stack across calls | Søren Sandmann Pedersen | 1 | -9/+16 | |
2014-02-02 | Spaghetti stack | Søren Sandmann Pedersen | 1 | -80/+74 | |
2014-02-02 | TODO, formatting | Søren Sandmann Pedersen | 2 | -18/+30 | |
2014-01-31 | todo | Søren Sandmann Pedersen | 1 | -4/+53 | |
2014-01-31 | TODO: expressions with gotos in them | Søren Sandmann Pedersen | 1 | -0/+60 | |
2012-06-18 | popbug3 | Søren Sandmann Pedersen | 1 | -0/+21 | |
2012-06-18 | Expression with goto in them | Søren Sandmann Pedersen | 2 | -0/+13 | |
2012-06-17 | Remove debug spew | Søren Sandmann Pedersen | 1 | -1/+1 | |
2012-06-17 | Allow null labels | Søren Sandmann Pedersen | 1 | -0/+3 | |
2012-06-17 | Renaming | Søren Sandmann Pedersen | 1 | -5/+5 | |
2012-06-17 | Call the binary oort | Søren Sandmann Pedersen | 1 | -2/+2 | |
2012-06-17 | Rename to Oort | Søren Sandmann Pedersen | 22 | -22/+22 | |
2012-06-17 | Remove debug spew | Søren Sandmann Pedersen | 1 | -59/+29 | |
2012-06-17 | Make the optimization passes non-recursive. | Søren Sandmann Pedersen | 4 | -380/+419 | |
Very long functions could cause stack overflow due to peephole() and remove_nops() being recursive. | |||||
2012-06-16 | Optimize away literal nodes followed by to_string | Søren Sandmann Pedersen | 3 | -4/+18 | |
2012-06-16 | Fix bug with switch statements and goto | Søren Sandmann Pedersen | 3 | -8/+26 | |
Previously, the condition expression in a switch statement would be generated once, and then each case would do "dup; compare". After the switch, the condition expression would be popped. The problem with this is that if you jump out of the switch, the expression would be left on the stack. So instead generate a temporary variable to hold the condition expression, then load that variable for each case. | |||||
2012-06-16 | Add popbug2.nl | Søren Sandmann Pedersen | 1 | -0/+11 | |
2012-06-16 | Allow non-void function references to be assigned to void function variables | Søren Sandmann Pedersen | 2 | -4/+5 | |
2012-06-16 | Check return type, not function type | Søren Sandmann Pedersen | 1 | -6/+6 | |
2012-06-16 | Remove redundant loads | Søren Sandmann Pedersen | 6 | -14/+62 | |
Do breadth first of the entire program when marking variables used/unused Don't optimize away unused function parameters | |||||
2012-06-16 | Optimize away stores to variables that are never read | Søren Sandmann Pedersen | 1 | -9/+76 | |
2012-06-16 | Only allocate space for variables that are actually used | Søren Sandmann Pedersen | 2 | -1/+26 | |
2012-06-16 | formatting | Søren Sandmann Pedersen | 1 | -2/+8 | |
2012-06-16 | TODO | Søren Sandmann Pedersen | 1 | -7/+6 | |
2012-06-15 | Make void functions return a dummy value. | Søren Sandmann Pedersen | 1 | -4/+18 | |
This means void and non-void functions are called the same way, which means non-void functions can be cast to void functions. | |||||
2012-06-15 | Get rid of warnings | Søren Sandmann Pedersen | 1 | -3/+2 | |
2012-06-15 | Some formatting fixes | Søren Sandmann Pedersen | 2 | -31/+15 | |
2012-06-15 | Fix bug in graph_boolean_expression() | Søren Sandmann Pedersen | 2 | -3/+11 | |
When the expression is known to be compile-time constant, its value is stored in expr->common.constant_value, but the code was treating the expression as if it were a boolean literal. | |||||
2012-06-15 | Do debug spew from within compile(). | Søren Sandmann Pedersen | 3 | -12/+23 | |
Dump the goto graph after optimization if debug_spew is turned on. | |||||
2012-06-15 | Move levels to its own pass | Søren Sandmann Pedersen | 5 | -20/+79 | |
The optimizer needs to know the embeddeng level of the various definitions. Previously, this was computed in the offsets pass, but if the optimizer removes unused variables, the offsets could change. The levels must be computed before optimizations, but offsets must be computers. So split levels to its own pass that runs before the optimizer. | |||||
2012-06-14 | tabs | Søren Sandmann Pedersen | 1 | -1/+1 | |
2012-06-14 | Print labels | Søren Sandmann Pedersen | 3 | -3/+17 | |
2012-06-14 | Run offset pass before optimizer | Søren Sandmann Pedersen | 3 | -5/+6 | |
Then only squash dyn_label + dyn_goto if the label definition is at the same level as the label expression. | |||||
2012-06-14 | todo | Søren Sandmann Pedersen | 1 | -0/+3 | |
2012-06-14 | Remove debug spew | Søren Sandmann Pedersen | 2 | -6/+0 | |
2012-06-14 | Make debug spew and optimize options | Søren Sandmann Pedersen | 1 | -15/+61 | |
2012-06-14 | formatting | Søren Sandmann Pedersen | 1 | -21/+21 | |
2012-06-14 | Make defs.nl compile | Søren Sandmann Pedersen | 1 | -7/+10 | |
2012-06-14 | Prettier printing | Søren Sandmann Pedersen | 3 | -25/+23 | |
2012-06-14 | Some refactoring | Søren Sandmann Pedersen | 4 | -344/+365 | |
2012-06-14 | Remove debug spew | Søren Sandmann Pedersen | 1 | -2/+0 | |
2012-06-14 | Also move graph dumping there | Søren Sandmann Pedersen | 3 | -137/+141 | |
2012-06-14 | Move debug spew to its own file | Søren Sandmann Pedersen | 4 | -503/+510 | |
2012-06-14 | Add support for multiple comma separated expressions | Søren Sandmann Pedersen | 8 | -16/+32 | |
2012-06-14 | Redo print statements to generate a sequence of to_string()s | Søren Sandmann Pedersen | 4 | -11/+15 | |
followed by a print node containing information about how many strings are on the stack. | |||||
2012-06-14 | Add to_string node | Søren Sandmann Pedersen | 4 | -1/+36 | |