diff options
author | Heejin Ahn <aheejin@gmail.com> | 2024-07-23 16:06:00 -0700 |
---|---|---|
committer | Heejin Ahn <aheejin@gmail.com> | 2024-07-25 00:00:59 +0000 |
commit | 0af754213507972a0d0301bc195d65414d8dc193 (patch) | |
tree | 0863adac8de1e9aace588f009f9f69d7e337971d /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h | |
parent | 393a957d1c9303b87361dfdc3b8e504ba435ea8e (diff) | |
download | llvm-0af754213507972a0d0301bc195d65414d8dc193.zip llvm-0af754213507972a0d0301bc195d65414d8dc193.tar.gz llvm-0af754213507972a0d0301bc195d65414d8dc193.tar.bz2 |
Reapply "[WebAssembly] Fix phi handling for Wasm SjLj (#99730)"
This reapplies #99730. #99730 contained a nondeterministic iteration
which failed the reverse-iteration bot
(https://lab.llvm.org/buildbot/#/builders/110/builds/474) and reverted
in
https://github.com/llvm/llvm-project/commit/f3f0d9928f982cfd302351f418bcc5b63cc1bb9d.
The fix is make the order of iteration of new predecessors
determintistic by using `SmallSetVector`.
```diff
--- a/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
@@ -1689,7 +1689,7 @@ void WebAssemblyLowerEmscriptenEHSjLj::handleLongjmpableCallsForWasmSjLj(
}
}
- SmallDenseMap<BasicBlock *, SmallPtrSet<BasicBlock *, 4>, 4>
+ SmallDenseMap<BasicBlock *, SmallSetVector<BasicBlock *, 4>, 4>
UnwindDestToNewPreds;
for (auto *CI : LongjmpableCalls) {
// Even if the callee function has attribute 'nounwind', which is true for
```
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h')
0 files changed, 0 insertions, 0 deletions