diff options
author | Heejin Ahn <aheejin@gmail.com> | 2021-02-18 09:21:33 -0800 |
---|---|---|
committer | Heejin Ahn <aheejin@gmail.com> | 2021-02-18 10:18:00 -0800 |
commit | 6f2999b36a6e4834966fd5cde3aba4d296a2de97 (patch) | |
tree | a80fb78b4861697a746d4fd517f61d9ac22a3748 /llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp | |
parent | 406dc549034adc4da5e6f45ef3d9aef98c177331 (diff) | |
download | llvm-6f2999b36a6e4834966fd5cde3aba4d296a2de97.zip llvm-6f2999b36a6e4834966fd5cde3aba4d296a2de97.tar.gz llvm-6f2999b36a6e4834966fd5cde3aba4d296a2de97.tar.bz2 |
[WebAssembly] Handle multiple EH_LABELs in EH pad
Usually `EH_LABEL`s are placed in
- Before an `invoke` (which becomes calls in the backend)
- After an `invoke`
- At the start of an EH pad
I don't know exactly why, but I noticed there are cases of multiple, not
a single, `EH_LABEL` instructions in the beginning of an EH pad. In that
case `global.set` instruction placed to restore `__stack_pointer` ended
up between two `EH_LABEL` instructions before `CATCH`. It should follow
after the `EH_LABEL`s and `CATCH`. This CL fixes that case.
Reviewed By: dschuff
Differential Revision: https://reviews.llvm.org/D96970
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp')
0 files changed, 0 insertions, 0 deletions