- Jan 23, 2020
-
-
Petr Hosek authored
conduit_uri was renamed to phabricator.uri and git-phab fails to load .arcconfig without this field. Differential Revision: https://reviews.llvm.org/D72960
-
Teresa Johnson authored
Summary: First patch to support Safe Whole Program Devirtualization Enablement, see RFC here: http://lists.llvm.org/pipermail/llvm-dev/2019-December/137543.html Always emit !vcall_visibility metadata under -fwhole-program-vtables, and not just for -fvirtual-function-elimination. The vcall visibility metadata will (in a subsequent patch) be used to communicate to WPD which vtables are safe to devirtualize, and we will optionally convert the metadata to hidden visibility at link time. Subsequent follow on patches will help enable this by adding vcall_visibility metadata to the ThinLTO summaries, and always emit type test intrinsics under -fwhole-program-vtables (and not just for vtables with hidden visibility). In order to do this safely with VFE, since for VFE all vtable loads must be type checked loads which will no longer be the case, this patch adds a new "Virtual Function Elim" module flag to communicate to GlobalDCE whether to perform VFE using the vcall_visibility metadata. One additional advantage of using the vcall_visibility metadata to drive more WPD at LTO link time is that we can use the same mechanism to enable more aggressive VFE at LTO link time as well. The link time option proposed in the RFC will convert vcall_visibility metadata to hidden (aka linkage unit visibility), which combined with -fvirtual-function-elimination will allow it to be done more aggressively at LTO link time under the same conditions. Reviewers: pcc, ostannard, evgeny777, steven_wu Subscribers: mehdi_amini, Prazek, hiraditya, dexonsmith, davidxl, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D71907
-
Alina Sbirlea authored
-
Marcello Maggioni authored
Summary: LLVMIRIntrinsicGen is using LLVM_Op as the base class for intrinsics. This works for LLVM intrinsics in the LLVM Dialect, but when we are trying to convert custom intrinsics that originate from a custom LLVM dialect (like NVVM or ROCDL) these usually have a different "cppNamespace" that needs to be applied to these dialect. These dialect specific characteristics (like "cppNamespace") are typically organized by creating a custom op (like NVVM_Op or ROCDL_Op) that passes the correct dialect to the LLVM_OpBase class. It seems natural to allow LLVMIRIntrinsicGen to take that into consideration when generating the conversion code from one of these dialect to a set of target specific intrinsics. Reviewers: rriddle, andydavis1, antiagainst, nicolasvasilache, ftynse Subscribers: jdoerfert, mehdi_amini, jpienaar, burmako, shauheen, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D73233
-
Jonas Devlieghere authored
As explained in Pavel's previous commit message: %lldb is the proper substitution. Using "lldb" can cause us to execute the system lldb instead of the one we are testing. This happens at least in standalone builds.
-
Alina Sbirlea authored
-
Fangrui Song authored
-
Fangrui Song authored
-
Fangrui Song authored
These functions call relocateOne(). This patch is a prerequisite for making relocateOne() aware of `Symbol` (D73254). Reviewed By: grimar, nickdesaulniers Differential Revision: https://reviews.llvm.org/D73250
-
Justin Bogner authored
Calling `operator*` on a WeakVH with a null value yields a null reference, which is UB. Avoid this by implicitly converting the WeakVH to a `Value *` rather than dereferencing and then taking the address for the type conversion. Differential Revision: https://reviews.llvm.org/D73280
-
Michał Górny authored
This fixed build failures due to missing ompt headers. See https://bugs.gentoo.org/700762. Differential Revision: https://reviews.llvm.org/D73249
-
Danilo Carvalho Grael authored
Summary: Add patterns for SVE2 unpredicated multiply instructions: - mul, smulh, umulh, pmul, sqdmulh, sqrdmulh Reviewers: sdesmalen, huntergr, efriedma, c-rhodes, kmclaughlin, rengolin Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits, amehsan Tags: #llvm Differential Revision: https://reviews.llvm.org/D72799
-
Ahmed Taei authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Saar Raz authored
This patch implements P1141R2 "Yet another approach for constrained declarations". General strategy for this patch was: - Expand AutoType to include optional type-constraint, reflecting the wording and easing the integration of constraints. - Replace autos in parameter type specifiers with invented parameters in GetTypeSpecTypeForDeclarator, using the same logic previously used for generic lambdas, now unified with abbreviated templates, by: - Tracking the template parameter lists in the Declarator object - Tracking the template parameter depth before parsing function declarators (at which point we can match template parameters against scope specifiers to know if we have an explicit template parameter list to append invented parameters to or not). - When encountering an AutoType in a parameter context we check a stack of InventedTemplateParameterInfo structures that contain the info required to create and accumulate invented template parameters (fields that were already present in LambdaScopeInfo, which now inherits from this class and is looked up when an auto is encountered in a lambda context). Resubmit after fixing MSAN failures caused by incomplete initialization of AutoTypeLocs in TypeSpecLocFiller. Differential Revision: https://reviews.llvm.org/D65042
-
Gabor Horvath authored
Differential Revision: https://reviews.llvm.org/D73229
-
Sam Parker authored
Skip debug instructions when iterating through a block to find uses. Differential Revision: https://reviews.llvm.org/D73273
-
Matt Arsenault authored
The other 3-op patterns should also be theoretically handled, but currently there's a bug in the inferred pattern complexity. I'm not sure what the error handling strategy should be for potential constant bus violations. I think the correct strategy is to never produce mixed SGPR and VGPR operands in a typical VOP instruction, which will trivially avoid them. However, it's possible to still have hand written MIR (or erroneously transformed code) with these operands. When these fold, the restriction will be violated. We currently don't have any verifiers for reg bank legality. For now, just ignore the restriction. It might be worth triggering a DAG fallback on verifier error.
-
Matt Arsenault authored
-
Hans Wennborg authored
It appears to be a new flag, see https://github.com/MicrosoftDocs/cpp-docs/commit/c7ac1c2635a631c61d3bed9f12b31dee6d6716fe
-
Simon Pilgrim authored
Add missing handling for (ADD (AND X, 1), -1) uniform vectors
-
Simon Pilgrim authored
-
Guillaume Chatelet authored
Summary: This is patch is part of a series to introduce an Alignment type. See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this patch for the introduction of the type: https://reviews.llvm.org/D64790 Reviewers: courbet, bollu Subscribers: arsenm, jvesely, nhaehnle, hiraditya, kerbowa, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D73274
-
Matt Arsenault authored
Fixes mesa regression on ext_transform_feedback-max-varyings
-
Sam Parker authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Kelvin Li authored
The OpenMP spec defines the OMP_ATK_* and OMP_ATV_* to be lowercase. Differential Revision: https://reviews.llvm.org/D73248
-
Alexey Bataev authored
If local allocator was declared and used in the allocate clause, it was not captured in inner region. It leads to a compiler crash, need to capture the allocator declarator.
-
Michael Liao authored
Summary: - It won't distinguish host and device code and trigger compilation failure on irrelevant code. Reviewers: sameerds, yaxunl Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73224
-
Michael Liao authored
-
Krzysztof Parzyszek authored
-
Sergej Jaskiewicz authored
This reverts commit ce23515f. That commit broke some builds on Windows: http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/13870
-
Alexey Lapshin authored
Summary: The primary goal of this refactoring is to separate DWARF optimizing part. So that it could be reused by linker or by any other client. There was a thread on llvm-dev discussing the necessity of such a refactoring: http://lists.llvm.org/pipermail/llvm-dev/2019-September/135068.html. This is a final part from series of patches for dsymutil. Previous patches : D71068, D71839, D72476. This patch: 1. Creates lib/DWARFLinker interface : void addObjectFile(DwarfLinkerObjFile &ObjFile); bool link(); void setOptions; 1. Moves all linking logic from tools/dsymutil/DwarfLinkerForBinary into lib/DWARFLinker. 2. Renames RelocationManager into AddressesManager. 3. Remarks creation logic moved from separate parallel execution into object file loading routine. Testing: it passes "check-all" lit testing. MD5 checksum for clang .dSYM bundle matches for the dsymutil with/without that patch. Reviewers: JDevlieghere, friss, dblaikie, aprantl, jdoerfert Reviewed By: JDevlieghere Subscribers: merge_guards_bot, hiraditya, jfb, llvm-commits, probinson, thegameg Tags: #llvm, #debug-info Differential Revision: https://reviews.llvm.org/D72915
-
Kazushi (Jam) Marukawa authored
Summary: Add, sub, left/right shift isel patterns and tests for i32/i64 and fp32/fp64. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D73207
-
Kazu Hirata authored
This reverts commit 53b68e67. Our internal tests are showing breakage with this patch.
-
Kadir Cetinkaya authored
Summary: CodeCompletion was not being triggered after successfully parsed initializer lists, e.g. ```cpp void foo(int, bool); void bar() { foo({1}^, false); } ``` CodeCompletion would suggest the function foo as an overload candidate up until the point marked with `^` but after that point we do not trigger signature help since parsing succeeds. This patch handles that case by failing in parsing expression lists whenever we see a codecompletion token, in addition to getting an invalid subexpression. Reviewers: sammccall Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73177
-