This is an archive of the discontinued LLVM Phabricator instance.

[WebAssembly] Fix resume-only case in Emscripten EH
ClosedPublic

Authored by aheejin on Jan 23 2020, 4:44 PM.

Details

Summary

D72308 incorrectly assumed resume cannot exist without a landingpad,
which is not true. This sets Changed to true whenever we make changes
to a function, including creating a call to __resumeException within a
function without a landing pad.

Diff Detail

Event Timeline

aheejin created this revision.Jan 23 2020, 4:44 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 23 2020, 4:44 PM

Unit tests: fail. 62146 tests passed, 5 failed and 811 were skipped.

failed: libc++.std/language_support/cmp/cmp_partialord/partialord.pass.cpp
failed: libc++.std/language_support/cmp/cmp_strongeq/cmp.strongeq.pass.cpp
failed: libc++.std/language_support/cmp/cmp_strongord/strongord.pass.cpp
failed: libc++.std/language_support/cmp/cmp_weakeq/cmp.weakeq.pass.cpp
failed: libc++.std/language_support/cmp/cmp_weakord/weakord.pass.cpp

clang-tidy: fail. clang-tidy found 8 errors and 0 warnings. 0 of them are added as review comments below (why?).

clang-format: pass.

Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml

Pre-merge checks is in beta. Report issue. Please join beta or enable it for your project.

tlively accepted this revision.Jan 23 2020, 5:54 PM

LGTM! Tested locally and this fixes the problem.

This revision is now accepted and ready to land.Jan 23 2020, 5:54 PM
This revision was automatically updated to reflect the committed changes.
llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp