#
2983053d |
| 18-May-2021 |
Arthur Eubanks <aeubanks@google.com> |
[NFC][OpaquePtr] Explicitly pass GEP source type to IRBuilder in more places
|
#
2c3afa32 |
| 27-May-2021 |
Arthur Eubanks <aeubanks@google.com> |
[OpaquePtr] Clean up some uses of Type::getPointerElementType()
These depend on pointee types.
|
#
e89b60fc |
| 18-May-2021 |
Neal (nealsid) <nealsid@icloud.com> |
Update MSVC version number in preprocessor check
Passing template parameter packs to std::map doesn't work in VS 2017/2019, so this updates the preprocessor version check to use an alternate version
Update MSVC version number in preprocessor check
Passing template parameter packs to std::map doesn't work in VS 2017/2019, so this updates the preprocessor version check to use an alternate version in VS2019, as well.
Reviewed By: DavidSpickett
Differential Revision: https://reviews.llvm.org/D102260
show more ...
|
#
ea64200b |
| 10-May-2021 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
HexagonVectorCombine.cpp - don't negate a bool value. NFCI.
Silences MSVC warning.
|
#
56102693 |
| 07-May-2021 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Propagate metadata in Hexagon Vector Combine
|
#
899352c7 |
| 28-Apr-2021 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Skip function in Hexagon vector combine if requested
Add a call to skipFunction().
|
#
f3451162 |
| 22-Apr-2021 |
Coplin, Jared <jcoplin@quicinc.com> |
[Hexagon] Unmasked and masked load pair to dame bae -? one load and selects
|
#
e8d04754 |
| 22-Apr-2021 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
Revert "[Hexagon] Masked and unmasked load to same base -> load and two selects"
This reverts commit 96dc8d7e7dee68592e56d69184b92fcb021cdb9c.
It breaks a few builds.
|
#
96dc8d7e |
| 22-Apr-2021 |
Coplin, Jared <jcoplin@quicinc.com> |
[Hexagon] Masked and unmasked load to same base -> load and two selects
|
#
57443bfb |
| 19-Jan-2021 |
Brendon Cahoon <bcahoon@quicinc.com> |
[Hexagon] Fix segment start to adjust for gaps between segments
The Hexagon Vector Combine pass genertes stores for a complete aligned vector. The start of each section is a multiple of the vector s
[Hexagon] Fix segment start to adjust for gaps between segments
The Hexagon Vector Combine pass genertes stores for a complete aligned vector. The start of each section is a multiple of the vector size, so that value is passed to normalize to compute the offset of the stores in the section. The first store may not occur at offset 0 when there is a gap between sections.
show more ...
|
#
46975b5b |
| 06-Jan-2021 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Wrap functions only used in asserts in ifndef NDEBUG
|
#
ee11bf31 |
| 05-Jan-2021 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Silence unused function warning with gcc10, NFC
|
#
985f899b |
| 03-Jan-2021 |
Kazu Hirata <kazu@google.com> |
[Target] Use llvm::append_range (NFC)
|
#
9b296102 |
| 29-Dec-2020 |
Juneyoung Lee <aqjune@gmail.com> |
Use unary CreateShuffleVector if possible
As mentioned in D93793, there are quite a few places where unary `IRBuilder::CreateShuffleVector(X, Mask)` can be used instead of `IRBuilder::CreateShuffleV
Use unary CreateShuffleVector if possible
As mentioned in D93793, there are quite a few places where unary `IRBuilder::CreateShuffleVector(X, Mask)` can be used instead of `IRBuilder::CreateShuffleVector(X, Undef, Mask)`. Let's update them.
Actually, it would have been more natural if the patches were made in this order: (1) let them use unary CreateShuffleVector first (2) update IRBuilder::CreateShuffleVector to use poison as a placeholder value (D93793)
The order is swapped, but in terms of correctness it is still fine.
Reviewed By: spatel
Differential Revision: https://reviews.llvm.org/D93923
show more ...
|
#
fe0527e1 |
| 16-Dec-2020 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Temporarily disable vector realignment for non-HVX vectors
|
#
16385643 |
| 16-Dec-2020 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Emit enough stores when aligning vector addresses
|
#
55fc64bc |
| 14-Dec-2020 |
Reid Kleckner <rnk@google.com> |
[Hexagon] Tweak _MSC_VER workaround version
My bot runs VS 2019, but it could not compile this code.
Message: [55/2465] Building CXX object lib\Target\Hexagon\CMakeFiles\LLVMHexagonCodeGen.dir\Hexa
[Hexagon] Tweak _MSC_VER workaround version
My bot runs VS 2019, but it could not compile this code.
Message: [55/2465] Building CXX object lib\Target\Hexagon\CMakeFiles\LLVMHexagonCodeGen.dir\HexagonVectorCombine.cpp.obj FAILED: lib/Target/Hexagon/CMakeFiles/LLVMHexagonCodeGen.dir/HexagonVectorCombine.cpp.obj ... C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.23.28105\include\map(71): error C2976: 'std::map': too few template arguments C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.23.28105\include\map(71): note: see declaration of 'std::map'
The version in the path, 14.23, corresponds to _MSC_VER 1923, so raise the version floor to 1924.
I have not tested with versions between 1924 and 1928 (latest), but the latest works with the variadic version.
show more ...
|
#
baf931a8 |
| 12-Dec-2020 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Reconsider getMask fix, return original mask, convert later
The getPayload/getMask/getPassThrough functions should return values that could be composed into a masked load/store without any
[Hexagon] Reconsider getMask fix, return original mask, convert later
The getPayload/getMask/getPassThrough functions should return values that could be composed into a masked load/store without any additional type casts. The previous fix violated that. Instead, convert scalar mask to a vector right before rescaling.
show more ...
|
#
2cf53104 |
| 12-Dec-2020 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Create vector masks for scalar loads/stores
AlignVectors treats all loaded/stored values as vectors of bytes, and masks as corresponding vectors of booleans, so make getMask produce a 1-el
[Hexagon] Create vector masks for scalar loads/stores
AlignVectors treats all loaded/stored values as vectors of bytes, and masks as corresponding vectors of booleans, so make getMask produce a 1-element vector for scalars from the start.
show more ...
|
#
2d8cc547 |
| 11-Dec-2020 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Workaround for compilation error with VS2017
|
#
7c9afe91 |
| 10-Dec-2020 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Fix gcc6 compilation issue
|
#
eeb713bb |
| 10-Dec-2020 |
Benjamin Kramer <benny.kra@googlemail.com> |
[Hexagon] Fold single-use variables into assert. NFCI.
Silences unused variable warnings in Release builds.
|
#
e3b2828b |
| 09-Dec-2020 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Silence warnings about unused objects
|
#
43d1c7a5 |
| 09-Dec-2020 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Fix build: move template specialization into namespace scope
|
Revision tags: llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3 |
|
#
f5d07a05 |
| 07-Sep-2020 |
Krzysztof Parzyszek <kparzysz@quicinc.com> |
[Hexagon] Realign HVX vectors wherever possible
Introduce HexagonVectorCombine as a helper class for vector-related optimizations.
|