| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
TODO for GraphViz
Remove dead code
|
| | |
|
| |
|
|
|
|
|
| |
`null` is a constant; "if(null)" will collapse.
Phi w/mem keep mem even when dead.
Load handles dead mem.
static class Var
|
| |
|
|
|
|
| |
Mostly minor progress.
Lost? shl/shr/sar high-type fixes.
Turn off some printing crept back in
|
| |
|
|
|
|
|
| |
ignore temps made during constructing
and/or/xor honor TypeInteger.TOP; TypeInteger.nonZero works with zero
NotNode keeps precision.
Scope lazy phis of narrow ints auto-widen
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Replace ArrayList with Ary, because no "setLength" in ArrayList and "size" is private so I cannot even override.
Replace Utils.find with Ary.find.
Split Scope into Scope and ScopeMin (bad name). Memory edges go in ScopeMin, and it is pointed at from Scope.mem(). This lets us lazily add memory edges without interleaving them through other non-memory aliases, which was breaking all sorts of parser invariants. ScopeMin aliases are added lazily.
Scope & ScopeMin now use an array-of-Var structs instead of a struct-of-arrays.
|
| |
|
|
|
|
|
|
| |
Missing arrays yet.
Allow constructor syntax in 2 parts; the type description and at the New.
must-init fields (final and not-null) have to be initialized in at least one of the two places;
finals must be initialized exactly once.
Any code is allowed in the constructors.
|
| |
|
|
|
|
| |
`int x,y;` works
`int !x = 3;` works
Structs defs are statements, require a trailing `;`
|
| | |
|
| |
|