History log of /llvm-project/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp (Results 76 – 100 of 100)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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.


1234