- Sep 30, 2022
-
-
Aart Bik authored
This is a first step towards fully implementing the new dimension level types and properties, illustrating with a fully functional sorted COO of any dimension. Note that the sparsification part is pretty complete. The required parts in the runtime support library have been kept to a minimum, to avoid huge conflicts with Wren's ongoing refactoring. The missing parts will be filled in later. Reviewed By: Peiming Differential Revision: https://reviews.llvm.org/D134096
-
Steven Wu authored
Disable debug-frame tests on AppleSilicon Mac to improve some of the fix in PR46647. Reviewed By: aprantl Differential Revision: https://reviews.llvm.org/D134896
-
Jeff Niu authored
Instead of reimplementing it. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D134904
-
Jeff Niu authored
This is the corresponding method to `OpAsmParser::parseOptionalLocationSpecifier` that prints a location `loc(...)` based on the op printing flags. Together, these two functions allow propagating user-level location info outside of their usual spots. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D134910
-
Adrian Prantl authored
-
Rahul Joshi authored
-
wren romano authored
This is a followup to the refactoring of D133462, D133830, D133831, and D133833. Depends On D133833 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D133836
-
LLVM GN Syncbot authored
-
wren romano authored
The previous sorting-based check was O(n*log n). The new implementation is O(n). This is a followup to the refactoring of D133462, D133830, D133831, and D133833. Depends On D133833 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D133838
-
Siva Chandra authored
-
bixia1 authored
Reviewed By: aartbik, Peiming Differential Revision: https://reviews.llvm.org/D134777
-
wren romano authored
This is a followup to the refactoring of D133462, D133830, D133831, and D133833. Depends On D133833 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D133839
-
wren romano authored
This is a followup to the refactoring of D133462, D133830, D133831, and D133833. Depends On D133833 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D133837
-
Eric Wang authored
The bulk of the implementation is common between 'release' mode (==AOT-ed model) and 'development' mode (for training), the main difference is that in development mode, we may also log features (for training logs), inject scoring information and then produce the log file. Differential Revision: https://reviews.llvm.org/D133616
-
Amara Emerson authored
This is a port of an existing optimization in AArch64 ISelLowering, handling a case when the same input vector can be used for both ext inputs. Differential Revision: https://reviews.llvm.org/D134891
-
wren romano authored
This is a followup to the refactoring of D133462, D133830, D133831, and D133833. Depends On D133833 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D133835
-
wren romano authored
Previously, the SparseTensorUtils.cpp library contained a C++ core implementation, but hid it in an anonymous namespace and only exposed a C-API for accessing it. Now we are factoring out that C++ core into a standalone C++ library so that it can be used directly by downstream clients (per request of one such client). This refactoring has been decomposed into a stack of differentials in order to simplify the code review process, however the full stack of changes should be considered together. * D133462: Part 1: split one file into several * D133830: Part 2: Reorder chunks within files * D133831: Part 3: General code cleanup * (this): Part 4: Update documentation This part updates existing documentation, adds new documentation, and reflows the test for some existing documentation. Depends On D133831 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D133833
-
wren romano authored
Previously, the SparseTensorUtils.cpp library contained a C++ core implementation, but hid it in an anonymous namespace and only exposed a C-API for accessing it. Now we are factoring out that C++ core into a standalone C++ library so that it can be used directly by downstream clients (per request of one such client). This refactoring has been decomposed into a stack of differentials in order to simplify the code review process, however the full stack of changes should be considered together. * D133462: Part 1: split one file into several * D133830: Part 2: Reorder chunks within files * (this): Part 3: General code cleanup * D133833: Part 4: Update documentation This part performs some general code cleanup including: * making more things `const`, especially for the targets of pointers * using preincrement wherever possible ([[ https://llvm.org/docs/CodingStandards.html#prefer-preincrement | per LLVM style guide ]]) * adding messages to most `assert` statments. * moving argument casting from the core function/method definitions to the CPP wrappers Depends On D133830 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D133831
-
wren romano authored
Previously, the SparseTensorUtils.cpp library contained a C++ core implementation, but hid it in an anonymous namespace and only exposed a C-API for accessing it. Now we are factoring out that C++ core into a standalone C++ library so that it can be used directly by downstream clients (per request of one such client). This refactoring has been decomposed into a stack of differentials in order to simplify the code review process, however the full stack of changes should be considered together. * D133462: Part 1: split one file into several * (this): Part 2: Reorder chunks within files * D133831: Part 3: General code cleanup * D133833: Part 4: Update documentation This part moves chunks of code within files, but again aims to make no other changes. Many of these movements are part of a stylistic shift to reorder the components of class definitions as follows: data members, ctors/factories, getters, other public methods, private methods. Depends On D133462 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D133830
-
wren romano authored
Previously, the SparseTensorUtils.cpp library contained a C++ core implementation, but hid it in an anonymous namespace and only exposed a C-API for accessing it. Now we are factoring out that C++ core into a standalone C++ library so that it can be used directly by downstream clients (per request of one such client). This refactoring has been decomposed into a stack of differentials in order to simplify the code review process, however the full stack of changes should be considered together. * (this): Part 1: split one file into several * D133830: Part 2: Reorder chunks within files * D133831: Part 3: General code cleanup * D133833: Part 4: Update documentation This part aims to make no changes other than the 1:N file splitting, and things which are forced to accompany that change. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D133462
-
Xiang Li authored
-
Xiang Li authored
-
Joshua Batista authored
This change exposes the ceil library function for HLSL, excluding long, int, and long long doubles. Ceil is supported for all scalar, vector, and matrix types. Long and long long double support is missing in this patch because those types don't exist in HLSL. Int is missing because the ceil function only works on floating type arguments. The full documentation of the HLSL ceil function is available here: https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-ceil Reviewed By: python3kgae Differential Revision: https://reviews.llvm.org/D134319
-
Philip Reames authored
-
Alex Brachet authored
This brings the value closer to other platforms and allows for future improvements, see D133897.
-
Siva Chandra Reddy authored
Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D134858
-
Siu Chi Chan authored
D103221 changed HIP's default to C++14, removing the driver logic to force it into a different std. Change-Id: I9f5220a7456687039b0bd3b3574f3124d3cc7665 Differential Revision: https://reviews.llvm.org/D134314 Change-Id: I40513f2ebe93ee53ea95c8bb3cc704487d970263
-
Roy Jacobson authored
-
Roy Jacobson authored
Implements 'P1169R4: static operator()' from C++2b. Reviewed By: #clang-language-wg, aaron.ballman Differential Revision: https://reviews.llvm.org/D133659
-
Florian Hahn authored
Move LCSSA fixup from ::expandCodeForImpl to ::expand(). This has the advantage that we directly preserve LCSSA nodes here instead of relying on doing so in rememberInstruction. It also ensures that we don't add the non-LCSSA-safe value to InsertedExpressions. Alternative to D132704. Fixes #57000. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D134739
-
Bjorn Pettersson authored
In combineOr (X86ISelLowering.cpp) there is a DAG combine that rewrite a "(0 - SetCC) | C" pattern into something simpler given that a LEA can be used. Another requirement is that C has some specific value, for example 1 or 7. When checking those requirements the code used a 32-bit unsigned variable to store the value of C. So for a 64-bit OR this could miscompile in case any of the 32 most significant bits in C were non zero. This patch adds fixes the bug by using a large enough type for the C value. The faulty code seem to have been introduced by commit 9bceb898 (D131358). Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D134892
-
Bjorn Pettersson authored
In combineOr (X86ISelLowering.cpp) there is a DAG combine that rewrite a "(0 - SetCC) | C" pattern into something simpler given that a LEA can be used. Another requirement is that C has some specific value, for example 1 or 7. When doing that check it is using a 32-bit unsigned variable to store the value of C. So for a 64-bit OR this could miscompile in case any of the 32 most significant bits in C are set. This patch adds a test case to show this miscompile bug. Differential Revision: https://reviews.llvm.org/D134890
-
Fangrui Song authored
This partially reverts commit 1609a5d7 (the test/Driver part). We want to discourage %clang_cc1 and clang -cc1 in test/Driver. The clang -cc1 uses in hlsl/offload/etc are not good examples.
-
Aart Bik authored
Reviewed By: Peiming Differential Revision: https://reviews.llvm.org/D134899
-
Louis Dionne authored
By default, Clang does not include headers that are skipped due to the include guard optimization in the --trace-includes output, which breaks the use case that we were trying to use it for. However, Clang does support the -fshow-skipped-includes flag, which does exactly what we need and will result in an accurate include graph. As a fly-by fix, make sure that our includes don't differ between -fexceptions and -fno-exceptions. Differential Revision: https://reviews.llvm.org/D134829
-
Michał Górny authored
Use the `%clang_cc1` substitution consistently across the test suite, replacing inline `%clang -cc1` invocations, except for one Preprocessor test where this is causing breakage. This is necessary to ensure that additional parameters passed via `%clang` do not interfere with `-cc1` that must always be passed as the first command-line argument. Remove the additional substitution blocking `%clang_cc1` use in Driver tests. It has been added in 2013 and was supposed to prevent tests calling `clang -cc1` from being added to Driver. The state of the test suite proves that it did not succeed at all. Differential Revision: https://reviews.llvm.org/D134880
-
Michał Górny authored
Move the `%clang_dxc` substitution from local definition in clang/test to lit's `llvm/config.py` module where all other driver definitions are found. This improves consistency and makes it easier to control global clang options. Differential Revision: https://reviews.llvm.org/D134871
-
Michał Górny authored
Change the default config file loading logic to be more flexible and more readable at the same time. The new algorithm focuses on four locations, in order: 1. <triple>-<mode>.cfg using real driver mode 2. <triple>-<mode>.cfg using executable suffix 3. <triple>.cfg + <mode>.cfg using real driver mode 4. <triple>.cfg + <mode>.cfg using executable suffix This is meant to preserve reasonable level of compatibility with the existing use, while introducing more flexibility and making the code simpler. Notably: 1. In this layout, the actual target triple is normally respected, and e.g. in `-m32` build the `x86_64-*` configs will never be used. 2. Both real driver mode (preferable) and executable suffix are supported. This permits correctly handling calls with explicit `--driver-mode=` while at the same time preserving compatibility with the existing code. 3. The first two locations provide users with the ability to override configuration per specific target+mode combinaton, while the next two make it possible to independently specify per-target and per-mode configuration. 4. All config file locations are applicable independently of whether clang is started via a prefixed executable, or bare `clang`. 5. If the target is not explicitly specified and the executable prefix does not name a valid triple, it is used instead of the actual target triple for backwards compatibility. This is particularly meant to address Gentoo's use case for configuration files: to configure the default runtimes (i.e. `-rtlib=`, `-stdlib=`) and `--gcc-install-dir=` for all the relevant drivers, as well as to make it more convenient for users to override `-W` flags to test compatibility with future versions of Clang easier. Differential Revision: https://reviews.llvm.org/D134337
-
bixia1 authored
Add sparse-buffer-rewrite pass to rewrite sparse primitives on buffers to MLIR implementation. Add sparse rewrite rule for the sort operator. Add FileCheck test and integration test. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D134627
-
Jan Svoboda authored
This patch adds new member function to `DependencyScanningWorker` that allows clients to pass custom `DiagnosticConsumer`, and returns `bool`. This provides more flexibility compared to the existing version that automatically stringifies diagnostics and returns them in `llvm::Error`. Reviewed By: benlangmuir Differential Revision: https://reviews.llvm.org/D134838
-