<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/CodeGen/WebAssembly/libcalls.ll, branch users/nico/python-2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[WebAssembly] Add Libcall signatures for modf and variants (#130201)</title>
<updated>2025-03-06T23:48:39+00:00</updated>
<author>
<name>Derek Schuff</name>
<email>dschuff@chromium.org</email>
</author>
<published>2025-03-06T23:48:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6916438b65ee26ac75684dfceb4bdb7e87841ff7'/>
<id>6916438b65ee26ac75684dfceb4bdb7e87841ff7</id>
<content type='text'>
Clang now lowers modf/modff/modfl as builtins using the llvm.modf
intrinsic.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Clang now lowers modf/modff/modfl as builtins using the llvm.modf
intrinsic.</pre>
</div>
</content>
</entry>
<entry>
<title>[SelectionDAG] Use the nuw flag when expanding loads. (#119288)</title>
<updated>2024-12-10T14:28:09+00:00</updated>
<author>
<name>Dan Gohman</name>
<email>dev@sunfishcode.online</email>
</author>
<published>2024-12-10T14:28:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e665e781dc3f8fac0400f6ac8e168805b0cdf74a'/>
<id>e665e781dc3f8fac0400f6ac8e168805b0cdf74a</id>
<content type='text'>
When expanding a load into two loads, use nuw for the add that computes
the offset from the base of the second load, because the original load
doesn't straddle the address space.

It turns out there's already a dedicated helper function for doing this,
`getObjectPtrOffset`.

This is in target-independent code, however in practice it only seems to
affact WebAssembly code, because WebAssembly load and store
instructions' constant offsets don't perform wrapping, so constant
folding often depends on the nuw flag being present.

This was noticed in the development of #119204.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When expanding a load into two loads, use nuw for the add that computes
the offset from the base of the second load, because the original load
doesn't straddle the address space.

It turns out there's already a dedicated helper function for doing this,
`getObjectPtrOffset`.

This is in target-independent code, however in practice it only seems to
affact WebAssembly code, because WebAssembly load and store
instructions' constant offsets don't perform wrapping, so constant
folding often depends on the nuw flag being present.

This was noticed in the development of #119204.</pre>
</div>
</content>
</entry>
<entry>
<title>[WASM] Fix for wasi libc build break add tan to RuntimeLibcallSignatureTable (#95082)</title>
<updated>2024-06-11T14:43:51+00:00</updated>
<author>
<name>Farzon Lotfi</name>
<email>1802579+farzonl@users.noreply.github.com</email>
</author>
<published>2024-06-11T14:43:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=38ccee00346300c87abc34860398bc950c65eaec'/>
<id>38ccee00346300c87abc34860398bc950c65eaec</id>
<content type='text'>
The wasm backend fetches the tan runtime lib call in
`llvm/include/llvm/IR/RuntimeLibcalls.def` via `StaticLibcallNameMap()`,
but ignores the runtime function because a function sinature mapping is
not specified in RuntimeLibcallSignatureTable(). The fix is to specify
the function signatures for float32-128.

This is a fix for a build break reported on PR
https://github.com/llvm/llvm-project/pull/94559#issuecomment-2159923215.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The wasm backend fetches the tan runtime lib call in
`llvm/include/llvm/IR/RuntimeLibcalls.def` via `StaticLibcallNameMap()`,
but ignores the runtime function because a function sinature mapping is
not specified in RuntimeLibcallSignatureTable(). The fix is to specify
the function signatures for float32-128.

This is a fix for a build break reported on PR
https://github.com/llvm/llvm-project/pull/94559#issuecomment-2159923215.</pre>
</div>
</content>
</entry>
<entry>
<title>[WebAssembly] Add exp10 libcall signatures (#69661)</title>
<updated>2023-10-20T19:15:48+00:00</updated>
<author>
<name>Ashley Nelson</name>
<email>nashley@google.com</email>
</author>
<published>2023-10-20T19:15:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=47f0f8ca47408ad6b0960a44b6c1532ed38443f1'/>
<id>47f0f8ca47408ad6b0960a44b6c1532ed38443f1</id>
<content type='text'>
The llvm.exp.* family of intrinsics and their corresponding libcalls
were recently added, which means we need to know their signatures.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The llvm.exp.* family of intrinsics and their corresponding libcalls
were recently added, which means we need to know their signatures.</pre>
</div>
</content>
</entry>
<entry>
<title>[PEI][WebAssembly] Switch to backwards frame index elimination</title>
<updated>2023-08-03T09:21:43+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2023-06-08T13:39:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0da19a2be5648140d6cfab4340866dc2bd58c4a9'/>
<id>0da19a2be5648140d6cfab4340866dc2bd58c4a9</id>
<content type='text'>
Backwards frame index elimination uses backwards register scavenging,
which is preferred because it does not rely on accurate kill flags.

Differential Revision: https://reviews.llvm.org/D156691
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Backwards frame index elimination uses backwards register scavenging,
which is preferred because it does not rely on accurate kill flags.

Differential Revision: https://reviews.llvm.org/D156691
</pre>
</div>
</content>
</entry>
<entry>
<title>[WebAssembly] Add frexp{f,l} libcall signatures</title>
<updated>2023-07-06T20:37:11+00:00</updated>
<author>
<name>Derek Schuff</name>
<email>dschuff@chromium.org</email>
</author>
<published>2023-07-06T17:24:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ad14659f72ceff1b02c220503c3d70cacaa2868e'/>
<id>ad14659f72ceff1b02c220503c3d70cacaa2868e</id>
<content type='text'>
The llvm.frexp.* family of intrinsics and their corresponding libcalls were
recently added, which means we need to know their signatures.

Differential Revision: https://reviews.llvm.org/D154639
Fixed: https://github.com/llvm/llvm-project/issues/63657
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The llvm.frexp.* family of intrinsics and their corresponding libcalls were
recently added, which means we need to know their signatures.

Differential Revision: https://reviews.llvm.org/D154639
Fixed: https://github.com/llvm/llvm-project/issues/63657
</pre>
</div>
</content>
</entry>
<entry>
<title>[WebAssembly] Add lowering for llvm.rint and llvm.roundeven</title>
<updated>2023-06-23T21:07:11+00:00</updated>
<author>
<name>xortoast</name>
<email>xortoast@proton.me</email>
</author>
<published>2023-06-23T21:01:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bb648c9177cda700ae63cfced347f62d417a4824'/>
<id>bb648c9177cda700ae63cfced347f62d417a4824</id>
<content type='text'>
WebAssembly doesn't expose inexact exceptions, so frint can be mapped to
fnearbyint. Likewise, WebAssembly always rounds ties-to-even, so
froundeven can be mapped to fnearbyint.

Differential Revision: https://reviews.llvm.org/D153451
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
WebAssembly doesn't expose inexact exceptions, so frint can be mapped to
fnearbyint. Likewise, WebAssembly always rounds ties-to-even, so
froundeven can be mapped to fnearbyint.

Differential Revision: https://reviews.llvm.org/D153451
</pre>
</div>
</content>
</entry>
<entry>
<title>[WebAssembly] Add ldexp{,f,l} libcall signatures</title>
<updated>2023-06-07T17:45:39+00:00</updated>
<author>
<name>Derek Schuff</name>
<email>dschuff@chromium.org</email>
</author>
<published>2023-06-07T17:24:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5f6f8a8e255dfc5f2a1ab74b7112a8ce31ab6cf7'/>
<id>5f6f8a8e255dfc5f2a1ab74b7112a8ce31ab6cf7</id>
<content type='text'>
llvm.ldexp.* intrinsics were recently added to LLVM, which means
wasm now needs to know the signatures of the corresponding libcalls.

Differential Revision: https://reviews.llvm.org/D152385

Fixes: #63164
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
llvm.ldexp.* intrinsics were recently added to LLVM, which means
wasm now needs to know the signatures of the corresponding libcalls.

Differential Revision: https://reviews.llvm.org/D152385

Fixes: #63164
</pre>
</div>
</content>
</entry>
<entry>
<title>[WebAssembly] Add libcall signatures for roundeven</title>
<updated>2023-04-04T15:32:26+00:00</updated>
<author>
<name>Thomas Lively</name>
<email>tlively@google.com</email>
</author>
<published>2023-04-04T15:32:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=62bfb0b14ce979c3b73e73dd70c6d76e51cb6071'/>
<id>62bfb0b14ce979c3b73e73dd70c6d76e51cb6071</id>
<content type='text'>
Since clang started emitting roundeven intrinsics in a7d6593a0a17, they would
cause a crash in the WebAssembly backend because it did not know the roundeven
library function signatures. Fix the crash by adding the signatures.

Differential Revision: https://reviews.llvm.org/D147476
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since clang started emitting roundeven intrinsics in a7d6593a0a17, they would
cause a crash in the WebAssembly backend because it did not know the roundeven
library function signatures. Fix the crash by adding the signatures.

Differential Revision: https://reviews.llvm.org/D147476
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][WebAssembly] Updated tests</title>
<updated>2023-01-26T10:26:24+00:00</updated>
<author>
<name>Samuel Parker</name>
<email>sam.parker@arm.com</email>
</author>
<published>2023-01-26T10:26:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=41080b2fdd4b6c57d5a2926d6157b9847342b3a1'/>
<id>41080b2fdd4b6c57d5a2926d6157b9847342b3a1</id>
<content type='text'>
Run update_llc_test_checks on a number of codegen tests.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Run update_llc_test_checks on a number of codegen tests.
</pre>
</div>
</content>
</entry>
</feed>
