Commit
3fed6d443f802c43aade1b5b1b09f5e2f8b3edb1
by flo[VPlan] Mark overriden function in VPWidenPHIRecipe as virtual.
VPReductionRecipe overrides those implementations. Mark them as virtual in the VPWidenPHIRecipe to unbreak build in certain configurations.
|
 | llvm/lib/Transforms/Vectorize/VPlan.h |
Commit
706bbfb35bd31051e46ac77aab3e9b2dbc3abe78
by floRevert "[VPlan] Add VPReductionPHIRecipe (NFC)." and follow-ups
This reverts commit 3fed6d443f802c43aade1b5b1b09f5e2f8b3edb1, bbcbf21ae60c928e07dde6a1c468763b3209d1e6 and 6c3451cd76cbd0cd973d9c2b08b168dcd0bce3c2.
The changes causing build failures with certain configurations, e.g. https://lab.llvm.org/buildbot/#/builders/67/builds/3365/steps/6/logs/stdio
lib/libLLVMVectorize.a(LoopVectorize.cpp.o): In function `llvm::VPRecipeBuilder::tryToCreateWidenRecipe(llvm::Instruction*, llvm::ArrayRef<llvm::VPValue*>, llvm::VFRange&, std::unique_ptr<llvm::VPlan, std::default_delete<llvm::VPlan> >&) [clone .localalias.8]': LoopVectorize.cpp:(.text._ZN4llvm15VPRecipeBuilder22tryToCreateWidenRecipeEPNS_11InstructionENS_8ArrayRefIPNS_7VPValueEEERNS_7VFRangeERSt10unique_ptrINS_5VPlanESt14default_deleteISA_EE+0x63b): undefined reference to `vtable for llvm::VPReductionPHIRecipe' collect2: error: ld returned 1 exit status
|
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/lib/Transforms/Vectorize/VPlan.cpp |
 | llvm/test/Transforms/LoopVectorize/vplan-printing.ll |
 | llvm/lib/Transforms/Vectorize/VPlanValue.h |
 | llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll |
 | llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp |
 | llvm/lib/Transforms/Vectorize/VPlan.h |
Commit
745758acf3c295e3bf9f9dd283a3568c912a1827
by fmayer[hwasan] Fix incorrect candidate matching for stack OOB.
We would find an address with matching tag, only to discover in ShowCandidate that it's very far away from [stack].
Reviewed By: eugenis
Differential Revision: https://reviews.llvm.org/D105197
|
 | compiler-rt/lib/hwasan/hwasan_report.cpp |
 | compiler-rt/test/hwasan/TestCases/stack-oob.c |
Commit
c5dfee44b983d7a96f2c1a234f83abf41c7e2443
by peter.waller[CodeGen][AArch64][SVE] Use ld1r[bhsd] for vector splat from memory
This avoids the use of the vector unit for copying from scalar to vector. There is an extra ptrue instruction, but a predicate register with the ptrue pattern populated is likely to be free in the context of real code.
Tests were generated from a template to cover the axes mentioned at the top of the test file.
Co-authored-by: Francesco Petrogalli <francesco.petrogalli@arm.com>
Differential Revision: https://reviews.llvm.org/D103170
|
 | llvm/test/CodeGen/AArch64/sve-vector-splat.ll |
 | llvm/lib/Target/AArch64/AArch64InstrInfo.cpp |
 | llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td |
 | llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp |
 | llvm/test/CodeGen/AArch64/sve-ld-post-inc.ll |
 | llvm/lib/Target/AArch64/AArch64InstrFormats.td |
 | llvm/test/CodeGen/AArch64/sve-ld1r.ll |
 | llvm/test/CodeGen/AArch64/sve-ld1r.mir |
Commit
a7512401e5a2cc7a1d0805fc4daf0c808e9d502d
by kerry.mclaughlin[LV] Prevent vectorization with unsupported element types.
This patch adds a TTI function, isElementTypeLegalForScalableVector, to query whether it is possible to vectorize a given element type. This is called by isLegalToVectorizeInstTypesForScalable to reject scalable vectorization if any of the instruction types in the loop are unsupported, e.g:
int foo(__int128_t* ptr, int N) #pragma clang loop vectorize_width(4, scalable) for (int i=0; i<N; ++i) ptr[i] = ptr[i] + 42;
This example currently crashes if we attempt to vectorize since i128 is not a supported type for scalable vectorization.
Reviewed By: sdesmalen, david-arm
Differential Revision: https://reviews.llvm.org/D102253
|
 | llvm/lib/Analysis/TargetTransformInfo.cpp |
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp |
 | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h |
 | llvm/include/llvm/Analysis/TargetTransformInfo.h |
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/include/llvm/Analysis/TargetTransformInfoImpl.h |
 | llvm/test/Transforms/LoopVectorize/AArch64/sve-illegal-type.ll |
 | llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll |
Commit
f7d8754312bf3d10fb902d94f2bc84e3adf12ba4
by Louis Dionne[runtimes] Move enable_32bit to the DSL
This is necessary for from-scratch configurations to support the 32-bit mode of the test suite.
Differential Revision: https://reviews.llvm.org/D105435
|
 | libcxx/test/configs/legacy.cfg.in |
 | libcxx/utils/libcxx/test/params.py |
 | libcxxabi/test/lit.site.cfg.in |
 | libcxx/utils/libcxx/test/config.py |
 | libunwind/test/lit.site.cfg.in |
 | libunwind/test/CMakeLists.txt |
 | libcxxabi/test/CMakeLists.txt |
 | libcxx/test/CMakeLists.txt |
Commit
f814cd7406aa13e082fdf6fe8296178a77735a5a
by thakisRevert "[profile][test] Improve coverage-linkage.cpp"
This reverts commit 36ba86fe8a29cdf3251b786db7f342efde666cb2. Fails on some bots, see comments on https://reviews.llvm.org/rG36ba86fe8a29cdf3251b786db7f342efde666cb2
|
 | compiler-rt/test/profile/Linux/coverage-linkage.cpp |
Commit
6f3f9535fcafcde11d3b3ef72fdc0f357813e9da
by llvm-dev[CostModel][X86] i8/i16 sitofp/uitofp are sext/zext to i32 for sitofp
Provide a generic fallback that extends sub-i32 scalars before using the existing sitofp instructions.
These numbers can be tweaked for specific sse levels, but we should get the default handling in place first.
We get the extension for free for non-vector loads.
|
 | llvm/test/Transforms/SLPVectorizer/X86/uitofp.ll |
 | llvm/test/Analysis/CostModel/X86/uitofp.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/sitofp-inseltpoison.ll |
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
 | llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll |
 | llvm/test/Analysis/CostModel/X86/sitofp.ll |
Commit
ef0d147cdcaf170de80ca6bb0208a2a519fbf083
by floRecommit "[VPlan] Add VPReductionPHIRecipe (NFC)." and follow-ups.
This reverts commit 706bbfb35bd31051e46ac77aab3e9b2dbc3abe78.
The committed version moves the definition of VPReductionPHIRecipe out of an ifdef only intended for ::print helpers. This should resolve the build failures that caused the revert
|
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/lib/Transforms/Vectorize/VPlanValue.h |
 | llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp |
 | llvm/lib/Transforms/Vectorize/VPlan.h |
 | llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll |
 | llvm/lib/Transforms/Vectorize/VPlan.cpp |
 | llvm/test/Transforms/LoopVectorize/vplan-printing.ll |
Commit
cf005c4c5061ed34b2bd21ae104923c28b8a1b04
by Louis Dionne[libc++] NFC: Move the status docs to their own subdirectory
This cleans up the libcxx/doc directory quite a bit and will avoid the proliferation of status files in that directory as new standards are voted.
|
 | libcxx/docs/RangesStatus.rst |
 | libcxx/docs/Status/RangesPaper.csv |
 | libcxx/docs/Cxx1zStatus.rst |
 | libcxx/docs/Status/Cxx17Issues.csv |
 | libcxx/docs/Cxx2bStatusPaperStatus.csv |
 | libcxx/docs/Status/Ranges.rst |
 | libcxx/docs/Cxx1yStatus.rst |
 | libcxx/docs/Status/Cxx14.rst |
 | libcxx/docs/Status/Cxx2bIssues.csv |
 | libcxx/docs/FormatIssuePaperStatus.csv |
 | libcxx/docs/Cxx2bStatusIssuesStatus.csv |
 | libcxx/docs/Cxx1yStatusIssuesStatus.csv |
 | libcxx/docs/Status/Cxx20.rst |
 | libcxx/docs/Status/FormatPaper.csv |
 | libcxx/docs/Status/Cxx17.rst |
 | libcxx/docs/Cxx2aStatusIssuesStatus.csv |
 | libcxx/docs/Status/Cxx20Issues.csv |
 | libcxx/docs/Status/Cxx17Papers.csv |
 | libcxx/docs/FormatStatus.rst |
 | libcxx/docs/Status/Cxx20Papers.csv |
 | libcxx/docs/Status/Cxx2bPapers.csv |
 | libcxx/docs/RangesIssuePaperStatus.csv |
 | libcxx/docs/Status/Cxx14Papers.csv |
 | libcxx/docs/Cxx2bStatus.rst |
 | libcxx/docs/Cxx2aStatus.rst |
 | libcxx/docs/Cxx1zStatusPaperStatus.csv |
 | libcxx/docs/FormatProposalStatus.csv |
 | libcxx/docs/Cxx1zStatusIssuesStatus.csv |
 | libcxx/docs/OneRangesProposalStatus.csv |
 | libcxx/docs/Status/Cxx2b.rst |
 | libcxx/docs/index.rst |
 | libcxx/docs/Status/Format.rst |
 | libcxx/docs/Cxx2aStatusPaperStatus.csv |
 | libcxx/docs/Cxx1yStatusPaperStatus.csv |
 | libcxx/docs/Status/Cxx14Issues.csv |
 | libcxx/docs/Status/FormatIssues.csv |
 | libcxx/docs/Status/RangesIssues.csv |