- Jul 18, 2021
-
-
Amara Emerson authored
llvm::KnownBits::byteSwap() and reverse() don't modify in-place, so we weren't actually computing anything. This was causing a miscompile on an arm64 stage2 bootstrap clang build.
-
David Carlier authored
-
Jon Roelofs authored
Differential revision: https://reviews.llvm.org/D105935
-
Nikita Popov authored
Fix bug introduced in 2c68eccc, the GEP type was off-by-ptr. Apparently I didn't run the MLIR tests.
-
David Green authored
Corollary to 1113e068 this allows us to match gather that dont produce a full vector width results. They use an extended gather which is truncated back to the original type.
-
Eli Friedman authored
Rewrite patterns to assume that the operand of STEP_VECTOR is a constant. The old patterns will stop working when the operand is changed from a Constant to a TargetConstant. (See D105673.) Add test coverage for certain patterns that weren't exercised by existing regression tests. Differential Revision: https://reviews.llvm.org/D105847
-
Nikita Popov authored
This API is incompatible with opaque pointers and deprecated in favor of the version that accepts an explicit element type. Also remove the separate overload for a single index, as this is already covered by the ArrayRef overload.
-
Nikita Popov authored
Remove uses of to-be-deprecated API. In cases where the correct element type was not immediately obvious to me, fall back to explicit getPointerElementType().
-
Nikita Popov authored
This API is incompatible with opaque pointers and deprecated in favor of the version that accepts an explicit element type.
-
Nikita Popov authored
Remove uses of to-be-deprecated API. Unfortunately this one mostly just makes the use of getPointerElementType() explicit, as the correct type to use wasn't immediately available (deriving it from QualType is left as an excercise to the reader).
-
Craig Topper authored
-
Vy Nguyen authored
Background: https://reviews.llvm.org/D82490#inline-1007741 Differential Revision: https://reviews.llvm.org/D106092
-
Jez Ng authored
ICF previously operated only within a given OutputSection. We would merge all CFStrings first, then merge all regular code sections in a second phase. This worked fine since CFStrings would never reference regular `__text` sections. However, I would like to expand ICF to merge functions that reference unwind info. Unwind info references the LSDA section, which can in turn reference the `__text` section, so we cannot perform ICF in phases. In order to have ICF operate on InputSections spanning multiple OutputSections, we need a way to distinguish InputSections that are destined for different OutputSections, so that we don't fold across section boundaries. We achieve this by creating OutputSections early, and setting `InputSection::parent` to point to them. This is what LLD-ELF does. (This change should also make it easier to implement the `section$start$` symbols.) This diff also folds InputSections w/o checking their flags, which I think is the right ...
-
Christopher Di Bella authored
Differential Revision: https://reviews.llvm.org/D106207
-
Shilei Tian authored
This patch fixed two issues found when folding `__kmpc_is_spmd_exec_mode`: 1. When the reaching kernels are empty, it should not fold to generic mode. 2. When creating AA for the caller when updating information, the dependency should be required. Reviewed By: ye-luo Differential Revision: https://reviews.llvm.org/D106209
-
Nikita Popov authored
This API is incompatible with opaque pointers and deprecated in favor of the version that accepts an explicit element type.
-
Nikita Popov authored
Remove uses of to-be-deprecated API.
-
ShihPo Hung authored
Reviewed By: frasercrmck Differential Revision: https://reviews.llvm.org/D105685
-
Nikita Popov authored
This API is incompatible with opaque pointers and deprecated in favor of the version that accepts an explicit element type.
-
Nikita Popov authored
Remove uses of to-be-deprecated API. I've fallen back to calling getPointerElementType() in some cases where the correct type wasn't immediately obvious to me.
-
- Jul 17, 2021
-
-
Simon Pilgrim authored
At most these use the StringRef/Twine wrappers and don't have any implicit uses of std::string. Move the include down to any cpp implementation where std::string is actually used.
-
Nikita Popov authored
This API is incompatible with opaque pointers and deprecated in favor of the version that accepts an explicit element type.
-
Nikita Popov authored
Remove uses of to-be-deprecated API.
-
Nikita Popov authored
This API is incompatible with opaque pointers and deprecated in favor of the version that accepts an explicit element type.
-
Nikita Popov authored
Remove uses of to-be-deprecated API.
-
Nikita Popov authored
This API is incompatible with opaque pointers and deprecated in favor of the version that accepts an explicit element type.
-
Nikita Popov authored
Remove uses of to-be-deprecated API.
-
Nikita Popov authored
This API is incompatible with opaque pointers and deprecated in favor of the version that accepts an explicit element type.
-
Kazu Hirata authored
These functions seem to be unused for at least 5 years.
-
Nikita Popov authored
This is the same change as D105653, but for the constant expression version of the API.
-
Nikita Popov authored
Use the elementtype attribute introduced in D105407 for the llvm.preserve.array/struct.index intrinsics. It carries the element type of the GEP these intrinsics effectively encode. This patch: * Adds a verifier check that the attribute is required. * Adds it in the IRBuilder methods for these intrinsics. * Autoupgrades old bitcode without the attribute. * Updates the lowering code to use the attribute rather than the pointer element type. * Updates lots of tests to specify the attribute. * Adds -force-opaque-pointers to the intrinsic-array.ll test to demonstrate they work now. https://reviews.llvm.org/D106184
-
Craig Topper authored
We assume VLENB is a multiple of 8 and previously relied on shift pairs being optimized to an AND+SHL/SHR and computeKnownBits removing the AND. This doesn't happen if (vlenb >> 3) gets CSEd to have multiple uses. This patch manually emits the best shift to workaround this.
-
Martin Storsjö authored
Make synchronization.lib all lowercase name for mingw, where casing matters. This fixes building after 6d160abd7eba73031a2af500981f8ef44bd75ee4.
-
Giorgis Georgakoudis authored
Parallel regions are outlined as functions with capture variables explicitly generated as distinct parameters in the function's argument list. That complicates the fork_call interface in the OpenMP runtime: (1) the fork_call is variadic since there is a variable number of arguments to forward to the outlined function, (2) wrapping/unwrapping arguments happens in the OpenMP runtime, which is sub-optimal, has been a source of ABI bugs, and has a hardcoded limit (16) in the number of arguments, (3) forwarded arguments must cast to pointer types, which complicates debugging. This patch avoids those issues by aggregating captured arguments in a struct to pass to the fork_call. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D102107
-
Lang Hames authored
-
Matthias Springer authored
This simplifies the vector to LLVM lowering. Previously, both vector.load/store and vector.transfer_read/write lowered directly to LLVM. With this commit, there is a single path to LLVM vector load/store instructions and vector.transfer_read/write ops must first be lowered to vector.load/store ops. * Remove vector.transfer_read/write to LLVM lowering. * Allow non-unit memref strides on all but the most minor dimension for vector.load/store ops. * Add maxTransferRank option to populateVectorTransferLoweringPatterns. * vector.transfer_reads with changing element type can no longer be lowered to LLVM. (This functionality is needed only for SPIRV.) Differential Revision: https://reviews.llvm.org/D106118
-
Matthias Springer authored
* TransferReadToVectorLoadLowering no longer generates memref.load ops. * Add new pattern VectorLoadToMemrefLoadLowering that lowers scalar vector.loads to memref.loads. * Add vector::BroadcastOp canonicalization pattern that folds broadcast chains. Differential Revision: https://reviews.llvm.org/D106117
-
jacquesguan authored
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D106134
-
Lang Hames authored
Support for this functionality is moving to the ORC runtime.
-
Carl Ritson authored
Use a multiclass to consistently define SReg/SGPR/TTMP register classes. Add missing TTMP registers for 96b, 160b, 192b, 224b. Reviewed By: foad Differential Revision: https://reviews.llvm.org/D105800
-