#
a7938c74 |
| 26-Jun-2022 |
Kazu Hirata <kazu@google.com> |
[llvm] Don't use Optional::hasValue (NFC)
This patch replaces Optional::hasValue with the implicit cast to bool in conditionals only.
|
#
3b7c3a65 |
| 25-Jun-2022 |
Kazu Hirata <kazu@google.com> |
Revert "Don't use Optional::hasValue (NFC)"
This reverts commit aa8feeefd3ac6c78ee8f67bf033976fc7d68bc6d.
|
#
aa8feeef |
| 25-Jun-2022 |
Kazu Hirata <kazu@google.com> |
Don't use Optional::hasValue (NFC)
|
Revision tags: llvmorg-14.0.6 |
|
#
7a47ee51 |
| 21-Jun-2022 |
Kazu Hirata <kazu@google.com> |
[llvm] Don't use Optional::getValue (NFC)
|
#
0916d96d |
| 21-Jun-2022 |
Kazu Hirata <kazu@google.com> |
Don't use Optional::hasValue (NFC)
|
#
e0e687a6 |
| 20-Jun-2022 |
Kazu Hirata <kazu@google.com> |
[llvm] Don't use Optional::hasValue (NFC)
|
#
129b531c |
| 19-Jun-2022 |
Kazu Hirata <kazu@google.com> |
[llvm] Use value_or instead of getValueOr (NFC)
|
Revision tags: 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 |
|
#
d77f9448 |
| 10-Apr-2021 |
Nikita Popov <nikita.ppv@gmail.com> |
[LoopInfo] Add getOutermostLoop() (NFC)
This is a recurring pattern, add an API function for it.
|
#
20d798bd |
| 09-Jun-2022 |
Florian Hahn <flo@fhahn.com> |
Recommit "[SCEV] Look through single value PHIs." (take 3)
This reverts commit 1fbdbb559569641f6d509b569966901c8fb02b63.
All known issues surfaced by this patch should have been fixed now.
The fix
Recommit "[SCEV] Look through single value PHIs." (take 3)
This reverts commit 1fbdbb559569641f6d509b569966901c8fb02b63.
All known issues surfaced by this patch should have been fixed now.
The fixes included fixing issues with SCEV expansion in LV and DA's reliance on LCSSA phis.
show more ...
|
#
b8c2781f |
| 09-Jun-2022 |
Simon Moll <moll@cs.uni-saarland.de> |
[NFC] format InstructionSimplify & lowerCaseFunctionNames
Clang-format InstructionSimplify and convert all "FunctionName"s to "functionName". This patch does touch a lot of files but gets done with
[NFC] format InstructionSimplify & lowerCaseFunctionNames
Clang-format InstructionSimplify and convert all "FunctionName"s to "functionName". This patch does touch a lot of files but gets done with the cleanup of InstructionSimplify in one commit.
This is the alternative to the less invasive clang-format only patch: D126783
Reviewed By: spatel, rengolin
Differential Revision: https://reviews.llvm.org/D126889
show more ...
|
#
d86a206f |
| 05-Jun-2022 |
Fangrui Song <i@maskray.me> |
Remove unneeded cl::ZeroOrMore for cl::opt/cl::list options
|
#
6af5f569 |
| 26-May-2022 |
Florian Hahn <flo@fhahn.com> |
[SCEV] Collect conditions from assumes same way as for branches.
Also collect conditions from assume up-front in applyLoopGuards. This allows re-using the logic to handle logical ANDs as assume cond
[SCEV] Collect conditions from assumes same way as for branches.
Also collect conditions from assume up-front in applyLoopGuards. This allows re-using the logic to handle logical ANDs as assume conditions.
It should should pave the road for a fix for #55645.
show more ...
|
#
c8b675ea |
| 21-May-2022 |
Nikita Popov <nikita.ppv@gmail.com> |
[SCEV] Use umin_seq for BECount of multi-exit loops
When computing the BECount for multi-exit loops, we need to combine individual exit counts using umin_seq rather than umin. This is because an ear
[SCEV] Use umin_seq for BECount of multi-exit loops
When computing the BECount for multi-exit loops, we need to combine individual exit counts using umin_seq rather than umin. This is because an earlier exit may exit on the first iteration, in which case later exit expressions will not be evaluated and could be poisonous. We cannot propagate potential poison values from later exits.
In particular, this avoids the introduction of "branch on poison" UB when optimizing multi-exit loops.
Differential Revision: https://reviews.llvm.org/D124910
show more ...
|
#
6bec3e93 |
| 06-Oct-2021 |
Jay Foad <jay.foad@amd.com> |
[APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf
Most clients only used these methods because they wanted to be able to extend or truncate to the same bit width (which is a no-op).
[APInt] Remove all uses of zextOrSelf, sextOrSelf and truncOrSelf
Most clients only used these methods because they wanted to be able to extend or truncate to the same bit width (which is a no-op). Now that the standard zext, sext and trunc allow this, there is no reason to use the OrSelf versions.
The OrSelf versions additionally have the strange behaviour of allowing extending to a *smaller* width, or truncating to a *larger* width, which are also treated as no-ops. A small amount of client code relied on this (ConstantRange::castOp and MicrosoftCXXNameMangler::mangleNumber) and needed rewriting.
Differential Revision: https://reviews.llvm.org/D125557
show more ...
|
#
6ca7eb2c |
| 08-May-2022 |
NAKAMURA Takumi <geek4civic@gmail.com> |
[SCEV] Part 1, Serialize function calls in function arguments.
Evaluation odering in function call arguments is implementation-dependent. In fact, gcc evaluates bottom-top and clang does top-bottom.
[SCEV] Part 1, Serialize function calls in function arguments.
Evaluation odering in function call arguments is implementation-dependent. In fact, gcc evaluates bottom-top and clang does top-bottom.
Fixes #55283 partially.
Part of https://reviews.llvm.org/D125627
show more ...
|
#
da7d8de1 |
| 08-May-2022 |
NAKAMURA Takumi <geek4civic@gmail.com> |
ScalarEvolution.cpp: Reformat.
|
#
68e1ba81 |
| 09-May-2022 |
Nikita Popov <npopov@redhat.com> |
[SCEV] Fold umin_seq using known predicate
Fold %x umin_seq %y to %x if %x ule %y. This also subsumes the special handling for constant operands, as if %y is constant this folds to umin via implied
[SCEV] Fold umin_seq using known predicate
Fold %x umin_seq %y to %x if %x ule %y. This also subsumes the special handling for constant operands, as if %y is constant this folds to umin via implied poison reasoning, and if %x is constant then either %x is not zero and it folds to umin, or it is known zero, in which case it is ule anything.
show more ...
|
#
18eaff15 |
| 09-May-2022 |
Nikita Popov <npopov@redhat.com> |
[ScalarEvolution] Fold %x umin_seq %y if %x cannot be zero
Fold %x umin_seq %y to %x umin %y if %x cannot be zero. They only differ in semantics for %x==0.
More generally %x *_seq %y folds to %x *
[ScalarEvolution] Fold %x umin_seq %y if %x cannot be zero
Fold %x umin_seq %y to %x umin %y if %x cannot be zero. They only differ in semantics for %x==0.
More generally %x *_seq %y folds to %x * %y if %x cannot be the saturation fold (though currently we only have umin_seq).
show more ...
|
#
47c559d6 |
| 04-May-2022 |
Nikita Popov <npopov@redhat.com> |
[SCEV] Fold umin_seq to umin using implied poison reasoning
Similar to how we convert logical and/or to bitwise and/or, we should also convert umin_seq to umin based on implied poison reasoning. In
[SCEV] Fold umin_seq to umin using implied poison reasoning
Similar to how we convert logical and/or to bitwise and/or, we should also convert umin_seq to umin based on implied poison reasoning. In %x umin_seq %y, if %y being poison implies %x being poison, then we don't need the sequential evaluation: Having %y contribute towards the result will never make the result more poisonous. An important corollary of this is that if %y is never poison, we also don't need the sequential evaluation.
This avoids some of the regressions in D124910.
Differential Revision: https://reviews.llvm.org/D124921
show more ...
|
#
3a826690 |
| 03-May-2022 |
Yangguang Li <yangguang.li@huawei.com> |
[SCEV] Removed an unnecessary assertion
The assertion is to check we always get backedge taken count (`BECount`) of zero when the exit condition is in select form (`isa<BinaryOperation>(ExitCond)`)
[SCEV] Removed an unnecessary assertion
The assertion is to check we always get backedge taken count (`BECount`) of zero when the exit condition is in select form (`isa<BinaryOperation>(ExitCond)`) and the exit limit for the first operand is zero `EL0.ExactNotTaken->isZero()`). However the assertion is checking that the exit condition is NOT in select form. Removing the the whole assertion since we now handle select form in ScalarEvolution::getSequentialMinMaxExpr.
Reviewed By: reames, nikic
Differential Revision: https://reviews.llvm.org/D122835
show more ...
|
#
981ed72a |
| 28-Apr-2022 |
Roman Lebedev <lebedev.ri@gmail.com> |
[NFC][SCEV] Refactor `createNodeForSelectViaUMinSeq()` out of `createNodeForSelectOrPHIViaUMinSeq()`
|
#
c7928845 |
| 28-Apr-2022 |
Chris Jackson <chrisj@graphcore.ai> |
[Debuginfo][LSR] Add salvaging variadic dbg.value intrinsics [2/2]
Reland 3f2b76ec90b5f108272a3072a1345ba55d8ec75b with the test corrected to require x86-registered-target.
Differential Revision: h
[Debuginfo][LSR] Add salvaging variadic dbg.value intrinsics [2/2]
Reland 3f2b76ec90b5f108272a3072a1345ba55d8ec75b with the test corrected to require x86-registered-target.
Differential Revision: https://reviews.llvm.org/D120169
show more ...
|
#
cd5f9efc |
| 28-Apr-2022 |
Chris Jackson <chrisj@graphcore.ai> |
Revert "[Debuginfo][LSR] Add salvaging variadic dbg.value intrinsics [2/2]"
This reverts commit 3f2b76ec90b5f108272a3072a1345ba55d8ec75b.
|
#
3f2b76ec |
| 28-Apr-2022 |
Chris Jackson <chrisj@graphcore.ai> |
[Debuginfo][LSR] Add salvaging variadic dbg.value intrinsics [2/2]
Reland commit 74273d575f9938d751a1c67862cffe553fe2de8b following a fix for a memory leak. The DVIRecoveryRecord vectors now use uni
[Debuginfo][LSR] Add salvaging variadic dbg.value intrinsics [2/2]
Reland commit 74273d575f9938d751a1c67862cffe553fe2de8b following a fix for a memory leak. The DVIRecoveryRecord vectors now use unique_ptr.
Differential Revision: https://reviews.llvm.org/D120169
show more ...
|
#
761366e6 |
| 27-Apr-2022 |
Kirill Stoimenov <kstoimenov@google.com> |
Revert "[Debuginfo][LSR] Add salvaging variadic dbg.value intrinsics [2/2]"
This reverts commit 74273d575f9938d751a1c67862cffe553fe2de8b.
Buildbot: https://lab.llvm.org/buildbot/#/builders/5/builds
Revert "[Debuginfo][LSR] Add salvaging variadic dbg.value intrinsics [2/2]"
This reverts commit 74273d575f9938d751a1c67862cffe553fe2de8b.
Buildbot: https://lab.llvm.org/buildbot/#/builders/5/builds/22795 Failing with memory leak.
show more ...
|