[EH] Remove -wasm-enable-eh LLVM flag - #27739
Merged
Merged
Conversation
Previously in LLVM, we had `-mllvm -enable-emscripten-cxx-exceptions` to enable Emscriten EH, and `-mllvm -wasm-enable-eh` to enable Wasm EH. These were separate Wasm backend flags. Also there is a separate `-exception-model=` LLVM flag used for all LLVM targets. We used `wasm` for Wasm EH and `none` for Emscripten EH. This was a common LLVM flag which we didn't directly use but fed LLVM because it was a common flag. Recently a series of Clang+LLVM EH flag refactoring was done, and now LLVM is using `-exception-model` to control all EH modes. So Emscripten EH will be enabled by `-exception-model=emscripten`, and Wasm EH by `-exception-model=wasm`, and we don't need the Wasm-specific LLVM flags. `-enable-emscripten-cxx-exceptions` was removed in emscripten-core#27704. This removes `-wasm-enable-eh`. This has to land before llvm/llvm-project#224313.
sbc100
approved these changes
Sep 17, 2026
dschuff
approved these changes
Sep 17, 2026
Member
|
Do we need any of the pieces of llvm/llvm-project#224313 to land for this to work, for example the change to CodeGenPassBuilder.cpp and WebAssemblyTargetMachine.h? |
Member
Author
|
We have to hand this before llvm/llvm-project#224313 lands, because it removes I think we should temporarily disable LTO tests here, and land llvm/llvm-project#224313, and re-enable them. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Previously in LLVM, we had
-mllvm -enable-emscripten-cxx-exceptionsto enable Emscriten EH, and-mllvm -wasm-enable-ehto enable Wasm EH. These were separate Wasm backend flags.Also there is a separate
-exception-model=LLVM flag used for all LLVM targets. We usedwasmfor Wasm EH andnonefor Emscripten EH. This was a common LLVM flag which we didn't directly use but fed LLVM because it was a common flag.Recently a series of Clang+LLVM EH flag refactoring was done, and now LLVM is using
-exception-modelto control all EH modes. So Emscripten EH will be enabled by-exception-model=emscripten, and Wasm EH by-exception-model=wasm, and we don't need the Wasm-specific LLVM flags.-enable-emscripten-cxx-exceptionswas removed in #27704. This removes-wasm-enable-eh.This has to land before llvm/llvm-project#224313. This also temporarily disable EH LTO tests, which we will reenable after llvm/llvm-project#224313 lands.