summaryrefslogtreecommitdiff
path: root/src/ir/LocalGraph.cpp
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2024-09-18 15:55:43 -0700
committerGitHub <noreply@github.com>2024-09-18 15:55:43 -0700
commit5e4a4bae6544eda7d6e5be923bd1086921ffcb1b (patch)
tree4bc7cf991eb4f4709fcdaf1df33ba5f5ff8fce09 /src/ir/LocalGraph.cpp
parentb381a8c82030c2be3d1605d6f2854098f039f617 (diff)
downloadbinaryen-5e4a4bae6544eda7d6e5be923bd1086921ffcb1b.tar.gz
binaryen-5e4a4bae6544eda7d6e5be923bd1086921ffcb1b.tar.bz2
binaryen-5e4a4bae6544eda7d6e5be923bd1086921ffcb1b.zip
[NFC + bugfix] Remove BreakTargetLocation from GUFA (#6956)
Before, a br would send its value to a BreakTargetLocation. That would then be linked to the target: { br's value } => BreakTargetLocation(target name) => { location of target } This PR skips the middle: { br's value } => { location of target } It just connects breaks directly to the targets. We can do that if we keep a map of the targets as we go. This is 2% faster as well as simplifies the code, as an NFC refactoring. But it also fixes a bug: we have handling on ExpressionLocation that filters values as they come in (they must accord with the expression's type). We were not doing that on BreakTargetLocation, leading to an assert. Removing BreakTargetLocation entirely is easier and better than adding filtering logic for it. Fixes #6955
Diffstat (limited to 'src/ir/LocalGraph.cpp')
0 files changed, 0 insertions, 0 deletions