Craig Topper
|
f1453095a2
[ScalarizeMaskedMemIntrin] Bitcast the mask to the scalar domain and use scalar bit tests for the branches for expandload/compressstore.
|
6 years ago |
Craig Topper
|
6f3e86d1d1
[ScalarizeMaskedMemIntrin] Add constant mask support to expandload and compressstore scalarization
|
6 years ago |
Craig Topper
|
87f53c9856
[ScalarizeMaskedMemIntrin] Bitcast the mask to the scalar domain and use scalar bit tests for the branches.
|
6 years ago |
Craig Topper
|
9768804628
[X86] Add test cases for masked store and masked scatter with an all zeroes mask. Fix bug in ScalarizeMaskedMemIntrin
|
6 years ago |
Craig Topper
|
c1b79b3c59
[ScalarizeMaskedMemIntrin] Add support for scalarizing expandload and compressstore intrinsics.
|
6 years ago |
Craig Topper
|
e2493293d4
[ScalarizeMaskedMemIntrinsics] Reverse some if conditions to reduce indentations to remove curly braces.
|
6 years ago |
Craig Topper
|
7c2c4642b9
[ScalarizeMaskedMemIntrin] Use IRBuilder functions that take uint32_t/uint64_t for getelementptr, extractelement, and insertelement.
|
6 years ago |
Craig Topper
|
cc2caa3c8b
[ScalarizeMaskedMemIntrin] Only set the ModifiedDT flag if new basic blocks were added.
|
6 years ago |
James Y Knight
|
6c00b3f35f
[opaque pointer types] Pass value type to LoadInst creation.
|
6 years ago |
Chandler Carruth
|
6b547686c5
Update the file headers across all of the LLVM projects in the monorepo
|
6 years ago |
Craig Topper
|
a0a61c4250
[ScalarizeMaskedMemIntrin] Limit the scope of some variables that are only used inside loops.
|
6 years ago |
Craig Topper
|
6752904763
[ScalarizeMaskedMemIntrin] Use MinAlign to calculate alignment for the scalar load/stores to handle element types that are byte-sized but not powers of 2.
|
7 years ago |
Craig Topper
|
bcbf6bc493
[ScalarizeMaskedMemIntrin] Fix the alignment calculation for the scalar stores of a masked store expansion.
|
7 years ago |
Craig Topper
|
f947b53515
[ScalarizeMaskedMemIntrin] Ensure the mask is a vector of ConstantInts before generating the expansion without control flow.
|
7 years ago |
Craig Topper
|
5c98f23227
[ScalarizeMaskedMemIntrin] Use cast instead of dyn_cast checked by an assert. Consistently make use of the element type variable we already have. NFCI
|
7 years ago |
Craig Topper
|
2122d188d1
[ScalarizeMaskedMemIntrin] When expanding masked gathers, start with the passthru vector and insert the new load results into it.
|
7 years ago |
Craig Topper
|
4f95400123
[ScalarizeMaskedMemIntrin] When expanding masked loads, start with the passthru value and insert each conditional load result over their element.
|
7 years ago |
Craig Topper
|
4b75b6ed93
[ScalarizeMaskedMemIntrin] Handle the case where the mask is an all zero vector.
|
7 years ago |
Craig Topper
|
1a8d3258e3
[ScalarizeMaskedMemIntrin] Remove some temporary variables that are only used by a single if condition.
|
7 years ago |
Craig Topper
|
3844ee81e3
[ScalarizeMaskedMemIntrin] Cleanup comments. NFC
|
7 years ago |
Craig Topper
|
b41c4e18ff
[ScalarizeMaskedMemIntrin] Don't emit 'icmp eq i1 %x, 1' to check mask values. That's just %x so use that directly.
|
7 years ago |
Andrei Elovikov
|
cefae4fb96
[CodeGen] Do not allow opt-bisect-limit to skip ScalarizeMaskedMemIntrin.
|
7 years ago |
David Blaikie
|
e3a9b4ce3a
Fix a bunch more layering of CodeGen headers that are in Target
|
7 years ago |
Eugene Zelenko
|
5c883452a8
[CodeGen] Fix some Clang-tidy modernize-use-default-member-init and Include What You Use warnings; other minor fixes (NFC).
|
8 years ago |
Reid Kleckner
|
6619121492
Sink some IntrinsicInst.h and Intrinsics.h out of llvm/include
|
8 years ago |
Matthias Braun
|
94c4904dc5
CodeGen: Rename DEBUG_TYPE to match passnames
|
8 years ago |
Ayman Musa
|
eadb58fda7
[X86] Relocate code of replacement of subtarget unsupported masked memory intrinsics to run also on -O0 option.
|
8 years ago |