- Sep 23, 2020
-
-
Alex Zinenko authored
Blocks in a region and operations in a block are organized in a linked list. The C API only provides functions to append or to insert elements at the specified numeric position in the list. The latter is expensive since it requires to traverse the list. Add insert before/after functionality with low cost that relies on the iplist elements being convertible to iterators. Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D88148
-
Dave Lee authored
Delete a file remaining from the deletion of lldb-perf in D64362. Differential Revision: https://reviews.llvm.org/D88119
-
Yaxun (Sam) Liu authored
recommit e50465ec with fix for regression in lldb tests. Two issues: 1. the directory part of original .dwo file was dropped 2. if the stem of the .dwo file contains '.', the last dot and strings after that were removed This recommit fixes those two issues.
-
Andrew Wei authored
When matching store instruction for ldst opt, we should make sure store instr is in 'reg+imm' form as load instr, otherwise, it will have assertion in isLdOffsetInRangeOfSt since it will use getImm() directly. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D87905
-
Simon Pilgrim authored
Fixes some clang-tidy llvm-namespace-comment warnings.
-
Simon Pilgrim authored
Fixes clang-tidy llvm-namespace-comment warning.
-
Sebastian Neubauer authored
This reverts commit ca907bfb. According to michel.daenzer, > This completely broke the Mesa radeonsi driver on Navi 14. Xorg + > xterm come up with major corruption & psychedelic colours.
-
Jacques Pienaar authored
These are now automatically prepended.
-
Jacques Pienaar authored
Incorrect generation of custom build method without any params.
-
Stella Laurenzo authored
-
Stella Laurenzo authored
* The API is a bit more verbose than I feel like it needs to be. In a follow-up I'd like to abbreviate some things and look in to creating aliases for common accessors. * There is a lingering lifetime hazard between the module and newly added operations. We have the facilities now to solve for this but I will do that in a follow-up. * We may need to craft a more limited API for safely referencing successors when creating operations. We need more facilities to really prove that out and should defer for now. Differential Revision: https://reviews.llvm.org/D87996
-
Stella Laurenzo authored
* Removes the half-completed prior attempt at region/block mutation in favor of new approach to ownership. * Will re-add mutation more correctly in a follow-on. * Eliminates the detached state on blocks and regions, simplifying the ownership hierarchy. * Adds both iterator and index based access at each level. Differential Revision: https://reviews.llvm.org/D87982
-
Stella Laurenzo authored
* Fixes a rather egregious bug with respect to the inability to return arbitrary objects from py::init (was causing aliasing of multiple py::object -> native instance). * Makes Modules and Operations referencable types so that they can be reliably depended on. * Uniques python operation instances within a context. Opens the door for further accounting. * Next I will retrofit region and block to be dependent on the operation, and I will attempt to model the API to avoid detached regions/blocks, which will simplify things a lot (in that world, only operations can be detached). * Added quite a bit of test coverage to check for leaks and reference issues. * Supercedes: https://reviews.llvm.org/D87213 Differential Revision: https://reviews.llvm.org/D87958
-
Valentin Clement authored
This patch switch from using bool variables to OptionalParseResult for the parsing inside loop operation. This is already done for parallel operation and this patch unify this in the dialect. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D88111
-
SuJunda (Junda Su) authored
I don't have commit access. Please help me commit it. Thanks : ) Reviewed By: Paul-C-Anagnostopoulos Differential Revision: https://reviews.llvm.org/D88139
-
Utkarsh Saxena authored
Current implementation of heuristic-based scoring function also contains computation of derived signals (e.g. whether name contains a word from context, computing file distances, scope distances.) This is an attempt to separate out the logic for computation of derived signals from the scoring function. This will allow us to have a clean API for scoring functions that will take only concrete code completion signals as input. Differential Revision: https://reviews.llvm.org/D88146
-
Cameron McInally authored
Differential Revision: https://reviews.llvm.org/D87796
-
Florian Hahn authored
This refactors VPuser to not inherit from VPValue to facilitate introducing operations that introduce multiple VPValues (e.g. VPInterleaveRecipe). Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D84679
-
Alex Zinenko authored
-
Jonas Paulsson authored
Better use isZero() and isIntN() in SystemZTargetTransformInfo rather than calling getZExtValue() since the immediate operand may be wider than 64 bits, which is not allowed with getZExtValue(). Fixes https://bugs.llvm.org/show_bug.cgi?id=47600 Review: Simon Pilgrim
-
Sam Parker authored
-
YangZhihui authored
-
Matt Arsenault authored
The shift amount type does not necessarily match the result type. This was inserting a trunc from s32 to s32, which asserted. Just preserve the original shift amount type which can be legalized later.
-
Matt Arsenault authored
We would always select global FP atomics from atomicrmw fadd, although they have a hardcoded FP mode.
-
Joseph Tremoulet authored
When the various methods of locating the module in GetRemoteSharedModule fail, make sure we pass the original module spec to the bail-out call to the provided resolver function. Also make sure we consistently use the resolved module spec from the various success paths. Thanks to what appears to have been an accidentally inverted condition (commit 85967fa3 applied the new condition to a path where GetModuleSpec returns false, but should have applied it when GetModuleSpec returns true), without this fix we only pass the original module spec in the fallback if the original spec has no uuid (or has a uuid that somehow matches the resolved module's uuid despite the call to GetModuleSpec failing). This manifested as a bug when processing a minidump file with a user-provided sysroot, since in that case the resolver call was being applied to resolved_module_spec (despite resolution failing), which did not have the path of its file_spec set. Reviewed By: JDevlieghere Differential Revision: https://reviews.llvm.org/D88099
-
Louis Dionne authored
fdc41e11 was reverted in e46c1def because it broke the C++11 build. We shouldn't be using enable_if_t in C++11, instead we must use enable_if<...>::type.
-
Sourabh Singh Tomar authored
-
Sourabh Singh Tomar authored
These tests aren't adding much value and consensus has been reached for there removal. For more context, please refer to discussion in this revision: https://reviews.llvm.org/D87846
-
Jakub Lichman authored
Added print_memref_f64 function to runner utils. Differential Revision: https://reviews.llvm.org/D88143
-
Sourabh Singh Tomar authored
This patch reflects the work that can be upstreamed from PR(merged) PR: https://github.com/flang-compiler/f18-llvm-project/pull/411 Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D87846
-
Yaxun (Sam) Liu authored
A static device variable may be accessed in host code through cudaMemCpyFromSymbol etc. Currently clang does not emit the static device variable if it is only referenced by host code, which causes host code to fail at run time. This patch fixes that. Differential Revision: https://reviews.llvm.org/D88115
-
Jean Perier authored
Fortran 2018 15.4.2.2(4)(c) says nonassumed or explicit non-constant length parameter require explicit interface. The "nonassumed" part was missing in f18 characteristic analysis causing CanBeCalledViaImplicitInterface to return false for `CHARACTER(*) function foo()` like interfaces. Reviewed By: klausler Differential Revision: https://reviews.llvm.org/D88075
-
Kerry McLaughlin authored
This patch adds new ISD nodes, SCVTZ_MERGE_PASSTHRU & UCVTZ_MERGE_PASSTHRU, which are used to lower both legal scalable vector [S|U]INT_TO_FP operations and the following intrinsics: - llvm.aarch64.sve.scvtf - llvm.aarch64.sve.ucvtf Reviewed By: sdesmalen, efriedma Differential Revision: https://reviews.llvm.org/D87913
-
Georgii Rymar authored
[llvm-readelf/obj] - Fix extended section symbol indices printed in warnings for MIPS GOT/PLT entries. Recent refactoring introduced a symbol index argument for `getFullSymbolName` method, which is only used for reporting error messages about invalid extended symbol indexes. There are few issues in the implementation and we don't report correct symbol indices when dumping MIPS GOT/PLT entries currently. This patch adds test cases and fixes the issue. Differential revision: https://reviews.llvm.org/D88089
-
Georgii Rymar authored
Currently `--relocations` ignores section symbol names and always prints section names for them. This is inconsistent with GNU readelf and with `--symbols`. We have a code in `getFullSymbolName` (which is used for `--symbols`) which can be reused for `getRelocationTarget` (used for `--relocations`). With that the issue described is fixed and code becomes a bit shorter. Also with this change we start to print more relocations (in situations when we just showed warnings instead before) and also start to report more diagnostic warnings (see reloc-zero-name-or-value.test). Differential revision: https://reviews.llvm.org/D87613
-
Sebastian Neubauer authored
When memory operations are outstanding on function calls, either the caller or the callee can insert a waitcnt to ensure that all reads are finished. Calls need some time to be executed, so if the callee inserts the waitcnt, filling the instruction buffer and waiting for memory will be interleaved, hiding some latency. This comes at the cost of having a waitcnt inside functions that may not be needed as no memory operations are outstanding. For function calls, this is already implemented. The same principal applies to returns: If the caller inserts a waitcnt after the call, the callee does not have to wait and the return and memory operation can be run in parallel. This commit implements waiting in the caller after returning from a function call. Differential Revision: https://reviews.llvm.org/D87674
-
Georgii Rymar authored
This: 1) Replaces pointers with references in many places. 2) Adds few TODOs about fixing possible unhandled errors (in ARMEHABIPrinter.h). 3) Replaces `auto`s with actual types. 4) Removes excessive arguments. 5) Adds `const ELFFile<ELFT> &Obj;` member to `ELFDumper` to simplify the code. Differential revision: https://reviews.llvm.org/D88097
-
Gabor Marton authored
The signature should not be part of the summaries as many FIXME comments suggests. By separating the signature, we open up the way to a generic matching implementation which could be used later under the hoods of CallDescriptionMap. Differential Revision: https://reviews.llvm.org/D88100
-
Gabor Marton authored
It is no longer needed to add summaries of 'getline' for different possible underlying types of ssize_t. We can just simply lookup the type. Differential Revision: https://reviews.llvm.org/D88092
-
David Sherwood authored
An existing function Type::getScalarSizeInBits returns a uint64_t instead of a TypeSize class because the caller is requesting a scalar size, which cannot be scalable. This patch makes other similar functions requesting a scalar size consistent with that, thereby eliminating more than 1000 implicit TypeSize -> uint64_t casts. Differential revision: https://reviews.llvm.org/D87889
-