- May 11, 2021
-
-
Alex Orlov authored
This patch adds JSON output style to llvm-symbolizer to better support CLI automation by providing a machine readable output. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D96883
-
Simon Pilgrim authored
-
Ole Strohm authored
-
Tres Popp authored
VectorTransfer split previously only split read xfer ops. This adds the same logic to write ops. The resulting code involves 2 conditionals for write ops while read ops only needed 1, but the created ops are built upon the same patterns, so pattern matching/expectations are all consistent other than in regards to the if/else ops. Differential Revision: https://reviews.llvm.org/D102157
-
Kristina Bessonova authored
Turn this test into a normal mode as it contains well-formed code and checks for defined behavior. It still can be run in debug mode as of D100866. Differential Revision: https://reviews.llvm.org/D102192
-
Djordje Todorovic authored
There are cases where a concrete DIE with DW_TAG_subprogram can have abstract_origin attribute, so we handle that situation as well. Differential Revision: https://reviews.llvm.org/D101025
-
Tobias Gysi authored
after introducing the IndexedGenericOp to GenericOp canonicalization (https://reviews.llvm.org/D101612). Differential Revision: https://reviews.llvm.org/D102187
-
Tobias Gysi authored
after introducing the IndexedGenericOp to GenericOp canonicalization (https://reviews.llvm.org/D101612). Differential Revision: https://reviews.llvm.org/D102174
-
Christopher Di Bella authored
C++17 deprecates `std::raw_storage_iterator` and C++20 removes it. Implements part of: * P0174R2 'Deprecating Vestigial Library Parts in C++17' * P0619R4 'Reviewing Deprecated Facilities of C++17 for C++20' Differential Revision: https://reviews.llvm.org/D101730
-
Christopher Di Bella authored
The standard leaves it up to the implementation to decide whether or not these operators are hidden friends. There are several (well-documented) reasons to prefer hidden friends, as well as an argument for improved readability. Depends on D100342. Differential Revision: https://reviews.llvm.org/D101707
-
Christopher Di Bella authored
* `operator!=` isn't in the spec * `<compare>` is designed to work with `operator<=>` so it doesn't really make sense to have `operator<=>`-less friendly sections. Depends on D100283. Differential Revision: https://reviews.llvm.org/D100342
-
Kadir Cetinkaya authored
Currently client was setting the HasMore to true iff stream said so. Hence if we had a broken stream for whatever reason (e.g. hitting deadline for a huge response), HasMore would be false, which is semantically incorrect (e.g. will throw rename off). Differential Revision: https://reviews.llvm.org/D101915
-
Kadir Cetinkaya authored
This is to prevent server from being DOS'd by possible malicious parties issuing requests that can yield huge responses. One possible drawback is on rename workflow. As it really requests all occurences, but it has an internal limit on 50 files currently. We are putting the limit on 10000 elements per response So for rename to regress one should have 10k refs to a symbol in less than 50 files. This seems unlikely and we fix it if there are complaints by giving up on the response based on the number of files covered instead. Differential Revision: https://reviews.llvm.org/D101914
-
Tobias Gysi authored
after introducing the IndexedGenericOp to GenericOp canonicalization (https://reviews.llvm.org/D101612). Differential Revision: https://reviews.llvm.org/D102176
-
Igor Kudrin authored
Currently, when reporting unresolved symbols in shared libraries, if an undefined symbol is firstly seen in a regular object file that shadows the reference for the same symbol in a shared object. As a result, the error for the unresolved symbol in the shared library is not reported. If referencing sections in regular object files are discarded because of '--gc-sections', no reports about such symbols are generated, and the linker finishes successfully, generating an output image that fails on the run. The patch fixes the issue by keeping symbols, which should be checked, for each shared library separately. Differential Revision: https://reviews.llvm.org/D101996
-
Chris Lattner authored
OpAsmParser (and DialectAsmParser) supports a pair of parseInteger/parseOptionalInteger methods, which allow parsing a bare integer into a C type of your choice (e.g. int8_t) using templates. It was implemented in terms of a virtual method call that is hard coded to int64_t because "that should be big enough". Change the virtual method hook to return an APInt instead. This allows asmparsers for custom ops to parse large integers if they want to, without changing any of the clients of the fixed size C API. Differential Revision: https://reviews.llvm.org/D102120
-
Carl Ritson authored
-
Hsiangkai Wang authored
For Zvlsseg spilling, we need to convert the pseudo instructions into multiple vector load/store instructions with appropriate offsets. For example, for PseudoVSPILL3_M2, we need to convert it to VS2R %v2, %base ADDI %base, %base, (vlenb x 2) VS2R %v4, %base ADDI %base, %base, (vlenb x 2) VS2R %v6, %base We need to keep the size of the offset in the pseudo spilling instructions. In this case, it is (vlenb x 2). In the original implementation, we use the size of frame objects divide the number of vectors in zvlsseg types. The size of frame objects is not necessary exactly the same as the spilling data. It may be larger than it. So, we change it to (VLENB x LMUL) in this patch. The calculation is more direct and easy to understand. Differential Revision: https://reviews.llvm.org/D101869
-
Renaud-K authored
https://reviews.llvm.org/D102040
-
Vitaly Buka authored
-
LLVM GN Syncbot authored
-
Lang Hames authored
Add unit test infrastructure for the ORC runtime, plus a cut-down extensible_rtti system and extensible_rtti unit test. Removes the placeholder.cpp source file. Differential Revision: https://reviews.llvm.org/D102080
-
zoecarver authored
Depends on D101079. Refs D101189. Differential Revision: https://reviews.llvm.org/D101193
-
Aart Bik authored
All glue and clutter in the linalg ops has been replaced by proper sparse tensor type encoding. This code is no longer needed. Thanks to ntv@ for giving us a temporary home in linalg. So long, and thanks for all the fish. Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D102098
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D102203
-
LLVM GN Syncbot authored
-
Sam Clegg authored
This change was originally landed in: 5000a1b4 It was reverted in: 061e071d This change adds support for a new WASM_SEG_FLAG_STRINGS flag in the object format which works in a similar fashion to SHF_STRINGS in the ELF world. Unlike the ELF linker this support is currently limited: - No support for SHF_MERGE (non-string merging) - Always do full tail merging ("lo" can be merged with "hello") - Only support single byte strings (p2align 0) Like the ELF linker merging is only performed at `-O1` and above. This fixes part of https://bugs.llvm.org/show_bug.cgi?id=48828, although crucially it doesn't not currently support debug sections because they are not represented by data segments (they are custom sections) Differential Revision: https://reviews.llvm.org/D97657
-
Benjamin Kramer authored
This trivially folds into a constant when all operands are constant. Differential Revision: https://reviews.llvm.org/D102199
-
Jessica Paquette authored
This is roughly equivalent to the floating point portion of `AArch64TargetLowering::LowerVSETCC`. Main part that's missing is the v4s16 bit. This also adds helpers equivalent to `EmitVectorComparison`, and `changeVectorFPCCToAArch64CC`. This moves `changeFCMPPredToAArch64CC` out of the selector into AArch64GlobalISelUtils for the sake of code reuse. This is done in post-legalizer lowering with pseudos to simplify selection. The imported patterns end up handling selection for us this way. Differential Revision: https://reviews.llvm.org/D101782
-
Nico Weber authored
This reverts commit 5000a1b4. Breaks tests, see https://reviews.llvm.org/D97657#2749151 Easily repros locally with `ninja check-llvm-mc-webassembly`.
-
Jessica Paquette authored
The combines in `tryCombineMemCpyFamily` have heuristics (e.g. `TLI.getMaxStoresPerMemset`) which consider size. So, theoretically, enabling these combines on minsize functions shouldn't be harmful. With this enabled we save 0.9% geomean on CTMark at -Oz, and 5.1% on Bullet. There are no code size regressions. Differential Revision: https://reviews.llvm.org/D102198
-
Guozhi Wei authored
This is a test case for D101970, which shows the optimization opportunity for lea (reg1, reg2), reg3 sub reg3, reg4 to sub reg1, reg4 sub reg2, reg4 Differential Revision: https://reviews.llvm.org/D102010 -
Krzysztof Parzyszek authored
Handle v2i1, v4i1, and v8i1.
-
David Blaikie authored
Clangd Matchers.h: Fix -Wdeprecated-copy by making the defaulted copy ctor and deleted copy assignment operators explicit
-
David Blaikie authored
These types also wanted to be/were copy assignable, and using the implicit copy ctor is deprecated in the presence of an explicit copy ctor. Removing the explicit copy ctor provides the desired behavior - both ctor and assignment operator are available implicitly. Also while I was nearby there were some missing std::moves on shared pointer parameters.
-
Sanjay Patel authored
This is visible in the original example from: https://llvm.org/PR50055 (but this change doesn't solve the bug) https://alive2.llvm.org/ce/z/vM_Yq-
-
Sanjay Patel authored
-
Artem Dergachev authored
When a variable is used in an initializer of an aggregate for its reference-type field this counts as aliasing. Differential Revision: https://reviews.llvm.org/D101791
-
Artem Dergachev authored
D96215 takes care of the situation where the variable is captured into a nearby lambda. This patch takes care of the situation where the current function is the lambda and the variable is one of its captures from an enclosing scope. The analogous problem for ^{blocks} is already handled automagically by D96215. Differential Revision: https://reviews.llvm.org/D101787 -
Artem Dergachev authored
The utility function clang::tidy::utils::hasPtrOrReferenceInFunc() scans the function for pointer/reference aliases to a given variable. It currently scans for operator & over that variable and for declarations of references to that variable. This patch makes it also scan for C++ lambda captures by reference and for Objective-C block captures. Differential Revision: https://reviews.llvm.org/D96215
-