- Jan 17, 2020
-
-
Martin Probst authored
Summary: tslint and tsc (the TypeScript compiler itself) use comment pragmas of the style: // tslint:disable-next-line:foo // @ts-ignore These must not be wrapped and must stay on their own line, in isolation. For tslint, this required adding it to the pragma regexp. The comments starting with `@` are already left alone, but this change adds test coverage for them. Reviewers: krasimir Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72907
-
Krasimir Georgiev authored
Summary: Revision a75f8d98 fixed spacing for operators, but caused the const and non-const versions to diverge: ``` // With Style.PointerAlignment = FormatStyle::PAS_Left: struct A { operator char*() { return ""; } operator const char *() const { return ""; } }; ``` The code was checking if the type specifier was directly preceded by `operator`. However there could be comments and `const/volatile` in between. Reviewers: mprobst Reviewed By: mprobst Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72911
-
Miloš Stojanović authored
Implementing functions used to enable testing of memory instructions. Differential Revision: https://reviews.llvm.org/D72858
-
Raphael Isemann authored
We already call it later in the method (which is in the right order as we Initialize it at the of the constructor).
-
Raphael Isemann authored
-
Cullen Rhodes authored
Summary: Implements the following intrinsics: * @llvm.aarch64.sve.brka * @llvm.aarch64.sve.brka.z * @llvm.aarch64.sve.brkb * @llvm.aarch64.sve.brkb.z * @llvm.aarch64.sve.brkn.z * @llvm.aarch64.sve.brkpa.z * @llvm.aarch64.sve.brkpb.z Reviewers: sdesmalen, efriedma, dancgr, mgudim, cameron.mcinally, rengolin Reviewed By: sdesmalen Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72393 -
Simon Pilgrim authored
Add DemandedElts handling to ISD::ANY_EXTEND and add missing ISD::ANY_EXTEND_VECTOR_INREG handling. Despite the lack of test changes this code IS being used - its just that the ANY_EXTEND ops are legalized later on (typically to ZERO_EXTEND equivalents) so we typically manage to combine later on.
-
Simon Pilgrim authored
-
David Spickett authored
GCC will accept any case for assembler directives. For example ".abort" and ".ABORT" (even ".aBoRt") are equivalent. https://sourceware.org/binutils/docs/as/Pseudo-Ops.html#Pseudo-Ops "The names are case insensitive for most targets, and usually written in lower case." Change llvm-mc to accept any case for generic directives or aliases of those directives. This for Bugzilla #39527. Differential Revision: https://reviews.llvm.org/D72686
-
Kerry McLaughlin authored
Summary: Several SVE intrinsics with immediate arguments (including those added by D70253 & D70437) do not use the ImmArg property. This patch adds ImmArg<Op> where required and changes the appropriate patterns which match the immediates. Reviewers: efriedma, sdesmalen, andwar, rengolin Reviewed By: efriedma Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72612
-
Peter Smith authored
In D71281 a fix was put in to round up the size of a ThunkSection to the nearest 4KiB when performing errata patching. This fixed a problem with a very large instrumented program that had thunks and patches mutually trigger each other. Unfortunately it triggers an assertion failure in an AArch64 allyesconfig build of the kernel. There is a specific assertion preventing an InputSectionDescription being larger than 4KiB. This will always trigger if there is at least one Thunk needed in that InputSectionDescription, which is possible for an allyesconfig build. Abstractly the problem case is: .text : { *(.text) ; ... . = ALIGN(SZ_4K); __idmap_text_start = .; *(.idmap.text) __idmap_text_end = .; ... } The assertion checks that __idmap_text_end - __idmap_start is < 4 KiB. Note that there is more than one InputSectionDescription in the OutputSection so we can't just restrict the fix to OutputSections smaller than 4 KiB. The fix presented here limits the D71281 to InputSectionDescriptions that meet the following conditions: 1.) The OutputSection is bigger than the thunkSectionSpacing so adding thunks will affect the addresses of following code. 2.) The InputSectionDescription is larger than 4 KiB. This will prevent any assertion failures that an InputSectionDescription is < 4 KiB in size. We do this at ThunkSection creation time as at this point we know that the addresses are stable and up to date prior to adding the thunks as assignAddresses() will have been called immediately prior to thunk generation. The fix reverts the two tests affected by D71281 to their original state as they no longer need the 4KiB size roundup. I've added simpler tests to check for D71281 when the OutputSection size is larger than the ThunkSection spacing. Fixes https://github.com/ClangBuiltLinux/linux/issues/812 Differential Revision: https://reviews.llvm.org/D72344 -
Raphael Isemann authored
These files should do the more or less the same initialize/terminate calls in the same order. This just reverts all the differences that have piled up over time in the SystemInitializerTest that people keep forgetting about.
-
Dmitri Gribenko authored
This reverts commit 051d3303. It broke buildbots, for example, http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/21908.
-
Martin Probst authored
Summary: Including `do`, `for`, and `while`, `if`, `else`, `try`, `catch`, in addition to the previously handled fields. The unit test explicitly uses methods, but this code path handles both fields and methods. Reviewers: krasimir Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72827
-
serge-sans-paille authored
Glibc issue: https://sourceware.org/bugzilla/show_bug.cgi?id=25399 The fix consist in considering the missing function as a builtin lowered to a nop. Differential Revision: https://reviews.llvm.org/D72869
-
serge-sans-paille authored
This reverts commit 3d210ed3. See https://reviews.llvm.org/D71082 for the patch and discussion that make it possible to reapply this patch.
-
Raphael Isemann authored
-
Hans Wennborg authored
-
Raphael Isemann authored
This test had been overwritten by accident in ff75262f. This just readds the test with the correct content.
-
Kadir Cetinkaya authored
Revert "[clangd][test] Disable a particular testcase in FindExplicitReferencesTest when LLVM_ENABLE_EXPENSIVE_CHECKS" This reverts commit 42b3c389. Should've been fixed by d54d71b6
-
Alex Langford authored
Target doesn't use ClangASTContext, it just needs PersistentExpressionState. Replace ClangASTContext.h with ExpressionVariable.h
-
Jonas Devlieghere authored
... and include it from the main CMakeLists.txt instead of including the utility subdirectories directly. This is consistent with the other subdirectories and limits the scope of future changes.
-
Jonas Devlieghere authored
The build configuration wasn't properly substituted for the config.lldb_executable variable. This broke when the variable was extracted from config.dotest_args_str which was properly substituted.
-
Lang Hames authored
-
Lang Hames authored
-
Craig Topper authored
[Transforms][RISCV] Remove a "using namespace llvm" from an include file. Fix a place that became dependent on it. This include file was created in October and has a "using namespace llvm". This seems to get exposed to other include files and finally onto cpp files. While this somewhat okay for llvm itself, its bad for other projects that use llvm as a library and includes a header file that picks this up. This was found by ISPC which has some class names at gloal scope with the same names as LLVM. It looks like RISCV accidentally became dependent on this. I fixed it by reordering some includes in the RISCV code, but maybe we want to change the TableGenEmitter to put "namespace llvm {" in the generated file instead? But we probably want to do the simplest thing first so we can merge it to 10.0. Differential Revision: https://reviews.llvm.org/D72895 -
Jonas Devlieghere authored
-
Lang Hames authored
This patch updates the formatting and language of the Features section of the ORCv2 design document. It also fixes a TBD by adding discussion of the absoluteSymbols, symbolAliases, and reexports utilities. Typos found during editing were also fixed.
-
Jonas Devlieghere authored
LLVMConfig doesn't export LLVM_HOST_TRIPLE, but it sets the TARGET_TRIPLE based on this variable. So use that again for the compiler invocations in the shell tests.
-
Cyndy Ishida authored
Summary: * enabling and disabling a breakpoint were missing. Reviewers: JDevlieghere Reviewed By: JDevlieghere Subscribers: merge_guards_bot, jingham, dexonsmith, ributzka, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D72898
-
Richard Smith authored
-
Matt Arsenault authored
-
Marcello Maggioni authored
Summary: In the DFAPacketizer we copy the Transitions array into a map in order to later access the transitions based on a "Current State/Action" pair as a key. This map lives in the Automaton object used by the DFAPacketizer. It is never changed during the life of the object after having been created during the creation of the Automaton itself. This map creation can make the creation of a DFAPacketizer quite expensive if the target contains a considerable amount of transition states. Considering that TableGen already generates a sorted list of transitions by State/Action pairs we could just use that directly in our Automaton and search entries with std::lower_bound instead of copying it in a map and paying the execution time and memory cost. Reviewers: jmolloy, ThomasRaoux Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72682
-
Lei Zhang authored
SPV_MM_Vulkan can be enabled by the SPV_KHR_vulkan_memory_model extension. Differential Revision: https://reviews.llvm.org/D72764
-
Lei Zhang authored
By default, for an enum attribute, we will generate a list of equality comparisons for all supported cases inside it's predicate. This list can be fairly large for certain SPIR-V enum attributes. Instead, we already have such a list generated by EnumsGen in the symbolize functions. Leverage that to simplify the generated C++ code. Differential Revision: https://reviews.llvm.org/D72763
-
Lei Zhang authored
Certain SPIR-V capabilities are only available in certain SPIR-V versions or extensions. Also a SPIR-V capability may implicitly declares other capabilities. This commit updates gen_spirv_dialect.py to support generating such information into SPIRVBase.td. It requires us to topologically sort all capabilities because now a capability can refer to another one. This commits also registers a few extensions because their symbols are used by capability availability. Note that this commit hasn't updated SPIRVConversionTarget to take into consideration such relationship yet. That will be done in a following-up commit. Differential Revision: https://reviews.llvm.org/D72760
-
Steven Wan authored
Remove unused link components for PowerPC target unittest according to post commit comments. This is a redo for a previous commit "fc4e43ad" that removed a few components that are necessary when libraries are to be built shared (i.e., BUILD_SHARED_LIBS=ON).
-
Richard Smith authored
-
Steven Wan authored
Add all previous link components back to unblock bots for the moment. In the meantime, I'm investigating the BUILD_SHARED_LIBS=ON build to find out the minimal list of components needed.
-