- May 18, 2024
-
-
Julian Lettner authored
Fix flaky test: the spawned thread keeps spinning on `sampler_mutex` which may be released before the thread is terminated based on termination ordering. My understanding of C++ semantics are that the program here is invalid: the destructors of global variables are invoked at the time of program termination, and it is the responsibility of the program to ensure that invoking those destructors is safe. rdar://126768628
-
Jeremy Kun authored
Adds simple canonicalization rules to the polynomial dialect. Mainly to get the boilerplate incorporated before more substantial canonicalization patterns are added. --------- Co-authored-by:Jeremy Kun <j2kun@users.noreply.github.com>
-
Jonas Devlieghere authored
Fixes new test that were added or modified after #82073. Also fixes a formatting issue.
-
jiajie zhang authored
This is same as https://github.com/llvm/llvm-project/pull/90578 with an added fix. This PR updated tests of etime intrinsic due to Lowering changes for assigning dummy_scope to hlfir.declare. Referring to https://github.com/llvm/llvm-project/pull/92472 and https://github.com/llvm/llvm-project/pull/90989
-
Jonas Devlieghere authored
-
Vlad Serebrennikov authored
This patch continues previous efforts to split `Sema` up, this time covering code completion. Context can be found in #84184. Dropping `Code` prefix from function names in `SemaCodeCompletion` would make sense, but I think this PR has enough changes already. As usual, formatting changes are done as a separate commit. Hopefully this helps with the review.
-
Jeremy Kun authored
A change extracted from https://github.com/llvm/llvm-project/pull/91655 , where I'm still trying to get the attributes working for elementwise constant folding of polynomial ops. This piece is self-contained. - use CRTP for base classes - Add unit test --------- Co-authored-by:
Jeremy Kun <j2kun@users.noreply.github.com>
-
Valentin Clement (バレンタイン クレメン) authored
The number of operations dedicated to CUF grew and where all still in FIR. In order to have a better organization, the CUF operations, attributes and code is moved into their specific dialect and files. CUF dialect is tightly coupled with HLFIR/FIR and their types. The CUF attributes are bundled into their own library since some HLFIR/FIR operations depend on them and the CUF dialect depends on the FIR types. Without having the attributes into a separate library there would be a dependency cycle.
-
Walter Erquinigo authored
This was using a StringRef, which is very unsafe because the method name might just get disposed due to the async nature of the response. This was causing weird characters being printed in the output logs.
-
Dmitry Vasilyev authored
Install `_exe_to_attach` to a remote target if necessary.
-
Benjamin Maxwell authored
Previously, these rewrites would drop scalable dimensions and treated `[1]` (scalable one dim) as a unit dimension. This patch propagates scalable dimensions and ensures `[1]` is not treated as a unit dimension.
-
Vlad Serebrennikov authored
-
Mital Ashok authored
[Clang][Sema] Fix last argument not being used when comparing function template specializations when one has an explicit object argument (#92263) Fixes #92188
-
- May 17, 2024
-
-
Christian Ulmann authored
This commit fixes a breakage introduced by changing the name of the block sorting function. Related PR: https://github.com/llvm/llvm-project/pull/92558
-
Christian Ulmann authored
This commit renames the name of the block sorting utility function to `getBlocksSortedByDominance`. A topological order is not defined on a general directed graph, so the previous name did not make sense.
-
Vlad Serebrennikov authored
-
Kelvin Li authored
-
Kazu Hirata authored
Both sides here are known to be of StringRef.
-
maxbartel authored
This adds support for `dense_resource` in arith to spirv. Note that this inlines the blob into the IR. Another possibility would be to add proper dense_resource support to spirv, but there is a lot of special handling going on to convert a `DenseElementsAttr` to the correct SPIRV type. Some of that even iterates over all the values in the Attribute. For proper support of a `DenseResourceElementsAttr` this probably needs a redesign. I would like to hear some opinions on that! The test is disabled on non little Endian machines. See https://github.com/llvm/llvm-project/issues/63469 for more information.
-
Vlad Serebrennikov authored
-
Chris B authored
This just adds some simple distribution settings and includes clangd in the build for distribution.
-
Joseph Huber authored
Summary: No other project has these in the CMake itself, and they're wildly inconsistent even within the project. These don't really add anything so I think they should be removed.
-
Simon Pilgrim authored
-
Momchil Velikov authored
[Recommit of e88ba6d9] According to the specification in https://github.com/ARM-software/acle/pull/309 this adds the intrinsics void_svadd_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn) __arm_streaming __arm_inout("za"); void_svadd_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn) __arm_streaming __arm_inout("za"); void_svsub_za16_vg1x2_f16(uint32_t slice, svfloat16x2_t zn) __arm_streaming __arm_inout("za"); void_svsub_za16_vg1x4_f16(uint32_t slice, svfloat16x4_t zn) __arm_streaming __arm_inout("za"); as well as the corresponding `bf16` variants.
-
Vlad Serebrennikov authored
[clang][NFC] Remove const-qualification from `FunctionTemplateSpecializationInfo::TemplateArguments` (#92500) This patch remove const-qualification from pointee type of `FunctionTemplateSpecializationInfo::TemplateArguments`, because it's (eventually) used to initialize `MultiLevelTemplateArgumentList`, which can actually mutate the arguments via https://github.com/llvm/llvm-project/blob/f42f57b52dd279e6ae19270d063aeb8d59e3f11c/clang/include/clang/Sema/Template.h#L197-L204 Mutation seems to be required to correctly handle packs: https://github.com/llvm/llvm-project/blob/9144553207052a868efc5a8ce61a0afbb0eaf236/clang/lib/Sema/SemaTemplateInstantiate.cpp#L1440-L1469
-
-
Vlad Serebrennikov authored
-
Sergio Afonso authored
The check removed by this patch in the OpenMP to LLVM IR translation pass already exists as part of the op verifier for `omp.loop_nest`.
-
Sergio Afonso authored
-
Sergio Afonso authored
Composite OpenMP constructs where DISTRIBUTE is the first leaf construct, as well as standalone DISTRIBUTE constructs, are allowed inside of TEAMS regions. Before this patch, nesting a DISTRIBUTE construct inside of a combined TARGET TEAMS construct was disallowed, which it shouldn't be. Now both TEAMS and TARGET TEAMS constructs can be immediate parents of DISTRIBUTE constructs.
-
Youngsuk Kim authored
Add warning under `-Wparentheses` for consistency with `gcc 14.1`. Closes #20456 --------- Co-authored-by:Aaron Ballman <aaron@aaronballman.com>
-
Sander de Smalen authored
Scalable types are only available when: * The function is compiled with +sve * The function is compiled with +sme and the function is executed in Streaming-SVE mode.
-
Romaric Jodin authored
Instead add a proper attribute in clang, and add convert it to function metadata to keep the information in the IR. The goal is to remove the dependency on __attribute__((assume)) that should have not be there in the first place. Ref https://github.com/llvm/llvm-project/pull/84934
-
Sander de Smalen authored
-
Matt Arsenault authored
-
Aaron Ballman authored
This functionality was added about three years ago, but has been in a significantly broken state since it was added. It has begun to cause a maintenance burden for work in Clang (largely due to the complexity of having two levels of code generation involved), and the original author is unable to help maintain it. Because it only worked under limited circumstances and because of the maintenance burden, it is being removed. If someone wishes to resurrect the functionality, they should hopefully be able to do so from this one commit. Fixes #82591
-
Vlad Serebrennikov authored
This patch allows attributes to be attached to C++20 concepts, implementing [CWG2428](https://cplusplus.github.io/CWG/issues/2428.html).
-
David Sherwood authored
For all of the following reductions: vector.reduce.or vector.reduce.and vector.reduce.xor vector.reduce.add vector.reduce.mul vector.reduce.umin vector.reduce.umax vector.reduce.smin vector.reduce.smax vector.reduce.fmin vector.reduce.fmax if the input operand is the result of a vector.reverse then we can perform a reduction on the vector.reverse input instead since the answer is the same. If the reassociation is permitted we can also do the same folds for these: vector.reduce.fadd vector.reduce.fmul
-
Shengchen Kan authored
This is to simplify code for #91747
-
Matthias Springer authored
This commit turns the 1:N dialect conversion pattern for function signatures into a pattern for `FunctionOpInterface`. This is similar to the interface-based pattern that is provided with the 1:1 dialect conversion (`populateFunctionOpInterfaceTypeConversionPattern`). No change in functionality apart from supporting all `FunctionOpInterface` ops and not just `func::FuncOp`.
-