The acyclic e-graph: Cranelift's mid-end optimizer

25 points by asb


wareya

The initial context is alias analysis, which I forgot cranelift did, because it doesn't have a concept of volatile memory accesses. The discussion under the linked merged pull request from 4 years ago (implementing alias analysis) brings this up and how it's unsound when volatiles are around. I hope cranelift gets volatile memory flags soon so this can be fixed (it still doesn't have them).