History log of /llvm-project/llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp (Results 51 – 75 of 100)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 361a27c1 28-Sep-2022 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Recognize idioms for fixed-point vector multiplication

Recognize Q.15*Q.15 and Q.31*Q.31, with and without rounding.


# e8375e30 10-Oct-2022 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Use IRBuilderBase in function parameters

This will allow using builders with different folders.


# cb680410 11-Oct-2022 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Remove unused function, NFC


# 09d84e0a 07-Oct-2022 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Implement helper to get intrinsic for instruction opcode

There are intrinsics for most scalar instructions and almost all HVX
instructions. What's somewhat painful is that there are two in

[Hexagon] Implement helper to get intrinsic for instruction opcode

There are intrinsics for most scalar instructions and almost all HVX
instructions. What's somewhat painful is that there are two intrinsics
for each HVX instruction: one for 64- and one for 128-byte mode.
Instead of checking the current codegen settings every time, this
function would simply return the right intrinsic.

show more ...


# d184045d 06-Oct-2022 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Formatting changes, NFC


# e492cdc3 06-Oct-2022 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Add couple of helper functions in HexagonVectorCombine

1. `length(value/type)`: return the number of elements in the vector
input,
2. `getHvxTy(elem_type)`: return the HVX vector type w

[Hexagon] Add couple of helper functions in HexagonVectorCombine

1. `length(value/type)`: return the number of elements in the vector
input,
2. `getHvxTy(elem_type)`: return the HVX vector type with the element
type provided.

These will help write things more succintly.

show more ...


# 06019b8e 06-Oct-2022 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Add default parameter to HexagonVectorCombine::getIntTy, NFC


# 2216d8f6 28-Sep-2022 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Replace llvm::Optional with std::optional, NFC


# 473210ae 27-Sep-2022 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Constify member refererence, NFC


# 759bedad 28-Sep-2022 Simon Pilgrim <llvm-dev@redking.me.uk>

Fix MSVC "not all control paths return a value" warning. NFCI.


# 7da2b918 27-Sep-2022 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Unify getSizeOfs in HexagonVectorCombine, NFC


# 9c9e877b 27-Sep-2022 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Move function to a different class, NFC

"Sector" is a concept from AlignVectors, so the check for it
should be there.


Revision tags: llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3
# 252cea03 18-Aug-2022 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Add defaulted operator= to classes with defaulted copy ctor

This avoids deprecation warning:
```
warning: definition of implicit copy assignment operator for 'AddrInfo'
is deprecated becau

[Hexagon] Add defaulted operator= to classes with defaulted copy ctor

This avoids deprecation warning:
```
warning: definition of implicit copy assignment operator for 'AddrInfo'
is deprecated because it has a user-declared copy constructor
[-Wdeprecated-copy]
```

This fixes https://github.com/llvm/llvm-project/issues/57229

show more ...


Revision tags: llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init
# 068d5066 24-Jul-2022 Kazu Hirata <kazu@google.com>

[Hexagon] Remove unused declaration getByteVectorTy (NFC)

The declaration was introduced without a corresponding definition on
Sep 7, 2020 in commit f5d07a05bbd41f827ccfa1bed7bfdfbab2be85dc.


Revision tags: llvmorg-14.0.6, llvmorg-14.0.5
# b8c2781f 09-Jun-2022 Simon Moll <moll@cs.uni-saarland.de>

[NFC] format InstructionSimplify & lowerCaseFunctionNames

Clang-format InstructionSimplify and convert all "FunctionName"s to
"functionName". This patch does touch a lot of files but gets done with

[NFC] format InstructionSimplify & lowerCaseFunctionNames

Clang-format InstructionSimplify and convert all "FunctionName"s to
"functionName". This patch does touch a lot of files but gets done with
the cleanup of InstructionSimplify in one commit.

This is the alternative to the less invasive clang-format only patch: D126783

Reviewed By: spatel, rengolin

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

show more ...


Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1
# ee7324b8 21-Mar-2022 Philip Reames <listmail@philipreames.com>

Rename mayBeMemoryDependent to mayHaveNonDefUseDependency [nfc]


Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init
# aa97bc11 21-Jan-2022 Nikita Popov <npopov@redhat.com>

[NFC] Remove uses of PointerType::getElementType()

Instead use either Type::getPointerElementType() or
Type::getNonOpaquePointerElementType().

This is part of D117885, in preparation for deprecatin

[NFC] Remove uses of PointerType::getElementType()

Instead use either Type::getPointerElementType() or
Type::getNonOpaquePointerElementType().

This is part of D117885, in preparation for deprecating the API.

show more ...


Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2
# db5b7915 04-Jan-2022 Brendon Cahoon <bcahoon@quicinc.com>

[Hexagon] Fix an instruction move in HexagonVectorCombine

The HexagonVectorCombine pass was moving an instruction
incorrectly, which caused a use in a GEP that was not yet
defined.

HexagonVectorCom

[Hexagon] Fix an instruction move in HexagonVectorCombine

The HexagonVectorCombine pass was moving an instruction
incorrectly, which caused a use in a GEP that was not yet
defined.

HexagonVectorCombine removes a load from a group due to its
dependences, but in realignGroup, the load is processed anyways.
In realignGroup, when determining the maximum alignment, only
those instructions still in the group should be considered.

show more ...


Revision tags: llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2
# e107374e 12-Dec-2020 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Explicitly use integer types when rescaling a mask


# 26bd534a 17-Dec-2021 Kazu Hirata <kazu@google.com>

[llvm] Use none_of instead of \!any_of (NFC)


# dc9b5550 22-Nov-2021 Zarko Todorovski <zarko@ca.ibm.com>

[NFC][llvm][Hexagon] Inclusive Terms remove uses of sanity in Hexagon taget

Most changes are rewording comments but there are some assertions that I rephrased.

Reviewed By: kparzysz

Differential R

[NFC][llvm][Hexagon] Inclusive Terms remove uses of sanity in Hexagon taget

Most changes are rewording comments but there are some assertions that I rephrased.

Reviewed By: kparzysz

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

show more ...


# a9bceb2b 30-Sep-2021 Jay Foad <jay.foad@amd.com>

[APInt] Stop using soft-deprecated constructors and methods in llvm. NFC.

Stop using APInt constructors and methods that were soft-deprecated in
D109483. This fixes all the uses I found in llvm, exc

[APInt] Stop using soft-deprecated constructors and methods in llvm. NFC.

Stop using APInt constructors and methods that were soft-deprecated in
D109483. This fixes all the uses I found in llvm, except for the APInt
unit tests which should still test the deprecated methods.

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

show more ...


# 42dace9c 14-Sep-2021 Brendon Cahoon <bcahoon@quicinc.com>

[Hexagon] Use getTypeAllocSize to compute difference between objects

The code was using getTypeStoreSize to calculate the difference
between consecutive objects. The calculation was incorrect due
to

[Hexagon] Use getTypeAllocSize to compute difference between objects

The code was using getTypeStoreSize to calculate the difference
between consecutive objects. The calculation was incorrect due
to padding that is added between consecutive objects. The
getTypeAllocSize includes the padding amount. For example,
if the type is [19 x i8], the difference between consecutive
objects is 32 bytes, not 19 bytes.

A second case for getTypeAllocSize is needed when computing
the pointer values for the vector accesses. The calculation needs
to account for the padding as well.

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

show more ...


# fabc1719 03-Jul-2021 Nikita Popov <nikita.ppv@gmail.com>

[IRBuilder] Add type argument to CreateMaskedLoad/Gather

Same as other CreateLoad-style APIs, these need an explicit type
argument to support opaque pointers.

Differential Revision: https://reviews

[IRBuilder] Add type argument to CreateMaskedLoad/Gather

Same as other CreateLoad-style APIs, these need an explicit type
argument to support opaque pointers.

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

show more ...


# 81b42ca9 02-Jul-2021 Krzysztof Parzyszek <kparzysz@quicinc.com>

[Hexagon] Handle opaque pointers in vector combine


1234