275 Commits

Author SHA1 Message Date
Arthur Eubanks
8d6b451b45 [LegacyPM] Remove legacy LoopRotate pass 2024-02-16 22:12:15 +00:00
Aiden Grossman
cd4e628335
[NewPM] Remove Legacy RedudantDbgInstEliminationPass (#73405)
This pass isn't used by anywhere upstream and thus has no test coverage.
For these reasons, remove it.
2023-11-25 15:42:55 -08:00
Aiden Grossman
c018ae9294
[NewPM] Remove Reg2Mem Legacy Pass (#73404)
This pass isn't used anywhere upstream and thus has no test coverage.
For these reasons it should be removed.
2023-11-25 15:38:10 -08:00
Aiden Grossman
62439d182e
[NewPM] Remove MakeGuardsExplicitLegacyPass (#72946)
This pass isn't used anywhere or tested anywhere upstream (it doesn't
even have a create function), so remove it.
2023-11-21 00:53:01 -08:00
Aiden Grossman
13663310c6
[NewPM] Remove LoopPredicationLegacyPass (#72944)
This pass isn't used/tested upstream anywhere, so remove it.
2023-11-21 00:52:46 -08:00
Aiden Grossman
bc3cc2693d
[NewPM] Remove LoopGuardWideningLegacyPass (#72937)
This pass isn't used/tested upstream at all, so remove it.
2023-11-21 00:52:08 -08:00
Aiden Grossman
fc3c4e1725
[NewPM] Remove SimpleLoopUnswitchLegacyPass (#72934)
This pass isn't used anywhere in upstream and thus doesn't have any test
coverage. For these reasons, remove it.
2023-11-21 00:51:39 -08:00
Aiden Grossman
21dc3e3491
[NewPM] Remove LoopSimplifyCFGLegacyPass (#72930)
This pass isn't used anywhere in upstream and thus has no test coverage.
For these reasons, remove it.
2023-11-21 00:51:24 -08:00
Aiden Grossman
2470857fe7
[NewPM] Remove ScalarizerLegacyPass (#72814)
This pass isn't used anywhere upstream and thus has no test coverage.
Because of these reasons, remove it.
2023-11-20 01:09:27 -08:00
Aiden Grossman
4671f18906
[NewPM] Remove LowerWidenableConditionLegacyPass (#72818)
This legacy pass isn't used anywhere upstream and thus has no test
coverage, so remove it.
2023-11-20 01:03:10 -08:00
Aiden Grossman
8319e222c8
[NewPM] Remove MergedLoadStoreMotionLegacyPass (#72813)
This pass isn't used anywhere and thus isn't tested anywhere. Because of
these reasons, remove it.
2023-11-20 01:00:24 -08:00
Aiden Grossman
cd11a7fba4
[NewPM] Remove LoopInstSimplifyLegacyPass (#72812)
This pass isn't used anywhere and thus has no test coverage. Remove it
for these reasons.

For whatever reason, there was no entry in
`llvm/include/llvm/LinkAllPasses.h` to remove.
2023-11-20 01:00:08 -08:00
Aiden Grossman
b9975cec0e
[NewPM] Remove LoopSinkLegacy Pass (#72811)
This pass isn't used anywhere and thus has no test coverage. For these
reasons, remove it.
2023-11-20 00:59:42 -08:00
Aiden Grossman
d715e2c65b
[NewPM] Remove GuardWideningLegacyPass (#72810)
This legacy pass isn't used anywhere and there is no test coverage, so
at this point it should be removed.
2023-11-20 00:59:25 -08:00
Fangrui Song
8511ade505 [LegacyPM] Remove LowerExpectIntrinsicPass
Using the legacy PM for the optimization pipeline was deprecated in 13.0.0.
Many legacy passes have been removed in 2022.
2023-10-22 16:25:08 -07:00
Kazu Hirata
a403d75be7 [LegacyPM] Remove LowerGuardIntrinsicLegacyPass
Differential Revision: https://reviews.llvm.org/D157073
2023-08-08 08:37:35 -07:00
Kazu Hirata
2d620a6c4e [LegacyPM] Remove PlaceSafepointsLegacyPass
Differential Revision: https://reviews.llvm.org/D153678
2023-06-24 07:33:49 -07:00
Kazu Hirata
2764322912 [LegacyPM] Remove LowerMatrixIntrinsicsLegacyPass and LowerMatrixIntrinsicsMinimalLegacyPass
Differential Revision: https://reviews.llvm.org/D153615
2023-06-23 01:32:38 -07:00
Kazu Hirata
4eb06e57f1 [LegacyPM] Remove LoopAccessLegacyAnalysis
Differential Revision: https://reviews.llvm.org/D153610
2023-06-23 00:36:39 -07:00
Kazu Hirata
17e0369892 [Scalar] Remove RewriteStatepointsForGCLegacyPass
Differential Revision: https://reviews.llvm.org/D152638
2023-06-11 13:19:19 -07:00
Kazu Hirata
76294935d3 [Scalar] Remove CallSiteSplittingLegacyPass
The last use was removed by:

  commit fd48d0a0adaa5fcdd24d02a58ba8a6210adafc28
  Author: Kazu Hirata <kazu@google.com>
  Date:   Sat Jun 10 13:51:37 2023 -0700

Differential Revision: https://reviews.llvm.org/D152635
2023-06-10 15:20:40 -07:00
Bjorn Pettersson
3ce72cd5f6 Remove some includes that shouldn't be needed any longer
This remove a bunch of #include statements in Scalar.cpp. I do not
think those should be needed any longer (assuming that they once
upon a time possibly were needed for legacy PM C bindings, but
that is not supported any longer).

Also removing some other #include statements not needed any longer
due to deprecation of legacy PM.

Differential Revision: https://reviews.llvm.org/D149438
2023-05-16 16:10:51 +02:00
Bjorn Pettersson
0b911a3dc3 [passes] Remove the legacy PM version of IRCE
Differential Revision: https://reviews.llvm.org/D148338
2023-04-14 18:56:20 +02:00
Bjorn Pettersson
b74e89c0d4 [passes] Remove the legacy PM version of AlignmentFromAssumptions
Differential Revision: https://reviews.llvm.org/D148337
2023-04-14 18:56:20 +02:00
Bjorn Pettersson
fb93f98ffa [Passes] Remove legacy PM version of BDCE (aka BitTrackingDCEPass)
BDCE is not used by the codegen pipeline so we should not need the
legacy PM version of the pass any longer.

Differential Revision: https://reviews.llvm.org/D148335
2023-04-14 18:56:20 +02:00
Nikita Popov
62ef97e063 [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
2023-04-14 12:12:48 +02:00
Bjorn Pettersson
410775ecfd [Transforms][LTO] Remove some redundant includes. NFC
No need to include CallGraphSCCPass.h from the IPO/Inliner.

Also removed the include of LegacyPassManager.h in a couple of files
that do not really depend on that header file.

Differential Revision: https://reviews.llvm.org/D148083
2023-04-13 10:12:00 +02:00
Arthur Eubanks
1a90faacf1 [Passes] Remove some legacy passes
NewGVN
GVNHoist
GVNSink
MemCpyOpt
Float2Int

These were only used for the optimization pipeline, of which the legacy version was removed.
2023-03-14 13:32:59 -07:00
Arthur Eubanks
7c3c981442 [Passes] Remove some legacy passes
DFAJumpThreading
JumpThreading
LibCallsShrink
LoopVectorize
SLPVectorizer
DeadStoreElimination
AggressiveDCE
CorrelatedValuePropagation
IndVarSimplify

These are part of the optimization pipeline, of which the legacy version is deprecated and being removed.
2023-03-10 17:17:00 -08:00
Nikita Popov
f7ca013332 [llvm-c] Remove bindings for creating legacy passes
Legacy passes are only supported for codegen, and I don't believe
it's possible to write backends using the C API, so we should drop
all of those. Reduces the number of places that need to be modified
when removing legacy passes.

Differential Revision: https://reviews.llvm.org/D144970
2023-03-02 09:53:50 +01:00
Fangrui Song
460fe4a979 [DivRemPairs] Remove legacy pass
Following recent changes to remove non-core legacy passes.
2023-03-01 11:16:19 -08:00
Florian Hahn
e2cd0851fa
Recommit "[SCCP] Remove legacy SCCP pass."
This reverts commit a9a1950115d7db95c7439128b14af2cefe8f796d.

The legacy PM uses in Polly have been removed, so recommit the patch.

Original message:
    This is part of the optimization pipeline, of which the legacy pass manager version is deprecated.

    Reviewed By: aeubanks

    Differential Revision: https://reviews.llvm.org/D144201
2023-02-24 13:47:31 +01:00
Fangrui Song
d7c459070c [LoopIdiomRecognize] Remove legacy pass
Following recent changes to remove non-core legacy passes.
2023-02-19 21:39:47 -08:00
Florian Hahn
a9a1950115
Revert "[SCCP] Remove legacy SCCP pass."
This reverts commit 5356fefc19df3fbf32d180b1b10e6226e8743541.

It looks like Polly still relies on the legacy SCCP pass. Bring it back
until the best way forward is determined.
2023-02-18 18:01:37 +00:00
Florian Hahn
5356fefc19
[SCCP] Remove legacy SCCP pass.
This is part of the optimization pipeline, of which the legacy pass manager version is deprecated.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D144201
2023-02-18 17:54:30 +00:00
Jan Dupej
1ceb79e2e0 Port PlaceSafepoints pass to the new pass manager
This patch ports the PlaceSafepoints pass to the new pass manager as it is used by .NET/Mono. Compatibility with the legacy pass manager is maintained by adding PlaceSafepointsLegacyPass. This pass also depends on PlaceBackedgeSafepointsLegacyPass, which has been kept in the legacy-only variant, since it is apparently used only from PlaceSafepointsPass. It has been renamed, though, to indicate its legacy interface.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D136163
2023-02-17 09:17:49 -08:00
Fangrui Song
f62b084e92 [LoopDeletion] Remove legacy pass
Following recent changes to remove non-core legacy passes.
2023-02-15 23:31:05 -08:00
Fangrui Song
4eee77873b [LoopReroll] Remove legacy pass (unused in the pipeline)
Following recent changes to remove non-core legacy passes.
2023-02-15 16:09:32 -08:00
Fangrui Song
48bfed77cf [LoopFlatten] Remove legacy pass (unused in the pipeline)
Following recent changes to remove non-core legacy passes.
2023-02-15 15:28:16 -08:00
Fangrui Song
21ccddd2ce [LoopInterchange] Remove legacy pass (unused in the pipeline)
Following recent changes to remove non-core legacy passes.
2023-02-15 15:09:29 -08:00
Fangrui Song
c1eb3db780 [LoopFuse] Remove legacy pass
Following recent changes to remove non-core legacy passes.
2023-02-14 23:53:39 -08:00
Fangrui Song
a409f3c069 [LoopVersioningLICM] Remove legacy pass
Following recent changes to remove non-core features of the legacy PM/optimization pipeline.
2023-02-14 21:40:45 -08:00
Fangrui Song
766065aa65 [LoopUnrollAndJam] Remove legacy pass
Following recent changes to remove non-core features of the legacy PM/optimization pipeline.
2023-02-14 17:23:15 -08:00
Fangrui Song
10eea3fe15 [LoopVersioning] Remove legacy pass
Following recent changes to remove non-core features of the legacy PM/optimization pipeline.
2023-02-14 16:12:00 -08:00
Fangrui Song
ae0c203e67 [LoopLoadElimination] Remove legacy pass
Following recent changes to remove non-core features of the legacy PM/optimization pipeline.
2023-02-14 16:00:49 -08:00
Fangrui Song
eb5530e621 [LoopDistribute] Remove legacy pass
Following recent changes to remove non-core features of the legacy PM/optimization pipeline.
2023-02-14 15:51:09 -08:00
Arthur Eubanks
15977742d3 Reland [LegacyPM] Remove some legacy passes
These are part of the optimization pipeline, of which the legacy pass manager version is deprecated.

Namely
* Internalize
* StripSymbols
* StripNonDebugSymbols
* StripDeadDebugInfo
* StripDeadPrototypes
* VectorCombine
* WarnMissedTransformations

Fixed previously failing ocaml tests (one of them seems to already be failing?)
2023-02-07 12:56:05 -08:00
Arthur Eubanks
1b254022b2 Revert "[LegacyPM] Remove some legacy passes"
This reverts commit a4b4f62beb0bf40123181e5f5bdf32ef54f87166.

Ocaml bindings tests failing.
2023-02-07 10:17:45 -08:00
Arthur Eubanks
a4b4f62beb [LegacyPM] Remove some legacy passes
These are part of the optimization pipeline, of which the legacy pass manager version is deprecated.

Namely
* Internalize
* StripSymbols
* StripNonDebugSymbols
* StripDeadDebugInfo
* StripDeadPrototypes
* VectorCombine
* WarnMissedTransformations
2023-02-07 09:57:48 -08:00
Florian Hahn
f8d008d19f
[ConstraintElim] Remove legacy pass implementation.
The pass is exclusively used with the new pass manager now, so remove
the legacy PM implementation.
2023-01-04 11:21:12 +00:00