path: root/opt
AgeCommit message (Collapse)Author
2014-09-05Move 'mi/' directory to 'opt/'.Ori Bernstein
This is to free the 'mi/' name for machine independent code generation bits. Eg: debug information, register allocation, and other common stuff.
2012-09-17Rename 'opt' to 'mi'.Ori Bernstein
It's not just for opts anymore.
2012-08-12Put match values into temporary.Ori Bernstein
We don't need to constantly recompute it.
2012-07-25Get the rvals for the subexpressions of casts.Ori Bernstein
We weren't actually evaluating the rhs. This is bad.
2012-07-24Make folding preserve types.Ori Bernstein
2012-07-20Don't die if we call fold() on NULL.Ori Bernstein
Making it safe to call fold(NULL) is easier than adding checks wrapping all call sites.
2012-06-25Whitespace fixes.Ori Bernstein
2012-06-18Static things up.Ori Bernstein
2012-06-17Add missing file.Ori Bernstein
2012-06-15Add rudimentary constant folding.Ori Bernstein
2012-06-14Improve debug prints.Ori Bernstein
Name things closer to what they're called in the data structures.
2012-06-14Print out the assembly CFG.Ori Bernstein
2012-06-14Make the BB ids identity mapped with their index.Ori Bernstein
bb->id should be equal to cfg->bb[bb->id]->id, so that we can look up the BB from the pred/succ sets directly.
2012-06-14Move towards generating flow graphs properly.Ori Bernstein
2012-06-13Rename 'libdeps' to 'deps'. It's more general than just libs.Ori Bernstein
2012-06-11Make unexported functions static.Ori Bernstein
Just cleaner that way.
2012-06-11Integer correctness fixes.Ori Bernstein
We were mixing signed and unsigned comparisons. This can lead to weird edge cases that nobody should have to reason about. Don't do that.
2012-06-11Split cfg and dataflow.Ori Bernstein
2012-06-11Make the CFG correct.Ori Bernstein
Explitly insert out jumps where we expect fallthroughs.
2012-06-11Print labels correctly.Ori Bernstein
2012-06-11Only change the separator if we print something.Ori Bernstein
This eliminates spurious commas.
2012-06-11When using conditional jumps, use the labels.Ori Bernstein
Conditional jump args are expr, label, label. We were using the first two (ie, expr, label) as the jump targets, instead of the last two (ie, label, label). Predictably, this didn't work.
2012-06-11Put the BB into the fix list instead of the node.Ori Bernstein
That way, we're trying to fix the right things.
2012-06-11More work towards getting dataflow going.Ori Bernstein
This commit temporarily breaks things.
2012-06-11Start working on dataflow analysis.Ori Bernstein
This adds a first cut at breaking things into BBs.