Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6 |
|
#
f01b62ad |
| 13-Dec-2024 |
Kazu Hirata <kazu@google.com> |
[GlobalISel] Fix warnings
This patch fixes:
llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp:167:21: error: unused variable 'DL' [-Werror,-Wunused-variable]
llvm/lib/CodeGen/GlobalISel/Lo
[GlobalISel] Fix warnings
This patch fixes:
llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp:167:21: error: unused variable 'DL' [-Werror,-Wunused-variable]
llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp:320:15: error: unused variable 'DL' [-Werror,-Wunused-variable]
show more ...
|
#
0d9fc174 |
| 13-Dec-2024 |
Craig Topper <craig.topper@sifive.com> |
[GISel] Remove unused DataLayout operand from getApproximateEVTForLLT (#119833)
|
Revision tags: llvmorg-19.1.5, llvmorg-19.1.4 |
|
#
b83399ea |
| 09-Nov-2024 |
Kazu Hirata <kazu@google.com> |
[GlobalISel] Remove unused includes (NFC) (#115429)
Identified with misc-include-cleaner.
|
Revision tags: llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init |
|
#
9df71d76 |
| 28-Jun-2024 |
Nikita Popov <npopov@redhat.com> |
[IR] Add getDataLayout() helpers to Function and GlobalValue (#96919)
Similar to https://github.com/llvm/llvm-project/pull/96902, this adds
`getDataLayout()` helpers to Function and GlobalValue, re
[IR] Add getDataLayout() helpers to Function and GlobalValue (#96919)
Similar to https://github.com/llvm/llvm-project/pull/96902, this adds
`getDataLayout()` helpers to Function and GlobalValue, replacing the
current `getParent()->getDataLayout()` pattern.
show more ...
|
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5 |
|
#
19f4d682 |
| 30-Apr-2024 |
Amara Emerson <amara@apple.com> |
[GlobalISel] Fix store merging incorrectly classifying an unknown index expr as 0. (#90375)
During analysis, we incorrectly leave the offset part of an address info
struct
as zero, when in actual
[GlobalISel] Fix store merging incorrectly classifying an unknown index expr as 0. (#90375)
During analysis, we incorrectly leave the offset part of an address info
struct
as zero, when in actual fact we failed to decompose it into base +
offset.
This results in incorrectly assuming that the address is adjacent to
another store
addr. To fix this we wrap the offset in an optional<> so we can
distinguish between
real zero and unknown.
Fixes issue #90242
show more ...
|
Revision tags: llvmorg-18.1.4, llvmorg-18.1.3 |
|
#
57146dae |
| 23-Mar-2024 |
Harvin Iriawan <25712785+harviniriawan@users.noreply.github.com> |
[CodeGen] Update for scalable MemoryType in MMO (#70452)
Remove getSizeOrUnknown call when MachineMemOperand is created. For Scalable
TypeSize, the MemoryType created becomes a scalable_vector.
[CodeGen] Update for scalable MemoryType in MMO (#70452)
Remove getSizeOrUnknown call when MachineMemOperand is created. For Scalable
TypeSize, the MemoryType created becomes a scalable_vector.
2 MMOs that have scalable memory access can then use the updated BasicAA that
understands scalable LocationSize.
Original Patch by Harvin Iriawan
Co-authored-by: David Green <david.green@arm.com>
show more ...
|
Revision tags: llvmorg-18.1.2 |
|
#
601e102b |
| 17-Mar-2024 |
David Green <david.green@arm.com> |
[CodeGen] Use LocationSize for MMO getSize (#84751)
This is part of #70452 that changes the type used for the external
interface of MMO to LocationSize as opposed to uint64_t. This means the
const
[CodeGen] Use LocationSize for MMO getSize (#84751)
This is part of #70452 that changes the type used for the external
interface of MMO to LocationSize as opposed to uint64_t. This means the
constructors take LocationSize, and convert ~UINT64_C(0) to
LocationSize::beforeOrAfter(). The getSize methods return a
LocationSize.
This allows us to be more precise with unknown sizes, not accidentally
treating them as unsigned values, and in the future should allow us to
add proper scalable vector support but none of that is included in this
patch. It should mostly be an NFC.
Global ISel is still expected to use the underlying LLT as it needs, and
are not expected to see unknown sizes for generic operations. Most of
the changes are hopefully fairly mechanical, adding a lot of getValue()
calls and protecting them with hasValue() where needed.
show more ...
|
Revision tags: llvmorg-18.1.1 |
|
#
8ee7ef6a |
| 06-Mar-2024 |
David Green <david.green@arm.com> |
[GlobalISel] Use LocationSize in GISelAddressing. NFC (#83885)
This is similar to #83017 but for the areas in GlobalISel's
LoadStoreOpt, and should help simplify #70452 a little. It will likely
ch
[GlobalISel] Use LocationSize in GISelAddressing. NFC (#83885)
This is similar to #83017 but for the areas in GlobalISel's
LoadStoreOpt, and should help simplify #70452 a little. It will likely
change a little again once the sizes can be scalable.
show more ...
|
Revision tags: llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3 |
|
#
a7ee80fa |
| 11-Aug-2023 |
Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> |
[llvm] Drop some more typed pointer bitcasts etc.
|
Revision tags: llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3 |
|
#
d45fae60 |
| 23-Apr-2023 |
NAKAMURA Takumi <geek4civic@gmail.com> |
Move CodeGen/LowLevelType => CodeGen/LowLevelTypeUtils
Before restoring `CodeGen/LowLevelType`, rename this to `LowLevelTypeUtils`.
Differential Revision: https://reviews.llvm.org/D148768
|
Revision tags: llvmorg-16.0.2 |
|
#
29c851f4 |
| 12-Apr-2023 |
Amara Emerson <amara@apple.com> |
[GlobalISel] Move the truncstore_merge combine to the LoadStoreOpt pass and add support for an extra case.
If we have set of mergeable stores of shifts, but the original source value being shifted i
[GlobalISel] Move the truncstore_merge combine to the LoadStoreOpt pass and add support for an extra case.
If we have set of mergeable stores of shifts, but the original source value being shifted is wider than the merged size, we should still be able to merge if we truncate first. To do this however we need to search for stores speculatively up the block, without knowing exactly how many stores we should see before we stop. The old algorithm has to match an exact number of stores to fit the wide type, or it dies. The new one will try to set the wide type to however many stores we found in the upwards block traversal and use later checks to verify if they're a valid mergeable set.
The reason I need to move this to LoadStoreOpt is because the combiner works going top down inside a block, which means that we end up doing partial merges because we haven't seen all the possible stores before we mutate the MIR. In LoadStoreOpt we can go bottom up.
As a side effect of this change, we also end up doing better on an existing test case (missing_store) since we manage to do a partial merge there.
show more ...
|
Revision tags: llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3 |
|
#
66d64aac |
| 19-Feb-2023 |
Amara Emerson <amara@apple.com> |
[GlobalISel] Fix a store-merging bug due to use of >= instead of >.
This fixes a corner case where we would skip doing an alias check because of a >= vs > bug, due to the presence of a non-aliasing
[GlobalISel] Fix a store-merging bug due to use of >= instead of >.
This fixes a corner case where we would skip doing an alias check because of a >= vs > bug, due to the presence of a non-aliasing instruction, in this case the load %safeld.
Fixes issue #59376
show more ...
|
Revision tags: llvmorg-16.0.0-rc2 |
|
#
f20b5071 |
| 28-Jan-2023 |
Kazu Hirata <kazu@google.com> |
[llvm] Use llvm::bit_floor instead of llvm::PowerOf2Floor (NFC)
|
Revision tags: llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7 |
|
#
8fd5558b |
| 11-Jan-2023 |
Guillaume Chatelet <gchatelet@google.com> |
[NFC] Use TypeSize::geFixedValue() instead of TypeSize::getFixedSize()
This change is one of a series to implement the discussion from https://reviews.llvm.org/D141134.
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4 |
|
#
92ec6149 |
| 28-Oct-2022 |
Anton Sidorenko <anton.sidorenko@syntacore.com> |
[GlobalISel] Compute debug location when merging stores more accurately
Originaly the loop did almost nothing as the calculated location was overwritten on the next iteration.
Differential Revision
[GlobalISel] Compute debug location when merging stores more accurately
Originaly the loop did almost nothing as the calculated location was overwritten on the next iteration.
Differential Revision: https://reviews.llvm.org/D136937
show more ...
|
Revision tags: llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
#
9e6d1f4b |
| 17-Jul-2022 |
Kazu Hirata <kazu@google.com> |
[CodeGen] Qualify auto variables in for loops (NFC)
|
#
e7bc7373 |
| 24-Jun-2022 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
GlobalISel: Make LoadStoreOpt preserve all
Avoids dropping CSE info analysis
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
#
8cbf18cb |
| 14-Mar-2022 |
Amara Emerson <amara@apple.com> |
[GlobalISel] Fix store merging incorrectly merging volatile stores.
The existing volatile checks only handle aliasing hazards between stores, but that isn't enough since by that point volatile store
[GlobalISel] Fix store merging incorrectly merging volatile stores.
The existing volatile checks only handle aliasing hazards between stores, but that isn't enough since by that point volatile stores may have already been added to the current candidate group.
show more ...
|
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, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
#
3aed2822 |
| 04-Dec-2021 |
Kazu Hirata <kazu@google.com> |
[CodeGen] Use range-based for loops (NFC)
|
Revision tags: llvmorg-13.0.1-rc1 |
|
#
3f3d4e8a |
| 16-Nov-2021 |
Frederik Gossen <frgossen@google.com> |
Fix unused variable warning in LoadStoreOpt.cpp with (void)
|
#
2bceb7c8 |
| 16-Nov-2021 |
Frederik Gossen <frgossen@google.com> |
Revert "Fix unused variable in llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp"
This reverts commit 40a609aebe4ab51174a164852b6399f322bf6d9a.
|
#
ecfe7a34 |
| 16-Nov-2021 |
Frederik Gossen <frgossen@google.com> |
Revert "Fix unused variable warning."
This reverts commit a062e2a8ca27b615cf3d02ed5c551ca85efc0325.
|
#
9a6817b7 |
| 16-Nov-2021 |
Frederik Gossen <frgossen@google.com> |
Revert "Fix another unused variable error."
This reverts commit 5b84ae7c48083bd0f40199837990cf915a2053b8.
|
#
5b84ae7c |
| 16-Nov-2021 |
Adrian Kuegel <akuegel@google.com> |
Fix another unused variable error.
|
#
a062e2a8 |
| 16-Nov-2021 |
Adrian Kuegel <akuegel@google.com> |
Fix unused variable warning.
|