#
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
|