Skip to content

Commit ac49d23

Browse files
committed
WebAssembly: Move runtime libcall setting out of TargetLowering
RuntimeLibcallInfo needs to be correct outside of codegen contexts.
1 parent a23bd17 commit ac49d23

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

llvm/lib/IR/RuntimeLibcalls.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,11 @@ void RuntimeLibcallsInfo::initLibcalls(const Triple &TT) {
295295
setLibcallName(RTLIB::MULO_I64, nullptr);
296296
}
297297
setLibcallName(RTLIB::MULO_I128, nullptr);
298+
} else {
299+
// Define the emscripten name for return address helper.
300+
// TODO: when implementing other Wasm backends, make this generic or only do
301+
// this on emscripten depending on what they end up doing.
302+
setLibcallName(RTLIB::RETURN_ADDRESS, "emscripten_return_address");
298303
}
299304

300305
if (TT.isSystemZ() && TT.isOSzOS()) {

llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -385,11 +385,6 @@ WebAssemblyTargetLowering::WebAssemblyTargetLowering(
385385

386386
setMaxAtomicSizeInBitsSupported(64);
387387

388-
// Define the emscripten name for return address helper.
389-
// TODO: when implementing other Wasm backends, make this generic or only do
390-
// this on emscripten depending on what they end up doing.
391-
setLibcallName(RTLIB::RETURN_ADDRESS, "emscripten_return_address");
392-
393388
// Always convert switches to br_tables unless there is only one case, which
394389
// is equivalent to a simple branch. This reduces code size for wasm, and we
395390
// defer possible jump table optimizations to the VM.

0 commit comments

Comments
 (0)