- May 25, 2023
-
-
Erich Keane authored
Clang 16 changed to consider dereferencing a void* to be a warning-as-error, plus made this an error in SFINAE contexts, since this resulted in incorrect template instantiation. When doing so, the Clang 16 documentation was updated to reflect that this was likely to change again to a non-disablable error in the next version. As there has been no response to changing from a warning to an error, I believe this is a non-controversial change. This patch changes this to be an Error, consistent with the standard and other compilers. This was discussed in this RFC: https://discourse.llvm.org/t/rfc-can-we-stop-the-extension-to-allow-dereferencing-void-in-c/65708 Differential Revision: https://reviews.llvm.org/D150875
-
Michael Liao authored
-
Sterling Augustine authored
-
Med Ismail Bennani authored
This test started failing on the green-dragon bot, but after some investigation, it doesn't have anything to do with Lua. If we use a variable watchpoint with a condition using a scope variable, if we go out-of-scope, the watpoint remains active which can the expression evaluator to fail to parse the watchpoint condition (because of the missing varible bindings). For now, we should disable this test until we come up with a fix for it. rdar://109574319 Signed-off-by:
Med Ismail Bennani <ismail@bennani.ma>
-
Vitaly Buka authored
-
Valentin Clement authored
Use the new reduction design in acc.loop operation. Depends on D151146 Reviewed By: razvanlupusoru, jeanPerier Differential Revision: https://reviews.llvm.org/D151164
-
Vitaly Buka authored
__sanitizer_get_current_allocated_bytes had as body, but allocator caches were not registered to collect stats. It's done by SizeClassAllocator64LocalCache::Init(). Reviewed By: kstoimenov Differential Revision: https://reviews.llvm.org/D151352
-
Philip Reames authored
This adds the vfslide1down (and vfslide1up for consistency) nodes. These mostly parallel the existing vslide1down/up nodes. (See note below on instruction semantics.) We then use the vfslide1down in build_vector lowering instead of going through the stack. The specification is more than a bit vague on the meaning of these instructions. All we're given is "The vfslide1down instruction is defined analogously, but sources its scalar argument from an f register." We have to combine this with a general note at the beginning of section 10. Vector Arithmetic Instruction Formats which reads: "For floating-point operations, the scalar can be taken from a scalar f register. If FLEN > SEW, the value in the f registers is checked for a valid NaN-boxed value, in which case the least-signicant SEW bits of the f register are used, else the canonical NaN value is used. Vector instructions where any floating-point vector operand’s EEW is not a supported floating-point type width (which includes when FLEN < SEW) are reserved.". Note that floats are NaN-boxed when D is implemented. Combining that all together, we're fine as long as the element type matches the vector type - which is does by construction. We shouldn't have legal vectors which hit the reserved encoding case. An assert is included, just to be careful. Differential Revision: https://reviews.llvm.org/D151347
-
Valentin Clement authored
Add the missing check on private list information. The check is the same than the one done for acc.parallel. Depends on D151146 Reviewed By: razvanlupusoru, jeanPerier Differential Revision: https://reviews.llvm.org/D151149
-
Valentin Clement authored
Add the missing check on private list information. The check is the same than the one done for acc.parallel. Depends on D151146 Reviewed By: razvanlupusoru, jeanPerier Differential Revision: https://reviews.llvm.org/D151149
-
Aaron Ballman authored
We've been hosting these meetings regularly for a while now, so this begins advertising the meetings more widely.
-
Valentin Clement authored
After D150818 the reduction clause is represented with a acc.reduction.recipe operation and an operand. This patch updates the acc.parallel op for the new design. Reviewed By: razvanlupusoru, jeanPerier Differential Revision: https://reviews.llvm.org/D151146
-
Philip Reames authored
The immediate field on the vsetivli is fairly limited. For larger vectors, we end up having to materialize a constant in a register. We hadn't plumbed the infrastructure to treat such materialized constants as constants for purpose of vsetvli elimination. I only bothered to handle LI. We could extend this to LUI sequences, but well, 2048 elements is probably enough for all practical fixed length vector codegen. :) The test delta does point out a related problem. At LMUL8, we see increased register allocation pressure, and we should probably either a) address register allocation remat, or b) be less aggressive about eliminating vsetvlis at high lmul. Note that high LMUL code is not generated much by default. Differential Revision: https://reviews.llvm.org/D151212
-
Kazu Hirata authored
This patch fixes: mlir/lib/Dialect/GPU/IR/GPUDialect.cpp:175:2: error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
-
Amy Kwan authored
Fix the shared library build failure on clang-ppc64le-rhel from 1c9a8004 as seen in: https://lab.llvm.org/buildbot/#/builders/57/builds/27080/steps/6/logs/stdio
-
Stefan Pintilie authored
My previous patch had added a couple of asserts to the disassembler. The problem with this is that the disassembler is not just used for the text section it is also used to disassemble the data section of an object where the bytes do not necessarily represent instructions. If the data in the data section happens to look like an illegal instruction then llvm-objdump will assert on data because it is finding an illegal instruction that is not actually an instruction at all. Reviewed By: nemanjai, #powerpc Differential Revision: https://reviews.llvm.org/D149711
-
Vitaly Buka authored
-
Alex Langford authored
I landed D151001 before it had gotten sign-off from all the reviewers. This is a follow-up to address the additional feedback. Differential Revision: https://reviews.llvm.org/D151233
-
Kun Wu authored
Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D151014
-
Kelvin Li authored
The following PowerPC vector type syntax is added: VECTOR ( element-type-spec ) where element-type-sec is integer-type-spec, real-type-sec or unsigned-type-spec. Two opaque types (__VECTOR_PAIR and __VECTOR_QUAD) are also added. A finite set of functionalities are implemented in order to support the new types: 1. declare objects 2. declare function result 3. declare type dummy arguments 4. intrinsic assignment between the new type objects (e.g. v1=v2) 5. reference functions that return the new types Submit on behalf of @tislam @danielcchen Authors: @tislam @danielcchen Differential Revision: https://reviews.llvm.org/D150876
-
Vitaly Buka authored
Breaks https://lab.llvm.org/buildbot/#/builders/18/builds/9118 This reverts commit 8064caf8.
-
https://reviews.llvm.org/D144552Sterling Augustine authored
Differential Revision: https://reviews.llvm.org/D151346
-
Jay Foad authored
Verify the LiveIntervals analysis after a pass that claims to preserve it, even if there are no further passes (apart from the verifier itself) that would use the analysis. Fixes https://github.com/llvm/llvm-project/issues/46217 Differential Revision: https://reviews.llvm.org/D129208
-
John Brawn authored
Fix several instances of macros being defined multiple times in several targets. Most of these are just simple duplication in a TargetInfo or OSTargetInfo of things already defined in InitializePredefinedMacros or InitializeStandardPredefinedMacros, but there are a few that aren't: * AArch64 defines a couple of feature macros for armv8.1a that are handled generically by getTargetDefines. * CSKY needs to take care when CPUName and ArchName are the same. * Many os/target combinations result in __ELF__ being defined twice. Instead define __ELF__ just once in InitPreprocessor based on the Triple, which already knows what the object format is based on os and target. These changes shouldn't change the final result of which macros are defined, with the exception of the changes to __ELF__ where if you explicitly specify the object type in the triple then this affects if __ELF__ is defined, e.g. --target=i686-windows-elf results in it being defined where it wasn't before, but this is more accurate as an ELF file is in fact generated. Differential Revision: https://reviews.llvm.org/D150966
-
Marco Elver authored
Fix typo introduced in 2f1e2a6b. Reported-by: RamNalamothu
-
Tom Eccles authored
This reverts commit 74c2ec50. This caused a regression building spec2017 with -Ofast.
-
Matthias Braun authored
This bumps the "large-interval-freq-threshold" limit in the register coalescer to 256. The limit was introduced in https://reviews.llvm.org/D59143 without much justify for the particular value "100", so I hope bumping it is ok. This change is motivated by bad codegen for the popular crc32c algorithm; the code is often based/copied from this implementation: https://github.com/htot/crc32c/blob/master/crc32c/crc32intelc.cc which uses a duffs-device pattern with 128 switch-cases. There are examples in RocksDB (https://github.com/facebook/rocksdb/blob/main/util/crc32c.cc) and Folly (https://github.com/facebook/folly/blob/main/folly/hash/detail/Crc32cDetail.cpp) which are important use cases for us. Differential Revision: https://reviews.llvm.org/D150994
-
Nemanja Ivanovic authored
Commit 8064caf8 added a call to a function that performs this combine without checking whether the target supports FPCVT. This caused asserts to trip on BE bots as the default target does not have this feature.
-
Mark de Wever authored
When using with clang-tidy 17 Node.getAttrName() sometimes returns a nullptr. This caused segfaults in the CI. Reviewed By: philnik, #libc Differential Revision: https://reviews.llvm.org/D151224
-
Kazu Hirata authored
The last uses were removed by: commit 772e4931 Author: Simon Tatham <simon.tatham@arm.com> Date: Thu Jan 23 11:53:27 2020 +0000 Differential Revision: https://reviews.llvm.org/D151299
-
- May 24, 2023
-
-
Matt Arsenault authored
-
Nikolas Klauser authored
Revert "[libc++] Apply _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION only in classes that we have instantiated externally" This reverts commit b3c91500. There were unexpected breakages downstream. @EricWF is investigating.
-
Harsh Menon authored
In the tile and fuse of the first extract use, we add support for scenarios where the results of the tiled op have uses that are dominated by the scf.for_all. Specifically, we replace the scf.for_all with a new scf.for_all that has an additional shared_out and add the appropriate parallel insert slice op. Differential Revision: https://reviews.llvm.org/D151275
-
Vitaly Buka authored
Hooks are in malloc_hook.cpp.
-
Mark de Wever authored
The code has been quite ready for a while now and there are no more ABI breaking papers. So this is a good time to mark the feature as stable. Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D150802
-
Guillaume Chatelet authored
`getrandom` is implemented as a syscall. We don't want to test linux implementation of the syscall. We just want to verify that it reacts as expected to sensible values. Runtime before ``` [ RUN ] LlvmLibcGetRandomTest.InvalidFlag [ OK ] LlvmLibcGetRandomTest.InvalidFlag (took 0 ms) [ RUN ] LlvmLibcGetRandomTest.InvalidBuffer [ OK ] LlvmLibcGetRandomTest.InvalidBuffer (took 0 ms) [ RUN ] LlvmLibcGetRandomTest.ReturnsSize [ OK ] LlvmLibcGetRandomTest.ReturnsSize (took 83 ms) [ RUN ] LlvmLibcGetRandomTest.PiEstimation [ OK ] LlvmLibcGetRandomTest.PiEstimation (took 9882 ms) ``` Runtime after ``` [ RUN ] LlvmLibcGetRandomTest.InvalidFlag [ OK ] LlvmLibcGetRandomTest.InvalidFlag (took 0 ms) [ RUN ] LlvmLibcGetRandomTest.InvalidBuffer [ OK ] LlvmLibcGetRandomTest.InvalidBuffer (took 0 ms) [ RUN ] LlvmLibcGetRandomTest.ReturnsSize [ OK ] LlvmLibcGetRandomTest.ReturnsSize (took 0 ms) [ RUN ] LlvmLibcGetRandomTest.CheckValue [ OK ] LlvmLibcGetRandomTest.CheckValue (took 0 ms) ``` Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D151336
-
Peter Klausler authored
SPACING() must return TINY() for zero arguments (which we do) and also for subnormal values smaller than TINY() in absolute value, which we get wrong. Fix folding and the runtime. Differential Revision: https://reviews.llvm.org/D151272
-
Christian Ulmann authored
This commit fixes a bug in the intrinsic base class that caused the declaration of alias analysis attributes under a wrong condition.
-
Valentin Clement authored
The destroy region is optional but the verifier was enforcing it. Update the verifier and make it clear in the definition. Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D151239
-
Luke Lau authored
For stores of small fixed-length vector constants, we can store them with a sequence of lui/addi/sh/sw to avoid the cost of building the vector and the vsetivli toggle, provided the constant materialization cost isn't too high. This subsumes the optimisation for stores of zeroes in 4dc9a2c5 (This is a reapply of 0ca13f9d) Reviewed By: reames Differential Revision: https://reviews.llvm.org/D151221
-