[PATCH] D42271: [WebAssembly] Fix libcall signature lookup

Derek Schuff via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 18 16:26:47 PST 2018


dschuff created this revision.
dschuff added reviewers: sbc100, sunfish.
Herald added subscribers: aheejin, jgravelle-google, jfb.

RuntimeLibcallSignatures previously manually initialized all the libcall
names into an array and searched it linearly for the first match to lookup
the corresponding index.
r322802 switched that to initializing a map keyed by the libcall name.
Neither of these approaches works correctly because some libcall numbers use
the same name on different platforms (e.g. the "l" suffixed functions
use f80 or f128 or ppcf128).

This change fixes that by ensuring that each name only goes into the map
once. It also adds tests.


Repository:
  rL LLVM

https://reviews.llvm.org/D42271

Files:
  lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
  test/CodeGen/WebAssembly/libcalls.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42271.130517.patch
Type: text/x-patch
Size: 4677 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180119/2843bc81/attachment.bin>


More information about the llvm-commits mailing list