Feature Request P2
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: SwiftShader
Branch: master
commit e7cd224e55fa55ba248d8fba0d0dd34b948c12ae
Author: Nicolas Capens <capn@google.com>
Date: Mon Aug 17 10:49:56 2020
Don't rely on VectorType::get() default parameter
LLVM 11 deprecates the default boolean parameter which indicates whether
vector types are variable-length. Explicitly pass 'false'.
LLVM 11 introduces a FixedVectorType for this as well, which would help
readability, but we're still at LLVM 10.
Bug: b/165000222
Change-Id: I5404cfc8eea9553e15bfb54b2d3278bdf079612f
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/47768
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
M src/Reactor/LLVMReactor.cpp
https://swiftshader-review.googlesource.com/47768
Branch: master
commit e7cd224e55fa55ba248d8fba0d0dd34b948c12ae
Author: Nicolas Capens <capn@google.com>
Date: Mon Aug 17 10:49:56 2020
Don't rely on VectorType::get() default parameter
LLVM 11 deprecates the default boolean parameter which indicates whether
vector types are variable-length. Explicitly pass 'false'.
LLVM 11 introduces a FixedVectorType for this as well, which would help
readability, but we're still at LLVM 10.
Bug:
Change-Id: I5404cfc8eea9553e15bfb54b2d3278bdf079612f
Reviewed-on:
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
M src/Reactor/LLVMReactor.cpp
ni...@google.com <ni...@google.com> #3
HAVE_STD_IS_TRIVIALLY_COPYABLE
in the config. It should no longer be necessary with LLVM 11.
ni...@google.com <ni...@google.com> #4
ap...@google.com <ap...@google.com> #5
Project: SwiftShader
Branch: master
commit 106e01583a3ac2fb950777390dde2dcc31a8f161
Author: Googler <noreply@google.com>
Date: Fri Feb 26 07:03:59 2021
Support LLVM 11+ atomic instruction alignment change
Atomic instructions now take an alignment parameter.
llvm::MaybeAlign() means undefined alignment, which makes the compiler
emit atomic operations that can handle unaligned data. This is probably
overly conservative since our use cases typically ensure alignment. But
that's an optimization we can prudently make later if/when proven
useful.
Bug: b/165000222
Change-Id: I2d0f0f0b5ae8ca811e97c2f5e2f34cc06ca7ee09
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/53308
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Commit-Queue: Nicolas Capens <nicolascapens@google.com>
M src/Reactor/LLVMReactor.cpp
https://swiftshader-review.googlesource.com/53308
Branch: master
commit 106e01583a3ac2fb950777390dde2dcc31a8f161
Author: Googler <noreply@google.com>
Date: Fri Feb 26 07:03:59 2021
Support LLVM 11+ atomic instruction alignment change
Atomic instructions now take an alignment parameter.
llvm::MaybeAlign() means undefined alignment, which makes the compiler
emit atomic operations that can handle unaligned data. This is probably
overly conservative since our use cases typically ensure alignment. But
that's an optimization we can prudently make later if/when proven
useful.
Bug:
Change-Id: I2d0f0f0b5ae8ca811e97c2f5e2f34cc06ca7ee09
Reviewed-on:
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Commit-Queue: Nicolas Capens <nicolascapens@google.com>
M src/Reactor/LLVMReactor.cpp
ap...@google.com <ap...@google.com> #6
Project: SwiftShader
Branch: master
commit 85ea733c282ce524b494e4831d0bcd4bee4c819f
Author: Nicolas Capens <capn@google.com>
Date: Fri Jan 29 16:54:36 2021
Update llvm::ConstantVector::getSplat() usage to take ElementCount
LLVM 11 removes support for llvm::ConstantVector::getSplat() to take an
integer number of vector elements obtained from the getNumElements()
method. Use the new getElementCount() approach instead.
Seehttps://reviews.llvm.org/D74386
Bug: b/188819735
Bug: b/165000222
Bug: b/178600922
Change-Id: I202a8725e1e00f35d7f5d5ee76f5538243d157b9
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/52268
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
M src/Reactor/LLVMReactor.cpp
https://swiftshader-review.googlesource.com/52268
Branch: master
commit 85ea733c282ce524b494e4831d0bcd4bee4c819f
Author: Nicolas Capens <capn@google.com>
Date: Fri Jan 29 16:54:36 2021
Update llvm::ConstantVector::getSplat() usage to take ElementCount
LLVM 11 removes support for llvm::ConstantVector::getSplat() to take an
integer number of vector elements obtained from the getNumElements()
method. Use the new getElementCount() approach instead.
See
Bug:
Bug:
Bug:
Change-Id: I202a8725e1e00f35d7f5d5ee76f5538243d157b9
Reviewed-on:
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
M src/Reactor/LLVMReactor.cpp
ap...@google.com <ap...@google.com> #7
Project: SwiftShader
Branch: master
commit 16f4b38bdc034f5524cbf0cfd196a98a60a4b98b
Author: Nicolas Capens <capn@google.com>
Date: Wed Jan 05 10:16:33 2022
Emit function attribute "coroutine.presplit" for coroutines
This fixes issues with recent LLVM revisions that require this
attribute:https://llvm.org/docs/Coroutines.html .
Context:
cl/419786634
https://github.com/llvm/llvm-project/commit/c75cedc237f9747c5d5fe2a312d5ccc8531e2e70
https://reviews.llvm.org/D115790
Bug: b/165000222
Change-Id: I75308c6cf75d7aa9b823e7ded37f3f6ddf0a7010
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/61148
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
M src/Reactor/LLVMReactor.cpp
https://swiftshader-review.googlesource.com/61148
Branch: master
commit 16f4b38bdc034f5524cbf0cfd196a98a60a4b98b
Author: Nicolas Capens <capn@google.com>
Date: Wed Jan 05 10:16:33 2022
Emit function attribute "coroutine.presplit" for coroutines
This fixes issues with recent LLVM revisions that require this
attribute:
Context:
cl/419786634
Bug:
Change-Id: I75308c6cf75d7aa9b823e7ded37f3f6ddf0a7010
Reviewed-on:
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
M src/Reactor/LLVMReactor.cpp
ap...@google.com <ap...@google.com> #8
Project: SwiftShader
Branch: master
commit 6014f10de5542e5f2727583b43dd35b737643d0c
Author: Nicolas Capens <capn@google.com>
Date: Wed Feb 02 11:06:24 2022
Fix building Reactor with the latest LLVM revision
llvm/Pass.h is no longer included by the other headers we depend on, so
include it explicitly.
This upstreams the change from cl/425862763.
Bug: b/165000222
Change-Id: I06e1c4596c028373ac40ee8969a4a0842f2c3aa6
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/62148
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Sean Risser <srisser@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
M src/Reactor/LLVMReactor.cpp
https://swiftshader-review.googlesource.com/62148
Branch: master
commit 6014f10de5542e5f2727583b43dd35b737643d0c
Author: Nicolas Capens <capn@google.com>
Date: Wed Feb 02 11:06:24 2022
Fix building Reactor with the latest LLVM revision
llvm/Pass.h is no longer included by the other headers we depend on, so
include it explicitly.
This upstreams the change from cl/425862763.
Bug:
Change-Id: I06e1c4596c028373ac40ee8969a4a0842f2c3aa6
Reviewed-on:
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Sean Risser <srisser@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
M src/Reactor/LLVMReactor.cpp
ap...@google.com <ap...@google.com> #9
Project: SwiftShader
Branch: master
commit 3e6c031b9ad3efe1851a420257aa66ec76bc97ae
Author: Nicolas Capens <capn@google.com>
Date: Wed Jan 26 10:13:33 2022
Document our LLVM dependency and steps to upgrade
Bug: b/165000222
Change-Id: I0044dcb095ae1ae195de153485088f91fa987fb6
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/61828
Reviewed-by: Sean Risser <srisser@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
A docs/LLVM.md
https://swiftshader-review.googlesource.com/61828
Branch: master
commit 3e6c031b9ad3efe1851a420257aa66ec76bc97ae
Author: Nicolas Capens <capn@google.com>
Date: Wed Jan 26 10:13:33 2022
Document our LLVM dependency and steps to upgrade
Bug:
Change-Id: I0044dcb095ae1ae195de153485088f91fa987fb6
Reviewed-on:
Reviewed-by: Sean Risser <srisser@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
A docs/LLVM.md
ap...@google.com <ap...@google.com> #10
Project: SwiftShader
Branch: master
commit 8ccc63f045d5975fb67f9dfd3d2b8235b0526990
Author: Benjamin Kramer <kramerb@google.com>
Date: Tue Feb 08 12:54:51 2022
Avoid deprecated llvm::IRBuilder::CreateShuffleVector overload
The version taking an unsigned int have been deprecated for years, use
the int version instead.
Also remove x86::pmov*() intrinsics. They were already implemented
using the generic shuffle instruction, which LLVM 10+ successfully
lowers to the intended x86 instruction.
Bug: b/165000222
Change-Id: I404a40388485c0b1256fc303c8e631198e626082
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/62528
Reviewed-by: Benjamin Kramer <kramerb@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
M src/Reactor/x86.hpp
M src/Reactor/LLVMReactor.cpp
https://swiftshader-review.googlesource.com/62528
Branch: master
commit 8ccc63f045d5975fb67f9dfd3d2b8235b0526990
Author: Benjamin Kramer <kramerb@google.com>
Date: Tue Feb 08 12:54:51 2022
Avoid deprecated llvm::IRBuilder::CreateShuffleVector overload
The version taking an unsigned int have been deprecated for years, use
the int version instead.
Also remove x86::pmov*() intrinsics. They were already implemented
using the generic shuffle instruction, which LLVM 10+ successfully
lowers to the intended x86 instruction.
Bug:
Change-Id: I404a40388485c0b1256fc303c8e631198e626082
Reviewed-on:
Reviewed-by: Benjamin Kramer <kramerb@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
M src/Reactor/x86.hpp
M src/Reactor/LLVMReactor.cpp
ap...@google.com <ap...@google.com> #11
Project: SwiftShader
Branch: master
commit 2176cdf0ad7b87409c5ad2525a5a5c16b57488a6
Author: Nicolas Capens <capn@google.com>
Date: Tue Feb 08 16:17:25 2022
Fix non-x86 build of LLVM Reactor
LLVM 10's CreateShuffleVector() doesn't take an array of signed integers
as the shuffle mask parameter. To be compatible with both old and new
versions of LLVM, use the function which takes an array of
llvm::Constant instead.
We didn't catch this sooner because the fallback implementations of
some x86 intrinsics are not built on x86, so this change also makes
their compilation unconditional, using [[maybe_unused]] to avoid
pedantic warnings treated as errors.
Bug: b/165000222
Change-Id: Idd42eab17b65a38564ea6293daec5a4d6af8d6fe
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/62608
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
M src/Reactor/LLVMReactor.cpp
https://swiftshader-review.googlesource.com/62608
Branch: master
commit 2176cdf0ad7b87409c5ad2525a5a5c16b57488a6
Author: Nicolas Capens <capn@google.com>
Date: Tue Feb 08 16:17:25 2022
Fix non-x86 build of LLVM Reactor
LLVM 10's CreateShuffleVector() doesn't take an array of signed integers
as the shuffle mask parameter. To be compatible with both old and new
versions of LLVM, use the function which takes an array of
llvm::Constant instead.
We didn't catch this sooner because the fallback implementations of
some x86 intrinsics are not built on x86, so this change also makes
their compilation unconditional, using [[maybe_unused]] to avoid
pedantic warnings treated as errors.
Bug:
Change-Id: Idd42eab17b65a38564ea6293daec5a4d6af8d6fe
Reviewed-on:
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
M src/Reactor/LLVMReactor.cpp
ap...@google.com <ap...@google.com> #12
Project: SwiftShader
Branch: master
commit bc0f663afc44e9f89079fdf7c42b162f0d7eb453
Author: Nicolas Capens <capn@google.com>
Date: Thu Feb 10 11:20:37 2022
Fix shuffling of vectors with a different size mask
LLVM specifies that for the `shufflevector` instruction "The result of
the instruction is a vector whose length is the same as the shuffle
mask":https://llvm.org/docs/LangRef.html#shufflevector-instruction .
Reactor's Nucleus::createShuffleVector() function however takes a raw
pointer to integers as the selection mask, and assumes the size of this
array to be the same as the number of components in the source vectors.
This was also how lowerShuffleVector() worked previously, which was
fine for all uses we had in the x86 specific code.
For other architectures the lowerPack() function was assuming the LLVM
behavior. To reconcile this, the lowerShuffleVector() now takes an
llvm::ArrayRef<int> and behaves like LLVM, and createShuffleVector()
explicitly creates an llvm::SmallVector<int> of the desired size.
Bug: b/218700092
Bug: b/165000222
Change-Id: I70ff9f1d9c1f085ccc548a4ec706e7d515b638d5
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/62708
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
M src/Reactor/LLVMReactor.cpp
https://swiftshader-review.googlesource.com/62708
Branch: master
commit bc0f663afc44e9f89079fdf7c42b162f0d7eb453
Author: Nicolas Capens <capn@google.com>
Date: Thu Feb 10 11:20:37 2022
Fix shuffling of vectors with a different size mask
LLVM specifies that for the `shufflevector` instruction "The result of
the instruction is a vector whose length is the same as the shuffle
mask":
Reactor's Nucleus::createShuffleVector() function however takes a raw
pointer to integers as the selection mask, and assumes the size of this
array to be the same as the number of components in the source vectors.
This was also how lowerShuffleVector() worked previously, which was
fine for all uses we had in the x86 specific code.
For other architectures the lowerPack() function was assuming the LLVM
behavior. To reconcile this, the lowerShuffleVector() now takes an
llvm::ArrayRef<int> and behaves like LLVM, and createShuffleVector()
explicitly creates an llvm::SmallVector<int> of the desired size.
Bug:
Bug:
Change-Id: I70ff9f1d9c1f085ccc548a4ec706e7d515b638d5
Reviewed-on:
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
M src/Reactor/LLVMReactor.cpp
ap...@google.com <ap...@google.com> #13
Project: SwiftShader
Branch: master
commit 4f504b04291bd47fa7b246f7ed3a59da041a074b
Author: Nicolas Capens <capn@google.com>
Date: Thu Feb 10 14:13:50 2022
Fix rr::RoundIntClamped() for architectures other than x86 and ARM
Previously we assumed that non-x86 architectures return clamped results
for out-of-range inputs to casting floating-point numbers to integers.
This is true at least for ARM, but not for RISC-V and possibly others.
An implementation which depends on LLVM's fptosi_sat intrinsic has been
added, which requires a recent version of LLVM. When not available, we
fall back to explicitly clamping both the upper and lower bound.
Bug: b/217573066
Bug: b/165000222
Change-Id: Ia5f1f6de395f52852044c7e1f875c1164b18f09b
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/62728
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
M src/Reactor/LLVMReactor.cpp
https://swiftshader-review.googlesource.com/62728
Branch: master
commit 4f504b04291bd47fa7b246f7ed3a59da041a074b
Author: Nicolas Capens <capn@google.com>
Date: Thu Feb 10 14:13:50 2022
Fix rr::RoundIntClamped() for architectures other than x86 and ARM
Previously we assumed that non-x86 architectures return clamped results
for out-of-range inputs to casting floating-point numbers to integers.
This is true at least for ARM, but not for RISC-V and possibly others.
An implementation which depends on LLVM's fptosi_sat intrinsic has been
added, which requires a recent version of LLVM. When not available, we
fall back to explicitly clamping both the upper and lower bound.
Bug:
Bug:
Change-Id: Ia5f1f6de395f52852044c7e1f875c1164b18f09b
Reviewed-on:
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
M src/Reactor/LLVMReactor.cpp
ap...@google.com <ap...@google.com> #14
Project: SwiftShader
Branch: master
commit 3fbdc2640876911e4d44dcb9a17564aa6dc5f558
Author: Nicolas Capens <capn@google.com>
Date: Fri Feb 25 00:15:00 2022
Assert llvm::Expected<> don't contain an error
When LLVM_ENABLE_ABI_BREAKING_CHECKS is true, llvm::Expected<> asserts
that we've checked it for errors before using its contained value. This
can be done by invoking its operator bool(), so simply asserting the
object ourselves suffices.
Also make it clearer what type Unwrap() returns.
Bug: b/165000222
Change-Id: I38165ebbd0356fb1ca109963f0b9b2a2415af52a
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/63408
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
M src/Reactor/LLVMJIT.cpp
https://swiftshader-review.googlesource.com/63408
Branch: master
commit 3fbdc2640876911e4d44dcb9a17564aa6dc5f558
Author: Nicolas Capens <capn@google.com>
Date: Fri Feb 25 00:15:00 2022
Assert llvm::Expected<> don't contain an error
When LLVM_ENABLE_ABI_BREAKING_CHECKS is true, llvm::Expected<> asserts
that we've checked it for errors before using its contained value. This
can be done by invoking its operator bool(), so simply asserting the
object ourselves suffices.
Also make it clearer what type Unwrap() returns.
Bug:
Change-Id: I38165ebbd0356fb1ca109963f0b9b2a2415af52a
Reviewed-on:
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
M src/Reactor/LLVMJIT.cpp
ap...@google.com <ap...@google.com> #15
Project: SwiftShader
Branch: master
commit c13f4b1db4593b2d6a2fec856737374f47100379
Author: Nicolas Capens <capn@google.com>
Date: Fri Feb 25 11:08:07 2022
Set the stack limit through a function attribute
Recent versions of LLVM control the stack size limit through a function
attribute.
Note that older versions of LLVM simply ignore this attribute so we
don't have to set it conditionally. The -warn-stack-size command line
option can be removed though once we use LLVM 13+ everywhere.
Bug: b/191193823
Bug: b/165000222
Change-Id: Ie5d18031c5cd13e1fb2703110974e4cf59458077
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/63410
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
M src/Reactor/LLVMReactor.cpp
M src/Reactor/LLVMJIT.cpp
https://swiftshader-review.googlesource.com/63410
Branch: master
commit c13f4b1db4593b2d6a2fec856737374f47100379
Author: Nicolas Capens <capn@google.com>
Date: Fri Feb 25 11:08:07 2022
Set the stack limit through a function attribute
Recent versions of LLVM control the stack size limit through a function
attribute.
Note that older versions of LLVM simply ignore this attribute so we
don't have to set it conditionally. The -warn-stack-size command line
option can be removed though once we use LLVM 13+ everywhere.
Bug:
Bug:
Change-Id: Ie5d18031c5cd13e1fb2703110974e4cf59458077
Reviewed-on:
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
M src/Reactor/LLVMReactor.cpp
M src/Reactor/LLVMJIT.cpp
ap...@google.com <ap...@google.com> #16
Project: SwiftShader
Branch: master
commit adef92e7b4c63b0c00300635dfbf4c37dab3c5b9
Author: Nicolas Capens <capn@google.com>
Date: Wed Apr 27 22:50:48 2022
Fix CMake build using Clang 13 compiler
LLVM 10 and the LLVM headers used by Subzero make use of std::iterator, which is deprecated in C++17. It produces a warning when compiling with Clang 13, which gets treated as an error. Suppress it using
-Wno-deprecated-declarations.
Bug: b/165000222
Bug: b/203065816
Change-Id: I249eeab04c726799eab89117419d922002062de4
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/65368
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
M third_party/llvm-subzero/CMakeLists.txt
M third_party/llvm-10.0/CMakeLists.txt
https://swiftshader-review.googlesource.com/65368
Branch: master
commit adef92e7b4c63b0c00300635dfbf4c37dab3c5b9
Author: Nicolas Capens <capn@google.com>
Date: Wed Apr 27 22:50:48 2022
Fix CMake build using Clang 13 compiler
LLVM 10 and the LLVM headers used by Subzero make use of std::iterator, which is deprecated in C++17. It produces a warning when compiling with Clang 13, which gets treated as an error. Suppress it using
-Wno-deprecated-declarations.
Bug:
Bug:
Change-Id: I249eeab04c726799eab89117419d922002062de4
Reviewed-on:
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
M third_party/llvm-subzero/CMakeLists.txt
M third_party/llvm-10.0/CMakeLists.txt
ap...@google.com <ap...@google.com> #17
Project: SwiftShader
Branch: master
commit 4011ab35f3d875173cc842ea098a3ba2118b6d3a
Author: Nicolas Capens <capn@google.com>
Date: Fri May 13 12:06:51 2022
Eliminate PointerType::getContainedType() calls
LLVM is removing pointee type information from pointers:
https://llvm.org/docs/OpaquePointers.html . This means getContainedType()
is slated to be removed.
Reactor only used it in asserts to make sure the type matches what
LLVM expects, to avoid asserts in LLVM itself. Since the latter are
removed, we no longer need the asserts in Reactor either. Note our type
system for Pointer<T> already prevented mistakes in its semantic usage.
Bug: b/165000222
Bug: b/179837109
Change-Id: If8ec095e67b8e6176aa87e20822ac325095b8ece
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/65828
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Arthur Eubanks <aeubanks@google.com>
M src/Reactor/LLVMReactor.cpp
https://swiftshader-review.googlesource.com/65828
Branch: master
commit 4011ab35f3d875173cc842ea098a3ba2118b6d3a
Author: Nicolas Capens <capn@google.com>
Date: Fri May 13 12:06:51 2022
Eliminate PointerType::getContainedType() calls
LLVM is removing pointee type information from pointers:
is slated to be removed.
Reactor only used it in asserts to make sure the type matches what
LLVM expects, to avoid asserts in LLVM itself. Since the latter are
removed, we no longer need the asserts in Reactor either. Note our type
system for Pointer<T> already prevented mistakes in its semantic usage.
Bug:
Bug:
Change-Id: If8ec095e67b8e6176aa87e20822ac325095b8ece
Reviewed-on:
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Arthur Eubanks <aeubanks@google.com>
M src/Reactor/LLVMReactor.cpp
ap...@google.com <ap...@google.com> #18
Project: SwiftShader
Branch: master
commit 8c9c9f7a53a55519c6e2f2baff6adfd085a1deeb
Author: Nicolas Capens <capn@google.com>
Date: Wed Sep 07 10:24:08 2022
Update renamed LLVM sanitizer passes
This integrates cl/472657058 and updates the LLVM-Submodule backend
for Reactor to the matching revision.
Bug: b/165000222
Change-Id: Ibc7329f6202cdb4846663c9ff024c386bc65c25a
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/68048
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
M third_party/llvm-project
M src/Reactor/LLVMJIT.cpp
https://swiftshader-review.googlesource.com/68048
Branch: master
commit 8c9c9f7a53a55519c6e2f2baff6adfd085a1deeb
Author: Nicolas Capens <capn@google.com>
Date: Wed Sep 07 10:24:08 2022
Update renamed LLVM sanitizer passes
This integrates cl/472657058 and updates the LLVM-Submodule backend
for Reactor to the matching revision.
Bug:
Change-Id: Ibc7329f6202cdb4846663c9ff024c386bc65c25a
Reviewed-on:
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
M third_party/llvm-project
M src/Reactor/LLVMJIT.cpp
ap...@google.com <ap...@google.com> #19
Project: SwiftShader
Branch: master
commit 4e4d2b45391f209230f75d77fc8b1eeb662dea7a
Author: Nicolas Capens <capn@google.com>
Date: Wed Sep 07 15:54:28 2022
Update renamed MemorySanitizer pass
This integrates cl/472732628 and updates the LLVM-Submodule backend
for Reactor to the matching revision.
Bug: b/165000222
Change-Id: I66c3ce48fffd93e8cb87268ee7a493878277a9cb
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/68049
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
M third_party/llvm-project
M src/Reactor/LLVMJIT.cpp
https://swiftshader-review.googlesource.com/68049
Branch: master
commit 4e4d2b45391f209230f75d77fc8b1eeb662dea7a
Author: Nicolas Capens <capn@google.com>
Date: Wed Sep 07 15:54:28 2022
Update renamed MemorySanitizer pass
This integrates cl/472732628 and updates the LLVM-Submodule backend
for Reactor to the matching revision.
Bug:
Change-Id: I66c3ce48fffd93e8cb87268ee7a493878277a9cb
Reviewed-on:
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
M third_party/llvm-project
M src/Reactor/LLVMJIT.cpp
ap...@google.com <ap...@google.com> #20
Project: SwiftShader
Branch: master
commit d0aa9ad9447025a42f17df1b93bd71183e9b2d1f
Author: Nicolas Capens <nicolas.capens@gmail.com>
Date: Thu Dec 22 01:46:20 2022
Support LLVM 16+ API change
Bug: b/165000222
Change-Id: I4a77e7740d0af3b72627db1bec7d3094c2e69d21
Reviewed-on:https://swiftshader-review.googlesource.com/c/SwiftShader/+/70528
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Commit-Queue: Alexis Hétu <sugoi@google.com>
M src/Reactor/LLVMReactor.cpp
https://swiftshader-review.googlesource.com/70528
Branch: master
commit d0aa9ad9447025a42f17df1b93bd71183e9b2d1f
Author: Nicolas Capens <nicolas.capens@gmail.com>
Date: Thu Dec 22 01:46:20 2022
Support LLVM 16+ API change
Bug:
Change-Id: I4a77e7740d0af3b72627db1bec7d3094c2e69d21
Reviewed-on:
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Commit-Queue: Alexis Hétu <sugoi@google.com>
M src/Reactor/LLVMReactor.cpp
Description
Upgrade Reactor's LLVM backend to version 11 or newer.