- Nov 08, 2021
-
-
LLVM GN Syncbot authored
-
CJ Johnson authored
Suggests switching the initialization pattern of `absl::Cleanup` instances from the factory function to class template argument deduction (CTAD) in C++17 and higher. Reviewed By: ymandel Differential Revision: https://reviews.llvm.org/D113195
-
Joe Nash authored
NFC. This check mainly handles size affecting literals. Make it check all explicit operands instead of a few by name. Also make the isLiteral check handle the KIMM operands, see https://reviews.llvm.org/D111067 Change-Id: I1a362d55b2a10f5c74d445272e8b7829a8b77597 Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D113318 Change-Id: Ie6c688f30a71e0335d1c6dd1ff65019bd7ce684e
-
Anton Afanasyev authored
Extended value is known to be inside range smaller than full one. Prevent SCCP to mark such value as overdefined. Fixes PR52253 Differential Revision: https://reviews.llvm.org/D112721
-
David Tenty authored
This changes adds the pipeline config for both 32-bit and 64-bit AIX targets. As well, we add a lit feature `LIBCXX-AIX-FIXME` which is used to mark the failing tests which remain to be investigated on AIX, so that the CI produces a clean build. Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D111359
-
Simon Pilgrim authored
Use ComputeMinSignedBits() to ensure the mul source operands at least sign-extend down from the bottom 16 bits. This will make it easier if/when we try to support handling of source types larger than 32-bits.
-
David Sherwood authored
The common use case for calling createStepForVF is currently something like: Value *Step = createStepForVF(Builder, ConstantInt::get(Ty, UF), VF); and it makes more sense to reduce overall lines of code and change the function to let it create the constant instead. With my patch this becomes: Value *Step = createStepForVF(Builder, Ty, VF, UF); and the ConstantInt is created instead createStepForVF. A side-effect of this is that the code in createStepForVF is also becomes simpler. As part of this patch I've also replaced some calls to getRuntimeVF with calls to createStepForVF, i.e. getRuntimeVF(Builder, Count->getType(), VFactor * UFactor) -> createStepForVF(Builder, Count->getType(), VFactor, UFactor) because this feels semantically better. Differential Revision: https://reviews.llvm.org/D113122
-
Zarko Todorovski authored
Replace the description and file names for this argument. As far as I understand this is a positional argument and I don't believe this changes breaks any existing interfaces. Reviewed By: hctim, MaskRay Differential Revision: https://reviews.llvm.org/D113316
-
Jon Chesterfield authored
-
Mindong Chen authored
This adds FP type support to the SVE Container type list as a supplement to D112303. Reviewed By: peterwaller-arm, paulwalker-arm Differential Revision: https://reviews.llvm.org/D113333
-
Quinn Pham authored
[NFC] As part of using inclusive language within the llvm project, this patch replaces master with main when referring to `.chm` files. Reviewed By: teemperor Differential Revision: https://reviews.llvm.org/D113299
-
Denys Petrov authored
Summary: Add support of multi-dimensional arrays in `RegionStoreManager::getBindingForElement`. Handle nested ElementRegion's getting offsets and checking for being in bounds. Get values from the nested initialization lists using obtained offsets. Differential Revision: https://reviews.llvm.org/D111654
-
Simon Pilgrim authored
As suggested on D113371, this adds a wrapper to SelectionDAG::ComputeNumSignBits, similar to the llvm::ComputeMinSignedBits wrapper. I've included some usage, its not exhaustive, just the more obvious cases where the intention is obvious. Differential Revision: https://reviews.llvm.org/D113396
-
Anton Afanasyev authored
-
Anton Afanasyev authored
-
David Sherwood authored
When inserting an unpacked FP subvector into a packed vector we can simply cast the unpacked value into a packed value, since both types are legal for SVE. We can then use this as the input for the UZP instruction. This avoids us expanding the operation by going through the stack. Differential Revision: https://reviews.llvm.org/D113270
-
Zahira Ammarguellat authored
support default values for C/C++. FPP-MODEL=PRECISE enables FFP-CONTRACT FMA is enabled. Fix for https://bugs.llvm.org/show_bug.cgi?id=50222
-
Anastasia Stulova authored
Add new triple and target info for ‘spirv32’ and ‘spirv64’ and, thus, enabling clang (LLVM IR) code emission to SPIR-V target. The target for SPIR-V is mostly reused from SPIR by derivation from a common base class since IR output for SPIR-V is mostly the same as SPIR. Some refactoring are made accordingly. Added and updated tests for parts that are different between SPIR and SPIR-V. Patch by linjamaki (Henry Linjamäki)! Differential Revision: https://reviews.llvm.org/D109144
-
Nico Weber authored
This reverts commit 17d95602. Breaks check-clang everywhere, see e.g.: https://lab.llvm.org/buildbot/#/builders/105/builds/17229 https://lab.llvm.org/buildbot/#/builders/109/builds/25831 https://lab.llvm.org/buildbot/#/builders/188/builds/5493 https://lab.llvm.org/buildbot/#/builders/123/builds/7073
-
Valentin Clement authored
This patch add the `!fir.box` type conversion to llvm. `fir.box` is converted to the descriptor as defined in the ISO_Fortran_binding.h and the addendum defined in descriptor.h. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D113288 Co-authored-by:
Jean Perier <jperier@nvidia.com> Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com> Co-authored-by:
V Donaldson <vdonaldson@nvidia.com>
-
Zahira Ammarguellat authored
support default values for C/C++. FPP-MODEL=PRECISE enables FFP-CONTRACT FMA is enabled. Fix for https://bugs.llvm.org/show_bug.cgi?id=50222
-
Dmitry Makogon authored
This reverts commit db289340. The patch caused 2 crashes with expensive checks enabled.
-
Matt authored
This is a refinement to the work in https://reviews.llvm.org/D111638 Fold (fadd p a (fmul p b c)) into (fma p a b c) Differential Revision: https://reviews.llvm.org/D113095
-
Dmitry Makogon authored
In IndVarSimplify after simplifying and extending loop IVs we call 'replaceCongruentIVs'. This function optionally takes a TTI argument to be able to replace narrow IVs uses with truncates of the widest one. For some reason the TTI wasn't passed to the function, so it couldn't perform such transform. This patch fixes it. Reviewed By: mkazantsev Differential Revision: https://reviews.llvm.org/D113024
-
Simon Pilgrim authored
We have several places where we need to extract the raw bits data from a BUILD_VECTOR node, so consolidate this to a single helper function that handles Undefs and Integer/FP constants, including implicit truncation. This should make it easier to extend D113202 to handle more constant folding of bitcasted constant data. Differential Revision: https://reviews.llvm.org/D113351
-
Tobias Gysi authored
Adapt the Fourier Motzkin elimination to take into account affine computations happening outside of the cloned loop nest. Depends On D112713 Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D112838
-
@t-msn authored
It is better to set all barrier patterns to use "dist" when at least one environment variable specifies "dist". Otherwise if only one environment is set to "dist" and others left blank inadvertently, it would result in mixing dist barrier with default hyper barrier pattern. Differential Revision: https://reviews.llvm.org/D112597
-
Andrzej Warzynski authored
This patch extends the `FIRToLLVMLowering` pass in Flang by adding a hook to transform `fir.call` to `llvm.call`. This is part of the upstreaming effort from the `fir-dev` branch in [1]. [1] https://github.com/flang-compiler/f18-llvm-project Patch originally written by: Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com> Co-authored-by:
V Donaldson <vdonaldson@nvidia.com> Differential Revision: https://reviews.llvm.org/D113278
-
Simon Moll authored
VE integrated asm has been the default in Clang. Also use the default setting for integrated asm in the backend. Reviewed By: kaz7 Differential Revision: https://reviews.llvm.org/D113384
-
Simon Pilgrim authored
-
Tobias Gysi authored
The revision updates the packing loop search in hoist padding. Instead of considering all loops in the backward slice, we now compute a separate backward slice containing the index computations only. This modification ensures we do not add packing loops that are not used to index the packed buffer due to spurious dependencies. One instance where such spurious dependencies can appear is the extract slice operation introduced between the tile loops of a double tiling. Depends On D112412 Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D112713
-
David Green authored
We already have patterns for fptosi and fptoui plus fmul to fixed point convert, this adds equivalent patterns for fptosi.sat and fptoui.sat, which should apply equally well for the legal saturating variants. Differential Revision: https://reviews.llvm.org/D113199
-
Jean Perier authored
If the source has an addendum, the descriptor that is being established to describe a section over the source needs to copy the addendum so that derived type information is correctly set in the descriptor being established. This allows namelist IO with derived type to work correctly. Differential Revision: https://reviews.llvm.org/D113258
-
David Sherwood authored
At the moment in LoopVectorizationCostModel::selectEpilogueVectorizationFactor we bail out if the main vector loop uses a scalable VF. This patch adds support for generating epilogue vector loops using a fixed-width VF when the main vector loop uses a scalable VF. I've changed LoopVectorizationCostModel::selectEpilogueVectorizationFactor so that we convert the scalable VF into a fixed-width VF and do profitability checks on that instead. In addition, since the scalable and fixed-width VFs live in different VPlans that means I had to change the calls to LVP.hasPlanWithVFs so that we only pass in the fixed-width VF. New tests added here: Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll Differential Revision: https://reviews.llvm.org/D109432
-
Qiu Chaofan authored
Including basic fusion types around arithmetic and logical instructions. Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D111693
-
Andrew Wei authored
Performing the rearrangement for add/sub and mul instructions to match the madd/msub pattern Reviewed By: dmgreen, sdesmalen, david-arm Differential Revision: https://reviews.llvm.org/D111862
-
Konstantin Varlamov authored
`__vector_base` exists for historical reasons and cannot be eliminated entirely without breaking the ABI. Member variables are left untouched -- this patch only does changes that clearly cannot affect the ABI. Differential Revision: https://reviews.llvm.org/D112976
-
Konstantin Varlamov authored
This reverts commit bc742317. It was committed accidentally.
-
Valentin Clement authored
Add a separate file to test FIR types conversion to LLVM types. Conversion comes from `flang/lib/Optimizer/CodeGen/TypeConverter.h` This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: kiranchandramohan, awarzynski Differential Revision: https://reviews.llvm.org/D113283
-
Louis Dionne authored
However, whether applications rely on the std::bad_function_call vtable being in the dylib is still controlled by the ABI macro, since changing that would be an ABI break. Differential Revision: https://reviews.llvm.org/D92397
-