- Apr 26, 2024
-
-
Andreas Jonson authored
Also moved the range from the function's call sites to the functions return value as that is possible now.
-
Brian Gesiak authored
This reverts commit b77416ea. While that seemed like an appropriate rename at the time, further review on pull request #90078 makes it unnecessary. This revert changes the name back.
-
Nikita Popov authored
Currently, the OptimizePointerDifference fold does not trigger when working on the sub of two geps where one of the geps has multiple uses, to avoid duplicating the offset arithmetic too much. However, there are cases where performing it would still be clearly profitable, e.g. test_sub_ptradd_multiuse. This patch drops the one-use restriction using the same strategy we use in GEP comparison folds: If there are multiple uses, we rewrite the GEP to use the expanded offset arithmetic instead (effectively canonicalizing it into ptradd representation). Fixes https://github.com/llvm/llvm-project/issues/88231.
-
Congcong Cai authored
-
Luke Lau authored
Compare the predecessor's exit after we've already checked that the PHI comes from a vsetvli. That way it's more obvious that Require has the same VL as PBBExit.
-
Fangrui Song authored
-
Fangrui Song authored
-
Rob Suderman authored
Canonicalization defaulted to replacement when the input dims were from unknown source. This is obviously incorrect. Tweaked and included test to prevent future issue.
-
Alexander Shaposhnikov authored
Allow using common::visit with Clang. Test plan: ninja check-all
-
Luke Lau authored
-
Luke Lau authored
Instead of manually checking hasSameVTYPE and hasSameAVL.
-
Pranav Kant authored
Revert "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (#84050)" This reverts commit a8fd0d02.
-
Pranav Kant authored
This reverts commit 6dd2617c.
-
Prashant Kumar authored
`useInBoundsInsteadOfMasking` was doing the opposite i.e., when set to true; was updating the mask instead of updating the inBounds.
-
Luke Lau authored
Keep the DemandedFields logic grouped together in the struct
-
Jason Molenda authored
Jonas upstreamed recognition of DW_TAG_LLVM_ptrauth_type https://reviews.llvm.org/D130215 but it isn't recognized as a type qualifier tag in DWARFASTParserClang::ParseTypeFromDWARF.
-
Jason Molenda authored
I previously added this API via https://reviews.llvm.org/D142792 in 2023, along with changes to the ValueObject class to treat pointer types as addresses, and to annotate those ValueObjects with the original uint64_t byte sequence AND the name of the symbol once stripped, if that points to a symbol. I did this unconditionally for all pointer type ValueObjects, and it caused several regressions in the Objective-C data formatters which have a ValueObject of an object, it has the address of its class -- but with ObjC, sometimes it is a "tagged pointer" which is metadata, not an actual pointer. (e.g. a small NSInteger value is stored entirely in the tagged pointer, instead of a separate object) Treating these not-addresses as addresses -- clearing the non-addressable-bits -- is invalid. The original version of this patch we're using downstream only does this bits clearing for pointer types that are specifically decorated with the pointerauth typequal, but not all of those clang changes are upstreamed to github main yet, so I tried this simpler approach and hit the tagged pointer issue and bailed on the whole patch. This patch, however, is simply adding SBValue::GetValueAsAddress so script writers who know that an SBValue has an address in memory, can strip off any metadata. It's an important API to have for script writers when AArch64 ptrauth is in use, so I'm going to put this part of the patch back on github main now until we can get the rest of that original patch upstreamed.
-
Min-Yih Hsu authored
This patch covers a really basic reassociation optimizations for VADD_VV and VMUL_VV.
-
Paul Kirth authored
With the tag merging in place, we can safely change the default for +seq-cst-trailing-fence to the default, according to the recommendation in https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-atomic.adoc This tag changes the default for the feature flag, and moves to more consistent naming with respect to existing features.
-
Paul Kirth authored
This patch adds support for the `atomic_abi` attribute, specifid in https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#tag_riscv_atomic_abi-14-uleb128version. The atomics_abi tag merging is conducted as follows: - UNKNOWN is safe to merge with all other values. - A6C is compatible with A6S, and results in the A6C ABI. - A6C is incompatible with A7, and results in an error. - A6S and A7 are compatible, and merging results in the A7 ABI. Note: the A7 is not yet supported in either LLVM or in any current hardware, and is therefore ommited from attribute generation in RISCVTargetStreamer.
-
Alexey Bataev authored
[SLP]Fix PR89988: do extra analysis of the icmp args to correctly handle signed/unsigned comparison. If operands of icmp has different signedness, need to consider extending unsigned operands to correctly handle comparison with the signed operands.
-
Alexey Bataev authored
-
Min Hsu authored
This is the pre-commit test for PR #88307.
-
Vitaly Buka authored
-
Vitaly Buka authored
Copy of llvm/test/CodeGen/X86/mmx-intrinsics.ll
-
Kazu Hirata authored
This patch replaces count with contains, following the spirit of clang-tidy's readability-container-contains.
-
Paul Kirth authored
Previously, the memprof and ctx_profile lit.site.cfg would assert if the enable_per_target_runtime_dir was set and the config.target_arch != config.host_arch. However, config.host_arch would never be set, meaning this would always fail in a when using LLVM_ENABLE_PER_TARGET_RUNTIME_DIR. This patch follows the example in the ASAN lit.site.cfg.py that updates the compiler_rt_libdir appropriately.
-
Tom Stellard authored
Completely refactor the cache file to simplify it and remove unnecessary variables. The main functional change here is that the non-PGO builds now use two stages, so `ninja -C build stage2-package` can be used with both PGO and non-PGO builds.
-
Fred Grim authored
@jimingham I am wondering if you are ok removing this test? It caused failures in some of the build bots because the user time was less than a microsecond. Alternatively we can increase the number of loops or maybe I need some other approach? I had commented it out just to not impact others
-
Mircea Trofin authored
Add the callsite intrinsic. Structurally, it is very similar to the counter intrinsics, hence the inheritance relationship. We can probably rename `InstrProfCntrInstBase` to `InstrProfIndexedBase` later - because the "counting" aspect is really left to derived types of `InstrProfCntrInstBase`, and it only concerns itself with the index aspect (which is what we care about for `callsite`, too) (Tracking Issue: #89287, RFC referenced there)
-
Fangrui Song authored
Related to clean-up opportunities discussed at #90013. After these cleanups, the `RelaxAll` parameter from `createMCObjectStreamer` can be removed as well. As `createMCObjectStreamer` is a more user-facing API and used by two files in mlir/, we postpone the cleanup to the future.
-
Alexander Shaposhnikov authored
Use [[fallthrough]] directly (similarly to https://reviews.llvm.org/D131346). This recommits eb05a2e8.
-
Fabio D'Urso authored
By expressing the conditions covered by MAP_ALLOWNOMEM in a more direct way.
-
Zhaoshi Zheng authored
To correctly lower multi_reduction of 1-dim scalable vector, e.g., <[4]xf32>
-
Fangrui Song authored
Related to clean-up opportunities discussed at #90013.
-
Jeremy Kun authored
-
jofrn authored
Added GISelShouldIgnore property to class Pattern in TargetSelectionDAG.td; it's similar to FastISelShouldIgnore. This bit can be put on a record to avoid its pattern import within GlobalISelEmitter. This allows one to avoid the record's GISel .td implementation, .inc generation, and any skipped pattern warnings from -warn-on-skipped-patterns.
-
Florian Hahn authored
Extend LoopAccessAnalysis to support different strides and as a consequence non-constant distances between dependences using SCEV to reason about the direction of the dependence. In multiple places, logic to rule out dependences using the stride has been updated to only be used if StrideA == StrideB, i.e. there's a common stride. We now also may bail out at multiple places where we may have to set FoundNonConstantDistanceDependence. This is done when we need to bail out and the distance is not constant to preserve original behavior. Fixes https://github.com/llvm/llvm-project/issues/87336 PR: https://github.com/llvm/llvm-project/pull/88039
-
Chris B authored
The preprocessor define `__HLSL_ENABLE_16_BIT` should be set to 1 if native 16-bit types are enabled and not set if they are not. Previously we were setting the value to match the HLSL active language version, and we had no test coverage verifing the value was set and not set as expected. Fixes #89787
-
Andrzej Warzyński authored
Adds a test for `inferConvolutionDimsImpl` to exercise the logic for depthwise convs.
-