#
04a6ea5d |
| 14-Aug-2020 |
Amara Emerson <amara@apple.com> |
[GlobalISel] Add a combine for sext_inreg(load x), c --> sextload x
This is restricted to single use loads, which if we fold to sextloads we can find more optimal addressing modes on AArch64.
This
[GlobalISel] Add a combine for sext_inreg(load x), c --> sextload x
This is restricted to single use loads, which if we fold to sextloads we can find more optimal addressing modes on AArch64.
This also fixes an overload the MachineFunction::getMachineMemOperand() method which was incorrectly using the MF alignment instead of the MMO alignment.
Differential Revision: https://reviews.llvm.org/D85966
show more ...
|
#
3ec3fcb9 |
| 14-Jul-2020 |
David Sherwood <david.sherwood@arm.com> |
[CodeGen] In narrowExtractedVectorLoad bail out for scalable vectors
In narrowExtractedVectorLoad there is an optimisation that tries to combine extract_subvector with a narrowing vector load. At th
[CodeGen] In narrowExtractedVectorLoad bail out for scalable vectors
In narrowExtractedVectorLoad there is an optimisation that tries to combine extract_subvector with a narrowing vector load. At the moment this produces warnings due to the incorrect calls to getVectorNumElements() for scalable vector types. I've got this working for scalable vectors too when the extract subvector index is a multiple of the minimum number of elements. I have added a new variant of the function:
MachineFunction::getMachineMemOperand
that copies an existing MachineMemOperand, but replaces the pointer info with a null version since we cannot currently represent scaled offsets.
I've added a new test for this particular case in:
CodeGen/AArch64/sve-extract-subvector.ll
Differential Revision: https://reviews.llvm.org/D83950
show more ...
|
#
1b660227 |
| 09-Jun-2020 |
Kang Zhang <shkzhang@cn.ibm.com> |
[MachineVerifier] Add TiedOpsRewritten flag to fix verify two-address error
Summary: Currently, MachineVerifier will attempt to verify that tied operands satisfy register constraints as soon as the
[MachineVerifier] Add TiedOpsRewritten flag to fix verify two-address error
Summary: Currently, MachineVerifier will attempt to verify that tied operands satisfy register constraints as soon as the function is no longer in SSA form. However, PHIElimination will take the function out of SSA form while TwoAddressInstructionPass will actually rewrite tied operands to match the constraints. PHIElimination runs first in the pipeline. Therefore, whenever the MachineVerifier is run after PHIElimination, it will encounter verification errors on any tied operands.
This patch adds a function property called TiedOpsRewritten that will be set by TwoAddressInstructionPass and will control when the verifier checks tied operands.
Reviewed By: nemanjai
Differential Revision: https://reviews.llvm.org/D80538
show more ...
|
#
e0bca46b |
| 02-Jun-2020 |
Sriraman Tallam <tmsriram@google.com> |
Options for Basic Block Sections, enabled in D68063 and D73674.
This patch adds clang options: -fbasic-block-sections={all,<filename>,labels,none} and -funique-basic-block-section-names. LLVM Suppor
Options for Basic Block Sections, enabled in D68063 and D73674.
This patch adds clang options: -fbasic-block-sections={all,<filename>,labels,none} and -funique-basic-block-section-names. LLVM Support for basic block sections is already enabled.
+ -fbasic-block-sections={all, <file>, labels, none} : Enables/Disables basic block sections for all or a subset of basic blocks. "labels" only enables basic block symbols. + -funique-basic-block-section-names: Enables unique section names for basic block sections, disabled by default.
Differential Revision: https://reviews.llvm.org/D68049
show more ...
|
Revision tags: llvmorg-10.0.1-rc1 |
|
#
4dad4914 |
| 19-May-2020 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
CodeGen: Use Register
|
#
8c72b027 |
| 12-May-2020 |
Craig Topper <craig.topper@intel.com> |
[CodeGen] Use Align in MachineConstantPool.
|
#
05192e58 |
| 13-Apr-2020 |
Rahman Lavaee <rahmanl@google.com> |
Extend BasicBlock sections to allow specifying clusters of basic blocks in the same section.
Differential Revision: https://reviews.llvm.org/D76954
|
#
4ddf7ab4 |
| 13-Apr-2020 |
Rahman Lavaee <rahmanl@google.com> |
Revert "Extend BasicBlock sections to allow specifying clusters of basic blocks"
This reverts commit 0d4ec16d3db3a92514e14101f635e8536c208c4f Because tests were not added to the commit.
|
#
0d4ec16d |
| 13-Apr-2020 |
Rahman Lavaee <rahmanl@google.com> |
Extend BasicBlock sections to allow specifying clusters of basic blocks in the same section.
This allows specifying BasicBlock clusters like the following example: !foo !!0 1 2 !!4 This places basic
Extend BasicBlock sections to allow specifying clusters of basic blocks in the same section.
This allows specifying BasicBlock clusters like the following example: !foo !!0 1 2 !!4 This places basic blocks 0, 1, and 2 in one section in this order, and places basic block #4 in a single section of its own.
show more ...
|
#
48e65fc6 |
| 07-Apr-2020 |
Vedant Kumar <vsk@apple.com> |
MachineFunction: Copy call site info when duplicating insts
Summary: Preserve call site info for duplicated instructions. We copy over the call site info in CloneMachineInstrBundle to avoid repeated
MachineFunction: Copy call site info when duplicating insts
Summary: Preserve call site info for duplicated instructions. We copy over the call site info in CloneMachineInstrBundle to avoid repeated calls to copyCallSiteInfo in CloneMachineInstr.
(Alternatively, we could copy call site info higher up the stack, e.g. into TargetInstrInfo::duplicate, or even into individual backend passes. However, I don't see how that would be safer or more general than the current approach.)
Reviewers: aprantl, djtodoro, dstenb
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77685
show more ...
|
#
35b7b085 |
| 03-Apr-2020 |
Daniel Sanders <daniel_l_sanders@apple.com> |
Allow MachineFunction to obtain non-const Function (to enable MIR-level debugify)
Summary: To debugify MIR, we need to be able to create metadata and to do that, we need a non-const Module. However,
Allow MachineFunction to obtain non-const Function (to enable MIR-level debugify)
Summary: To debugify MIR, we need to be able to create metadata and to do that, we need a non-const Module. However, MachineFunction only had a const reference to the Function preventing this.
Reviewers: aprantl, bogner
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77439
show more ...
|
#
01ba2ad9 |
| 30-Mar-2020 |
Guillaume Chatelet <gchatelet@google.com> |
[Alignment][NFC] Provide tightened up functions in SelectionDAG, MachineFunction and MachineMemOperand
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for
[Alignment][NFC] Provide tightened up functions in SelectionDAG, MachineFunction and MachineMemOperand
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77046
show more ...
|
#
74eac903 |
| 27-Mar-2020 |
Guillaume Chatelet <gchatelet@google.com> |
[Alignment][NFC] MachineMemOperand::getAlign/getBaseAlign
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm
[Alignment][NFC] MachineMemOperand::getAlign/getBaseAlign
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: arsenm, dschuff, sdardis, nemanjai, jvesely, nhaehnle, sbc100, jgravelle-google, hiraditya, aheejin, kbarton, jrtc27, atanasyan, jfb, kerbowa, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76925
show more ...
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6 |
|
#
3ba550a0 |
| 21-Mar-2020 |
Guillaume Chatelet <gchatelet@google.com> |
[Alignment][NFC] Use TFL::getStackAlign()
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/1
[Alignment][NFC] Use TFL::getStackAlign()
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: dylanmckay, sdardis, nemanjai, hiraditya, kbarton, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, Jim, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76551
show more ...
|
Revision tags: llvmorg-10.0.0-rc5 |
|
#
ea64ee0e |
| 18-Mar-2020 |
Guillaume Chatelet <gchatelet@google.com> |
[Alignment][NFC] Deprecate ensureMaxAlignment
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-Ju
[Alignment][NFC] Deprecate ensureMaxAlignment
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D76368
show more ...
|
#
df082ac4 |
| 16-Mar-2020 |
Sriraman Tallam <tmsriram@google.com> |
Basic Block Sections support in LLVM.
This is the second patch in a series of patches to enable basic block sections support.
This patch adds support for:
* Creating direct jumps at the end of bas
Basic Block Sections support in LLVM.
This is the second patch in a series of patches to enable basic block sections support.
This patch adds support for:
* Creating direct jumps at the end of basic blocks that have fall through instructions. * New pass, bbsections-prepare, that analyzes placement of basic blocks in sections. * Actual placing of a basic block in a unique section with special handling of exception handling blocks. * Supports placing a subset of basic blocks in a unique section. * Support for MIR serialization and deserialization with basic block sections.
Parent patch : D68063 Differential Revision: https://reviews.llvm.org/D73674
show more ...
|
Revision tags: llvmorg-10.0.0-rc4 |
|
#
c15c68ab |
| 09-Mar-2020 |
Djordje Todorovic <djordje.todorovic@syrmia.com> |
[CallSiteInfo] Enable the call site info only for -g + optimizations
Emit call site info only in the case of '-g' + 'O>0' level.
Differential Revision: https://reviews.llvm.org/D75175
|
Revision tags: 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 |
|
#
a4e71f01 |
| 06-Nov-2019 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Assume ieee behavior without denormal-fp-math attribute
|
#
016d91cc |
| 27-Feb-2020 |
Djordje Todorovic <djordje.todorovic@rt-rk.com> |
[CallSiteInfo] Handle bundles when updating call site info
This will address the issue: P8198 and P8199 (from D73534).
The methods was not handle bundles properly.
Differential Revision: https://r
[CallSiteInfo] Handle bundles when updating call site info
This will address the issue: P8198 and P8199 (from D73534).
The methods was not handle bundles properly.
Differential Revision: https://reviews.llvm.org/D74904
show more ...
|
#
2f215cf3 |
| 20-Feb-2020 |
Djordje Todorovic <djordje.todorovic@rt-rk.com> |
Revert "Reland "[DebugInfo] Enable the debug entry values feature by default""
This reverts commit rGfaff707db82d. A failure found on an ARM 2-stage buildbot. The investigation is needed.
|
#
faff707d |
| 19-Feb-2020 |
Djordje Todorovic <djordje.todorovic@rt-rk.com> |
Reland "[DebugInfo] Enable the debug entry values feature by default"
Differential Revision: https://reviews.llvm.org/D73534
|
#
2bf44d11 |
| 18-Feb-2020 |
Djordje Todorovic <djordje.todorovic@rt-rk.com> |
Revert "Reland "[DebugInfo] Enable the debug entry values feature by default""
This reverts commit rGa82d3e8a6e67.
|
#
a82d3e8a |
| 18-Feb-2020 |
Djordje Todorovic <djordje.todorovic@rt-rk.com> |
Reland "[DebugInfo] Enable the debug entry values feature by default"
This patch enables the debug entry values feature.
- Remove the (CC1) experimental -femit-debug-entry-values option - Enabl
Reland "[DebugInfo] Enable the debug entry values feature by default"
This patch enables the debug entry values feature.
- Remove the (CC1) experimental -femit-debug-entry-values option - Enable it for x86, arm and aarch64 targets - Resolve the test failures - Leave the llc experimental option for targets that do not support the CallSiteInfo yet
Differential Revision: https://reviews.llvm.org/D73534
show more ...
|
#
97ed706a |
| 12-Feb-2020 |
Djordje Todorovic <djordje.todorovic@rt-rk.com> |
Revert "[DebugInfo] Enable the debug entry values feature by default"
This reverts commit rG9f6ff07f8a39.
Found a test failure on clang-with-thin-lto-ubuntu buildbot.
|
#
9f6ff07f |
| 10-Feb-2020 |
Djordje Todorovic <djordje.todorovic@rt-rk.com> |
[DebugInfo] Enable the debug entry values feature by default
This patch enables the debug entry values feature.
- Remove the (CC1) experimental -femit-debug-entry-values option - Enable it for
[DebugInfo] Enable the debug entry values feature by default
This patch enables the debug entry values feature.
- Remove the (CC1) experimental -femit-debug-entry-values option - Enable it for x86, arm and aarch64 targets - Resolve the test failures - Leave the llc experimental option for targets that do not support the CallSiteInfo yet
Differential Revision: https://reviews.llvm.org/D73534
show more ...
|