- May 07, 2020
-
-
Sjoerd Meijer authored
This reverts commit 617aa64c. while I investigate buildbot failures.
-
Sjoerd Meijer authored
If tail-folding of the scalar remainder loop is applied, the primary induction variable is splat to a vector and used by the masked load/store vector instructions, thus the IV does not remain scalar. Because we now mark that the IV does not remain scalar for these cases, we don't emit the vector IV if it is not used. Thus, the vectoriser produces less dead code. Thanks to Ayal Zaks for the direction how to fix this. Differential Revision: https://reviews.llvm.org/D78911
-
Sam Parker authored
-
Haojian Wu authored
Reviewers: gribozavr2 Subscribers: xazax.hun, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79494
-
David Sherwood authored
When calculating the natural alignment for scalable vectors it is acceptable to calculate an allocation size based on the minimum number of elements in the vector. This code path is exercised by an existing test: CodeGen/AArch64/sve-intrinsics-int-arith.ll Differential Revision: https://reviews.llvm.org/D79475
-
Craig Topper authored
We're truncating so the extra bits will be discarded.
-
Craig Topper authored
[X86] Add test cases for missed opportunity to match pmulh from multiplies with elements larger than i32. We currently look for vXi32 sext/zext to match PMULH, but it doesn't matter how many extra bits above i32 there are.
-
Uday Bondhugula authored
The list of destination load ops while evaluating producer-consumer fusion wasn't being maintained as a set, and as such, duplicate load ops were being added to it. Although this is harmless correctness-wise, it's a killer efficiency-wise and it prevents interesting/useful fusions (including for eg. reshapes into a matmul). The reason the latter fusions would be missed is that a slice union would be unnecessarily needed due to the duplicate load ops on a memref added to the 'dst loads' list. Since slice union is unimplemented for the local var case, a single destination load op that leads to local vars (like a floordiv / mod producing fusion), a common case, would not get fused due to an unnecessary union being tried with itself. (The union would actually be the same thing but we would bail out.) Besides the above, this would also significantly speed up fusion as all the unnecessary slice computations / unions, checks, etc. due to the duplicates go away. Differential Revision: https://reviews.llvm.org/D79547
-
Med Ismail Bennani authored
The source file used to test Objective-C data-formatters didn't respected any formatting (mixed tab and spaces, lines exceed column 80, etc...). This patch reformats the file using clang-format to make it easier to work with. Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Jonas Devlieghere authored
Fix DWARFLinker.cpp:2538:5: error: call to 'sort' is ambiguous.
-
Craig Topper authored
I missed this case when I did the same for gather results and scatter operands in c69a4d6b.
-
Jonas Devlieghere authored
This patch adds statistics about the contribution of each object file to the linked debug info. When --statistics is passed to dsymutil, it prints a table after linking as illustrated below. It lists the object file name, the size of the debug info in the object file in bytes, and the absolute size contribution to the linked dSYM and the percentage difference. The table is sorted by the output size, so the object files contributing the most to the link are listed first. .debug_info section size (in bytes) ------------------------------------------------------------------------------- Filename Object dSYM Change ------------------------------------------------------------------------------- basic2.macho.x86_64.o 210b 165b -24.00% basic3.macho.x86_64.o 177b 150b -16.51% basic1.macho.x86_64.o 125b 129b 3.15% ------------------------------------------------------------------------------- Total 512b 444b -14.23% ------------------------------------------------------------------------------- Differential revision: https://reviews.llvm.org/D79513
-
Han Zhu authored
f8990feb enabled installing PIC version of both libclang.a and libclang.so when LIBCLANG_BUILD_STATIC is ON. But it broke the no-PIC build when LLVM_ENABLE_PIC=OFF with the following error: ``` CMake Error at /b/s/w/ir/cache/builder/src/third_party/llvm/clang/tools/libclang/CMakeLists.txt:123 (target_compile_definitions): target_compile_definitions called with non-compilable target type ``` This is because as the code loops through ${name} and ${name}_static, it introduced a side effect, which is adding an empty libclang_static to targets. Later target_compile_definitions is called on libclang_static. That function requires that target must have been created by a command such as add_executable() or add_library(), so it crashed. The solution is to not naively loop through both libclang and libclang_static, but only the ones that are actually added by llvm_add_library(). Here's the library build type to library target name mapping: | SHARED only | libclang | | STATIC only | libclang | | SHARED and STATIC | libclang and libclang_static | So only when SHARED and STATIC are both set should we loop through two targets. Explicitly parse the STATIC argument and set the list accordingly. Reviewed By: smeenai Differential Revision: https://reviews.llvm.org/D79059
-
Julian Lettner authored
When reporting diagnostics from ASan's (and other sanitizer's) signal handlers we should strip the "invalid signature" bit before printing addresses. This makes the report less confusing and let's the user focus on the real issue. rdar://62615826 Reviewed By: kubamracek, delcypher Differential Revision: https://reviews.llvm.org/D79132
-
Eli Friedman authored
Now using patterns, since there's a single-instruction lowering. (We could convert to VSELECT and pattern-match that, but there doesn't seem to be much point.) I think this might be the first instruction to use nested multiclasses this way? It seems like a good way to reduce duplication between different integer widths. Let me know if it seems like an improvement. Also, while I'm here, fix the return type of SETCC so we don't try to merge a sign-extend with a SETCC. Differential Revision: https://reviews.llvm.org/D79193
-
Adrian Prantl authored
For Swift LLDB (but potentially also for module support in Clang-land) we need a way to accumulate the path remappings produced by Module::RegisterXcodeSDK(). In order to make this work for SymbolFileDebugMaps, registering the search path remapping with both modules is necessary. Differential Revision: https://reviews.llvm.org/D79384 <rdar://problem/62750529>
-
Reid Kleckner authored
I couldn't find this info in any other dumper, so it might as well be here.
-
Christopher Tetreault authored
Summary: Add --relative to the suggested git-diff one liner. If the user does not pass this argument, then git will produce a diff with the path relative to the repository root. If the user's working directory is not the repository root, then clang-format will complain that the file is not found. The --relative argument makes git produce a diff with the files relative to the working directory. Add note to doc string to warn users about the fact that filenames embedded in the diff are used as-is with no attempts to "do what they mean, not what they say" Reviewers: djasper, alexfh, efriedma, klimek, thakis Reviewed By: efriedma Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79054
-
Tim Keith authored
In the places it is used as a noun, replace "align" with "alignment". Differential Revision: https://reviews.llvm.org/D79520
-
Pete Steinfeld authored
Summary: I updated the code that produces the message and the associated test. Reviewers: sscalpone, DavidTruby, kiranchandramohan Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79514
-
- May 06, 2020
-
-
Craig Topper authored
Neither gcc or icc support this. Split out from D79472. I want to remove more, but it looks like icc does support some things gcc doesn't and I need to double check our internal test suites.
-
Jonas Devlieghere authored
The Python used to run lit can be different from the Python LLDB was build with. One scenario where this happens is when LLVM can find the Python 3 interpreter, but not the Python 3 libraries, in which case LLDB build and links against Python 3. Without this change, you end up with an ModuleNotFoundError because of the mismatch. Instead of looking at the Python interpreter that's used to run lit, lldbtest should use the interpreter that matches the Python version LLDB was build against. Differential revision: https://reviews.llvm.org/D79519
-
Whitney Tsang authored
loop nest. Summary: As discussed in https://reviews.llvm.org/D73129. Example Before unroll and jam: for A for B for C D E After unroll and jam (currently): for A A' for B for C D B' for C' D' E E' After unroll and jam (Ideal): for A A' for B B' for C C' D D' E E' This is the first patch to change unroll and jam to work in the ideal way. This patch change the safety checks needed to make sure is safe to unroll and jam in the ideal way. Reviewer: dmgreen, jdoerfert, Meinersbur, kbarton, bmahjour, etiotto Reviewed By: Meinersbur Subscribers: fhahn, hiraditya, zzheng, llvm-commits, anhtuyen, prithayan Tag: LLVM Differential Revision: https://reviews.llvm.org/D76132
-
Artem Belevich authored
Differential Revision: https://reviews.llvm.org/D79515
-
Craig Topper authored
Y is the start of several 2 letter constraints, but we also had partial support to recognize it by itself. But it doesn't look like it can get through clang as a single letter so the backend support for this was effectively dead.
-
Eric Christopher authored
A few documentation clarifications and moving one part of the docs around to be closer to the first mention of display so that it's easier to spot based on some user feedback. Differential Revision: https://reviews.llvm.org/D79443
-
Adrian Prantl authored
When debugging a remote platform, the platform you get from GetPlatformForArchitecture doesn't inherit from PlatformDarwin. HostInfoMacOSX seems like the right place to have a global store of local paths. Differential Revision: https://reviews.llvm.org/D79364
-
Melanie Blower authored
Bug reported by @uabelho against reviews.llvm.org/D72841 Reviewers: rjmccall Differential Revision: https://reviews.llvm.org/D79510
-
Adrian Prantl authored
When debugging from a SymbolMap the creation of CompileUnits for the individual object files is so lazy that RegisterXcodeSDK() is not invoked at all before the Swift TypeSystem wants to read it. This patch fixes this by introducing an explicit SymbolFile::ParseXcodeSDK() call that can be invoked deterministically before the result is required. <rdar://problem/62532151+62326862> https://reviews.llvm.org/D79273
-
Sergej Jaskiewicz authored
This reverts commit 52cc8bac. As the discussion in https://reviews.llvm.org/D78200 continues, I will revert this until we figure out what to do.
-
Akira Hatanaka authored
passed to __builtin_os_log_format to extend its lifetime to the end of its enclosing block Extend only lifetimes of pointers returned by function calls or message sends instead. In the long term, we should lifetime-extend pointers in more complex expressions and non-ARC objects (e.g., C++ temporaries) too. rdar://problem/61846261
-
Sam Clegg authored
This was originally the way this worked before before https://reviews.llvm.org/D60882. In retrospect it seems inconsistent that `--allow-undefined` doesn't work for all symbols. See: https://groups.google.com/g/emscripten-discuss/c/HSRgQiIq1gI/m/Kt9oFWHiAwAJ I'm also planning a followup change which implement the full `--unresolved-symbols=..` flags supported by ELF linkers (both ld and ld.lld) since it seems more standard. Differential Revision: https://reviews.llvm.org/D79247
-
Pete Steinfeld authored
Summary: I updated the code that produces the message and the associated test. Reviewers: sscalpone, DavidTruby Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D79514
-
Alexandre Ganea authored
This reverts commit 06591b6d.
-
Alexandre Ganea authored
Before this patch, the debug record S_GTHREAD32 which represents global thread_local symbols, was emitted by LLD into the respective module stream. This makes Visual Studio unable to display thread_local symbols in the debugger. After this patch, S_GTHREAD32 is moved into the globals stream. This matches MSVC behavior. Differential Revision: https://reviews.llvm.org/D79005
-
Tim Keith authored
Add a way to get mutable equivalence sets to Scope so that they can have sizes and offsets assigned to them. Change CommonBlockDetails to have mutable symbols so that they can have sizes and offets assigned to them. This also allows the removal of some `const_cast`s. Add MutableSymbolRef and MutableSymbolVector as mutable analogs to SymbolRef and SymbolVector. Replace uses of equivalent types with those names. Differential Revision: https://reviews.llvm.org/D79346
-
Ulrich Weigand authored
When using vec_load/store_len_r with an immediate length operand of 16 or larger, LLVM will currently emit an VLRL/VSTRL instruction with that immediate. This creates a valid encoding (which should be supported by the assembler), but always traps at runtime. This patch fixes this by not creating VLRL/VSTRL in those cases. This would result in loading the length into a register and calling VLRLR/VSTRLR instead. However, these operations with a length of 15 or larger are in fact simply equivalent to a full vector load or store. And in fact the same holds true for vec_load/store_len as well. Therefore, add a DAGCombine rule to replace those operations with plain vector loads or stores if the length is known at compile time and equal or larger to 15.
-
Daan De Meyer authored
Summary: systemd recently added a clang-format file. One issue I encountered in using clang-format on systemd is that systemd does not add a space before the parens of their foreach macros but clang-format always adds a space. This does not seem to be configurable in clang-format. This revision adds the ControlStatementsExceptForEachMacros option to SpaceBeforeParens which puts a space before all control statement parens except ForEach macros. This drastically reduces the amount of changes when running clang-format on systemd's source code. Reviewers: MyDeveloperDay, krasimir, mitchell-stellar Reviewed By: MyDeveloperDay Subscribers: cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D78869
-
LemonBoy authored
Calling getShiftAmountTy with LegalTypes set may return a type that's too narrow to hold the shift amount for integer type it's applied to. Fixes the regression introduced by D79096 Differential Revision: https://reviews.llvm.org/D79405
-
Uday Bondhugula authored
Rename op trait PolyhedralScope -> AffineScope for consistency. Differential Revision: https://reviews.llvm.org/D79503
-