- May 23, 2020
-
-
Stanislav Mekhanoshin authored
This prevents autogeneration of degenerate names for these. Differential Revision: https://reviews.llvm.org/D80451
-
Eric Christopher authored
covered switch warning.
-
Sanjay Patel authored
As noted in D80236, moving the pass in the pipeline exposed this shortcoming. Extra work to recalculate the alias results showed up as a compile-time slowdown.
-
Louis Dionne authored
The two functions don't throw, and the generated code is better when we explicitly tell the compiler that the functions are noexcept. This isn't an ABI break because the signatures of the functions stay the same with or without noexcept. Fixes https://llvm.org/PR46016 Differential Revision: https://reviews.llvm.org/D80379
-
Jonas Devlieghere authored
The generated binary (APITests.exe) is not a valid googletest binary. I suspect it has something to do with us linking against liblldb.
-
Jonas Devlieghere authored
-
Ahsan Saghir authored
This patch adds support for Vector Multiply-Sum Unsigned Doubleword Modulo instruction; vmsumudm. Differential Revision: https://reviews.llvm.org/D80294
-
Louis Dionne authored
The tests had copy-paste errors which started showing when an unused-variable warning started being emitted after we made the MoveOnly type constexpr (in a4b8ee64).
-
Jean-Michel Gorius authored
This temporarily reverts commit 7019cea2. It seems that, for some targets, there are instructions with a lot of memory operands (probably more than would be expected). This causes a lot of buildbots to timeout and notify failed builds. While investigations are ongoing to find out why this happens, revert the changes.
-
Raphael Isemann authored
This reverts commit 5f88f39a. It broke these three tests on the Window bot: lldb-api :: commands/expression/completion/TestExprCompletion.py lldb-api :: lang/cpp/scope/TestCppScope.py lldb-api :: lang/cpp/standards/cpp11/TestCPP11Standard.py
-
Louis Dionne authored
This is necessary when writing constexpr tests.
-
Kirstóf Umann authored
Revert "[analyzer] Change the default output type to PD_TEXT_MINIMAL in the frontend, error if an output loc is missing for PathDiagConsumers that need it" This reverts commit fe1a3a7e.
-
Florian Hahn authored
-
Joe Ranieri authored
This change adds common C, C++, and POSIX functions to the clang-tidy unused return value checker. Differential Revision: https://reviews.llvm.org/D76083
-
Jonas Devlieghere authored
These files haven't been touched since 2015. According to Pavel these were intended to be test for the test framework which never really took of and are mostly irrelevant by now. Differential revision: https://reviews.llvm.org/D80408
-
Sanjay Patel authored
There are 2 known problem patterns shown in the test diffs here: vector horizontal ops (an x86 specialization) and vector reductions. SLP has greater ability to match and fold those than vector-combine, so let SLP have first chance at that. This is a quick fix while we continue to improve vector-combine and possibly canonicalize to reduction intrinsics. In the longer term, we should improve matching of these patterns because if they were created in the "bad" forms shown here, then we would miss optimizing them. I'm not sure what is happening with alias analysis on the addsub test. The old pass manager now shows an extra line for that, and we see an improvement that comes from SLP vectorizing a store. I don't know what's missing with the new pass manager to make that happen. Strangely, I can't reproduce the behavior if I compile from C++ with clang and invoke the new PM with "-fexperimental-new-pass-manager". Differential Revision: https://reviews.llvm.org/D80236
-
Pengxuan Zheng authored
Summary: This fixes two llc crashes with the following tests when RISC-V is the default target. LLVM :: DebugInfo/Generic/global.ll LLVM :: DebugInfo/Generic/inlined-strings.ll Reviewers: HsiangKai Reviewed By: HsiangKai Subscribers: hiraditya, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, lenary, s.egerton, sameer.abuasal, apazos, luismarques, evandro, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D80352
-
Valeriy Savchenko authored
Summary: Tasks can crash with many different exceptions including SystemExit. Bare except still causes a warning, so let's use BaseException instead. Differential Revision: https://reviews.llvm.org/D80443
-
Simon Pilgrim authored
AddressingModeMatcher::matchAddr was calling getSExtValue for a constant before ensuring that we can actually represent the value as int64_t Fixes PR46004 / OSSFuzz#22357
-
- May 22, 2020
-
-
Sanjay Patel authored
This eliminates a use of 'B', so it can enable follow-on transforms as well as improve analysis/codegen. The PhaseOrdering test was added for D61726, and that shows the limits of instcombine vs. real reassociation. We would need to run some form of CSE to collapse that further. The intermediate variable naming here is intentional because there's a test at llvm/test/Bitcode/value-with-long-name.ll that would break with the usual nameless value. I'm not sure how to improve that test to be more robust. The naming may also be helpful to debug regressions if this change exposes weaknesses in the reassociation pass for example.
-
Sanjay Patel authored
-
Denis Antrushin authored
Summary: Users of SCEV reasonably assume that multiplication of two constant SCEVs will in turn be constant. However, that is not always the case: First, we can get here with reached depth limit, and will create MultExpr SCEV `C1 * C2` and cache it. Then, we can get here with the same operands, but with small depth level. But this time we will find existing MultExpr SCEV and return it, instead of expected constant SCEV. This patch changes getMultExpr to not apply depth limit to all constant operands expression, allowing them to be folded. Reviewers: reames, mkazantsev Subscribers: hiraditya, javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79893
-
Xiangling_Liao authored
To be consistent with other directives like '.comm', '.lcomm', we remove the spaces after the comma for '.csect' on AIX. Differential Revision: https://reviews.llvm.org/D80247
-
Matt Arsenault authored
Unlike SelectionDAGBuilder, IRTranslator omits the unconditional branch in fallthrough cases. Confusingly, the control flow pseudos function in the opposite way the intrinsics are used, and the branch targets always need to be swapped. We're inverting the target blocks, so we need to figure out the old fallthrough block and insert a branch to the original unconditional branch target.
-
Sanjay Patel authored
Remove some redundant/unnecessary bits too.
-
Anh Tuyen Tran authored
Summary: When handling loops whose VF is 1, fold-tail vectorization sets the backedge taken count of the original loop with a vector of a single element. This causes type-mismatch during instruction generartion. The purpose of this patch is toto address the case of VF==1. Reviewer: Ayal (Ayal Zaks), bmahjour (Bardia Mahjour), fhahn (Florian Hahn), gilr (Gil Rapaport), rengolin (Renato Golin) Reviewed By: Ayal (Ayal Zaks), bmahjour (Bardia Mahjour), fhahn (Florian Hahn) Subscribers: Ayal (Ayal Zaks), rkruppe (Hanna Kruppe), bmahjour (Bardia Mahjour), rogfer01 (Roger Ferrer Ibanez), vkmr (Vineet Kumar), bollu (Siddharth Bhat), hiraditya (Aditya Kumar), llvm-commits (Mailing List llvm-commits) Tag: LLVM Differential Revision: https://reviews.llvm.org/D79976
-
Simon Pilgrim authored
Replace with forward declarations and move SizeOpts.h down to TargetLoweringBase.cpp
-
Simon Pilgrim authored
[TargetLowering] Move TargetLoweringBase::isJumpTableRelative() implementation into TargetLoweringBase.cpp. NFC. This will help with reducing header dependencies in TargetLowering.h in a future patch.
-
Louis Dionne authored
All other methods are defined in the class, so this increases consistency.
-
Sanjay Patel authored
This is a fix for PR45965 - https://bugs.llvm.org/show_bug.cgi?id=45965 - which was left out of D80106 because of a test failure. SLP does its own mini-CSE after potentially creating redundant instructions, so we need to wait for that to complete before running the verifier. Otherwise, we will see a test failure for test/Transforms/SLPVectorizer/X86/crash_vectorizeTree.ll (not changed here) because a phi temporarily has identical but different incoming values for the same incoming block. A related, but independent, test that would have been altered here was fixed with: rG880df559 The test was escaping verification in SLP without this change because we were not running verifyFunction() unless SLP actually changed the IR. Differential Revision: https://reviews.llvm.org/D80401
-
Artem Dergachev authored
When loop counter is a function parameter "isPossiblyEscaped" will not find the variable declaration which lead to hitting "llvm_unreachable". Parameters of reference type should be escaped like global variables; otherwise treat them as unescaped. Patch by Abbas Sabra! Differential Revision: https://reviews.llvm.org/D80171
-
Sanjay Patel authored
This test was failing verification because the metadata is ill-formed. This commit is split from D80401 because it is an independent fix (although the test would break with that change).
-
Nemanja Ivanovic authored
We currently emit incorrect codegen for this constraint because we set it as a constraint that allows registers. This will cause the value to be copied to the stack and that address to be passed as the address. This is not what we want. Fixes: https://bugs.llvm.org/show_bug.cgi?id=42762 Differential revision: https://reviews.llvm.org/D77542
-
Nemanja Ivanovic authored
The fix for PR39865 took care of some of the handling for half precision but it missed a number of issues that still exist. This patch fixes the remaining issues that cause crashes in the PPC back end. Fixes: https://bugs.llvm.org/show_bug.cgi?id=45776 Differential revision: https://reviews.llvm.org/D79283
-
Marek Kurdej authored
-
Marek Kurdej authored
-
Matt Arsenault authored
This really belongs in InstructionSimplify since it doesn't introduce new instructions. Put it in instcombine to avoid increasing the number of passes considering target intrinsics. I also noticed that we seem to now be interpreting strictfp attributes on call sites, so try to handle that.
-
Jon Roelofs authored
This reverts commit 183d6af0. Revert pending further consensus building: https://reviews.llvm.org/D79963#2050521
-
Simon Pilgrim authored
D77207 changed the bounds checks resulting in tests for positive unsigned values - dropping the superfluous check to fix gcc+Werror "error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]" warning.
-
Dmitry Preobrazhensky authored
See bug 45925: https://bugs.llvm.org/show_bug.cgi?id=45925 Reviewers: arsenm, rampitec Differential Revision: https://reviews.llvm.org/D80287
-