SuccessChanges

Summary

  1. [lldb] Remove DWARFUnit::AppendDIEsWithTag (details)
  2. [OPENMP50]Codegen for nontemporal clause. (details)
  3. [DAGCombine] visitEXTRACT_SUBVECTOR - 'little to big' (details)
  4. [PowerPC] NFC - fix the testcase bug of folding rlwinm (details)
  5. [RISCV][NFC] Fix use of missing attribute groups in tests (details)
  6. [AMDGPU] Don't create MachinePointerInfos with an UndefValue pointer (details)
  7. [ELF] Don't suggest an alternative spelling for a symbol in a discarded (details)
  8. Move from a long list of checkers to tables (details)
  9. [lldb/Test] Disable TestSynchronous.test on Windows. (details)
  10. Fix LLVM tool --version build mode printing for MSVC (details)
  11. MC: Ensure test only reads from the Inputs directory (details)
  12. [Sema][X86] Consider target attribute into the checks in (details)
  13. [msan] Intercept qsort, qsort_r. (details)
  14. [msan] Check qsort input. (details)
  15. [FPEnv][X86] More strict int <-> FP conversion fixes (details)
  16. ASTContext: fix declaration of ParsedTargetAttr [-Wmismatched-tags] (details)
  17. [Docs] Fix sphinx build errors. (details)
  18. [lldb/CMake] Always set a value for find_package when finding optional (details)
  19. Add implementations of POSIX mmap and munmap functions. (details)
  20. [InstCombine] add tests for not(select ...); NFC (details)
Commit e40ac74dacda99ff6330945f0f105252b7c28c9c by pavel
[lldb] Remove DWARFUnit::AppendDIEsWithTag
This function is not very useful, as it's forcing a materialization of
the returned DIEs, and calling it is not substantially simpler than just
iterating over the DIEs manually. Delete it, and rewrite the single
caller.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
Commit 0860db966a7d2ab61b26e41426a55189986924b4 by a.bataev
[OPENMP50]Codegen for nontemporal clause.
Summary: Basic codegen for the declarations marked as nontemporal. Also,
if the base declaration in the member expression is marked as
nontemporal, lvalue for member decl access inherits nonteporal flag from
the base lvalue.
Reviewers: rjmccall, hfinkel, jdoerfert
Subscribers: guansong, arphaman, caomhin, kkwli0, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71708
The file was modifiedclang/test/OpenMP/target_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/simd_codegen.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/test/OpenMP/for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_simd_codegen.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/include/clang/AST/OpenMPClause.h
Commit 8cefc37be5aba4948936c7beb97cde7a68449f1f by spatel
[DAGCombine] visitEXTRACT_SUBVECTOR - 'little to big'
extract_subvector(bitcast()) support
This moves the X86 specific transform from rL364407 into DAGCombiner to
generically handle 'little to big' cases
(for example: extract_subvector(v2i64 bitcast(v16i8))). This allows us
to remove both the x86 implementation and the aarch64
bitcast(extract_subvector(bitcast())) combine.
Earlier patches that dealt with regressions initially exposed by this
patch: rG5e5e99c041e4 rG0b38af89e2c0
Patch by: @RKSimon (Simon Pilgrim)
Differential Revision: https://reviews.llvm.org/D63815
The file was modifiedllvm/test/CodeGen/AArch64/merge-store.ll
The file was modifiedllvm/test/CodeGen/ARM/combine-vmovdrr.ll
The file was modifiedllvm/test/CodeGen/X86/avg-mask.ll
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc_ssat.ll
The file was modifiedllvm/test/CodeGen/X86/madd.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 79b3325be0b016fdc1a2c55bce65ec9f1e5f4eb6 by czhengsz
[PowerPC] NFC - fix the testcase bug of folding rlwinm
The file was modifiedllvm/test/CodeGen/PowerPC/fold-rlwinm.mir
Commit 5b1d0dc6bf0618690057bea749830036f70b0491 by luismarques
[RISCV][NFC] Fix use of missing attribute groups in tests
The file was modifiedllvm/test/CodeGen/RISCV/frame-info.ll
The file was modifiedllvm/test/CodeGen/RISCV/frame.ll
The file was modifiedllvm/test/CodeGen/RISCV/remat.ll
Commit c7c05b0c8a046c9bef46b4e4c7a35c262d1d880a by jay.foad
[AMDGPU] Don't create MachinePointerInfos with an UndefValue pointer
Summary: The only useful information the UndefValue conveys is the
address space, which MachinePointerInfo can represent directly without
referring to an IR value.
Reviewers: arsenm, rampitec
Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr,
t-tye, hiraditya, Petar.Avramovic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71838
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/R600ISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
Commit 261b7b4a6b06dd32bea46383f8fef1e56e68c88a by maskray
[ELF] Don't suggest an alternative spelling for a symbol in a discarded
section
For undef-not-suggest.test, we currently make redundant alternative
spelling suggestions:
``` ld.lld: error: relocation refers to a discarded section: .text.foo
>>> defined in a.o
>>> section group signature: foo
>>> prevailing definition is in a.o
>>> referenced by a.o:(.rodata+0x0)
>>> did you mean:
>>> defined in: a.o
ld.lld: error: relocation refers to a symbol in a discarded section: foo
>>> defined in a.o
>>> section group signature: foo
>>> prevailing definition is in a.o
>>> referenced by a.o:(.rodata+0x8)
>>> did you mean: for
>>> defined in: a.o
```
Reviewed By: grimar, ruiu
Differential Revision: https://reviews.llvm.org/D71735
The file was addedlld/test/ELF/undef-not-suggest.test
The file was modifiedlld/ELF/Relocations.cpp
Commit d2c9c9157b0528436d3b9f5e22c872f0ee6509a2 by sledru
Move from a long list of checkers to tables
Summary: Currently, the list isn't very useful. This change adds two
tables.
* The checkers
* The aliases
For each checkers, we provide extract info:
* the severity. Taken from codechecker -
https://github.com/Ericsson/codechecker/blob/master/config/checker_severity_map.json
* if the checker has an autofix or not
I used the cvs format for the table because:
* it is easy
* the data could be reused by other tools (we could move that into a
separated / generated file at some point)
Reviewers: alexfh, jdoerfert, jfb, lebedev.ri, Eugene.Zelenko
Subscribers: dexonsmith, wuzish, nemanjai, kbarton, arphaman,
lebedev.ri, whisperity, Eugene.Zelenko, JonasToth, JDevlieghere,
xazax.hun, cfe-commits, #clang-tools-extra
Tags: #clang
Differential Revision: https://reviews.llvm.org/D36051
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
Commit e7d5131d3b122cdae5442b02f60e8527423c40c3 by Jonas Devlieghere
[lldb/Test] Disable TestSynchronous.test on Windows.
The test was being skipped on the Windwos bot because it requires Python
which was silently disabled because of a configuration issue. Now that
the test runs, this fails as expected.
The file was modifiedlldb/test/Shell/Reproducer/TestSynchronous.test
Commit a9fdfe63ce023b5aff0fb160375dd28eabf525df by rnk
Fix LLVM tool --version build mode printing for MSVC
LLVM tools such as llc print "DEBUG build" or "Optimized build" when
passed --version. Before this change, this was implemented by checking
for the __OPTIMIZE__ GCC macro. MSVC does not define this macro. For
MSVC, control this behavior with _DEBUG instead. It doesn't have
precisely the same meaning, but in most configurations, it will do the
right thing.
Fixes PR17752
Reviewed by: MaskRay
Differential Revision: https://reviews.llvm.org/D71817
The file was modifiedllvm/lib/Support/CommandLine.cpp
Commit e028cee66a23da568ba62c6323c6a29f4c7f63ae by dblaikie
MC: Ensure test only reads from the Inputs directory
The file was modifiedllvm/test/MC/X86/align-branch-64-2a.s
The file was addedllvm/test/MC/X86/Inputs/align-branch-64-2.s
The file was modifiedllvm/test/MC/X86/align-branch-64-1b.s
The file was modifiedllvm/test/MC/X86/align-branch-64-1a.s
The file was addedllvm/test/MC/X86/Inputs/align-branch-64-1.s
The file was modifiedllvm/test/MC/X86/align-branch-64-1d.s
The file was modifiedllvm/test/MC/X86/align-branch-64-2b.s
The file was modifiedllvm/test/MC/X86/align-branch-64-1c.s
The file was modifiedllvm/test/MC/X86/align-branch-64-2c.s
Commit d35bcbbb5dab0e29b21a586505f5b274377cc41b by craig.topper
[Sema][X86] Consider target attribute into the checks in
validateOutputSize and validateInputSize.
The validateOutputSize and validateInputSize need to check whether AVX
or AVX512 are enabled. But this can be affected by the target attribute
so we need to factor that in.
This patch moves some of the code from CodeGen to create an appropriate
feature map that we can pass to the function.
Differential Revision: https://reviews.llvm.org/D68627
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/Sema/SemaStmtAsm.cpp
The file was modifiedclang/test/CodeGen/x86_32-inline-asm.c
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
Commit 7a9ebe95125ea87a494d0c18f44f10bd70e12188 by eugenis
[msan] Intercept qsort, qsort_r.
Summary: This fixes qsort-related false positives with glibc-2.27. I'm
not entirely sure why they did not show up with the earlier versions;
the code seems similar enough.
Reviewers: vitalybuka
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D71740
The file was addedcompiler-rt/test/msan/qsort.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Commit caa48a6b88aeed8ae80e6ddb1eae8c6a7cbe260b by eugenis
[msan] Check qsort input.
Summary: Qsort interceptor suppresses all checks by unpoisoning the data
in the wrapper of a comparator function, and then unpoisoning the output
array as well.
This change adds an explicit run of the comparator on all elements of
the input array to catch any sanitizer bugs.
Reviewers: vitalybuka
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D71780
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was modifiedcompiler-rt/test/msan/qsort.cpp
Commit 0d3f782e413c1b13d407f67afbb6330b1091fef0 by ulrich.weigand
[FPEnv][X86] More strict int <-> FP conversion fixes
Fix several several additional problems with the int <-> FP conversion
logic both in common code and in the X86 target. In particular:
- The STRICT_FP_TO_UINT expansion emits a floating-point compare. This
compare can raise exceptions and therefore needs to be a strict
compare.
I've made it signaling (even though quiet would also be correct) as
signaling is the more usual default for an LT. This code exists both
in common code and in the X86 target.
- The STRICT_UINT_TO_FP expansion algorithm was incorrect for strict
mode:
it emitted two STRICT_SINT_TO_FP nodes and then used a select to choose
one
of the results. This can cause spurious exceptions by the
STRICT_SINT_TO_FP
that ends up not chosen. I've fixed the algorithm to use only a single
STRICT_SINT_TO_FP instead.
- The !isStrictFPEnabled logic in DoInstructionSelection would sometimes
do
the wrong thing because it calls getOperationAction using the result
VT.
But for some opcodes, incuding [SU]INT_TO_FP, getOperationAction needs
to
be called using the operand VT.
- Remove some (obsolete) code in X86DAGToDAGISel::Select that would
mutate
STRICT_FP_TO_[SU]INT to non-strict versions unnecessarily.
Reviewed by: craig.topper
Differential Revision: https://reviews.llvm.org/D71840
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-conv-10.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-512.ll
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-128.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
The file was modifiedllvm/test/CodeGen/X86/fp-intrinsics-flags.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-conv-12.ll
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/fp80-strict-scalar.ll
The file was modifiedllvm/test/CodeGen/X86/fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-256.ll
The file was modifiedllvm/test/CodeGen/X86/fp-strict-scalar-fptoint.ll
Commit 4b64e034612017fcc97b64d6031319cf18dbbb88 by maskray
ASTContext: fix declaration of ParsedTargetAttr [-Wmismatched-tags]
after D68627
The file was modifiedclang/include/clang/AST/ASTContext.h
Commit 5762648c46be9b84108958941994e10d0867bafd by flo
[Docs] Fix sphinx build errors.
The file was modifiedllvm/docs/TableGen/LangIntro.rst
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedllvm/docs/LangRef.rst
Commit 187f66bcac668dd2ea25244ed7d7711551275f9d by apl
[lldb/CMake] Always set a value for find_package when finding optional
dependencies
Because this is a macro, previous values of `find_package` persist
between calls. This means that if it is set to TRUE on any run, all
subsequent runs will have find_package set to TRUE regardles of whether
or not they should be.
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
Commit e5a743c4f6e3639ba3bee778c894a996ef96391a by sivachandra
Add implementations of POSIX mmap and munmap functions.
Summary: A set of of linux x86_64 internal syscall helpers have also
been added.
This change does not try to be perfect with respect to OS and machine
abstractions. A TODO note has been added at places where such
abstractions would help and make the arrangement scalable and cleaner.
Addressing the TODOs and building such abstractions is not in the scope
of this change. It is hoped that follow up changes cleaning up the
problem areas and addressing the TODOs will better illustrate the need
for the changes.
This change also does not try to imitate mmap and munmap implementations
of other libcs. The idea here is to put in the bare minimum required to
obtain a working mmap and munmap, and then add the rest of the
functionality on an as needed basis.
Reviewers: abrachet, phosek, stanshebs, theraven
Subscribers: mgorny, MaskRay, jfb, libc-commits
Tags: #libc-project
Differential Revision: https://reviews.llvm.org/D71634
The file was addedlibc/src/sys/mman/mmap_test.cpp
The file was addedlibc/src/unistd/syscall.h.def
The file was addedlibc/config/CMakeLists.txt
The file was addedlibc/config/linux/syscall_numbers.h.inc
The file was addedlibc/config/linux/x86_64/syscall_test.cpp
The file was addedlibc/src/sys/mman/CMakeLists.txt
The file was addedlibc/src/sys/mman/mmap.cpp
The file was modifiedlibc/include/CMakeLists.txt
The file was addedlibc/config/linux/x86_64/CMakeLists.txt
The file was modifiedlibc/spec/linux.td
The file was addedlibc/config/linux/x86_64/syscall.h.inc
The file was modifiedlibc/cmake/modules/LLVMLibCRules.cmake
The file was addedlibc/include/sys/mman.h.def
The file was modifiedlibc/src/CMakeLists.txt
The file was modifiedlibc/spec/stdc.td
The file was addedlibc/src/sys/mman/munmap.cpp
The file was addedlibc/config/linux/platfrom_defs.h.inc
The file was removedlibc/src/__support/linux/entrypoint_macro.h.inc
The file was addedlibc/src/sys/mman/mmap.h
The file was modifiedlibc/config/linux/api.td
The file was addedlibc/config/linux/CMakeLists.txt
The file was modifiedlibc/lib/CMakeLists.txt
The file was modifiedlibc/CMakeLists.txt
The file was addedlibc/include/__posix-types.h
The file was addedlibc/include/sys/syscall.h.def
The file was modifiedlibc/src/__support/CMakeLists.txt
The file was modifiedlibc/spec/spec.td
The file was modifiedlibc/src/__support/common.h.def
The file was addedlibc/src/unistd/CMakeLists.txt
The file was modifiedlibc/spec/posix.td
The file was addedlibc/src/sys/CMakeLists.txt
The file was addedlibc/src/sys/mman/munmap.h
Commit 9a77c2095439ba41bd8f6f35931b94075b2fd45b by spatel
[InstCombine] add tests for not(select ...); NFC
The file was modifiedllvm/test/Transforms/InstCombine/not.ll