Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
ac3ba6c
add assocexpr
ailrst Jul 23, 2025
0d9d7fc
implement ValueLattice for TNum
katrinafyi Jul 28, 2025
d6a7976
use ValueAnalysis infrastructure in SimplifyKnownBits
katrinafyi Aug 25, 2025
50729ed
remove now-unused TNumDomain
katrinafyi Aug 25, 2025
e050921
fmt
katrinafyi Aug 25, 2025
f49fb21
use `def bottom: T` in Lattice to avoid eager evaluation of bottom
katrinafyi Aug 25, 2025
5eddd7c
revert mill changes
katrinafyi Aug 25, 2025
aed3c9a
im crashing out...............
katrinafyi Aug 25, 2025
5369dee
Revert "im crashing out..............."
katrinafyi Aug 25, 2025
2e07fc1
big problems with .bottom/.top. LatticeMap requires these exist.
katrinafyi Aug 25, 2025
4348f39
make tests pass by doing crimes
katrinafyi Aug 25, 2025
69886b7
add BVValueLattice
katrinafyi Aug 26, 2025
07d28fe
implement BVLattice and add docs
katrinafyi Aug 26, 2025
0f83d2a
use BVLattice and pass tests with fewer crimes
katrinafyi Aug 26, 2025
d6f97f6
generalise to TypedLattice, abstracting over types instead of only width
katrinafyi Aug 26, 2025
39a9b5f
fix doc reference
katrinafyi Aug 26, 2025
34bed33
move handleConflictingTypes into TypedValueLattice to support overriding
katrinafyi Aug 26, 2025
b185552
LatticeCollections typeclass
katrinafyi Aug 27, 2025
3cd4e10
remove LatticeSetLattice
katrinafyi Aug 27, 2025
d8f7d8a
finalise typeclasses in test code. it compiles, but tests fail ;-;
katrinafyi Aug 27, 2025
3dd47ad
remove silly extension
katrinafyi Aug 27, 2025
d77036c
FIX OOPSIE
katrinafyi Aug 27, 2025
1a035eb
add docs
katrinafyi Aug 27, 2025
fb49500
LatticeLattice D:
katrinafyi Aug 27, 2025
9fb01f5
scalafmt
katrinafyi Aug 27, 2025
b098e70
remove InternalLattice and related :tada:
katrinafyi Aug 27, 2025
f67d632
starting un-defaulting of Lattice
katrinafyi Aug 27, 2025
f58220c
sed
katrinafyi Aug 27, 2025
fda195f
Revert "sed"
katrinafyi Aug 27, 2025
81606c5
Revert "starting un-defaulting of Lattice"
katrinafyi Aug 27, 2025
f7c5d0e
final glb and top placeholders
katrinafyi Aug 27, 2025
4422536
remove InternalLattice comment
katrinafyi Aug 27, 2025
764cd09
move LatticeSet methods back into the class. fix over-eager ???
katrinafyi Aug 27, 2025
b03dd37
explicitly create Lattice[_] classes to aid scaladoc, avoiding `given…
katrinafyi Aug 29, 2025
afabad5
remove LatticeLattice
katrinafyi Aug 29, 2025
0f34555
add docs on how to invoke "using" methods
katrinafyi Aug 29, 2025
e3a011e
Merge remote-tracking branch 'origin/destroy-it-all' into valueanalys…
katrinafyi Sep 3, 2025
d6e9df5
AJSIDOJIOF making progress
katrinafyi Sep 3, 2025
9023cae
working. what?
katrinafyi Sep 3, 2025
e29fd81
valueanalysis builds?
katrinafyi Sep 3, 2025
9321734
IT COMPILES. not running tests lol
katrinafyi Sep 3, 2025
f400e11
automated scalafmt
github-actions[bot] Sep 3, 2025
8606b0f
fix last things, including scalabug and tests
katrinafyi Sep 4, 2025
d4ee7e9
fix oopsie
katrinafyi Sep 4, 2025
8d66e17
automated scalafmt
github-actions[bot] Sep 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/main/scala/analysis/EdgeFunctionLattice.scala
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@ trait EdgeFunction[T] extends (T => T) {
class EdgeFunctionLattice[T, L <: Lattice[T]](val valuelattice: L) extends Lattice[EdgeFunction[T]] {

val bottom: ConstEdge = ConstEdge(valuelattice.bottom)
def top: Nothing = ???

def lub(x: EdgeFunction[T], y: EdgeFunction[T]): EdgeFunction[T] = x.joinWith(y)
def glb(x: EdgeFunction[T], y: EdgeFunction[T]): Nothing = ???

/** Edge labeled with identity function.
*/
Expand Down
2 changes: 0 additions & 2 deletions src/main/scala/analysis/GammaDomains.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import ir.*

type VarGammaMap = LatticeMap[Variable, LatticeSet[Variable]]

implicit val variableLatticeSetTerm: LatticeSet[Variable] = LatticeSet.Bottom()

/**
* An abstract domain that determines for each variable, a set of variables whose gammas (at
* the start of a procedure) are "affected" this variable's gamma. This is paramaterised by
Expand Down
Loading
Loading