• tebbi's avatar
    [wasm] change reducer order in WASM pipeline to make build predictable again · 12ce15c3
    tebbi authored
    BinopMatcher does not notify the reducers using it when it flips inputs to commutative operators. This leads to value numbering not being re-executed in this case. Together with the fact that value numbering might still reduce such a modified node in the case of a hash collision merging the buckets of two equivalent nodes, this leads to unpredictable behaviour.
    
    This is the easiest fix for the problem: Always running value numbering last. This is also a performance improvement because value numbering never changes but only replaces nodes.
    
    R=mstarzinger@chromium.org
    
    Review-Url: https://codereview.chromium.org/2728983002
    Cr-Commit-Position: refs/heads/master@{#43552}
    12ce15c3
node-matchers.h 23.1 KB