Changes

Summary

  1. [JITLink] Allow moving a Symbol to a Block in a different Section (details)
  2. [mli][linalg] Reuse getValueOrCreateConstantIndexOp method (NFC). (details)
  3. [IPO] Use make_early_inc_range (NFC) (details)
  4. [flang][OpenMP] Add semantic check for threadprivate directive (details)
  5. [gn build] Use lib_dirs instead of qualified path in libs for diaguids.lib (details)
  6. Revert "clang-tidy: introduce readability-containter-data-pointer check" (details)
  7. [NFC] Add trailing comma on TYPED_TEST_SUITE (details)
  8. [StackColoring] Pre-commit of test case showing a debug invariance bug (details)
  9. [StackColoring] Fix a debug invariance problem (details)
  10. Revert "[Dexter] Improve performance by evaluating expressions only when needed" (details)
  11. Revert "Revert "clang-tidy: introduce readability-containter-data-pointer check"" (details)
  12. [gn build] Port 49992c04148e (details)
  13. Put code that avoids heapifying local blocks behind a flag (details)
  14. [Sanitizers] intercept fparseln on freebsd (details)
Commit 64c8e7489b01d1fb92eded6feb4913847b210cbd by blangmuir
[JITLink] Allow moving a Symbol to a Block in a different Section

When moving a Symbol between Blocks that are in different Sections,
update the symbol tables for each Section. Otherwise
symbol.getBlock().getSection() will not match the contents of
Section::symbols(), which asserts during linking.

Differential Revision: https://reviews.llvm.org/D109724
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was modifiedllvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
Commit 609187365137be708509dd8d92acc5b9aef76695 by gysit
[mli][linalg] Reuse getValueOrCreateConstantIndexOp method (NFC).

Use getValueOrCreateConstantIndexOp introduced by https://reviews.llvm.org/D109601 in multiple places in LinalgOps.cpp.

Reviewed By: nicolasvasilache, springerm

Differential Revision: https://reviews.llvm.org/D109756
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Commit d9e46beace3120fbc4810dda5c3ed88f93e862a4 by kazu
[IPO] Use make_early_inc_range (NFC)
The file was modifiedllvm/lib/Transforms/IPO/FunctionSpecialization.cpp
The file was modifiedllvm/lib/Transforms/IPO/ConstantMerge.cpp
The file was modifiedllvm/lib/Transforms/IPO/StripDeadPrototypes.cpp
The file was modifiedllvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
The file was modifiedllvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
Commit 268521218434bcd3b859e88a0c50369de9d96cf7 by qiaopeixin
[flang][OpenMP] Add semantic check for threadprivate directive

This patch implements the following check for THREADPRIVATE construct:
```
A variable that is part of another variable (as an array, structure
element or type parameter inquiry) cannot appear in a threadprivate
directive.
```

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D109685
The file was modifiedflang/test/Semantics/omp-parallel-shared03.f90
The file was modifiedflang/lib/Semantics/check-omp-structure.h
The file was modifiedflang/test/Semantics/omp-parallel-shared04.f90
The file was modifiedflang/test/Semantics/omp-allocate03.f90
The file was modifiedflang/test/Semantics/omp-parallel-shared01.f90
The file was addedflang/test/Semantics/omp-threadprivate01.f90
The file was modifiedflang/test/Semantics/omp-parallel-private01.f90
The file was modifiedflang/test/Semantics/omp-parallel-private04.f90
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
The file was modifiedflang/test/Semantics/omp-allocate07.f90
The file was modifiedflang/test/Semantics/omp-parallel-shared02.f90
The file was modifiedflang/test/Semantics/omp-parallel-private03.f90
The file was modifiedflang/test/Semantics/omp-parallel-private02.f90
Commit 53727b48fde1c275476e7531a0731bb1d9842dc5 by thakis
[gn build] Use lib_dirs instead of qualified path in libs for diaguids.lib

Follow-up to D109708: Using lib_dirs means this will work with ancient gn binaries.

Change the toolchain definitions to make lib_dirs have the right effect, and
pull out lib_switch of each of the tools while here.

This means we now do pass /LIBPATH: to link.exe, but since we invoke it directly
and not through clang-cl, this doesn't actually require D109624. And since this
is built in to GN, we don't need a config to push the flag to dependents.

This is arguably a bit more idiomatic, and it doesn't require folks to update
their GN binaries. No effective behavior change.

Differential Revision: https://reviews.llvm.org/D109763
The file was modifiedllvm/utils/gn/secondary/llvm/lib/DebugInfo/PDB/BUILD.gn
The file was modifiedllvm/utils/gn/build/toolchain/BUILD.gn
Commit 76dc8ac36d07cebe8cfe8fe757323562bb36df94 by thakis
Revert "clang-tidy: introduce readability-containter-data-pointer check"

This reverts commit d0d9e6f0849b2e76e980e2edf365302f47f4e35f.
Breaks tests, see e.g. https://lab.llvm.org/buildbot/#/builders/188/builds/3326
The file was modifiedclang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was removedclang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.h
The file was modifiedclang-tools-extra/clang-tidy/readability/CMakeLists.txt
The file was removedclang-tools-extra/docs/clang-tidy/checks/readability-data-pointer.rst
The file was removedclang-tools-extra/test/clang-tidy/checkers/readability-container-data-pointer.cpp
The file was removedclang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
Commit d79bb30dbb08910816859ccaae1ca5d04fbd9501 by arames
[NFC] Add trailing comma on TYPED_TEST_SUITE

This avoids a -pedantic warning:
warning: ISO C++11 requires at least one argument for the "..." in a variadic macro

See also https://github.com/google/googletest/issues/2271
The file was modifiedllvm/unittests/Support/HashBuilderTest.cpp
Commit 1de516d7ae7e568a0ae28b79d2a91521bff79689 by bjorn.a.pettersson
[StackColoring] Pre-commit of test case showing a debug invariance bug

Having DBG_VALUE instructions referencing a stack slot while being outside
of the LIFETIME_START/LIFETIME_END markers for that stack slot is perhaps
not always ideal (from a debugging perspective), but it might happen during
codegen that we end up with such situations (e.g. positioning of the
DBG_VALUE instruction for a SDDbgOperand::FRAMEIX at ISel is a bit sloppy
in that context).

This patch adds a test case showing that StackColoring currently isn't
debug invariant, and that the position of DBG_VALUE instructions referencing
the stack slots might impact the decision making regarding stack slot reuse.

Differential Revision: https://reviews.llvm.org/D109757
The file was addedllvm/test/CodeGen/X86/StackColoring-dbg-invariance.mir
Commit cd2bff1ef10563bc710ca7a97aeb20297fc99597 by bjorn.a.pettersson
[StackColoring] Fix a debug invariance problem

Ignore dbg instructions when collecting stack slot markers. This is
to make sure the coloring is invariant regarding presence of dbg
instructions (even in cases when the dbg instructions might be
badly placed in the input).

Differential Revision: https://reviews.llvm.org/D109758
The file was modifiedllvm/lib/CodeGen/StackColoring.cpp
The file was modifiedllvm/test/CodeGen/X86/StackColoring-dbg-invariance.mir
Commit 1f44fa3ac17ceacc753019092bc50436c77ddcfa by stephen.tozer
Revert "[Dexter] Improve performance by evaluating expressions only when needed"

Reverted due to build failure on greendragon lldb build.

This reverts commit 9bbc0c1ffb47f9cf4c9d8e9a0e8100002fe5aafb.
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectProgramState.py
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectWatchBase.py
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerBase.py
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.py
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/command/CommandBase.py
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/debugger/dbgeng/dbgeng.py
Commit 49992c04148e5327bef9bd2dff53a0d46004b4b4 by Saleem Abdulrasool
Revert "Revert "clang-tidy: introduce readability-containter-data-pointer check""

This reverts commit 76dc8ac36d07cebe8cfe8fe757323562bb36df94.

Restore the change.  The test had an incorrect negative from testing.
The test is expected to trigger a failure as mentioned in the review
comments.  This corrects the test and should resolve the failure.
The file was addedclang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
The file was addedclang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.h
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-container-data-pointer.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/CMakeLists.txt
The file was modifiedclang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
The file was addedclang-tools-extra/docs/clang-tidy/checks/readability-data-pointer.rst
Commit 5a7e1d52a9680476db636c448027b7ff46035bbb by llvmgnsyncbot
[gn build] Port 49992c04148e
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Commit 66c6bbe7ff56441706d6cbb349fde9a02e248c9a by waltl
Put code that avoids heapifying local blocks behind a flag

This change puts the functionality in commit
c5792aa90fa45a1842f190c146f19e2c71ea6fbd behind a flag that is off by
default.  The original commit is not in Apple's Clang fork (and blocks
are an Apple extension in the first place), and there is one known
issue that needs to be addressed before it can be enabled safely.

Differential Revision: https://reviews.llvm.org/D108243
The file was modifiedclang/test/CodeGenObjC/arc-blocks.m
The file was modifiedclang/test/CodeGenObjCXX/arc-blocks.mm
The file was modifiedclang/test/PCH/arc-blocks.mm
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/CodeGenObjC/arc-block-copy-escape.m
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
Commit fa7c01e5784b7564a94029ca60dd3f9a8ca825b6 by David CARLIER
[Sanitizers] intercept fparseln on freebsd

Reviewed By: vitalybuka, emaste

Differential Revision: https://reviews.llvm.org/D109753
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was addedcompiler-rt/test/sanitizer_common/TestCases/FreeBSD/fparseln.cpp