Revision tags: llvmorg-21-init |
|
#
4a486e77 |
| 19-Jan-2025 |
Craig Topper <craig.topper@sifive.com> |
[CodeGen] Use Register/MCRegister::isPhysical. NFC
|
Revision tags: llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4 |
|
#
fe636692 |
| 09-Nov-2024 |
paperchalice <liujunchang97@outlook.com> |
[Instrumentation] Support `MachineFunction` in `OptNoneInstrumentation` (#115471)
Support `MachineFunction` in `OptNoneInstrumentation`, also add
`isRequired` to all necessary passes.
|
Revision tags: llvmorg-19.1.3 |
|
#
488d3924 |
| 16-Oct-2024 |
Christudasan Devadasan <christudasan.devadasan@amd.com> |
[CodeGen][NewPM] Port EarlyIfConversion pass to NPM. (#108508)
|
#
732b804e |
| 16-Oct-2024 |
Christudasan Devadasan <christudasan.devadasan@amd.com> |
[CodeGen][NewPM] Port machine trace metrics analysis to new pass manager. (#108507)
|
Revision tags: llvmorg-19.1.2 |
|
#
327124ec |
| 08-Oct-2024 |
Juan Manuel Martinez Caamaño <jmartinezcaamao@gmail.com> |
[NFC][EarlyIfConverter] Rename SSAIfConv::runOnMachineFunction to SSAIfConv::init (#111500)
|
#
1df8ccd3 |
| 08-Oct-2024 |
Juan Manuel Martinez Caamaño <jmartinezcaamao@gmail.com> |
Revert "[NFC][EarlyIfConverter] Turn SSAIfConv into a local variable (#107390)" (#111385)
This reverts commit 09a4c23eb410d4be52202bed21c967a3653c3544.
|
#
d5ec01b0 |
| 07-Oct-2024 |
Juan Manuel Martinez Caamaño <jmartinezcaamao@gmail.com> |
Revert "[NFC][EarlyIfConverter] Replace boolean Predicate for a class (#108519)" (#111372)
This reverts commit 9e7315912656628b606e884e39cdeb261b476f16.
|
#
a018353f |
| 07-Oct-2024 |
Juan Manuel Martinez Caamaño <juamarti@amd.com> |
Revert "[NFC][EarlyIfConverter] Remove unused member variables"
This reverts commit 3c83102f0615c7d66f6df698ca472ddbf0e9483d.
|
Revision tags: llvmorg-19.1.1 |
|
#
46df454c |
| 22-Sep-2024 |
Kazu Hirata <kazu@google.com> |
[CodeGen] Construct SmallVector with ArrayRef (NFC) (#109566)
|
Revision tags: llvmorg-19.1.0 |
|
#
3c83102f |
| 04-Sep-2024 |
Juan Manuel Martinez Caamaño <juamarti@amd.com> |
[NFC][EarlyIfConverter] Remove unused member variables
|
#
9e731591 |
| 20-Sep-2024 |
Juan Manuel Martinez Caamaño <jmartinezcaamao@gmail.com> |
[NFC][EarlyIfConverter] Replace boolean Predicate for a class (#108519)
Currently SSAIfConv is used in 2 scenarios. Generalize them to support
more scenarios.
|
#
09a4c23e |
| 13-Sep-2024 |
Juan Manuel Martinez Caamaño <jmartinezcaamao@gmail.com> |
[NFC][EarlyIfConverter] Turn SSAIfConv into a local variable (#107390)
|
Revision tags: llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2 |
|
#
6d103d77 |
| 31-Jul-2024 |
Alexis Engelke <engelke@in.tum.de> |
[Support] Erase blocks after DomTree::eraseNode (#101195)
Change eraseNode to require that the basic block is still contained
inside the function. This is a preparation for using numbers of basic
[Support] Erase blocks after DomTree::eraseNode (#101195)
Change eraseNode to require that the basic block is still contained
inside the function. This is a preparation for using numbers of basic
blocks inside the dominator tree, which are invalid for blocks that are
not inside a function.
show more ...
|
Revision tags: llvmorg-19.1.0-rc1 |
|
#
ed4e75d5 |
| 26-Jul-2024 |
Pengcheng Wang <wangpengcheng.pp@bytedance.com> |
[CodeGen] Remove AA parameter of isSafeToMove (#100691)
This `AA` parameter is not used and for most uses they just pass a nullptr.
The use of `AA` was removed since 8d0383e.
|
Revision tags: llvmorg-20-init |
|
#
79d0de2a |
| 09-Jul-2024 |
paperchalice <liujunchang97@outlook.com> |
[CodeGen][NewPM] Port `machine-loops` to new pass manager (#97793)
- Add `MachineLoopAnalysis`.
- Add `MachineLoopPrinterPass`.
- Convert to `MachineLoopInfoWrapperPass` in legacy pass manager.
|
#
d38b518e |
| 28-Jun-2024 |
paperchalice <liujunchang97@outlook.com> |
Reapply "[CodeGen][NewPM] Port machine-branch-prob to new pass manager" (#96858) (#96869)
This reverts commit ab58b6d58edf6a7c8881044fc716ca435d7a0156.
In `CodeGen/Generic/MachineBranchProb.ll`, `l
Reapply "[CodeGen][NewPM] Port machine-branch-prob to new pass manager" (#96858) (#96869)
This reverts commit ab58b6d58edf6a7c8881044fc716ca435d7a0156.
In `CodeGen/Generic/MachineBranchProb.ll`, `llc` crashed with dumped MIR
when targeting PowerPC. Move test to `llc/new-pm`, which is X86
specific.
show more ...
|
#
ab58b6d5 |
| 27-Jun-2024 |
paperchalice <liujunchang97@outlook.com> |
Revert "[CodeGen][NewPM] Port machine-branch-prob to new pass manager" (#96858)
Reverts llvm/llvm-project#96389
Some ppc bots failed.
|
#
73e46c2b |
| 27-Jun-2024 |
paperchalice <liujunchang97@outlook.com> |
[CodeGen][NewPM] Port machine-branch-prob to new pass manager (#96389)
Like IR version `print<branch-prob>`, there is also a
`print<machine-branch-prob>`.
|
#
dae061f1 |
| 26-Jun-2024 |
Kazu Hirata <kazu@google.com> |
[CodeGen] Use range-based for loops (NFC) (#96777)
|
Revision tags: llvmorg-18.1.8 |
|
#
837dc542 |
| 11-Jun-2024 |
paperchalice <liujunchang97@outlook.com> |
[CodeGen][NewPM] Split `MachineDominatorTree` into a concrete analysis result (#94571)
Prepare for new pass manager version of `MachineDominatorTreeAnalysis`.
We may need a machine dominator tree v
[CodeGen][NewPM] Split `MachineDominatorTree` into a concrete analysis result (#94571)
Prepare for new pass manager version of `MachineDominatorTreeAnalysis`.
We may need a machine dominator tree version of `DomTreeUpdater` to
handle `SplitCriticalEdge` in some CodeGen passes.
show more ...
|
Revision tags: llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5 |
|
#
f6d431f2 |
| 24-Apr-2024 |
Xu Zhang <simonzgx@gmail.com> |
[CodeGen] Make the parameter TRI required in some functions. (#85968)
Fixes #82659
There are some functions, such as `findRegisterDefOperandIdx` and `findRegisterDefOperand`, that have too many
[CodeGen] Make the parameter TRI required in some functions. (#85968)
Fixes #82659
There are some functions, such as `findRegisterDefOperandIdx` and `findRegisterDefOperand`, that have too many default parameters. As a result, we have encountered some issues due to the lack of TRI parameters, as shown in issue #82411.
Following @RKSimon 's suggestion, this patch refactors 9 functions, including `{reads, kills, defines, modifies}Register`, `registerDefIsDead`, and `findRegister{UseOperandIdx, UseOperand, DefOperandIdx, DefOperand}`, adjusting the order of the TRI parameter and making it required. In addition, all the places that call these functions have also been updated correctly to ensure no additional impact.
After this, the caller of these functions should explicitly know whether to pass the `TargetRegisterInfo` or just a `nullptr`.
show more ...
|
Revision tags: llvmorg-18.1.4, 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, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3 |
|
#
fac4206e |
| 11-Oct-2023 |
Jay Foad <jay.foad@amd.com> |
[EarlyIfConversion] Simplify condition after #65729
|
#
b78f3ea7 |
| 11-Oct-2023 |
Jay Foad <jay.foad@amd.com> |
Clean up strange uses of getAnalysisIfAvailable (#65729)
After a pass calls addRequired<X>() it is strange to call
getAnalysisIfAvailable<X>() because analysis X should always be
available. Use ge
Clean up strange uses of getAnalysisIfAvailable (#65729)
After a pass calls addRequired<X>() it is strange to call
getAnalysisIfAvailable<X>() because analysis X should always be
available. Use getAnalysis<X>() instead.
show more ...
|
Revision tags: 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, llvmorg-16.0.6, llvmorg-16.0.5 |
|
#
aa2d0fbc |
| 21-May-2023 |
Sergei Barannikov <barannikov88@gmail.com> |
[MC] Add MCRegisterInfo::regunits for iteration over register units
Reviewed By: foad
Differential Revision: https://reviews.llvm.org/D152098
|
Revision tags: llvmorg-16.0.4 |
|
#
e351b9b6 |
| 12-May-2023 |
Florian Hahn <flo@fhahn.com> |
[EarlyIfCvt] Don't if-convert if condition has only loop-invariant ops.
This patch adds a heuristic to skip if-conversion if the condition has a high chance of being predictable.
If the condition i
[EarlyIfCvt] Don't if-convert if condition has only loop-invariant ops.
This patch adds a heuristic to skip if-conversion if the condition has a high chance of being predictable.
If the condition is in a loop, consider it predictable if the condition itself or all its operands are loop-invariant. E.g. this considers a load from a loop-invariant address predictable; we were unable to prove that it doesn't alias any of the memory-writes in the loop, but it is likely to read to same value multiple times.
This is a relatively crude heuristic, but it helps to prevent excessive if-conversion in multiple workloads in practice.
Reviewed By: apostolakis
Differential Revision: https://reviews.llvm.org/D141639
show more ...
|