- Sep 24, 2021
-
-
Roland McGrath authored
Reviewed By: phosek Differential Revision: https://reviews.llvm.org/D110361
-
Ted Woodward authored
If the remote gdbserver's qfThreadInfo reply has a trailing comma, GDBRemoteCommunicationClient::GetCurrentProcessAndThreadIDs will return an empty vector of thread ids. This will cause lldb to recurse through three functions trying to get the list of threads, until it blows its stack and crashes. A trailing comma is a malformed response, but it shouldn't cause lldb to crash. This patch will return the tids received before the malformed response. Reviewed By: clayborg, labath Differential Revision: https://reviews.llvm.org/D109937
-
Joseph Huber authored
This patch fixes a data-race observed when using the new device runtime library. The Internal control variable for the parallel level is read in the `__kmpc_parallel_51` function while it could potentially be written by other threads. This causes data corruption and will cause nondetermistic behaviour in the runtime. This patch fixes this by adding an explicit synchronization before the region starts. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D110366
-
Matt Arsenault authored
-
Craig Topper authored
Turn (and (shl x, c2), c1) -> (slli (srli x, c3-c2), c3) if c1 is a shifted mask with no leading zeros and c3 trailing zeros where c3 is greater than c2.
-
Craig Topper authored
[RISCV] Add more tests for (and (shl x, C2), C1) that can be improved by using a pair of shifts. NFC These tests have C1 as a shifted mask having no leading zeros and C3 trailing zeros. If C3 is more than C2, we can select this as (slli (srli x, C3-C2), C3).
-
Petr Hosek authored
This matches other LLVM binary tools. Differential Revision: https://reviews.llvm.org/D110313
-
David Goldman authored
Xcode uses `#pragma mark -` to draw a divider in the outline view and `#pragma mark Note` to add `Note` in the outline view. For more information, see https://nshipster.com/pragma/. Since the LSP spec doesn't contain dividers for the symbol outline, instead we treat `#pragma mark -` as a group with children - the decls that come after it, implicitly terminating when the symbol's parent ends. The following code: ``` @implementation MyClass - (id)init {} - (int)foo; @end ``` Would give an outline like ``` MyClass > Overrides > init > Public Accessors > foo ``` Differential Revision: https://reviews.llvm.org/D105904
-
mydeveloperday authored
Fix set but not used warning
-
Petr Hosek authored
This reverts commit 52c30adc which breaks the build when NDEBUG is defined.
-
Duncan P. N. Exon Smith authored
The closing namespace comment prevents clang-format from dropping a blank line after the final test. Also add in a blank line (which simplifies merging/rebasing/etc. WIP patches).
-
Michael Kruse authored
The name of the option is misleading and has been renamed by isl to "serialize-sccs". Instead of also renaming the option, remove it. The option is still accessible using -polly-isl-arg=--no-schedule-serialize-sccs -
peter klausler authored
The strongly typed expression representation classes supported a representation of parentheses only around intrinsic types with specific kinds. Parentheses around derived type variables must also be preserved so that expressions may be distinguished from variables; this distinction matters for actual arguments & construct associations. Differential Revision: https://reviews.llvm.org/D110355
-
Augusto Noronha authored
If we applied a fix-it before evaluating an expression and that expression didn't evaluate correctly, we should still tell users about the fix-it we applied since that may be the reason why it didn't work correctly. Differential Revision: https://reviews.llvm.org/D109908
-
wren romano authored
When generating code to add an element to SparseTensorCOO (e.g., when doing dense=>sparse conversion), we used to check for nonzero values on the runtime side, whereas now we generate MLIR code to do that check. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D110121
-
Stefan Gränitz authored
Functions in static code that should be callable from JITed code must be exported. For dynamic libraries extern functions are exported by default. For exectuables, linkers usually strip them away unless we explicitly ask for keeping them. Reviewed By: xgupta Differential Revision: https://reviews.llvm.org/D110345
-
Nico Weber authored
We should use IMAGE_REL_I386_SECREL in the i386 section of this file. IMAGE_REL_I386_SECREL and IMAGE_REL_AMD64_SECREL have the same numeric value 0xB, so this doesn't change behavior.
-
Nico Weber authored
Also use just one space after comma. Now grepping for ', offset ' in llvm/test actually finds the test for `offset`. No behavior change.
-
Stefan Gränitz authored
Two typos, one unsused include and some leftovers from the TargetProcessControl -> ExecutorProcessControl renaming Reviewed By: xgupta Differential Revision: https://reviews.llvm.org/D110260
-
Fangrui Song authored
-
LLVM GN Syncbot authored
-
mydeveloperday authored
Developers these days seem to argue over east vs west const like they used to argue over tabs vs whitespace or the various bracing style. These previous arguments were mainly eliminated with tools like `clang-format` that allowed those rules to become part of your style guide. Anyone who has been using clang-format in a large team over the last couple of years knows that we don't have those religious arguments any more, and code reviews are more productive. https://www.youtube.com/watch?v=fv--IKZFVO8 https://mariusbancila.ro/blog/2018/11/23/join-the-east-const-revolution/ https://www.youtube.com/watch?v=z6s6bacI424 The purpose of this revision is to try to do the same for the East/West const discussion. Move the debate into the style guide and leave it there! In addition to the new `ConstStyle: Right` or `ConstStyle: Left` there is an additional command-line argument `--const-style=left/right` which would allow an individual developer to switch the source back and forth to their own style for editing, and back to the committed style before commit. (you could imagine an IDE might offer such a switch) The revision works by implementing a separate pass of the Annotated lines much like the SortIncludes and then create replacements for constant type declarations. Differential Revision: https://reviews.llvm.org/D69764
-
David Green authored
Some of these test show very poor code generation. Updating the tests to make the tests more maintainable and prevent problems from being hidden behind badly written test checks. Also in some of them the check lines were using incorrect prefixes. These are not-quite auto-generated. They are generated with the normal update scripts and then uninteresting checks are removed, which at least makes the test _more_ maintainable without materially changing what they are testing. I have otherwise attempted to not alter what is tested.
-
Craig Topper authored
Turn (and (shr x, c2), c1) -> (slli (srli x, c2+c3), c3) if c1 is a shifted mask with c2 leading zeros and c3 trailing zeros. When the leading zeros is C2+32 we can use SRLIW in place of SRLI.
-
Craig Topper authored
[RISCV] Add more tests for (and (srl x, C2), C1) that can be improved by using a pair of shifts. NFC These tests have C1 as a shifted mask having C2 leading zeros and some number of trailing zeros, C3. We can select this as (slli (srli x, C2+C3), C3) or (slli (srliw x, C2+C3), C3).
-
Sanjay Patel authored
Suggested in D110342
-
Sanjay Patel authored
This function can be adapted to solve bugs like PR51245, but it could require differentiating the combiner timing between the existing and new transforms.
-
Yuanfang Chen authored
This reverts commit cbbf2e8c. It seems causing diagnoses in SFINAE context.
-
Michał Górny authored
Switch the gdb-remote client logic to use local (LLDB) register numbers in value_regs/invalidate_regs rather than remote regnos. This involves translating regnos received from lldb-server. Differential Revision: https://reviews.llvm.org/D110027
-
Michał Górny authored
Refactor remote register getters to collect them into a local std::vector rather than adding them straight into DynamicRegisterInfo. The purpose of this change is to lay groundwork for switching value_regs and invalidate_regs to use local LLDB register numbers rather than remote numbers. Differential Revision: https://reviews.llvm.org/D110025
-
Thomas Lively authored
Add experimental clang builtins, LLVM intrinsics, and backend definitions for the new {f32x4,f64x2}.{fma,fms} instructions in the relaxed SIMD proposal: https://github.com/WebAssembly/relaxed-simd/blob/main/proposals/relaxed-simd/Overview.md. Do not allow these instructions to be selected without explicit user opt-in. Differential Revision: https://reviews.llvm.org/D110295 -
Raphael Isemann authored
LLDB has a bunch of code that implements REPL support, but all that code is unreachable as no language in master currently has an implemented REPL backend. The only REPL that exists is in the downstream Swift fork. All patches for this generic REPL code therefore also only have tests downstream which is clearly not a good situation. This patch implements a basic C language REPL on top of LLDB's REPL framework. Beside implementing the REPL interface and hooking it up into the plugin manager, the only other small part of this patch is making the `--language` flag of the expression command compatible with the `--repl` flag. The `--repl` flag uses the value of `--language` to see which REPL should be started, but right now the `--language` flag is only available in OptionGroups 1 and 2, but not in OptionGroup 3 where the `--repl` flag is declared. The REPL currently can currently only start if a running target exists. I'll add the 'create and run a dummy executable' logic from Swift (which is requires when doing `lldb --repl`) when I have time to translate all this logic to something that will work with Clang. I should point out that the REPL currently uses the C expression parser's approach to persistent variables where only result variables and the ones starting with a '$' are transferred between expressions. I'll fix that in a follow up patch. Also the REPL currently doesn't work in a non-interactive terminal. This seems to be fixed in the Swift fork, so I assume one of our many REPL downstream changes addresses the issue. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D87281
-
Leonard Chan authored
Some tests with binary IDs would fail with error: no profile can be merged. This is because raw profiles could have unaligned headers when emitting binary IDs. This means padding should be emitted after binary IDs are emitted to ensure everything else is aligned. This patch accounts for that padding in __llvm_write_binary_ids. Differential Revision: https://reviews.llvm.org/D110188
-
peter klausler authored
Count input characters corresponding to formatted edit descriptors for READ(SIZE=); count output bytes for INQUIRE(IOLENGTH=). The I/O APIs GetSize() and GetLength() were adjusted to return std::size_t as function results. Basic unit tests were added (and others fixed). Differential Revision: https://reviews.llvm.org/D110291
-
Louis Dionne authored
That macro was being defined but not used anywhere in libc++, so it must be safe to remove it. As a fly-by fix, also remove mentions of this macro in other places in LLVM, to make sure they were not depending on the value defined in libc++. Differential Revision: https://reviews.llvm.org/D110289
-
David Green authored
-
Valentin Clement authored
fir.cmpf op is not necessary anymore as it is replaced by mlir.cmpf. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D110327 Co-authored-by: schweitzpgi Co-authored-by: jeanPerier
-
Valentin Clement authored
This patch is part of the upstreaming effort from fir-dev branch. Rename the function so the name conveys better what it does. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D110323 Co-authored-by: schweitz Co-authored-by: jeanPerier
-
Nikita Popov authored
This is basically D108837 but for jump threading. Free instructions should be ignored for the threading decision. JumpThreading already skips some free instructions (like pointer bitcasts), but does not skip various free intrinsics -- in fact, it currently gives them a fairly large cost of 2. Differential Revision: https://reviews.llvm.org/D110290
-