History log of /llvm-project/llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp (Results 1 – 25 of 47)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7
# bfe93aed 11-Jan-2025 Kazu Hirata <kazu@google.com>

[AMDGPU] Fix a warning

This patch fixes:

llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp:255:18: error: private
field 'DAG' is not used [-Werror,-Wunused-private-field]


# 657fb443 11-Jan-2025 Austin Kerbow <Austin.Kerbow@amd.com>

[AMDGPU] Add target hook to isGlobalMemoryObject (#112781)

We want special handing for IGLP instructions in the scheduler but they
should still be treated like they have side effects by other passe

[AMDGPU] Add target hook to isGlobalMemoryObject (#112781)

We want special handing for IGLP instructions in the scheduler but they
should still be treated like they have side effects by other passes. Add
a target hook to the ScheduleDAGInstrs DAG builder so that we have more
control over this.

show more ...


Revision tags: llvmorg-19.1.6
# 9ac52ce8 06-Dec-2024 Jeffrey Byrnes <jeffrey.byrnes@amd.com>

[AMDGPU] Add iglp_opt(3) for simple mfma / exp interleaving (#117269)

Adds a minimal iglp_opt to do simple exp / mfma interleaving.


Revision tags: llvmorg-19.1.5, llvmorg-19.1.4
# be187369 14-Nov-2024 Kazu Hirata <kazu@google.com>

[AMDGPU] Remove unused includes (NFC) (#116154)

Identified with misc-include-cleaner.


Revision tags: llvmorg-19.1.3
# 141574ba 23-Oct-2024 Kazu Hirata <kazu@google.com>

[llvm] Remove redundant calls to std::unique_ptr<T>::get (NFC) (#113415)


Revision tags: llvmorg-19.1.2
# 8d13e7b8 03-Oct-2024 Jay Foad <jay.foad@amd.com>

[AMDGPU] Qualify auto. NFC. (#110878)

Generated automatically with:
$ clang-tidy -fix -checks=-*,llvm-qualified-auto $(find
lib/Target/AMDGPU/ -type f)


# d07dc5aa 02-Oct-2024 Kazu Hirata <kazu@google.com>

[AMDGPU] Avoid repeated hash lookups (NFC) (#110788)


Revision tags: llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3
# 3b9f1839 13-Aug-2024 Kazu Hirata <kazu@google.com>

[AMDGPU] Use llvm::any_of, llvm::all_of, and llvm::none_of (NFC) (#103007)


# e40915b7 12-Aug-2024 Kazu Hirata <kazu@google.com>

[AMDGPU] Use llvm::any_of and llvm::none_of (NFC) (#102794)


Revision tags: llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init
# c7309dad 17-Jul-2024 Jay Foad <jay.foad@amd.com>

[AMDGPU] Use range-based for loops. NFC. (#99047)


# 5e338f1f 17-Jul-2024 Jay Foad <jay.foad@amd.com>

[AMDGPU] clang-tidy: use emplace_back instead of push_back. NFC.


# aeafdc21 16-Jul-2024 Jay Foad <jay.foad@amd.com>

[AMDGPU] Use using instead of typedef. NFC.


# 78dea4c1 16-Jul-2024 Jay Foad <jay.foad@amd.com>

[AMDGPU] Use bool literals for bools. NFC.


# fef144ce 25-Jun-2024 Kazu Hirata <kazu@google.com>

Revert "[llvm] Use llvm::sort (NFC) (#96434)"

This reverts commit 05d167fc201b4f2e96108be0d682f6800a70c23d.

Reverting the patch fixes the following under EXPENSIVE_CHECKS:

LLVM :: CodeGen/AMDGPU

Revert "[llvm] Use llvm::sort (NFC) (#96434)"

This reverts commit 05d167fc201b4f2e96108be0d682f6800a70c23d.

Reverting the patch fixes the following under EXPENSIVE_CHECKS:

LLVM :: CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir
LLVM :: CodeGen/AMDGPU/sched-group-barrier-pre-RA.mir
LLVM :: CodeGen/PowerPC/aix-xcoff-used-with-stringpool.ll
LLVM :: CodeGen/PowerPC/merge-string-used-by-metadata.mir
LLVM :: CodeGen/PowerPC/mergeable-string-pool-large.ll
LLVM :: CodeGen/PowerPC/mergeable-string-pool-pass-only.mir
LLVM :: CodeGen/PowerPC/mergeable-string-pool.ll

show more ...


# 05d167fc 23-Jun-2024 Kazu Hirata <kazu@google.com>

[llvm] Use llvm::sort (NFC) (#96434)


Revision tags: llvmorg-18.1.8
# 5dc99af4 13-Jun-2024 Kazu Hirata <kazu@google.com>

[llvm] Use llvm::is_contained (NFC) (#95362)


Revision tags: llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1
# cf1c97b2 28-Feb-2024 Jeffrey Byrnes <jeffrey.byrnes@amd.com>

[AMDGPU] Do not attempt to fallback to default mutations (#83208)

IGLP itself will be in SavedMutations via mutations added during
Scheduler creation, thus falling back results in reapplying IGLP.

[AMDGPU] Do not attempt to fallback to default mutations (#83208)

IGLP itself will be in SavedMutations via mutations added during
Scheduler creation, thus falling back results in reapplying IGLP.

In PostRA scheduling, if we have multiple regions with IGLP
instructions, then we may have infinite loop.

Disable the feature for now.

show more ...


Revision tags: llvmorg-18.1.0, llvmorg-18.1.0-rc4
# 8f2bd8ae 24-Feb-2024 Jeffrey Byrnes <jeffrey.byrnes@amd.com>

[AMDGPU] Introduce iglp_opt(2): Generalized exp/mfma interleaving for select kernels (#81342)

This implements the basic pipelining structure of exp/mfma interleaving
for better extensibility. While

[AMDGPU] Introduce iglp_opt(2): Generalized exp/mfma interleaving for select kernels (#81342)

This implements the basic pipelining structure of exp/mfma interleaving
for better extensibility. While it does have improved extensibility,
there are controls which only enable it for DAGs with certain
characteristics (matching the DAGs it has been designed against).

show more ...


Revision tags: llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init
# f1156fb6 20-Dec-2023 Jeffrey Byrnes <jeffrey.byrnes@amd.com>

[AMDGPU][IGLP]: Add SchedGroupMask::TRANS (#75416)

Makes constructing SchedGroups of this type easier, and provides ability
to create them with __builtin_amdgcn_sched_group_barrier


# 6d8b44a5 08-Dec-2023 Jeffrey Byrnes <jeffrey.byrnes@amd.com>

[AMDGPU] [IGLP]: Fix assert (#73710)

We can also re-enter IGLP mutation via later `SchedStage`s in the
`GCNMaxOccupancySchedStrategy` . This is sort of NFC in that there is no
changed behavior for

[AMDGPU] [IGLP]: Fix assert (#73710)

We can also re-enter IGLP mutation via later `SchedStage`s in the
`GCNMaxOccupancySchedStrategy` . This is sort of NFC in that there is no
changed behavior for the only current client of `IsReentry`

show more ...


Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4
# 35baff8b 26-Oct-2023 Craig Topper <craig.topper@sifive.com>

[AMDGPU] Correct assert that incorrectly chained multiple == operators. (#70291)

I believe this assert was trying to check that 3 variables were equal to
0.

I think it instead got interpreted as

[AMDGPU] Correct assert that incorrectly chained multiple == operators. (#70291)

I believe this assert was trying to check that 3 variables were equal to
0.

I think it instead got interpreted as ((DSWCount == DSWWithPermCount) ==
DSWWithSharedVMEMCount) == 0 I guess (DSWCount == DSWWithPermCount) was
true because both counts were 0. Then true got compared to
DSWWithSharedVMEMCount, and since DSWWithSharedVMEMCount is 0, that
compare was false. And then that false compared equal to the final 0.

show more ...


# 6e18003a 22-Oct-2023 Kazu Hirata <kazu@google.com>

[llvm] Use llvm::any_of (NFC)


Revision tags: llvmorg-17.0.3
# 6afceba5 07-Oct-2023 Jeffrey Byrnes <jeffrey.byrnes@amd.com>

[AMDGPU][IGLP] SingleWaveOpt: Cache DSW Counters from PreRA (#67759)

Save the DSW counters from PreRA scheduling. While this avoids recalculation in the postRA pass, that isn't the main purpose.

[AMDGPU][IGLP] SingleWaveOpt: Cache DSW Counters from PreRA (#67759)

Save the DSW counters from PreRA scheduling. While this avoids recalculation in the postRA pass, that isn't the main purpose.

This is required because of physical register dependencies in PostRA scheduling -- they alter the DAG s.t. our counters may become incorrect -- which alters the layout of the pipeline. By preserving the values from PreRA, we can be sure that we accurately construct the pipeline.

Additionally, remove a bad assert in SharesPredWithPrevNthGroup -- it is possible that we will have an empty cache if OtherGroup has no elements which have a V_PERM pred (possible if the V_PERM SG is empty).

show more ...


Revision tags: llvmorg-17.0.2
# 8a7f4eeb 23-Sep-2023 Kazu Hirata <kazu@google.com>

[llvm] Use llvm::is_contained (NFC)


Revision tags: llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4
# 471d9c57 25-Aug-2023 Luke Drummond <luke.drummond@codeplay.com>

[NFC][AMDGPU] assert we've found a value before use

The sync pipeline should always contain the candidate ID. If it doesn't
something's gone awry. assert on that.

Reviewed by: jrbyrnes

Differentia

[NFC][AMDGPU] assert we've found a value before use

The sync pipeline should always contain the candidate ID. If it doesn't
something's gone awry. assert on that.

Reviewed by: jrbyrnes

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

show more ...


12