diff options
author | Derek Schuff <dschuff@google.com> | 2019-07-03 23:54:06 +0000 |
---|---|---|
committer | Derek Schuff <dschuff@google.com> | 2019-07-03 23:54:06 +0000 |
commit | ec4be576554c8be1c0a47cb78d411c3f42ba69e9 (patch) | |
tree | a880af9e1480765c2f1dfcee6b2601057f6347fc /llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp | |
parent | 5b0922fe1f9dcecfc1f92bec21f1c8f3849daf31 (diff) | |
download | llvm-ec4be576554c8be1c0a47cb78d411c3f42ba69e9.zip llvm-ec4be576554c8be1c0a47cb78d411c3f42ba69e9.tar.gz llvm-ec4be576554c8be1c0a47cb78d411c3f42ba69e9.tar.bz2 |
[WebAssembly] Enable IndirectBrExpandPass
Wasm doesn't have a direct way to lower indirectbr, so hook up the
IndirectBrExpandPass to lower indirectbr into a switch.
Fixes PR42498
Reviewers: aheejin
Differential Revision: https://reviews.llvm.org/D64161
llvm-svn: 365096
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp index 937d272..a75df34 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp @@ -368,6 +368,9 @@ void WebAssemblyPassConfig::addIRPasses() { addPass(createWebAssemblyLowerEmscriptenEHSjLj(EnableEmException, EnableEmSjLj)); + // Expand indirectbr instructions to switches. + addPass(createIndirectBrExpandPass()); + TargetPassConfig::addIRPasses(); } |