- Aug 01, 2023
-
-
Fangrui Song authored
GCC 7.3 cannot build 16.x releases. ``` In file included from /tmp/llvm-16/llvm/lib/Transforms/IPO/AttributorAttributes.cpp:14:0: /tmp/llvm-16/llvm/include/llvm/Transforms/IPO/Attributor.h:1137:32: error: duplicate initialization of ‘llvm::AnalysisGetter::HasLegacyWrapper<Analysis, std::void_t<typename Analysis::Lega cyWrapper> >’ constexpr bool AnalysisGetter::HasLegacyWrapper< ^~~~~~~~~~~~~~~~~ Analysis, std::void_t<typename Analysis::LegacyWrapper>> = true; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/llvm-16/llvm/include/llvm/Transforms/IPO/Attributor.h:1137:32: error: got 1 template parameters for ‘constexpr const bool llvm::AnalysisGetter::HasLegacyWrapper< <template-parameter-1 -1>, <template-parameter-1-2> >’ /tmp/llvm-16/llvm/include/llvm/Transforms/IPO/Attributor.h:1137:32: error: but 2 required ``` The 17.x and main branches have more failures, e.g. ``` llvm/lib/Transforms/Vectoriz... -
Mehdi Amini authored
-
Craig Topper authored
We have multiple variations of InstrFormatR that pack different fields into the upper 7 bits. The other 25 bits are all the same. Add base class to capture this commonality and allow subclasses to explicitly define Inst{31-25}. Reviewed By: asb Differential Revision: https://reviews.llvm.org/D156590 -
Craig Topper authored
We have multiple variations of InstrFormatI that pack different fields into the upper 12 bits. The other 20 bits are all the same. Add base class to capture this commonality and allow subclasses to explicitly define Inst{31-20}. Reviewed By: asb Differential Revision: https://reviews.llvm.org/D156589 -
Bjorn Pettersson authored
Follow up to commit 41895843, "[InstCombine] Only perform one iteration". This will make sure verify-fixpoint/no-verify-fixpoint is mentioned when doing "opt -print-passes".
-
Martin Braenne authored
For the time being, we're keeping the `Strict` versions around as deprecated synonyms so that clients can be migrated, but these synonyms will be removed soon. Depends On D156673 Reviewed By: ymandel, xazax.hun Differential Revision: https://reviews.llvm.org/D156674
-
Martin Braenne authored
Depends On D156672 Reviewed By: ymandel, xazax.hun Differential Revision: https://reviews.llvm.org/D156673
-
Martin Braenne authored
This eliminates all uses of the deprecated accessors. Reviewed By: ymandel, xazax.hun Differential Revision: https://reviews.llvm.org/D156672
-
Lang Hames authored
Access to individual DefinitionGenerators is serialized in order to make generators easier to implement: serializing access means that tryToGenerate methods don't have to handle concurrent, potentially overlapping, requests. Prior to this patch serialization was achieved by having each lookup acquire a lock on each generator, however this causes the lookup thread to block if the generator is in use. In the common case where many objects reference some common library symbol that is provided by a generator this may cause many threads to block concurrently preventing progress on other work. This patch changes the model so that lookups are automatically suspended if they need to use a generator that is already in use, and then automatically resumed once the generator is free. This is achieved by reusing the lookup suspension machinery that was introduced in 069919c9 for optionally asynchronous generators.
-
David Blaikie authored
-
Jonathan Peyton authored
* Add KMP_CPU_EQUAL and KMP_CPU_ISEMPTY to affinity mask API * Add printout of leader to hardware thread dump * Allow OMP_PLACES to restrict fullMask This change fixes an issue with the OMP_PLACES=resource(#) syntax. Before this change, specifying the number of resources did NOT change the default number of threads created by the runtime. e.g., OMP_PLACES=cores(2) would still create __kmp_avail_proc number of threads. After this change, the fullMask and __kmp_avail_proc are modified if necessary so that the final place list dictates which resources are available and how thus, how many threads are created by default. * Introduce hybrid core attributes to OMP_PLACES and KMP_AFFINITY For OMP_PLACES, two new features are added: 1) OMP_PLACES=cores:<attribute> where <attribute> is either intel_atom, intel_core, or eff# where # is 0 - number of core efficiencies-1. This syntax also supports the optional (#) number selection of resources. 2) OMP_PLACES=core_types|core_effs where this setting will create the number of core_types (or core_effs|core_efficiencies). For KMP_AFFINITY, the granularity setting is expanded to include two new keywords: core_type, and core_eff (or core_efficiency). This will set the granularity to include all cores with a particular core type (or efficiency). e.g., KMP_AFFINITY=granularity=core_type,compact will create threads which can float across a single core type. Differential Revision: https://reviews.llvm.org/D154547 -
David Blaikie authored
size() > 0 -> !empty indentation mismatched names on parameters in decls/defs const on value return types
-
Arnaud Botella authored
Current implementation outputs the parameter name when used with @param (or @tparam) doxygen tag but not the comment itself. Differential Revision: https://reviews.llvm.org/D156322
-
Peter Steinfeld authored
This update allows constant folding for many 128 bit floating point intrinsics through the library quadmath, which is only available on some platforms. Differential Revision: https://reviews.llvm.org/D156435
-
Joshua Batista authored
Add codegen for llvm bitreverse elementwise builtin The bitreverse elementwise builtin is necessary for HLSL codegen. Tests were added to make sure that the expected errors are encountered when these functions are given inputs of incompatible types, or too many inputs. The new builtin is restricted to integer types only. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D156357
-
spupyrev authored
This is a new algorithm for function layout (reordering) based on the call graph extracted from a profile data; see diffs down the stack for more details. This layout is very similar to the existing hfsort+, but perhaps a little better on some benchmarks. The goals of the change is as follows: (i) rename and replace hfsort+ with a newer (hopefully better) implementation. I'd prefer to keep both algs together for some time to simplify evaluation and transition, but do want to remove hfsort+ once we're confident that there are no regressions. (ii) unify the implementation of code layout algorithms across LLVM. Currently Passes/HfsortPlus.cpp and Utils/CodeLayout.cpp share many implementation-specific details; this diff unifies the code. Reviewed By: Amir Differential Revision: https://reviews.llvm.org/D153039
-
Augie Fackler authored
-
Nico Weber authored
-
Chia-hung Duan authored
RoundedSize is supposed to be used on directly mapping. To determine if a cached block is feasible, the size doesn't need to be rounded in advance. As a result, the use of RoundedSize may miss some chance of using cached blocks. This reverts commit 4c6b8bb8. Reviewed By: frs513 Differential Revision: https://reviews.llvm.org/D156583
-
Alex Langford authored
This commit does a few related things: - Removes unused function `uuid_is_null` - Removes unneeded includes of UuidCompatibility.h - Renames UuidCompatibility to AppleUuidCompatibility and adds a comment to clarify intent of header. - Moves AppleUuidCompatibility to the include directory Differential Revision: https://reviews.llvm.org/D156562
-
Maksim Kita authored
Fix typo in ScalarEvolution public method. Differential Revision: https://reviews.llvm.org/D156621
-
Jonas Devlieghere authored
Improve memory usage by reducing the lifetime of CTF types. Once a CTF type has been converted to a (complete) LLDB type, there's no need to keep it in memory anymore. For most types, we can free them right after creating the corresponding LLDB types. The only exception is record types, which are only completed lazily. Differential revision: https://reviews.llvm.org/D156606
-
John Harrison authored
Instead of creating psuedo source files for each stack frame this change adopts the new DAP “disassemble” request, allowing clients to inspect assembly instructions of files with debug info in addition to files without debug info. [[ https://microsoft.github.io/debug-adapter-protocol/specification#Requests_Disassemble | spec ]] See attached screenshot of the disassembly view. {F28473848} Reviewed By: wallace Differential Revision: https://reviews.llvm.org/D156493
-
Mark de Wever authored
Adds tests to guard against the issue solved in D156592. Depends on D156592 Reviewed By: ChuanqiXu, #libc, philnik Differential Revision: https://reviews.llvm.org/D156594
-
Mark de Wever authored
@ChuanqiXu noticed std::atomic was not properly exported in the std module. Investigation showed other named declarations were not exported either. This fixes the issue. Depends on D156550 Reviewed By: #libc, philnik Differential Revision: https://reviews.llvm.org/D156592
-
Mark de Wever authored
Importing modules in the test suite failed due to linker errors. This fixes the issue and adds a minimal test to validate importing the std module works. Reviewed By: #libc, philnik Differential Revision: https://reviews.llvm.org/D156550
-
Cyndy Ishida authored
This is the first of transition tapi-diff to be readtapi. This tool will eventually replace functionality for Xcode's `xcrun tapi stubify` and `xcrun tapi archive`. This patch updates the tool name and is a minor refactor for the driver to handle more options. Reviewed By: zixuw Differential Revision: https://reviews.llvm.org/D153045
-
Mark de Wever authored
Switch to LLVM-18 as ToT version. Use the latest official CMake 3.27 release. Reviewed By: #libc, philnik Differential Revision: https://reviews.llvm.org/D156593
-
Aaron Ballman authored
The docs were still talking about Visual Studio 2013, which we've not supported in a while. I made the documentation a bit more vague because NATVIS is sometimes automatically picked up when building and sometimes requires manually installing the files. (For me, LLVM NATVIS is automatically picked up while Clang NATVIS needs manual installation; this happens because the way the monorepo is organized causes confusion when used with Visual Studio's built-in CMake functionality. Building from a .sln file generated by CMake may have better behavior in this case.)
-
Simon Pilgrim authored
[AMDGPU] AMDGPUTargetStreamer::getArchNameFromElfMach - use GPUKind::GK_NONE for unknown AMDGPU ElfMach flags Avoids issue reported on ea2c159f where objects with unknown subtarget ids were causing llvm_unreachable crashes
-
Simon Pilgrim authored
[X86] Allow pre-SSE41 targets to extract multiple v16i8 elements coming from the same DWORD/WORD super-element Pre-SSE41 targets tended to have weak (serial) GPR<->VEC moves, meaning we only allowed a single v16i8 extraction before spilling the vector to stack and loading the i8 elements instead. But this didn't make use of the DWORD/WORD extraction we had to use could extract multiple i8 elements at the same time. This patch attempts to determine if all uses of a vector are element extractions, and works out whether all the extractions share the same WORD or (lowest) DWORD, in which case we can perform a single extraction and just shift/truncate the individual elements. Differential Revision: https://reviews.llvm.org/D156350
-
- Jul 31, 2023
-
-
Steven Wu authored
Update comment in previous commit from D156603.
-
Matt Arsenault authored
This was adding confusing global state which was shadowed most of the time. https://reviews.llvm.org/D156680
-
Alex Zinenko authored
Provide Python bindings for transform ops defined in the vector dialect. All of these ops are sufficiently simple that no mixins are necessary for them to be nicely usable. Reviewed By: ingomueller-net Differential Revision: https://reviews.llvm.org/D156554
-
Alex Zinenko authored
Add an ODS (tablegen) backend to generate Python enum classes and attribute builders for enum attributes defined in ODS. This will allow us to keep the enum attribute definitions in sync between C++ and Python, as opposed to handwritten enum classes in Python that may end up using mismatching values. This also makes autogenerated bindings more convenient even in absence of mixins. Use this backend for the transform dialect failure propagation mode enum attribute as demonstration. Reviewed By: ingomueller-net Differential Revision: https://reviews.llvm.org/D156553
-
Sindhu Chittireddy authored
Differential Revision: https://reviews.llvm.org/D156274
-
Jakub Kuderski authored
Exist gracefully instead of triggering an assertions. Fixes: https://github.com/llvm/llvm-project/issues/64257 Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D156694
-
YAMAMOTO Takashi authored
Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D153107
-
-
Matt Arsenault authored
-