Open sumant85 opened 2 days ago
@llvm/issue-subscribers-backend-webassembly
Author: Sumant Hanumante (sumant85)
@aheejin any ideas what this might be?
@sumant85 any chance you could bisect a little more to figure out exactly which emscripten version caused the regression: https://emscripten.org/docs/contributing/developers_guide.html#bisecting
I have a suspicion that this is the same issue as https://github.com/emscripten-core/emscripten/issues/22170. The pass that's causing the error is https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp, and the problem is related to generating invalid PHI nodes, which I'm currently investigating. But given that this pass has been stable for a long time, it's a little confusing why two same bug reports are coming at this point. The most recent change to that pass was #84137, but I doubt that PR created another bug.. I think it's possible that PR might have uncovered an existing bug or something. I'm still investigating.
Added: The same error persists even if I revert #84137, so that's not the issue.
@sbc100 I've bisected it down to emsdk version 3.1.54 where compilation first started failing. Will do a bisect over emscripten release (per https://emscripten.org/docs/contributing/developers_guide.html#bisecting) and share my findings shortly
@sbc100 @aheejin the breaking change is introduced in https://chromium.googlesource.com/emscripten-releases/+/9e09d60dbf6f5e1e0b4bb97b8aba8c5d5969652a
I am getting
Clang frontend command failed with exit code 139
when compiling code using setjmp/longjmp to webassembly with emscripten 3.1.62. The same code compiles fine with an older (3.1.44) version of emscripten. The code also compiles if all calls to setjmp/longjmp are removed or if optimization level is set to-O0
Crash artifacts (preprocessed source and script)
Breaking change bisected to https://chromium.googlesource.com/emscripten-releases/+/9e09d60dbf6f5e1e0b4bb97b8aba8c5d5969652a
Backtrace: