|
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3 |
|
| #
854ded9b |
| 15-Oct-2024 |
c8ef <c8ef@outlook.com> |
Reapply "[DAG] Enhance SDPatternMatch to match integer minimum and maximum patterns in addition to the existing ISD nodes." (#112203)
This patch adds icmp+select patterns for integer min/max matcher
Reapply "[DAG] Enhance SDPatternMatch to match integer minimum and maximum patterns in addition to the existing ISD nodes." (#112203)
This patch adds icmp+select patterns for integer min/max matchers in
SDPatternMatch, similar to those in IR PatternMatch.
Reapply #111774.
Closes #108218.
show more ...
|
|
Revision tags: llvmorg-19.1.2 |
|
| #
a3b0c31e |
| 14-Oct-2024 |
c8ef <c8ef@outlook.com> |
Revert "[DAG] Enhance SDPatternMatch to match integer minimum and maximum patterns in addition to the existing ISD nodes." (#112200)
Reverts llvm/llvm-project#111774
This appears to be causing so
Revert "[DAG] Enhance SDPatternMatch to match integer minimum and maximum patterns in addition to the existing ISD nodes." (#112200)
Reverts llvm/llvm-project#111774
This appears to be causing some tests to fail.
show more ...
|
| #
11f625cb |
| 14-Oct-2024 |
c8ef <c8ef@outlook.com> |
[DAG] Enhance SDPatternMatch to match integer minimum and maximum patterns in addition to the existing ISD nodes. (#111774)
Closes #108218.
This patch adds icmp+select patterns for integer min/ma
[DAG] Enhance SDPatternMatch to match integer minimum and maximum patterns in addition to the existing ISD nodes. (#111774)
Closes #108218.
This patch adds icmp+select patterns for integer min/max matchers in
SDPatternMatch, similar to those in IR PatternMatch.
show more ...
|
|
Revision tags: llvmorg-19.1.1, llvmorg-19.1.0 |
|
| #
43da8a7a |
| 11-Sep-2024 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[DAG] Add test coverage for ABD "sub of selects" patterns based off #53045
Add tests for "sub(select(icmp(a,b),a,b),select(icmp(a,b),b,a)) -> abd(a,b)" patterns that still fail to match to abd nodes
[DAG] Add test coverage for ABD "sub of selects" patterns based off #53045
Add tests for "sub(select(icmp(a,b),a,b),select(icmp(a,b),b,a)) -> abd(a,b)" patterns that still fail to match to abd nodes
This will hopefully be helped by #108218
show more ...
|
| #
7afdc6bd |
| 04-Sep-2024 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[DAG] Fix typo in i64/i128 abdu/abds tests
I'd incorrectly swapped the operands in some of the "cmp" test patterns when I changed the condition code
|
|
Revision tags: llvmorg-19.1.0-rc4 |
|
| #
8109e5de |
| 21-Aug-2024 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[DAG] Add select_cc -> abd folds (#102137)
Fixes #100810
|
| #
f321456e |
| 20-Aug-2024 |
Björn Pettersson <bjorn.a.pettersson@ericsson.com> |
[ScheduleDAG] Dirty height/depth in addPred/removePred even for latency zero (#102915)
A long time ago (back in 2009) there was a commit 52d4d8244b7c39c5cd
that changed the scheduler to not dirty h
[ScheduleDAG] Dirty height/depth in addPred/removePred even for latency zero (#102915)
A long time ago (back in 2009) there was a commit 52d4d8244b7c39c5cd
that changed the scheduler to not dirty height/depth when adding or
removing SUnit predecessors when the latency on the edge was zero. That
commit message is claiming that the depth or height isn't affected when
the latency is zero.
As a matter of fact, the depth/height can change even with a zero
latency on the edge. If for example adding a new SUnit A, with zero
latency, but as a predecessor to a SUnit B, then both height of A and
depth of B should be marked as dirty. If for example B has a greater
height than A, then the height of A needs to be adjusted even if the
latency is zero.
I think this has been wrong for many years. Downstream we have had
commit 52d4d8244b7c39c5cd reverted since back in 2016. There is no
motivating lit test for 52d4d8244b7c39c5cd (only an incomplete C level
reproducer in https://github.com/llvm/llvm-project/issues/3613).
After commit 13d04fa560e156797c21f1 there finally appeared an upstream
lit test that shows that we get better code if marking height/depth as
dirty (llvm/test/CodeGen/AArch64/abds.ll).
show more ...
|
|
Revision tags: llvmorg-19.1.0-rc3 |
|
| #
13d04fa5 |
| 08-Aug-2024 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[DAG] Add legalization handling for ABDS/ABDU (#92576) (REAPPLIED)
Always match ABD patterns pre-legalization, and use TargetLowering::expandABD to expand again during legalization.
abdu(lhs, rhs)
[DAG] Add legalization handling for ABDS/ABDU (#92576) (REAPPLIED)
Always match ABD patterns pre-legalization, and use TargetLowering::expandABD to expand again during legalization.
abdu(lhs, rhs) -> sub(xor(sub(lhs, rhs), usub_overflow(lhs, rhs)), usub_overflow(lhs, rhs)) Alive2: https://alive2.llvm.org/ce/z/dVdMyv
REAPPLIED: Fix regression issue with "abs(ext(x) - ext(y)) -> zext(abd(x, y))" fold failing after type legalization
show more ...
|
| #
e4e96b3e |
| 07-Aug-2024 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
Revert b1234ddbe2652aa7948242a57107ca7ab12fd2f8. "[DAG] Add legalization handling for ABDS/ABDU (#92576)"
Reverting #92576 while we identify a reported regression
|
| #
b1234ddb |
| 06-Aug-2024 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[DAG] Add legalization handling for ABDS/ABDU (#92576)
Always match ABD patterns pre-legalization, and use TargetLowering::expandABD to expand again during legalization.
abdu(lhs, rhs) -> sub(xor
[DAG] Add legalization handling for ABDS/ABDU (#92576)
Always match ABD patterns pre-legalization, and use TargetLowering::expandABD to expand again during legalization.
abdu(lhs, rhs) -> sub(xor(sub(lhs, rhs), usub_overflow(lhs, rhs)), usub_overflow(lhs, rhs))
Alive2: https://alive2.llvm.org/ce/z/dVdMyv
show more ...
|
| #
6e4c5805 |
| 06-Aug-2024 |
David Green <david.green@arm.com> |
[AArch64] Guard against non-vector abd long nodes. (#102026)
This fixes a problem if abd nodes are generated more readily (#92576).
The folding of abd nodes into abdl needs to check that the inputs
[AArch64] Guard against non-vector abd long nodes. (#102026)
This fixes a problem if abd nodes are generated more readily (#92576).
The folding of abd nodes into abdl needs to check that the inputs are
the correct form of vector. The added test requires vector legalization
to occur in order to hit the combine at the wrong time.
show more ...
|
| #
05b26ef9 |
| 05-Aug-2024 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[AArch64] Regenerate abds/abdu tests to remove x86 copy+pasta. NFC
|
| #
04f65043 |
| 05-Aug-2024 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[AArch64][RISCV] Add scalar abds/abdu test coverage - based off #100810
Extend test coverage for #92576 - copied from existing x86 tests
|