History log of /llvm-project/llvm/lib/Analysis/Analysis.cpp (Results 1 – 25 of 117)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7
# 3eca15cb 18-Dec-2024 Justin Bogner <mail@justinbogner.com>

[DirectX] Split resource info into type and binding info. NFC (#119773)

This splits the DXILResourceAnalysis pass into TypeAnalysis and
BindingAnalysis passes. The type analysis pass is made immuta

[DirectX] Split resource info into type and binding info. NFC (#119773)

This splits the DXILResourceAnalysis pass into TypeAnalysis and
BindingAnalysis passes. The type analysis pass is made immutable and
populated lazily so that it can be used earlier in the pipeline without
needing to carefully maintain the invariants of the binding analysis.

Fixes #118400

show more ...


Revision tags: llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, 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
# 372ddcd1 14-Aug-2024 Justin Bogner <mail@justinbogner.com>

[DXIL][Analysis] Boilerplate for DXILResourceAnalysis pass

Broke this out into its own commit to make the next one easier to
review.

Pull Request: https://github.com/llvm/llvm-project/pull/100700


Revision tags: llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4
# 5d9d740c 09-Apr-2024 Björn Pettersson <bjorn.a.pettersson@ericsson.com>

Remove the unused IntervalPartition analysis pass (#88133)

This removes the old legacy PM "intervals" analysis pass (aka
IntervalPartition). It also removes the associated Interval and
IntervalIte

Remove the unused IntervalPartition analysis pass (#88133)

This removes the old legacy PM "intervals" analysis pass (aka
IntervalPartition). It also removes the associated Interval and
IntervalIterator help classes.

Reasons for removal:
1) The pass is not used by llvm-project (not even being tested by
any regression tests).
2) Pass has not been ported to new pass manager, which at least
indicates that it isn't used by the middle-end.
3) ASan reports heap-use-after-free on
++I; // After the first one...
even if false is passed to intervals_begin. Not sure if that is
a false positive, but it makes the code a bit less trustworthy.

show more ...


Revision tags: llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, 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
# 0bdb9cb1 27-Nov-2023 Aiden Grossman <agrossman154@yahoo.com>

[NewPM] Remove LazyValueInfoPrinter Pass (#73408)

This pass isn't used anywhere upstream and thus has no test coverage.
For these reasons, remove it.


# 9ba74c2e 26-Nov-2023 Aiden Grossman <agrossman154@yahoo.com>

[NewPM] Remove CFGPrinterLegacyPass (#73414)

This pass has no test coverage in upstream LLVM, is not used anywhere in
upstream LLVM, and has a NewPM equivalent. For these reasons, remove it.


# 505523ed 25-Nov-2023 Aiden Grossman <agrossman154@yahoo.com>

[NewPM] Remove CFGOnlyPrinterLegacyPass (#73412)

This pass has no test coverage upstream, is not used anywhere upstream,
and has a NewPM equivalent. For these reasons, remove it.


# 65cbe068 25-Nov-2023 Aiden Grossman <agrossman154@yahoo.com>

[NewPM] Remove CFGOnlyViewerLegacyPass (#73411)

This pass has a NewPM equivalent, isn't used anywhere upstream, and
doesn't have any test coverage. For these reasons, remove it.


# 835e2e43 25-Nov-2023 Aiden Grossman <agrossman154@yahoo.com>

[NewPM] Remove CFGViewerLegacyPass (#73410)

This pass isn't used anywhere upstream, has a NewPM equivalent, and has
no test coverage. For these reasons, remove it.


# 631e737d 25-Nov-2023 Aiden Grossman <agrossman154@yahoo.com>

[NewPM] Remove CallGraphPrinterLegacyPass (#73409)

This pass isn't used anywhere upstream and thus doesn't have any test
coverage. For these reasons, remove it.


# 0cfa1095 21-Nov-2023 Aiden Grossman <agrossman154@yahoo.com>

[NewPM] Remove Delinearization legacy pass (#72942)

This pass isn't used/tested anywhere in upstream LLVM, so remove it.


# ddcd6d6f 21-Nov-2023 Aiden Grossman <agrossman154@yahoo.com>

[NewPM] Remove CostModelAnalysis Legacy Pass (#72941)

This pass isn't used/tested anywhere upstream, so remove it.


# 4444374f 21-Nov-2023 Aiden Grossman <agrossman154@yahoo.com>

[NewPM] Remove InstCountLegacyPass (#72936)

This pass isn't used/tested anywhere upstream, so remove it.


Revision tags: llvmorg-17.0.5
# 02230e12 07-Nov-2023 Aiden Grossman <agrossman154@yahoo.com>

[NewPM] Remove AAEval Legacy Pass (#71358)

This patch removes the AAEval legacy pass and associated plumbing. This
pass was migrated over to the new pass manager about 11 years ago at
this point a

[NewPM] Remove AAEval Legacy Pass (#71358)

This patch removes the AAEval legacy pass and associated plumbing. This
pass was migrated over to the new pass manager about 11 years ago at
this point and there are currently no in-tree users of the legacy pass,
so it's essentially just dead code and is completely untested.

show more ...


Revision tags: 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, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init
# eb3d21be 13-Jun-2023 Arthur Eubanks <aeubanks@google.com>

[Passes] Remove some legacy printer passes

MemDepPrinter doesn't have a new PM equivalent, but MemDep is soft deprecated anyway and adding one should be easy if somebody wants to.


Revision tags: llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3
# acc4abea 21-Apr-2023 Arthur Eubanks <aeubanks@google.com>

[Lint] Remove legacy pass


Revision tags: llvmorg-16.0.2
# ae77aceb 12-Apr-2023 pvanhout <pierre.vanhoutryve@amd.com>

[Analysis] Remove DA & LegacyDA

UniformityAnalysis offers all of the same features and much more, there is no reason left to use the legacy DAs.
See RFC: https://discourse.llvm.org/t/rfc-deprecate-d

[Analysis] Remove DA & LegacyDA

UniformityAnalysis offers all of the same features and much more, there is no reason left to use the legacy DAs.
See RFC: https://discourse.llvm.org/t/rfc-deprecate-divergenceanalysis-legacydivergenceanalysis/69538

- Remove LegacyDivergenceAnalysis.h/.cpp
- Remove DivergenceAnalysis.h/.cpp + Unit tests
- Remove SyncDependenceAnalysis - it was not a real registered analysis and was only used by DAs
- Remove/adjust references to the passes in the docs where applicable
- Remove TTI hook associated with those passes.
- Move tests to UniformityAnalysis folder.
- Remove RUN lines for the DA, leave only the UA ones.
- Some tests had to be adjusted/removed depending on how they used the legacy DAs.

Reviewed By: foad, sameerds

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

show more ...


# 40c60c02 13-Apr-2023 Bjorn Pettersson <bjorn.a.pettersson@ericsson.com>

[Passes] Remove the legacy DemandedBitsWrapperPass

Last user of DemandedBitsWrapperPass was the BDCE pass. Since
the legacy PM version of BDCE was removed in an earlier commit, this
patch removes th

[Passes] Remove the legacy DemandedBitsWrapperPass

Last user of DemandedBitsWrapperPass was the BDCE pass. Since
the legacy PM version of BDCE was removed in an earlier commit, this
patch removes the now unused DemandedBitsWrapperPass.

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

show more ...


Revision tags: llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4
# 62ef97e0 01-Mar-2023 Nikita Popov <npopov@redhat.com>

[llvm-c] Remove PassRegistry and initialization APIs

Remove C APIs for interacting with PassRegistry and pass
initialization. These are legacy PM concepts, and are no longer
relevant for the new pas

[llvm-c] Remove PassRegistry and initialization APIs

Remove C APIs for interacting with PassRegistry and pass
initialization. These are legacy PM concepts, and are no longer
relevant for the new pass manager.

Calls to these initialization functions can simply be dropped.

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

show more ...


Revision tags: llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7
# 80053328 09-Dec-2022 Nikita Popov <npopov@redhat.com>

[AA] Remove CFL AA passes

The CFL Steens/Anders alias analysis passes are not enabled by
default, and to the best of my knowledge have no pathway towards
ever being enabled by default. The last sign

[AA] Remove CFL AA passes

The CFL Steens/Anders alias analysis passes are not enabled by
default, and to the best of my knowledge have no pathway towards
ever being enabled by default. The last significant interest in
these passes seems to date back to 2016. Given the little
maintenance these have seen in recent times, I also have very
little confidence in the correctness of these passes. I don't
think we should keep these in-tree.

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

show more ...


Revision tags: llvmorg-15.0.6, llvmorg-15.0.5
# 458ae539 14-Nov-2022 Nikita Popov <npopov@redhat.com>

[AST] Remove legacy AliasSetPrinter pass

A NewPM version of this pass exists, drop the legacy version of
this testing-only pass.


Revision tags: llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2
# 4153f989 02-Oct-2022 Arthur Eubanks <aeubanks@google.com>

[ObjCARC] Remove legacy PM versions of optimization passes

This doesn't touch objc-arc-contract because that's in the codegen pipeline.
However, this does move its corresponding initialize function

[ObjCARC] Remove legacy PM versions of optimization passes

This doesn't touch objc-arc-contract because that's in the codegen pipeline.
However, this does move its corresponding initialize function into initializeCodegen().

Reviewed By: asbirlea

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

show more ...


Revision tags: 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, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4
# 7dce9eb6 16-May-2022 Yang Keao <yangkeao@chunibyo.icu>

[DomPrinter] Migrate -dot-dom to the new pass manager.

In D123677, @YangKeao provided an implementation of `DOTGraphTraits{Viewer,Printer}` in the new pass manager. This commit migrates the `DomPrin

[DomPrinter] Migrate -dot-dom to the new pass manager.

In D123677, @YangKeao provided an implementation of `DOTGraphTraits{Viewer,Printer}` in the new pass manager. This commit migrates the `DomPrinter` and `DomViewer` to the new pass manager.

Reviewed By: Meinersbur

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

show more ...


Revision tags: llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, 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
# 1d0244ae 10-Dec-2021 Sameer Sahasrabuddhe <sameer.sahasrabuddhe@amd.com>

Reapply CycleInfo: Introduce cycles as a generalization of loops

Reverts 02940d6d2202. Fixes breakage in the modules build.

LLVM loops cannot represent irreducible structures in the CFG. This
chang

Reapply CycleInfo: Introduce cycles as a generalization of loops

Reverts 02940d6d2202. Fixes breakage in the modules build.

LLVM loops cannot represent irreducible structures in the CFG. This
change introduce the concept of cycles as a generalization of loops,
along with a CycleInfo analysis that discovers a nested
hierarchy of such cycles. This is based on Havlak (1997), Nesting of
Reducible and Irreducible Loops.

The cycle analysis is implemented as a generic template and then
instatiated for LLVM IR and Machine IR. The template relies on a new
GenericSSAContext template which must be specialized when used for
each IR.

This review is a restart of an older review request:
https://reviews.llvm.org/D83094

Original implementation by Nicolai Hähnle <nicolai.haehnle@amd.com>,
with recent refactoring by Sameer Sahasrabuddhe <sameer.sahasrabuddhe@amd.com>

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

show more ...


# 02940d6d 07-Dec-2021 Jonas Devlieghere <jonas@devlieghere.com>

Revert "CycleInfo: Introduce cycles as a generalization of loops"

This reverts commit 0fe61ecc2cef333250a152cd90d80d0b802b27db because it
breaks the modules build.

https://green.lab.llvm.org/green/

Revert "CycleInfo: Introduce cycles as a generalization of loops"

This reverts commit 0fe61ecc2cef333250a152cd90d80d0b802b27db because it
breaks the modules build.

https://green.lab.llvm.org/green/job/clang-stage2-rthinlto/4858/
https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/39112/

show more ...


# 0fe61ecc 07-Dec-2021 Sameer Sahasrabuddhe <sameer.sahasrabuddhe@amd.com>

CycleInfo: Introduce cycles as a generalization of loops

LLVM loops cannot represent irreducible structures in the CFG. This
change introduce the concept of cycles as a generalization of loops,
alon

CycleInfo: Introduce cycles as a generalization of loops

LLVM loops cannot represent irreducible structures in the CFG. This
change introduce the concept of cycles as a generalization of loops,
along with a CycleInfo analysis that discovers a nested
hierarchy of such cycles. This is based on Havlak (1997), Nesting of
Reducible and Irreducible Loops.

The cycle analysis is implemented as a generic template and then
instatiated for LLVM IR and Machine IR. The template relies on a new
GenericSSAContext template which must be specialized when used for
each IR.

This review is a restart of an older review request:
https://reviews.llvm.org/D83094

Original implementation by Nicolai Hähnle <nicolai.haehnle@amd.com>,
with recent refactoring by Sameer Sahasrabuddhe <sameer.sahasrabuddhe@amd.com>

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

show more ...


12345