- May 05, 2023
-
-
Martin Braenne authored
For the wider context of this change, see the RFC at https://discourse.llvm.org/t/70086. After this change, global and local variables of reference type are associated directly with the `StorageLocation` of the referenced object instead of the `StorageLocation` of a `ReferenceValue`. Some tests that explicitly check for an existence of `ReferenceValue` for a variable of reference type have been modified accordingly. As discussed in the RFC, I have added an assertion to `Environment::join()` to check that if both environments contain an entry for the same declaration in `DeclToLoc`, they both map to the same `StorageLocation`. As discussed in https://discourse.llvm.org/t/70086/5, this also necessitates removing declarations from `DeclToLoc` when they go out of scope. In the RFC, I proposed a gradual migration for this change, but it appears that all of the callers of `Environment::setStorageLocation(const ValueDecl &, SkipPast` are in the dataflow framework itself, and that there are only a few of them. As this is the function whose semantics are changing in a way that callers potentially need to adapt to, I've decided to change the semantics of the function directly. The semantics of `getStorageLocation(const ValueDecl &, SkipPast SP` now no longer depend on the behavior of the `SP` parameter. (There don't appear to be any callers that use `SkipPast::ReferenceThenPointer`, so I've added an assertion that forbids this usage.) This patch adds a default argument for the `SP` parameter and removes the explicit `SP` argument at the callsites that are touched by this change. A followup patch will remove the argument from the remaining callsites, allowing the `SkipPast` parameter to be removed entirely. (I don't want to do that in this patch so that semantics-changing changes can be reviewed separately from semantics-neutral changes.) Reviewed By: ymandel, xazax.hun, gribozavr2 Differential Revision: https://reviews.llvm.org/D149144
-
Alexey Bataev authored
The pass should not try to revectorize instructions with constant operands, which were not folded by the IRBuilder. It prevents the non-terminating loop in the SLP vectorizer for non foldable constant operations.
-
Arthur Eubanks authored
This is what the code assumed but never actually checked. Fixes https://github.com/llvm/llvm-project/issues/62509. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D149896
-
Alex Langford authored
I have a patch to refactor this class and I'd like a unittest in place to make sure I don't break anything. Differential Revision: https://reviews.llvm.org/D149804
-
Jon Chesterfield authored
This reverts commit 09ceb472.
-
Florian Hahn authored
Reorder cases to make sure they are ordered properly in preparation for D149081.
-
Jason Molenda authored
Add suport for MASK style watchpoints on AArch64 in debugserver on Darwin systems, for watching power-of-2 sized memory ranges. More work needed in lldb before this can be exposed to the user (because they will often try watching memory ranges that are not exactly power-of-2 in size/alignment) but this is the first part of adding that capability. Differential Revision: https://reviews.llvm.org/D149792 rdar://108233371
-
Jason Molenda authored
If a remote stub provides the addressing_bits kv pair in the stop reply packet, update the Process address masks with that value as it possibly changes during the process runtime. This is an unusual situation, most likely a JTAG remote stub and some very early startup code that is setting up the page tables. Nearly all debug sessions will have a single address mask that cannot change during the lifetime of a Process. Differential Revision: https://reviews.llvm.org/D149803 rdar://61900565
-
Jon Chesterfield authored
-
walter erquinigo authored
REPL implementations don't have an easy way to know that an expression has been evaluated, so I'm adding a simple function for that. In the future we can add another hook for meta commands. Differential Revision: https://reviews.llvm.org/D149719
-
walter erquinigo authored
`StartEventHandlerThread` and `StopEventHandlerThread` are available to the SwiftREPL even though they are protected because SwiftREPL is a friend class of Debugger. I'm developing my own REPL and having access to these functions, including `FlushProcessOutput`, is desirable. Differential Revision: https://reviews.llvm.org/D149717
-
Ilya Kuklin authored
This change will allow to put code pointers in DWARF info fields that are larger than actual pointer size, e.g. 16-bit pointers into 32-bit fields. The need for this came up while creating support for MSP430 in LLDB. MSP430-GCC already generates DWARF info with 32-bit fields, so this change is necessary for LLDB to maintain compatibility with both GCC and LLVM binaries. Moreover, right now in LLDB there is no support for having DWARF pointer size different from ELF header type, e.g. 16-bit DWARF info within ELF32, and it seems there is no such thing as ELF16. Since other mainline targets are made to have the same pointer size in both MCAsmInfo and DataLayout, there is no need to change anything there. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D148042
-
William Huang authored
ExtBinary is compatible to, and more superior than Binary format, which is the current default output format. In the long run we are looking to only support ExtBinary format and Text format (for visual inspection), and drop Binary format as well. Since Binary format was the default, we expect many users are still using it, so let's change the default output format first, and hopefully the usage decreases over time Reviewed By: davidxl, hoy Differential Revision: https://reviews.llvm.org/D149700
-
Joseph Huber authored
This test fails on sm_60 because of the atomics codegen. We test atomics indirectly with the `rpc` so we still have coverage. Differential Revision: https://reviews.llvm.org/D149887
-
Siva Chandra Reddy authored
This reverts commit fb6faf47 as the aarch64 builders are failing.
-
Siva Chandra Reddy authored
A target for the test named ${fq_target_name} has been added. It depends on ${fq_target_name}.__unit__ and ${fq_target_name}.__hermetic__ as relevant. Reviewed By: jhuber6 Differential Revision: https://reviews.llvm.org/D149730 -
Tom Stellard authored
See discussion in #56643. Reviewed By: rengolin, jhenderson, ldionne Differential Revision: https://reviews.llvm.org/D147276
-
NagaChaitanya Vellanki authored
Add missing semicolon at the end of function declarations to fragments Reviewed By: dang Differential Revision: https://reviews.llvm.org/D149737
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D149605
-
Shafik Yaghmour authored
Fixing build bot breaks due to b4692f29
-
Alexandre Ganea authored
Before this patch, export entries with empy RVA were displayed in the output. In some cases, when the module had exports with sparse ordinals, `llvm-objdump` used to print a lot of `0 0` lines. We now skip over these empty entries in the output, just as `dumpbin` or binutils `objdump` does. Differential Revision: https://reviews.llvm.org/D149610
-
Michael Liao authored
-
https://reviews.llvm.org/D149553Michael Liao authored
- `CXXPre2bCompat` is referenced somewhere after being removed. - More warning messages on c++2b need refining
-
Joseph Huber authored
We use a bump pointer to implement malloc for the hermetic tests. Currently, we bump the pointer up by any amount. This means that calling `malloc(1)` will misalign the buffer so any following `malloc(8)` accesses will not be aligned. This causes problems in architectures which require alignment. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D149863
-
Arthur Eubanks authored
Matches the CMake build, otherwise we're rebuilding tblgen (and everything else) when there's a change almost anywhere in LLVM.
-
Felipe de Azevedo Piovezan authored
This commit splits a function that both parses MD nodes from YAML into DI{Expr,Loc,Variable} objects AND adds an entry to the MF variable table, so that each of those jobs is done separately. It will enable subsequent patches to reuse the MD node parsing code. Differential Revision: https://reviews.llvm.org/D149870 -
Valentin Clement authored
This patch lowers the data clause on the OpenACC compute construct to their corresponding acc data operand operation. The decomposition is the same as in D149673. Note that `private` and `firstprivate` are not lowered to data operand operation as they do not have one and will likely have dedicated design/process. Depends on D149673 Reviewed By: razvanlupusoru, jeanPerier Differential Revision: https://reviews.llvm.org/D149785
-
Florian Hahn authored
Update the HCFG builder to directly connect the created CFG to the existing Plan's entry. This allows removing `setEntry`, which can cause leaks when the existing entry is replaced. Should fix https://lab.llvm.org/buildbot/#/builders/5/builds/33455/steps/13/logs/stdio
-
Mehdi Amini authored
When tooling out there produces a reproducer that is archived, the first thing a user is likely to expect is to process this as they do with any MLIR file. However https://reviews.llvm.org/D126447 changed the behavior of mlir-opt to eliminate the `--run-reproducer` option and instead automatically run it when present in the input file. This creates a discrepancy in how mlir-opt behaves when fed with an input file, and is surprising for users. The explicit passing of `--run-reproducer` to express user-intent seems more in line with what is expected from `mlir-opt`. Reviewed By: rriddle, jpienaar Differential Revision: https://reviews.llvm.org/D149820
-
Shafik Yaghmour authored
Prior to P2448R2 we were more aggressive in diagnosing ill-formed constexpr functions. Many of these restrictions were relaxed and now it is not required for defaulted comparison operators to call constexpr functions. This behavior is extended to before C++23 and diagnostic for it's use can be enabled w/ -pedantic or -Wc++2b-default-comp-relaxed-constexpr This fixes: https://github.com/llvm/llvm-project/issues/61238 Differential Revision: https://reviews.llvm.org/D146090
-
Dave Lee authored
Last use removed in f7420453e80b9294273009efcebaceac2383269e.
-
Mark de Wever authored
D149553 changes the name of the LangOptions member. This change allows libc++ to work with either name. Reviewed By: philnik, #libc Differential Revision: https://reviews.llvm.org/D149554
-
Valentin Clement authored
This patch lowers the data clause on the OpenACC data construct to their corresponding acc data operand operation. The copy clause is decomposed into acc.copyin before and acc.copyout after the acc.data operation. The copyout close is decomposed into acc.create before and acc.copyout after the acc.data operation. The attach clause is decomposed into acc.attach before and acc.detach after the acc.data operation. Depends on D149601 Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D149673
-
Jon Chesterfield authored
Will be necessary for correct locking on volta. API-only change to help with rebasing the rest of the stack on this. Reviewed By: jhuber6 Differential Revision: https://reviews.llvm.org/D149871
-
Amir Ayupov authored
Dumping jump table and tail call fdata is covered by subsequent iteration over successors. Reviewed By: #bolt, maksfb Differential Revision: https://reviews.llvm.org/D149799
-
Peiming Liu authored
Reviewed By: aartbik, vzakhari Differential Revision: https://reviews.llvm.org/D149874
-
Mark de Wever authored
During the ISO C++ Committee meeting plenary session the C++23 Standard has been voted as technical complete. This updates the reference to c++2b to c++23 and updates the __cplusplus macro. Drive-by fixes c++1z -> c++17 and c++2a -> c++20 when seen. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D149553
-
David Stone authored
Sema.h is huge. This makes a small reduction to it by moving EnterExpressionEvaluationContext into a new header, since it is an independent component. Differential Revision: https://reviews.llvm.org/D149796
-
Alexey Lapshin authored
This addresses the issue found by: https://lab.llvm.org/buildbot#builders/178/builds/4571
-
Alexey Bataev authored
insts. If the vectorizable GEP node is built, which should not be scheduled, and at least one node is a non-gep instruction, need to insert the vectorized instructions before the last instruction in the list, not before the first one, otherwise the instructions may be emitted in the wrong order.
-