├── .github └── workflows │ └── main.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE ├── ORG_CODE_OF_CONDUCT.md ├── README.md ├── fuzz ├── .gitignore ├── Cargo.toml └── fuzz_targets │ ├── differential.rs │ ├── irreducible.rs │ ├── opt_diff.rs │ ├── parse_ir.rs │ ├── roundtrip.rs │ └── roundtrip_roundtrip.rs ├── scripts ├── check.sh └── reduce-predicate.sh ├── src ├── backend │ ├── localify.rs │ ├── mod.rs │ ├── reducify.rs │ ├── stackify.rs │ └── treeify.rs ├── bin │ └── waffle-util.rs ├── cfg │ ├── domtree.rs │ ├── mod.rs │ └── postorder.rs ├── entity.rs ├── errors.rs ├── frontend.rs ├── fuzzing.rs ├── interp.rs ├── ir.rs ├── ir │ ├── debug.rs │ ├── display.rs │ ├── func.rs │ ├── module.rs │ └── value.rs ├── lib.rs ├── op_traits.rs ├── ops.rs ├── passes.rs ├── passes │ ├── basic_opt.rs │ ├── dom_pass.rs │ ├── empty_blocks.rs │ ├── maxssa.rs │ └── resolve_aliases.rs ├── pool.rs └── scoped_map.rs └── tests ├── roundtrip.rs └── roundtrip ├── README.md ├── non-nullable-funcrefs.wat ├── ref-null.wat ├── test-simd.wat ├── test.wat ├── test2.wat └── typed-funcref.wat /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/.gitignore -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/LICENSE -------------------------------------------------------------------------------- /ORG_CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/ORG_CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/README.md -------------------------------------------------------------------------------- /fuzz/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | target 3 | corpus 4 | artifacts 5 | -------------------------------------------------------------------------------- /fuzz/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/fuzz/Cargo.toml -------------------------------------------------------------------------------- /fuzz/fuzz_targets/differential.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/fuzz/fuzz_targets/differential.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/irreducible.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/fuzz/fuzz_targets/irreducible.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/opt_diff.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/fuzz/fuzz_targets/opt_diff.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/parse_ir.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/fuzz/fuzz_targets/parse_ir.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/roundtrip.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/fuzz/fuzz_targets/roundtrip.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/roundtrip_roundtrip.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/fuzz/fuzz_targets/roundtrip_roundtrip.rs -------------------------------------------------------------------------------- /scripts/check.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/scripts/check.sh -------------------------------------------------------------------------------- /scripts/reduce-predicate.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/scripts/reduce-predicate.sh -------------------------------------------------------------------------------- /src/backend/localify.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/backend/localify.rs -------------------------------------------------------------------------------- /src/backend/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/backend/mod.rs -------------------------------------------------------------------------------- /src/backend/reducify.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/backend/reducify.rs -------------------------------------------------------------------------------- /src/backend/stackify.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/backend/stackify.rs -------------------------------------------------------------------------------- /src/backend/treeify.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/backend/treeify.rs -------------------------------------------------------------------------------- /src/bin/waffle-util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/bin/waffle-util.rs -------------------------------------------------------------------------------- /src/cfg/domtree.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/cfg/domtree.rs -------------------------------------------------------------------------------- /src/cfg/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/cfg/mod.rs -------------------------------------------------------------------------------- /src/cfg/postorder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/cfg/postorder.rs -------------------------------------------------------------------------------- /src/entity.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/entity.rs -------------------------------------------------------------------------------- /src/errors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/errors.rs -------------------------------------------------------------------------------- /src/frontend.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/frontend.rs -------------------------------------------------------------------------------- /src/fuzzing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/fuzzing.rs -------------------------------------------------------------------------------- /src/interp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/interp.rs -------------------------------------------------------------------------------- /src/ir.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/ir.rs -------------------------------------------------------------------------------- /src/ir/debug.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/ir/debug.rs -------------------------------------------------------------------------------- /src/ir/display.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/ir/display.rs -------------------------------------------------------------------------------- /src/ir/func.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/ir/func.rs -------------------------------------------------------------------------------- /src/ir/module.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/ir/module.rs -------------------------------------------------------------------------------- /src/ir/value.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/ir/value.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/op_traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/op_traits.rs -------------------------------------------------------------------------------- /src/ops.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/ops.rs -------------------------------------------------------------------------------- /src/passes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/passes.rs -------------------------------------------------------------------------------- /src/passes/basic_opt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/passes/basic_opt.rs -------------------------------------------------------------------------------- /src/passes/dom_pass.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/passes/dom_pass.rs -------------------------------------------------------------------------------- /src/passes/empty_blocks.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/passes/empty_blocks.rs -------------------------------------------------------------------------------- /src/passes/maxssa.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/passes/maxssa.rs -------------------------------------------------------------------------------- /src/passes/resolve_aliases.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/passes/resolve_aliases.rs -------------------------------------------------------------------------------- /src/pool.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/pool.rs -------------------------------------------------------------------------------- /src/scoped_map.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/src/scoped_map.rs -------------------------------------------------------------------------------- /tests/roundtrip.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/tests/roundtrip.rs -------------------------------------------------------------------------------- /tests/roundtrip/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/tests/roundtrip/README.md -------------------------------------------------------------------------------- /tests/roundtrip/non-nullable-funcrefs.wat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/tests/roundtrip/non-nullable-funcrefs.wat -------------------------------------------------------------------------------- /tests/roundtrip/ref-null.wat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/tests/roundtrip/ref-null.wat -------------------------------------------------------------------------------- /tests/roundtrip/test-simd.wat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/tests/roundtrip/test-simd.wat -------------------------------------------------------------------------------- /tests/roundtrip/test.wat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/tests/roundtrip/test.wat -------------------------------------------------------------------------------- /tests/roundtrip/test2.wat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/tests/roundtrip/test2.wat -------------------------------------------------------------------------------- /tests/roundtrip/typed-funcref.wat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bytecodealliance/waffle/HEAD/tests/roundtrip/typed-funcref.wat --------------------------------------------------------------------------------