Commit
ca7e27054c25c2bc6cf88879d73745699251412c
by spatel[SLP] add more FMF tests for fmax/fmin reductions; NFC
|
 | llvm/test/Transforms/SLPVectorizer/X86/fminnum.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/fmaxnum.ll |
Commit
b42ff9fb038206c7967e22ceef2c7ea8275dc198
by sam[RISCV][NFC] Increase test coverage of Zbt extension
Add Zbt (ternary) extension code generation to the select lowering tests since it can have a significant impact on how select is lowered.
While we are here make the neg-abs commands more consistent with the other tests.
Reviewed By: lenary
Differential Revision: https://reviews.llvm.org/D94798
|
 | llvm/test/CodeGen/RISCV/neg-abs.ll |
 | llvm/test/CodeGen/RISCV/select-optimize-multiple.ll |
 | llvm/test/CodeGen/RISCV/bare-select.ll |
 | llvm/test/CodeGen/RISCV/select-cc.ll |
 | llvm/test/CodeGen/RISCV/select-bare.ll |
 | llvm/test/CodeGen/RISCV/select-or.ll |
 | llvm/test/CodeGen/RISCV/select-optimize-multiple.mir |
 | llvm/test/CodeGen/RISCV/select-const.ll |
 | llvm/test/CodeGen/RISCV/select-and.ll |
Commit
50ae6a3ac9bdf640ecc69fe6540b08a8b4355398
by flo[AArch64] Make target intrinsics DefaultAttrIntrinsics.
DefaultAttrIntrinsics was introduced to add very common attributes to a large set of intrinsics.
Currently the added attributes include:
nofree nosync nounwind willreturn
I think those should hold for most AArch64 target intrinsics, but there are too many to check manually. This patch makes most AArch64 target intrinsics DefaultAttrsIntrinsics.
Some notable exceptions I think are exclusive loads and stores as well as the memory barrier intrinsics, for which nosync does not apply I think.
Reviewed By: SjoerdMeijer
Differential Revision: https://reviews.llvm.org/D94687
|
 | llvm/test/Assembler/aarch64-intrinsics-attributes.ll |
 | llvm/include/llvm/IR/IntrinsicsAArch64.td |
Commit
2f92386e721acd7badac06b67229537c4f0adfad
by adhemerval.zanella[LLD][ELF][AArch64] Set _GLOBAL_OFFSET_TABLE_ at the start of .got
The commit 18aa0be36ed9 changed the default GotBaseSymInGotPlt to true for AArch64. This is different than binutils, where _GLOBAL_OFFSET_TABLE_ points at the start or .got.
It seems to not intefere with current relocations used by LLVM. However as indicated by PR#40357 [1] gcc generates R_AARCH64_LD64_GOTPAGE_LO15 for -pie (in fact it also generated the relocation for -fpic).
This change is requires to correctly handle R_AARCH64_LD64_GOTPAGE_LO15 by lld from objects generated by gcc.
[1] https://bugs.llvm.org/show_bug.cgi?id=40357
|
 | lld/test/ELF/global-offset-table-position-aarch64.s |
 | lld/ELF/Arch/AArch64.cpp |
Commit
291ac7e622d542f8b25f74bc28051762edc90938
by flo[AArch64] Revert back to Intrinsic<> for TME instructions.
This patch reverts back to Intrinsic for the instructions for the transactional memory extension, so nosync is not included.
|
 | llvm/include/llvm/IR/IntrinsicsAArch64.td |
 | clang/test/CodeGen/aarch64-tme.cpp |
Commit
a58aceffad61ebffb1a860763299b3307041efa6
by Raphael Isemann[lldb][docs] Use 'any' as the default role in LLDB's sphinx project
sphinx processes text in backticks depending on what 'role' it has (e.g., `:code:\`blub\`` -> role is `code`). If no role is provided, the default role is taken which is right now using the default value of `content`. `content` only really makes the text cursive which isn't really useful for anything right now.
Sphinx recommends using the `any` role by default [1] as that turns text in backticks without an explicit roles into some kind of smart reference. If we did this in LLDB, then we could just reference SB API classes by doing `\`SBValue\`` instead of typing out the rather verbose `:py:class:`/`:py:func:`/... role before each reference. This would be especially nice when writing the SB API docs itself as we constantly have to reference other classes.
[1] https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-any
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D94899
|
 | lldb/docs/use/variable.rst |
 | lldb/docs/use/python.rst |
 | lldb/docs/conf.py |
Commit
28ea50f524b56e11b608ca1f768d2981579ebe75
by kazu[llvm] Populate std::vector at construction time (NFC)
|
 | llvm/lib/ProfileData/SampleProf.cpp |
 | llvm/lib/ObjectYAML/MachOEmitter.cpp |
 | llvm/lib/ObjectYAML/DWARFEmitter.cpp |
Commit
dc300beba7a849aac44c39ccc450a575db99bc14
by kazu[STLExtras] Add a default value to drop_begin
This patch adds the default value of 1 to drop_begin.
In the llvm codebase, 70% of calls to drop_begin have 1 as the second argument. The interface similar to with std::next should improve readability.
This patch converts a couple of calls to drop_begin as examples.
Differential Revision: https://reviews.llvm.org/D94858
|
 | llvm/unittests/ADT/STLExtrasTest.cpp |
 | llvm/lib/Transforms/Utils/LoopUtils.cpp |
 | llvm/include/llvm/ADT/STLExtras.h |
Commit
23b0ab2acb424e3e74722c0183e5c5ac84e6ea4c
by kazu[llvm] Use the default value of drop_begin (NFC)
|
 | llvm/lib/Transforms/Scalar/LoopInterchange.cpp |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
 | llvm/lib/Transforms/IPO/OpenMPOpt.cpp |
 | llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp |
 | llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp |
 | llvm/lib/Target/X86/X86MCInstLower.cpp |
 | llvm/lib/CodeGen/SafeStackLayout.cpp |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp |
 | llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp |
 | llvm/lib/Analysis/LoopInfo.cpp |
 | llvm/lib/CodeGen/CodeGenPrepare.cpp |
 | llvm/lib/Analysis/ModuleSummaryAnalysis.cpp |
 | llvm/lib/Analysis/VFABIDemangling.cpp |
 | llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp |
 | llvm/tools/llvm-xray/xray-stacks.cpp |
Commit
196cc96f9a643d1cb828f48ef15ec30d0de24df7
by adamcz[clang] Allow LifetimeExtendedTemporary to have no access specifier
The check only runs in debug mode during serialization, but assert()-fail on: struct S { const int& x = 7; }; in C++ mode.
Differential Revision: https://reviews.llvm.org/D94804
|
 | clang/test/PCH/cxx-reference.h |
 | clang/lib/AST/DeclBase.cpp |
Commit
2c51bef76cbf0149101b9e7c7c658b4a58657929
by craig.topper[RISCV] Add a test of vector sadd.overflow to demonstrate intrinsics with multiple scalable vector results.
This builds on D94142 where scalable vectors are allowed in structs.
I did have to fix one scalable vector issue in the vector type creation for these intrinsics where we used getVectorNumElements instead of ElementCount.
Differential Revision: https://reviews.llvm.org/D94149
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/test/CodeGen/RISCV/rvv/saddo-sdnode.ll |
Commit
5d431c3d32c7736d74c6a9dfe4a9a43f183d880f
by craig.topperRevert "[RISCV] Add a test of vector sadd.overflow to demonstrate intrinsics with multiple scalable vector results."
This reverts commit 2c51bef76cbf0149101b9e7c7c658b4a58657929.
I seem to have messed up the check lines in the test.
|
 | llvm/test/CodeGen/RISCV/rvv/saddo-sdnode.ll |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
Commit
79e798aca38baa260b9f3318991232dd1b5fc3f6
by craig.topperRecommit "[RISCV] Add a test of vector sadd.overflow to demonstrate intrinsics with multiple scalable vector results."
This recommits 2c51bef76cbf0149101b9e7c7c658b4a58657929.
I've fixed the broken check line from when I renamed the test function.
Original commit message: This builds on D94142 where scalable vectors are allowed in structs.
I did have to fix one scalable vector issue in the vector type creation for these intrinsics where we used getVectorNumElements instead of ElementCount.
|
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/test/CodeGen/RISCV/rvv/saddo-sdnode.ll |
Commit
01a13f127a8b17c7827cc19302fc612532249795
by Louis Dionne[libc++] Rename check-cxx-deps to cxx-test-depends for consistency
Several subprojects have targets that do the same thing, and they all follow the same naming convention: llvm-test-depends, clang-test-depends, lld-test-depends, etc.
This makes libc++ consistent with other LLVM projects. Thanks to Duncan Exon Smith for noticing and suggesting the change.
Differential Revision: https://reviews.llvm.org/D94499
|
 | libcxx/test/CMakeLists.txt |
 | libcxx/docs/TestingLibcxx.rst |
Commit
417f613743239a716d812443ba131207d78c6c9d
by stellaraccident[NFC] Update some mlir python documentation.
* Development setup recommendations. * Test updates to match what we actually do. * Update cmake variable `PYTHON_EXECUTABLE` -> `Python3_EXECUTABLE` to match the upgrade to python3 repo wide.
|
 | mlir/docs/Bindings/Python.md |
Commit
2776be43f0c28031348d2b18a050a8d6d01120f2
by Louis Dionne[libc++] improve feature test macro script
I've been playing a bit with the `generate_feature_test_macro_components.py` script and replaced some hardcoded values with extra code generation (generate ALL the things). The output is the same and it makes updating the script less work for the coming 25 C++ standards (until 2 digit number overflow).
Feel free to 'veto' if you think it's overkill.
Differential Revision: https://reviews.llvm.org/D94530
|
 | libcxx/utils/generate_feature_test_macro_components.py |
Commit
d9b6e4d583c5585b756680e6da3fbd0bb8f0a722
by stellaraccidentNFC: Document current MLIR Python ODS conventions.
* We had let the documentation get stale and catching it up prior to proposing changes.
|
 | mlir/docs/Bindings/Python.md |
Commit
aa3a59e0c69e16ff25ee991636247f9f99bfc34d
by Andrey.Churbanov[OpenMP][NFC] Fix test
The test fails if memkind library is accessible.
|
 | openmp/runtime/test/api/omp_alloc_null_fb.c |
Commit
22b68440e1647e16b5ee24b924986207173c02d1
by nikita.ppv[PredicateInfo] Add more and/or tests (NFC)
|
 | llvm/test/Transforms/Util/PredicateInfo/testandor.ll |
Commit
1c31459153647a21da9b5cdbb01f78bccfb341a5
by craig.topper[RISCV] Remove empty Sched instantiations from the end of InstAlias defs. NFCI
InstAliases don't need scheduling information so I'm not sure what these lines were even doing. Especially since the records don't have names.
|
 | llvm/lib/Target/RISCV/RISCVInstrInfoB.td |
Commit
5b77ac32b1150d066b35b45d6d982f4b4a1f62ff
by spatel[SLP] match maxnum/minnum intrinsics as FP reduction ops
After much refactoring over the last 2 weeks to the reduction matching code, I think this change is finally ready.
We effectively broke fmax/fmin vector reduction optimization when we started canonicalizing to intrinsics in instcombine, so this should restore that functionality for SLP.
There are still FMF problems here as noted in the code comments, but we should be avoiding miscompiles on those for fmax/fmin by restricting to full 'fast' ops (negative tests are included).
Fixing FMF propagation is a planned follow-up.
Differential Revision: https://reviews.llvm.org/D94913
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
 | llvm/test/Transforms/SLPVectorizer/X86/fmaxnum.ll |
 | llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/fminnum.ll |
Commit
2cb4a96a99e8acbf57a31d4d06ed5e21799d878e
by Louis Dionne[libc++] NFCI: Refactor allocator_traits
The implementation had a lot of boilerplate and was more complicated than necessary. This NFC refactoring introduces a few macros to reduce code duplication, and uses a consistent style and formatting for the whole file.
Differential Revision: https://reviews.llvm.org/D94544
|
 | libcxx/include/memory |
 | libcxx/include/__memory/allocator_traits.h |
Commit
d27bb5c375ca8e96e15168587a3bcd91b244fcad
by spatel[x86] add cast to avoid compile-time warning; NFC
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
fe301f474977da0b82548652ef4bbd058542d076
by kazu[LoopInfo] Fix a typo in compareLoops
The code here is checking to see if two sets are identical. OtherBlocksSet should point to OtherL->getBlocksSet() instead.
Differential Revision: https://reviews.llvm.org/D94926
|
 | llvm/include/llvm/Analysis/LoopInfoImpl.h |
Commit
395c737d9fcefb0fb99ac6c524b1d47e697d31d6
by aqjune[SimplifyCFG] Update SimplifyBranchOnICmpChain to recognize select form of and/or
This patch teaches SimplifyCFG::SimplifyBranchOnICmpChain to understand select form of (x == C1 || x == C2 || ...) / (x != C1 && x != C2 && ...) and optimize them into switch if possible. D93065 has more context about the transition, including links to the list of optimizations being updated.
Differential Revision: https://reviews.llvm.org/D93943
|
 | llvm/lib/Transforms/Utils/SimplifyCFG.cpp |
 | llvm/test/Transforms/SimplifyCFG/switch_create.ll |
Commit
9d81073acb49d2bdf32dc3477310dd20ffa0436f
by kkwli0[OpenMP][Docs] Fix typos in FAQ (NFC)
|
 | openmp/docs/SupportAndFAQ.rst |
Commit
14573d44ae097969a6168fbf14cc7f796442a296
by arthur.j.odwyerRegenerate the feature test macro unit-tests. NFCI.
Somehow commit 1f1250151f222ba391d05dcc173f4b6c65d05ca2 added the right code but with the wrong whitespace.
|
 | libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp |
 | libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.pass.cpp |
Commit
0441df94ad874c0c59a3785bd54a3d2f9a616fac
by aqjune[InstCombine,InstSimplify] Optimize select followed by and/or/xor
This patch adds `A & (A && B)` -> `A && B` (similarly for or + logical or)
Also, this patch adds `~(select C, (icmp pred X, Y), const)` -> `select C, (icmp pred' X, Y), ~const`.
Alive2 proof: merge_and: https://alive2.llvm.org/ce/z/teMR97 merge_or: https://alive2.llvm.org/ce/z/b4yZUp xor_and: https://alive2.llvm.org/ce/z/_-TXHi xor_or: https://alive2.llvm.org/ce/z/2uYx_a
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D94861
|
 | llvm/lib/Analysis/InstructionSimplify.cpp |
 | llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp |
 | llvm/test/Transforms/InstCombine/select-safe-transforms.ll |
Commit
2d89ebd5d17b8d8800606880fe02cd867e4a0b90
by aqjuneAddress unused variable warning
|
 | llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp |
Commit
a9b3303a8847e100ae23fa711f9b5b8963ebdaf9
by czhengszRevert "[NFC] [TargetRegisterInfo] add one use check to lookThruCopyLike."
This reverts commit 3bdf4507b66348ad78df4655a8e4f36c3fc10f3c.
Post commit comments need to be addressed first.
|
 | llvm/lib/CodeGen/TargetRegisterInfo.cpp |
 | llvm/include/llvm/CodeGen/TargetRegisterInfo.h |
Commit
c535a7fdadb4679327ebb1b3b82c73c9ff6a164a
by yuanke.luo[X86] Fix tile spill merge issue.
This is a additional bug fix for c5be0e0cc0. The distance for the spill instructions is wrong in previous patch.
Differential Revision: https://reviews.llvm.org/D94772
|
 | llvm/lib/CodeGen/InlineSpiller.cpp |
 | llvm/test/CodeGen/X86/AMX/amx-spill-merge.ll |
Commit
bc713f6a004723d1325bc16e1efc32d0ac82f939
by richardPR48763: Better handling for classes that inherit a default constructor.
The C++ standard wording doesn't appear to properly handle the case where a class inherits a default constructor from a base class. Various properties of classes are defined in terms of the corresponding property of the default constructor, and in this case, the class does not have a default constructor despite being default-constructible, which the wording doesn't handle properly.
This change implements a tentative fix for these problems, which has also been proposed to the C++ committee: if a class would inherit a default constructor, and does not explicitly declare one, then one is implicitly declared.
|
 | clang/test/CXX/special/class.inhctor/p1.cpp |
 | clang/include/clang/AST/CXXRecordDeclDefinitionBits.def |
 | clang/test/CXX/special/class.ctor/p6-0x.cpp |
 | clang/test/CXX/special/class.inhctor/p2.cpp |
 | clang/include/clang/AST/DeclCXX.h |
 | clang/lib/AST/DeclCXX.cpp |
 | clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p15.cpp |
Commit
61f69153e8dd7956d03ce46e30257c5bb3e41873
by nemanja.i.ibm[PowerPC] Sign extend comparison operand for signed atomic comparisons
As of 8dacca943af8a53a23b1caf3142d10fb4a77b645, we sign extend the atomic loaded operand for signed subword comparisons. However, the assumption that the other operand is correctly sign extended doesn't always hold. This patch sign extends the other operand if it needs to be sign extended.
This is a second fix for https://bugs.llvm.org/show_bug.cgi?id=30451
Differential revision: https://reviews.llvm.org/D94058
|
 | llvm/test/CodeGen/PowerPC/atomics-regression.ll |
 | llvm/test/CodeGen/PowerPC/sign-ext-atomics.ll |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
Commit
e147eccafa157668c9cd0eb26f0042ad82425874
by yuanke.luo[X86][AMX] Clear AMX lit test case.
Add nounwind attribute to avoid generating cfi instructions. Also make global buffer 64 bytes align in lit test case.
Differential Revision: https://reviews.llvm.org/D94910
|
 | llvm/test/CodeGen/X86/AMX/amx-across-func.ll |
 | llvm/test/CodeGen/X86/AMX/amx-config.ll |
 | llvm/test/CodeGen/X86/AMX/amx-spill-merge.ll |
 | llvm/test/CodeGen/X86/AMX/amx-type.ll |
 | llvm/test/CodeGen/X86/AMX/amx-intrinsic-chain.ll |
 | llvm/test/CodeGen/X86/AMX/amx-spill.ll |