Revision tags: llvmorg-18.1.8, 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, 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 |
|
#
7b3bbd83 |
| 09-Oct-2023 |
Jay Foad <jay.foad@amd.com> |
Revert "[CodeGen] Really renumber slot indexes before register allocation (#67038)"
This reverts commit 2501ae58e3bb9a70d279a56d7b3a0ed70a8a852c.
Reverted due to various buildbot failures.
|
#
2501ae58 |
| 09-Oct-2023 |
Jay Foad <jay.foad@amd.com> |
[CodeGen] Really renumber slot indexes before register allocation (#67038)
PR #66334 tried to renumber slot indexes before register allocation, but
the numbering was still affected by list entries
[CodeGen] Really renumber slot indexes before register allocation (#67038)
PR #66334 tried to renumber slot indexes before register allocation, but
the numbering was still affected by list entries for instructions which
had been erased. Fix this to make the register allocator's live range
length heuristics even less dependent on the history of how instructions
have been added to and removed from SlotIndexes's maps.
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 |
|
#
c4a60c9d |
| 25-May-2023 |
sgokhale <sgokhale@nvidia.com> |
[CodeGen][ShrinkWrap] Enable PostShrinkWrap by default
This is an attempt to reland D42600 and enabling this optimisation by default.
This also resolves the issue pointed out in the context of PGO
[CodeGen][ShrinkWrap] Enable PostShrinkWrap by default
This is an attempt to reland D42600 and enabling this optimisation by default.
This also resolves the issue pointed out in the context of PGO build.
Differential Revision: https://reviews.llvm.org/D42600
show more ...
|
Revision tags: llvmorg-16.0.4 |
|
#
f4999d35 |
| 08-May-2023 |
Alan Zhao <ayzhao@google.com> |
Revert "[CodeGen][ShrinkWrap] Split restore point"
This reverts commit 1ddfd1c8186735c62b642df05c505dc4907ffac4.
The original commit causes a Chrome build assertion failure with ThinLTO: https://cr
Revert "[CodeGen][ShrinkWrap] Split restore point"
This reverts commit 1ddfd1c8186735c62b642df05c505dc4907ffac4.
The original commit causes a Chrome build assertion failure with ThinLTO: https://crbug.com/1443635
show more ...
|
#
1ddfd1c8 |
| 08-May-2023 |
sgokhale <sgokhale@nvidia.com> |
[CodeGen][ShrinkWrap] Split restore point
Try to reland D42600
Differential Revision: https://reviews.llvm.org/D42600
|
Revision tags: llvmorg-16.0.3, llvmorg-16.0.2 |
|
#
9bd7b149 |
| 13-Apr-2023 |
David Green <david.green@arm.com> |
[ARM] Replace some uses of -mcpu=cortex-m33 with architectures features. NFC
This adjusts some of the tests to use the architecture features directly as opposed to -mcpu=cortex-m33 names.
|
#
bb5befef |
| 13-Apr-2023 |
sgokhale <sgokhale@nvidia.com> |
Revert "[CodeGen][ShrinkWrap] Split restore point"
This reverts commit 5f0bccc3d1a74111458c71f009817c9995f4bf83.
An issue has been reported here: https://github.com/ClangBuiltLinux/linux/issues/1833
|
#
5f0bccc3 |
| 11-Apr-2023 |
sgokhale <sgokhale@nvidia.com> |
[CodeGen][ShrinkWrap] Split restore point
This patch splits a restore point to allow it to only post-dominate blocks reachable by use or def of CSRs(Callee Saved Registers)/FI(Frame Index).
Benchma
[CodeGen][ShrinkWrap] Split restore point
This patch splits a restore point to allow it to only post-dominate blocks reachable by use or def of CSRs(Callee Saved Registers)/FI(Frame Index).
Benchmarking this on SPEC2017, this gives around 4% improvement on povray and no significant change for others.
Co-authored-by: junbuml
Differential Revision: https://reviews.llvm.org/D42600
show more ...
|
Revision tags: llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7 |
|
#
bed1c7f0 |
| 19-Dec-2022 |
Nikita Popov <npopov@redhat.com> |
[ARM] Convert some tests to opaque pointers (NFC)
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, 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, 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, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2 |
|
#
69295815 |
| 18-Jan-2021 |
David Green <david.green@arm.com> |
[ARM] Update test target triple. NFC
|
#
14547242 |
| 16-Jan-2021 |
David Green <david.green@arm.com> |
[ARM] Align blocks that are not fallthough targets
If the previous block in a function does not fallthough, adding nop's to align it will never be executed. This means we can freely (except for code
[ARM] Align blocks that are not fallthough targets
If the previous block in a function does not fallthough, adding nop's to align it will never be executed. This means we can freely (except for codesize) align more branches. This happens in constantislandspass (as it cannot happen later) and only happens at aggressive optimization levels as it does increase codesize.
Differential Revision: https://reviews.llvm.org/D94394
show more ...
|
Revision tags: llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
#
32556a98 |
| 14-Nov-2020 |
David Green <david.green@arm.com> |
[ARM] Remove more unused check prefixes, NFC
|
#
fc2fe681 |
| 09-Nov-2020 |
Francesco Petrogalli <francesco.petrogalli@arm.com> |
[llvm][AArch64] Simplify (and (sign_extend..) #bitmask).
Fold
VT = (and (sign_extend NarrowVT to VT) #bitmask)
into
VT = (zero_extend NarrowVT)
With this combine, the test replaces a sig
[llvm][AArch64] Simplify (and (sign_extend..) #bitmask).
Fold
VT = (and (sign_extend NarrowVT to VT) #bitmask)
into
VT = (zero_extend NarrowVT)
With this combine, the test replaces a sign extended load + an unsigned extention with a zero extended load to render one of the operands of the last multiplication.
BEFORE | AFTER f_i16_i32: | f_i16_i32: .fnstart | .fnstart ldrsh r0, [r0] | ldrh r1, [r1] ldrsh r1, [r1] | ldrsh r0, [r0] smulbb r0, r1, r0 | smulbb r0, r0, r1 uxth r1, r1 | mul r0, r0, r1 mul r0, r0, r1 | bx lr bx lr |
Reviewed By: resistor
Differential Revision: https://reviews.llvm.org/D90605
show more ...
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1 |
|
#
1c3ca612 |
| 16-Oct-2019 |
Sam Parker <sam.parker@arm.com> |
[ARM][ParallelDSP] Change smlad insertion order
Instead of inserting everything after the 'root' of the reduction, insert all instructions as close to their operands as possible. This can help reduc
[ARM][ParallelDSP] Change smlad insertion order
Instead of inserting everything after the 'root' of the reduction, insert all instructions as close to their operands as possible. This can help reduce register pressure.
Differential Revision: https://reviews.llvm.org/D67392
llvm-svn: 374981
show more ...
|
#
120a5e9a |
| 29-Sep-2019 |
David Green <david.green@arm.com> |
[ARM] Cortex-M4 schedule additions
This is an attempt to fill in some of the missing instructions from the Cortex-M4 schedule, and make it easier to do the same for other ARM cpus.
- Some instructi
[ARM] Cortex-M4 schedule additions
This is an attempt to fill in some of the missing instructions from the Cortex-M4 schedule, and make it easier to do the same for other ARM cpus.
- Some instructions are marked as hasNoSchedulingInfo as they are pseudos or otherwise do not require scheduling info - A lot of features have been marked not supported - Some WriteRes's have been added for cvt instructions. - Some extra instruction latencies have been added, notably by relaxing the regex for dsp instruction to catch more cases, and some fp instructions.
This goes a long way to get the CompleteModel working for this CPU. It does not go far enough as to get all scheduling info for all output operands correct.
Differential Revision: https://reviews.llvm.org/D67957
llvm-svn: 373163
show more ...
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1 |
|
#
9758407b |
| 26-Jul-2019 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[TargetLowering] SimplifyMultipleUseDemandedBits - add SIGN_EXTEND_INREG support.
llvm-svn: 367096
|
#
cb5f7de4 |
| 26-Jul-2019 |
Simon Pilgrim <llvm-dev@redking.me.uk> |
[ARM][ParallelDSP] Regenerate multi-use-loads.ll test checks
llvm-svn: 367094
|
Revision tags: llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1 |
|
#
d2d0f46c |
| 15-May-2019 |
David Green <david.green@arm.com> |
[ARM] Cortex-M4 schedule
This patch adds a simple Cortex-M4 schedule, renaming the existing M3 schedule to M4 and filling in the latencies as-per the Cortex-M4 TRM: https://developer.arm.com/docs/dd
[ARM] Cortex-M4 schedule
This patch adds a simple Cortex-M4 schedule, renaming the existing M3 schedule to M4 and filling in the latencies as-per the Cortex-M4 TRM: https://developer.arm.com/docs/ddi0439/latest
Most of these are 1, with the important exception being loads taking 2 cycles. A few others are also higher, but I don't believe they make a large difference. I've repurposed the M3 schedule as the latencies are mostly the same between the two cores, with the M4 having more FP and DSP instructions. We also turn on MISched and UseAA for the cores that now use this.
It also adds some schedule Write's to various instruction to make things simpler.
Differential Revision: https://reviews.llvm.org/D54142
llvm-svn: 360768
show more ...
|
#
9e73020b |
| 15-Mar-2019 |
Sam Parker <sam.parker@arm.com> |
[ARM][ParallelDSP] Disable for big-endian
Bail early when we don't have a preheader and also if the target is big endian because it's written with only little endian in mind!
Differential Revision:
[ARM][ParallelDSP] Disable for big-endian
Bail early when we don't have a preheader and also if the target is big endian because it's written with only little endian in mind!
Differential Revision: https://reviews.llvm.org/D59368
llvm-svn: 356243
show more ...
|
Revision tags: llvmorg-8.0.0 |
|
#
0a833d0a |
| 14-Mar-2019 |
Sam Parker <sam.parker@arm.com> |
[NFC][ARM] Update test
Change some regex to handle commutable instructions.
llvm-svn: 356159
|
#
4c4ff13d |
| 14-Mar-2019 |
Sam Parker <sam.parker@arm.com> |
[ARM][ParallelDSP] Enable multiple uses of loads When choosing whether a pair of loads can be combined into a single wide load, we check that the load only has a sext user and that sext also onl
[ARM][ParallelDSP] Enable multiple uses of loads When choosing whether a pair of loads can be combined into a single wide load, we check that the load only has a sext user and that sext also only has one user. But this can prevent the transformation in the cases when parallel macs use the same loaded data multiple times. To enable this, we need to fix up any other uses after creating the wide load: generating a trunc and a shift + trunc pair to recreate the narrow values. We also need to keep a record of which loads have already been widened.
Differential Revision: https://reviews.llvm.org/D59215
llvm-svn: 356132
show more ...
|