- Jan 22, 2020
-
-
Marcello Maggioni authored
Summary: If an intrinsic has overloadable types like llvm_anyint_ty or llvm_anyfloat_ty then to getDeclaration() we need to pass a list of the types that are "undefined" essentially concretizing them. This patch add support for deriving such types from the MLIR op that has been matched. Reviewers: andydavis1, ftynse, nicolasvasilache, antiagainst Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, arpith-jacob, mgester, lucyrfox, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72974
-
Quentin Colombet authored
Allow users of that analysis to define the cut off depth of the analysis instead of hardcoding 6. NFC as the default parameter is 6.
-
Thomas Lively authored
Summary: Multivalue calls both take and return an arbitrary number of arguments, but ISel only supports one or the other in a single instruction. To get around this, calls are modeled as two pseudo instructions during ISel. These pseudo instructions, CALL_PARAMS and CALL_RESULTS, are recombined into a single CALL MachineInstr in a custom emit hook. RegStackification and the MC layer will additionally need to be made aware of multivalue calls before the tests will produce correct output. Reviewers: aheejin, dschuff Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71496
-
Daniel Kiss authored
Summary: Add setting target.auto-install-main-executable that controls whether the main executable should be automatically installed when connected to a remote platform even if it does not have an explicit install path specified. The default is true as the current behaviour. Reviewers: omjavaid, JDevlieghere, srhines, labath, clayborg Reviewed By: clayborg Subscribers: kevin.brodsky, lldb-commits, llvm-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D71761
-
Francesco Petrogalli authored
The commit has been reverted as it does not mention the author of the patch. This reverts commit 7c9bcba6.
-
Krzysztof Parzyszek authored
-
Kostya Kortchinsky authored
Summary: In some configuration, `sched_getaffinity` can fail. Some reasons for that being the lack of `CAP_SYS_NICE` capability or some syscall filtering and so on. This should not be fatal to the allocator, so in this situation, we will fallback to the `MaxTSDCount` value specified in the allocator configuration. Reviewers: cferris, eugenis, hctim, morehouse, pcc Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D73055
-
Thomas Lively authored
Summary: WebAssembly is unique among upstream targets in that it does not at any point use physical registers to store values. Instead, it uses virtual registers to model positions in its value stack. This means that some target-independent lowering activities that would use physical registers need to use virtual registers instead for WebAssembly and similar downstream targets. This CL generalizes the existing `usesPhysRegsForPEI` lowering hook to `usesPhysRegsForValues` in preparation for using it in more places. One such place is in InstrEmitter for instructions that have variadic defs. On register machines, it only makes sense for these defs to be physical registers, but for WebAssembly they must be virtual registers like any other values. This CL changes InstrEmitter to check the new target lowering hook to determine whether variadic defs should be physical or virtual registers. These changes are necessary to support a generalized CALL instruction for WebAssembly that is capable of returning an arbitrary number of arguments. Fully implementing that instruction will require additional changes that are described in comments here but left for a follow up commit. Reviewers: aheejin, dschuff, qcolombet Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71484
-
Lei Zhang authored
For the generated builder taking in unwrapped attribute values, if the argument is a string, we should avoid wrapping it in quotes; otherwise we are always setting the string attribute to contain the string argument's name. The quotes come from StrinAttr's `constBuilderCall`, which is reasonable for string literals, but not function arguments containing strings. Differential Revision: https://reviews.llvm.org/D72977
-
Francesco Petrogalli authored
Summary: Add setting target.auto-install-main-executable that controls whether the main executable should be automatically installed when connected to a remote platform even if it does not have an explicit install path specified. The default is true as the current behaviour. Reviewers: omjavaid, JDevlieghere, srhines, labath, clayborg Reviewed By: clayborg Subscribers: kevin.brodsky, lldb-commits, llvm-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D71761
-
Reid Kleckner authored
Summary: Speeds up compilation of SemaDeclAttr.cpp by nine seconds: 0m49.555s - > 0m40.249s Reviewers: simon_tatham, dmgreen, ostannard, MarkMurrayARM Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72984
-
Vedant Kumar authored
-
Ehud Katz authored
Fix PR30781 Differential Revision: https://reviews.llvm.org/D69774
-
Vedant Kumar authored
macOS/PPC support was dropped in 10.6 (Snow Leopard). Differential Revision: https://reviews.llvm.org/D69524
-
- Jan 21, 2020
-
-
Alexey Bader authored
Reviewers: aaron.ballman, Fznamznon Subscribers: ebevhan, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73104
-
- Jan 22, 2020
-
-
Fangrui Song authored
-
Alexey Bataev authored
[OpenMP][Offloading] Fix the issue that omp_get_num_devices returns wrong number of devices, by Shiley Tian. Summary: This patch is to fix issue in the following simple case: #include <omp.h> #include <stdio.h> int main(int argc, char *argv[]) { int num = omp_get_num_devices(); printf("%d\n", num); return 0; } Currently it returns 0 even devices exist. Since this file doesn't contain any target region, the host entry is empty so further actions like initialization will not be proceeded, leading to wrong device number returned by runtime function call. Reviewers: jdoerfert, ABataev, protze.joachim Reviewed By: ABataev Subscribers: protze.joachim Tags: #openmp Differential Revision: https://reviews.llvm.org/D72576 -
Ehud Katz authored
Add support for converting Signaling NaN, and a NaN Payload from string. The NaNs (the string "nan" or "NaN") may be prefixed with 's' or 'S' for defining a Signaling NaN. A payload for a NaN can be specified as a suffix. It may be a octal/decimal/hexadecimal number in parentheses or without. Differential Revision: https://reviews.llvm.org/D69773
-
Roman Lebedev authored
Summary: Just an NFC code cleanup i stumbled upon when stumbling through clang alignment attribute handling. Reviewers: erichkeane, gchatelet, courbet, jdoerfert Reviewed By: gchatelet Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72993
-
Roman Lebedev authored
Summary: We shouldn't be just giving up if we find one of them (like we currently do with `AssumeAlignedAttr`), we should emit them all. As the tests show, even if we materialized good knowledge from `__attribute__((assume_aligned(32)`, it doesn't mean `__attribute__((alloc_align([...])))` info won't be useful. It might be, but that isn't given. Reviewers: erichkeane, jdoerfert, aaron.ballman Reviewed By: erichkeane Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D72979
-
Jonas Devlieghere authored
After a731c6ba the initializer only has to call the PlatformMacOSX to initialize all the macOS platforms.
-
Fangrui Song authored
http://lists.llvm.org/pipermail/llvm-dev/2018-August/125614.html developers have agreed to remove Darwin support from POWER backends. Reviewed By: sfertile Differential Revision: https://reviews.llvm.org/D72067
-
Jonas Devlieghere authored
Fixes compiler error on macOS: error: no type named 'mutex' in namespace 'std'.
-
Fangrui Song authored
Reviewed By: dantrushin Differential Revision: https://reviews.llvm.org/D73063
-
Kevin P. Neal authored
When constrained floating point is enabled the SystemZ-specific builtins don't use constrained intrinsics in some cases. Fix that. Differential Revision: https://reviews.llvm.org/D72722
-
Holger Wünsche authored
This change replaces the manual building of executable paths using llvm::sys::path::append with GetProgramPath. This enables adding other paths in case executables reside in different directories and makes the code easier to read. Differential Revision: https://reviews.llvm.org/D72903
-
Jonas Devlieghere authored
PlatformMacOSX is the main entry point to the plugin with the same name. This is part of a greater refactoring to auto generate the initializers. Differential revision: https://reviews.llvm.org/D73116
-
Krzysztof Parzyszek authored
-
Sergej Jaskiewicz authored
Summary: `platform.linux_distribution()` has been deprecated in Python 3.5 and removed in Python 3.8. Reviewers: bcain, bcraig, jroelofs, EricWF, mclow.lists, ldionne Reviewed By: jroelofs Subscribers: dexonsmith, christof, ldionne, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D72501
-
Denis Khalikov authored
Simplify scalar type size calculation and reject boolean memrefs. Differential Revision: https://reviews.llvm.org/D72999
-
Alexandre Ganea authored
Differential Revision: https://reviews.llvm.org/D72982
-
Krzysztof Parzyszek authored
These names have been changed from CamelCase to camelCase, but there were many places (comments mostly) that still used the old names. This change is NFC.
-
Kadir Cetinkaya authored
Summary: Some names, e.g. constructor/destructor/conversions, already contain the type info, no need to duplicate them in the hoverinfo. Fixes https://github.com/clangd/clangd/issues/252 Reviewers: sammccall, ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D73110
-
- Jan 21, 2020
-
-
Zakk Chen authored
Reviewers: lenary, asb Reviewed By: lenary Tags: #llvm Differential Revision: https://reviews.llvm.org/D72768
-
Diogo Sampaio authored
This reverts commit 6a24339a. Submitted using ide button by mistake
-
Diogo Sampaio authored
Summary: This patch resumes the work of D16586. According to the AAPCS, volatile bit-fields should be accessed using containers of the widht of their declarative type. In such case: ``` struct S1 { short a : 1; } ``` should be accessed using load and stores of the width (sizeof(short)), where now the compiler does only load the minimum required width (char in this case). However, as discussed in D16586, that could overwrite non-volatile bit-fields, which conflicted with C and C++ object models by creating data race conditions that are not part of the bit-field, e.g. ``` struct S2 { short a; int b : 16; } ``` Accessing `S2.b` would also access `S2.a`. The AAPCS Release 2019Q1.1 (https://static.docs.arm.com/ihi0042/g/aapcs32.pdf) section 8.1 Data Types, page 35, "Volatile bit-fields - preserving number and width of container accesses" has been updated to avoid conflict with the C++ Memory Model. Now it reads in the note: ``` This ABI does not place any restrictions on the access widths of bit-fields where the container overlaps with a non-bit-field member. This is because the C/C++ memory model defines these as being separate memory locations, which can be accessed by two threads simultaneously. For this reason, compilers must be permitted to use a narrower memory access width (including splitting the access into multiple instructions) to avoid writing to a different memory location. ``` I've updated the patch D16586 to follow such behavior by verifying that we only change volatile bit-field access when: - it won't overlap with any other non-bit-field member - we only access memory inside the bounds of the record Regarding the number of memory accesses, that should be preserved, that will be implemented by D67399. Reviewers: rsmith, rjmccall, eli.friedman, ostannard Subscribers: ostannard, kristof.beyls, cfe-commits, carwil, olista01 Tags: #clang Differential Revision: https://reviews.llvm.org/D72932 -
Simon Pilgrim authored
Call SimplifyMultipleUseDemandedBits to peek through extended source args with multiple uses
-
Benjamin Kramer authored
Only look at the operands of dead constant arrays instead of all constant arrays again.
-
Jinsong Ji authored
We removed UseVSXReg flag in https://reviews.llvm.org/D58685 But we did not reclain the bit 6 it was assigned, this will become confusing and a hole later.. We should reclaim it as early as possible before new bits. Reviewed By: sfertile Differential Revision: https://reviews.llvm.org/D72649
-