- Feb 12, 2020
-
-
Jay Foad authored
-
James Henderson authored
This reduces the noise caused by adding cases earlier in the sequence. Reviewed by: dblaikie Differential Revision: https://reviews.llvm.org/D74402
-
Djordje Todorovic authored
This reverts commit rG9f6ff07f. Found a test failure on clang-with-thin-lto-ubuntu buildbot.
-
Liad Mordekoviz authored
This allows us better readability and compatibility with what GNU objdump prints. Fixes https://bugs.llvm.org/show_bug.cgi?id=43941 Reviewed by: jhenderson, MaskRay Differential Revision: https://reviews.llvm.org/D72992
-
David Green authored
-
Kadir Cetinkaya authored
-
Raphael Isemann authored
Sema::RequireCompleteTypeImpl is supposed to have an assert that checks that the SourceLocation that is passed in is always valid. It's currently commented out, but as soon as this assert goes active, nearly every LLDB expression will start crashing as we always pass in an invalid SourceLocation from the ASTResultSynthesizer. This patch just passes in the valid SourceLocation of the expression (which is the SourceLocation where the complete type is required) to prevent that from happening.
-
jasonliu authored
Summary: This is trying to implement the functionality proposed in: http://lists.llvm.org/pipermail/cfe-dev/2017-April/053417.html An exception can throw, but no cleanup is going to happen. A module compiled with exceptions on, can catch the exception throws from module compiled with -fignore-exceptions. The use cases for enabling this option are: 1. Performance analysis of EH instrumentation overhead 2. The ability to QA non EH functionality when EH functionality is not available. 3. User of EH enabled headers knows the calls won't throw in their program and wants the performance gain from ignoring EH construct. The implementation tried to accomplish that by removing any landing pad code that might get generated. Reviewed by: aaron.ballman Differential Revision: https://reviews.llvm.org/D72644
-
Florian Hahn authored
This causes a crash for the reproducer below enum { a }; enum b { c, d }; e; static _Bool g(struct f *h, enum b i) { i &&j(); return a; } static k(char h, enum b i) { _Bool l = g(e, i); l; } m(h) { k(h, c); g(h, d); } This reverts commit aadb635e. -
Clement Courbet authored
Summary: Right now the alignment of the lower half of a store is computed as align/2, which fails for unaligned stores (align = 1), and is overly pessimitic for, e.g. a 8 byte store aligned to 4 bytes. Fixes PR44851 Fixes PR44877 Reviewers: gchatelet, spatel, lebedev.ri Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74311
-
Roman Lebedev authored
Summary: Currently, `SCEVExpander::isHighCostExpansionHelper()` has the following logic: ``` if (auto *UDivExpr = dyn_cast<SCEVUDivExpr>(S)) { // If the divisor is a power of two and the SCEV type fits in a native // integer (and the LHS not expensive), consider the division cheap // irrespective of whether it occurs in the user code since it can be // lowered into a right shift. if (auto *SC = dyn_cast<SCEVConstant>(UDivExpr->getRHS())) if (SC->getAPInt().isPowerOf2()) { if (isHighCostExpansionHelper(UDivExpr->getLHS(), L, At, BudgetRemaining, TTI, Processed)) return true; const DataLayout &DL = L->getHeader()->getParent()->getParent()->getDataLayout(); unsigned Width = cast<IntegerType>(UDivExpr->getType())->getBitWidth(); return DL.isIllegalInteger(Width); } ``` Since this test does not have a datalayout specified, `SCEVExpander::isHighCostExpansionHelper()` says that `[[TMP2:%.*]] = lshr exact i64 [[TMP1]], 5` is high-cost, and didn't perform it. But future patches will change that logic to solely rely on cost-model, without any such datalayout checks, so i think it is best to show that that change is ephemeral, and can already happen without costmodel changes. Reviewers: reames, fhahn, sanjoy, craig.topper, RKSimon Reviewed By: RKSimon Subscribers: javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73717 -
Djordje Todorovic authored
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 -
Mehdi Amini authored
In the previous state, we were relying on forcing the linker to include all libraries in the final binary and the global initializer to self-register every piece of the system. This change help moving away from this model, and allow users to compose pieces more freely. The current change is only "fixing" the dialect registration and avoiding relying on "whole link" for the passes. The translation is still relying on the global registry, and some refactoring is needed to make this all more convenient. Differential Revision: https://reviews.llvm.org/D74461
-
Clement Courbet authored
-
Raphael Isemann authored
Beside these two functions just being wrappers around GetTypeName they are also just a leftover from migrating the CompilerType interface to ConstString.
-
Raphael Isemann authored
-
Marius Brehler authored
* Rename CMake target MLIROptMain to MLIROptLib: The target provides the main library * Rename CMake target MLIRMlirOptLib to MLIRMlirOptMain: The target provides the main() entry function At the moment, the Bazel configuration of TenorFlow maps the target MlirOptLib to "lib/Support/MlirOptMain.cpp" and MlirOptMain to "tools/mlir-opt/mlir-opt.cpp". This is the other way around in the CMake configuration. As discussed in the context of the pull request https://github.com/tensorflow/tensorflow/pull/36301, it seems useful to revise the naming in the MLIR repo. Differential Revision: https://reviews.llvm.org/D73778
-
Ehud Katz authored
Reimplement IEEEFloat::remainder() function. Fix PR3359. Differential Revision: https://reviews.llvm.org/D69776
-
Raphael Isemann authored
CompilerType doesn't implement logic.
-
Georgii Rymar authored
Now with the new functionality that allows creating "defines", it is possible to reduce this test (I tried to find another ones, but seems others were already fixed previously). Differential revision: https://reviews.llvm.org/D74392
-
Nicolai Hähnle authored
Summary: Consider: %r = call i32 @llvm.amdgcn.writelane(i32 0, i32 1, i32 2) This produces a value that is 0 on lane 1, and 2 everywhere else; i.e., it is divergent. Reported-by:
Marek Olsak <Marek.Olsak@amd.com> Reviewers: arsenm, foad, mareko Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74400
-
Nicolai Hähnle authored
Summary: The method attempts to find loads that can be legally clustered by looking for loads consuming the same chain glue token. However, the old code looks at _all_ users of values produced by the chain node -- including uses of the loaded/returned value of volatile loads or atomics. This could lead to circular dependencies which then failed during scheduling. With this change, we filter out users by getResNo, i.e. by which SDValue value they use, to ensure that we only look at users of the chain glue token. This appears to be a rather old bug, which is perhaps surprising. However, the test case is actually quite fragile (i.e., it is hidden by fairly small changes), and the test _must_ use volatile loads for the bug to manifest. Reviewers: arsenm, bogner, craig.topper, foad Subscribers: MatzeB, jvesely, wdng, hiraditya, javed.absar, jfb, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D74253
-
Raphael Isemann authored
They are all implementation details so let's keep them out of the interface. Also makes this code more readable by keeping these small classes not spread over header and source file.
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D74307
-
Kazushi (Jam) Marukawa authored
Summary: Isel and tests for bswap,brev,ctpop,ctlz,ctty,rotl,rotr Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D74304
-
Raphael Isemann authored
It's not used by anyone. Also if something implements its own completion it could just not call the method instead of having a parameter that makes the function a no-op.
-
Craig Topper authored
Tests that should have been with 0daf9b8e
-
Craig Topper authored
-
Craig Topper authored
These should require AVX512VL not AVX512F. The legacy VEX patterns will match first unless AVX512VL is enabled so this doesn't cause a functional issue.
-
Igor Kudrin authored
Differential Revision: https://reviews.llvm.org/D74198
-
Igor Kudrin authored
The patch removes unnecessary members of DWARFDebugAddr and further simplifies the implementation by separating parsing methods of tables in the DWARFv5 and pre-standard formats. Differential Revision: https://reviews.llvm.org/D74197
-
Igor Kudrin authored
As a preparation for the subsequent patches, this updates the wordings of some error messages in DWARFDebugAddr. Differential Revision: https://reviews.llvm.org/D74196
-
Igor Kudrin authored
This replaces a collocation "a .debug_addr table" with "an address table" because the latter sounds more accurate. Differential Revision: https://reviews.llvm.org/D74407
-
Igor Kudrin authored
As there is no header in pre-DWARFv5 address tables, and we fill the class data members with some artificial values, we should not dump them as that might be misleading. Differential Revision: https://reviews.llvm.org/D74195
-
Igor Kudrin authored
As addresses in the address tables may have relocations, thus, the relocations should be resolved to read the correct address. That is especially important for targets that use RELA relocations because in that case addends are stored in relocation sections. Differential Revision: https://reviews.llvm.org/D74404
-
Craig Topper authored
This adds a strict version of FP16_TO_FP and FP_TO_FP16 and uses them to implement soft promotion for the half type. This is enough to provide basic support for __fp16 with strictfp. Add the necessary X86 support to use VCVTPS2PH/VCVTPH2PS when F16C is enabled.
-
Raphael Isemann authored
This was skipped because of an pexpect issue (http://llvm.org/pr22784), but this test is no longer using pexpect and is running fine on FreeBSD.
-
Fangrui Song authored
llvm-go was deleted by 102814b4.
-
Yuanfang Chen authored
This reverts commit rGcd5b308b, rGcd5b308b, rG8cedf0e2. There are issues to be investigated for polly bots and bots turning on EXPENSIVE_CHECKS.
-
Davide Italiano authored
These versions of `clang` are ancient history.
-