Changes

Summary

  1. Add SKIPPED to known result names. (details)
Commit 0cee063195ed0d74e801629f6a229b1162b45b91 by nigelp
Add SKIPPED to known result names.

A new test result on the buildbot workers, "SKIPPED", was introduced by D102754.

This was not specifically handled in LitTestCommand.py, so some build results
displayed, "Unexpected test result output SKIPPED", without the number of tests
producing that result.

This patch is to handle "SKIPPED" and display the number of tests producing that
result, as "X skipped unit tests".

The patch will not turn a red build into a green one, just display the relevant
number of tests.

I don't have a local copy of the buildbot infrastructure to test this for side
effects, but @gkistanova staged the change 2 months ago (June 2021), and it is
displaying the results as intended.

The first build of interest, showing "Unexpected test result output SKIPPED",
was:
https://lab.llvm.org/staging/#/builders/145/builds/996

A recent build showing the intended "X skipped unit tests" is:
https://lab.llvm.org/staging/#/builders/145/builds/2517

Differential Revision: https://reviews.llvm.org/D104518
The file was modifiedzorg/buildbot/commands/LitTestCommand.py (diff)

Summary

  1. [ARM] Teach DemandedVectorElts about VMOVN lanes (details)
  2. Recommit "[LAA] Support pointer phis in loop by analyzing each incoming pointer." (details)
  3. [runtimes] Check whether -nostdinc++ and -nostdlib++ are supported (details)
  4. [mlir][linalg] Fold ExtractSliceOps during tiling. (details)
  5. [OpenCL] Enables .rgba vector extension in C++ for OpenCL 2021 (details)
  6. [llvm cmake] replace tabs with spaces in config-ix.cmake (details)
  7. [Windows build] Use "DIA SDK" in sysroot (details)
  8. [Dexter] Improve performance by evaluating expressions only when needed (details)
  9. Cleanup identifier parsing; NFC (details)
  10. [lldb/test] Start pexpect tests with a custom HOME (details)
  11. AMDGPU: Avoid relying on an undef value in test (details)
  12. Remove incorrect comment in getSingleUndroppableUse. NFC (details)
  13. [PowerPC] Exploit Prefixed Load/Stores using the refactored Load/Store Implementation (details)
  14. [WebAssembly] Allow import and export of TLS symbols between DSOs (details)
  15. [clangd] Ignore ObjC `id` and `instancetype` in FindTarget (details)
  16. Fix a unittest file after D108695 when Z3 is enabled (details)
  17. Fix test failure created by ef8c9135efcb (details)
  18. [IR] Reduce max supported integer from 2^24-1 to 2^23. (details)
  19. clang-tidy: introduce readability-containter-data-pointer check (details)
  20. [JITLink] Allow moving a Symbol to a Block in a different Section (details)
  21. [mli][linalg] Reuse getValueOrCreateConstantIndexOp method (NFC). (details)
  22. [IPO] Use make_early_inc_range (NFC) (details)
  23. [flang][OpenMP] Add semantic check for threadprivate directive (details)
  24. [gn build] Use lib_dirs instead of qualified path in libs for diaguids.lib (details)
  25. Revert "clang-tidy: introduce readability-containter-data-pointer check" (details)
  26. [NFC] Add trailing comma on TYPED_TEST_SUITE (details)
  27. [StackColoring] Pre-commit of test case showing a debug invariance bug (details)
  28. [StackColoring] Fix a debug invariance problem (details)
  29. Revert "[Dexter] Improve performance by evaluating expressions only when needed" (details)
  30. Revert "Revert "clang-tidy: introduce readability-containter-data-pointer check"" (details)
  31. [gn build] Port 49992c04148e (details)
  32. Put code that avoids heapifying local blocks behind a flag (details)
  33. [Sanitizers] intercept fparseln on freebsd (details)
Commit 5a6dfbb8cd26376120e16ceae650f6c9b7a00950 by david.green
[ARM] Teach DemandedVectorElts about VMOVN lanes

The class of instructions that write to narrow top/bottom lanes only
demand the even or odd elements of the input lanes. Which means that a
pair of VMOVNT; VMOVNB demands no lanes from the original input. This
teaches that to instcombine from the target hooks available through
ARMTTIImpl.

Differential Revision: https://reviews.llvm.org/D109325
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/test/Transforms/InstCombine/ARM/mve-narrow.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit e248d69036dad6f65584dd8faac4e2d5a3816e12 by flo
Recommit "[LAA] Support pointer phis in loop by analyzing each incoming pointer."

SCEV does not look through non-header PHIs inside the loop. Such phis
can be analyzed by adding separate accesses for each incoming pointer
value.

This results in 2 more loops vectorized in SPEC2000/186.crafty and
avoids regressions when sinking instructions before vectorizing.

Fixes PR50296, PR50288.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D102266
The file was modifiedllvm/test/Transforms/LoopVectorize/vectorize-pointer-phis.ll
The file was modifiedllvm/test/Transforms/LoopDistribute/pointer-phi-in-loop.ll
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/pointer-phis.ll
The file was modifiedllvm/include/llvm/Analysis/LoopAccessAnalysis.h
Commit 125e8ef10ba468d41b27bf9c7569c1a0520d1ab9 by martin
[runtimes] Check whether -nostdinc++ and -nostdlib++ are supported

Don't blindly assume they're supported - GCC doesn't support -nostdlib++.

The llvm-project/runtimes directory is supposed to allow building the
runtimes standalone from a newly built Clang, and thus should allow
building with other compilers too.

Differential Revision: https://reviews.llvm.org/D109719
The file was modifiedruntimes/CMakeLists.txt
Commit 44a889778ceeb6bcb11702f5c940306905a3821e by gysit
[mlir][linalg] Fold ExtractSliceOps during tiling.

Add the makeComposedExtractSliceOp method that creates an ExtractSliceOp and folds chains of ExtractSliceOps by computing the sum of their offsets and by multiplying their strides.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D109601
The file was modifiedmlir/include/mlir/Dialect/StandardOps/Utils/Utils.h
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/Utils/Utils.cpp
The file was modifiedmlir/test/Dialect/Linalg/tile-tensors.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
Commit 09dc454b00b8ed0a19f766f760fa19e86a0b9059 by Justas.Janickas
[OpenCL] Enables .rgba vector extension in C++ for OpenCL 2021

`.rgba` vector extension setting in C++ for OpenCL 2021 is now
performed analogously to OpenCL C 3.0. Test case added.

Differential Revision: https://reviews.llvm.org/D109370
The file was modifiedclang/lib/Sema/SemaExprMember.cpp
The file was modifiedclang/test/SemaOpenCL/ext_vectors.cl
Commit f78f613bb74ca837be36efcc72105c3c2d54b4f3 by thakis
[llvm cmake] replace tabs with spaces in config-ix.cmake
The file was modifiedllvm/cmake/config-ix.cmake
Commit 8cfab5de13a8ec3a2ffccb1b94b0165512a33552 by thakis
[Windows build] Use "DIA SDK" in sysroot

This updates llvm/utils/sysroot.py to include the "DIA SDK" folder in the
sysroot.

It also updates the build to look for the DIA SDK there if a sysroot is set.

This requires moving LLVM_WINSYSROOT to config-ix.cmake.

For the GN build, I chose to pass a qualified path to diaguids in libs instead
of pushing a config with a `/libpath:` flag. The former requires a GN with
https://gn-review.googlesource.com/c/gn/+/12200, the latter requires D109624.
The former is more like the cmake build, arguably a bit simpler, and it's
easier to check for the wrong GN revision and easier to update GN.

Differential Revision: https://reviews.llvm.org/D109708
The file was modifiedllvm/utils/sysroot.py
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedllvm/utils/gn/secondary/llvm/lib/DebugInfo/PDB/enable_dia.gni
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
The file was modifiedllvm/cmake/config-ix.cmake
The file was modifiedllvm/utils/gn/secondary/llvm/lib/DebugInfo/PDB/BUILD.gn
Commit 9bbc0c1ffb47f9cf4c9d8e9a0e8100002fe5aafb by stephen.tozer
[Dexter] Improve performance by evaluating expressions only when needed

Currently, Dexter's model for fetching watch values is to build a list of
expressions to watch before running the debugger, then evaluating all of them at
each breakpoint, then finally looking up the values of these expressions at each
line they were expected on. When using dexter on a large project while watching
many different expressions, this is very slow, as Dexter will make a massive
number of calls made to the debugger's API, the vast majority of which are not
being used for anything. This patch fixes this issue by having Dexter only
evaluate expressions at a breakpoint when it will be used by a Dexter command.

Reviewed By: jmorse

Differential Revision: https://reviews.llvm.org/D107070
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/commands/DexExpectWatchBase.py
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/command/CommandBase.py
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/command/commands/DexExpectProgramState.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/dbgeng/dbgeng.py
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerBase.py
Commit 601102d282d5e9a1429fea52ee17303aec8a7c10 by aaron
Cleanup identifier parsing; NFC

Rename methods to clearly signal when they only deal with ASCII,
simplify the parsing of identifier, and use start/continue instead of
head/body for consistency with Unicode terminology.
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
The file was modifiedclang/include/clang/Lex/Lexer.h
The file was modifiedclang/lib/Frontend/Rewrite/FrontendActions.cpp
The file was modifiedclang/lib/Edit/EditedSource.cpp
The file was modifiedclang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
The file was modifiedclang/lib/Sema/SemaAvailability.cpp
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp
The file was modifiedclang/lib/Lex/ModuleMap.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
The file was modifiedclang/lib/Lex/Lexer.cpp
The file was modifiedclang/lib/Tooling/Transformer/Parsing.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/lib/Lex/DependencyDirectivesSourceMinimizer.cpp
The file was modifiedclang-tools-extra/clangd/SourceCode.cpp
The file was modifiedclang/lib/ARCMigrate/TransUnbridgedCasts.cpp
The file was modifiedclang-tools-extra/clang-include-fixer/IncludeFixer.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/include/clang/Basic/CharInfo.h
The file was modifiedclang/lib/ARCMigrate/ObjCMT.cpp
The file was modifiedclang-tools-extra/clangd/refactor/Rename.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/Frontend/LayoutOverrideSource.cpp
The file was modifiedclang/unittests/Basic/CharInfoTest.cpp
The file was modifiedclang/lib/Basic/Module.cpp
Commit f22c63b41bda01163a88b0bb9887a9324810732f by pavel
[lldb/test] Start pexpect tests with a custom HOME

This addresses the flakyness of (at least) TestMultilineNavigation,
which was failing when the editline history of a concurrently executing
test made leaked in. Using a test-specific home directory ensures the
tests are independent.
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbpexpect.py
Commit 2b4745fe057f9d84e7c73cf5b990c7bdcde8847f by Matthew.Arsenault
AMDGPU: Avoid relying on an undef value in test

This was really becoming a direct call during the DAG, so it wasn't as
true to the test purpose.
The file was modifiedllvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
Commit a1ae56d6ad9ae823241b384178910576590c223b by anna
Remove incorrect comment in getSingleUndroppableUse. NFC

We traverse the entire use list to find the undroppable use.
The file was modifiedllvm/include/llvm/IR/Value.h
Commit 5041a485b948e55e54338779f2248c45402b0ae7 by amy.kwan1
[PowerPC] Exploit Prefixed Load/Stores using the refactored Load/Store Implementation

This patch exploits the prefixed load and store instructions utilizing the
refactored load/store implementation introduced in D93370.

Prefixed load and store instructions are emitted whenever we are loading or
storing a value with an offset that fits into a 34-bit signed immediate.
Patterns for the prefixed load and stores are added in this patch, as well as
the implementation that detects when we are loading and storing a value with an
offset that fits in 34-bits.

Differential Revision: https://reviews.llvm.org/D96075
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/test/CodeGen/PowerPC/scalar-double-ldst.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vec_insert_elt.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/pcrel_ldst.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar-i8-ldst.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar-i16-ldst.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/paired-vector-intrinsics.ll
The file was modifiedllvm/test/CodeGen/PowerPC/mma-intrinsics.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/atomics-i64-ldst.ll
The file was modifiedllvm/test/CodeGen/PowerPC/atomics-i16-ldst.ll
The file was modifiedllvm/test/CodeGen/PowerPC/atomics-i8-ldst.ll
The file was modifiedllvm/test/CodeGen/PowerPC/vector-ldst.ll
The file was addedllvm/test/CodeGen/PowerPC/p10-fi-elim.ll
The file was modifiedllvm/test/CodeGen/PowerPC/atomics-i32-ldst.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/test/CodeGen/PowerPC/aix-vec_insert_elt.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar-float-ldst.ll
The file was modifiedllvm/test/CodeGen/PowerPC/int128_ldst.ll
The file was modifiedllvm/test/CodeGen/PowerPC/scalar-i32-ldst.ll
The file was modifiedllvm/test/CodeGen/PowerPC/mma-acc-memops.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128_ldst.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/test/CodeGen/PowerPC/scalar-i64-ldst.ll
Commit ef8c9135efcb3847fc0e5bbdb55eae18751090df by sbc
[WebAssembly] Allow import and export of TLS symbols between DSOs

We previously had a limitation that TLS variables could not
be exported (and therefore could also not be imported).  This
change removed that limitation.

Differential Revision: https://reviews.llvm.org/D108877
The file was modifiedlld/wasm/Symbols.cpp
The file was modifiedllvm/lib/Object/WasmObjectFile.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/tls-general-dynamic.ll
The file was modifiedllvm/include/llvm/BinaryFormat/Wasm.h
The file was modifiedllvm/lib/ObjectYAML/WasmYAML.cpp
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modifiedllvm/test/MC/WebAssembly/tls.s
The file was modifiedllvm/include/llvm/MC/MCExpr.h
The file was modifiedlld/test/wasm/shared64.s
The file was modifiedlld/test/wasm/pie.ll
The file was modifiedlld/test/wasm/shared-needed.s
The file was modifiedlld/wasm/Symbols.h
The file was modifiedllvm/test/CodeGen/WebAssembly/tls-local-exec.ll
The file was modifiedlld/wasm/Relocations.cpp
The file was modifiedllvm/lib/MC/MCWasmStreamer.cpp
The file was modifiedlld/wasm/SyntheticSections.h
The file was modifiedlld/wasm/Writer.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
The file was modifiedllvm/tools/obj2yaml/wasm2yaml.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/WasmYAML.h
The file was removedlld/test/wasm/tls-import.s
The file was modifiedlld/test/wasm/tls-export.s
The file was modifiedlld/test/wasm/shared.s
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
The file was modifiedllvm/lib/MC/MCExpr.cpp
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
The file was modifiedlld/test/wasm/tls-non-shared-memory.s
The file was modifiedlld/wasm/SyntheticSections.cpp
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
Commit 8401713b3ef1456a603874d96a99b2d5953df49c by davg
[clangd] Ignore ObjC `id` and `instancetype` in FindTarget

Even though they're implemented via typedefs, we typically
want to treat them like keywords.

We could add hover information / xrefs, but it's very unlikely
to provide any value.

Differential Revision: https://reviews.llvm.org/D108556
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
Commit fb4d590a622f4031900516360c07ee6ace01c5e6 by kristof.umann
Fix a unittest file after D108695 when Z3 is enabled
The file was modifiedclang/unittests/StaticAnalyzer/FalsePositiveRefutationBRVisitorTest.cpp
The file was modifiedclang/unittests/StaticAnalyzer/CheckerRegistration.h
Commit 6ee55f9ab57435ae72a070a9eff76f281082208f by sbc
Fix test failure created by ef8c9135efcb

Followup to https://reviews.llvm.org/D108877 to fix test
failure.
The file was modifiedlld/test/wasm/shared64.s
The file was modifiedlld/test/wasm/shared.s
The file was modifiedllvm/lib/ObjectYAML/WasmYAML.cpp
The file was modifiedlld/test/wasm/shared-needed.s
Commit 2fd180bbb9a7bb8604a5aca31f1ca9dc5358a433 by craig.topper
[IR] Reduce max supported integer from 2^24-1 to 2^23.

SelectionDAG will promote illegal types up to a power of 2 before
splitting down to a legal type. This will create an IntegerType
with a bit width that must be <= MAX_INT_BITS. This places an
effective upper limit on any type of 2^23 so that we don't try
create a 2^24 type.

I considered putting a fatal error somewhere in the path from
TargetLowering::getTypeConversion down to IntegerType::get, but
limiting the type in IR seemed better.

This breaks backwards compatibility with IR that is using a really
large type. I suspect such IR is going to be very rare due to the
the compile time costs such a type likely incurs.

Prevents the ICE in PR51829.

Reviewed By: efriedma, aaron.ballman

Differential Revision: https://reviews.llvm.org/D109721
The file was modifiedclang/test/CodeGen/ext-int.c
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/test/Assembler/max-inttype.ll
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/test/SemaCXX/ext-int.cpp
The file was modifiedllvm/docs/ReleaseNotes.rst
The file was modifiedllvm/include/llvm/IR/DerivedTypes.h
The file was modifiedllvm/test/Assembler/invalid-inttype.ll
The file was modifiedclang/test/CodeGenCXX/ext-int.cpp
Commit d0d9e6f0849b2e76e980e2edf365302f47f4e35f by Saleem Abdulrasool
clang-tidy: introduce readability-containter-data-pointer check

This introduces a new check, readability-containter-data-pointer.  This
check is meant to catch the cases where the user may be trying to
materialize the data pointer by taking the address of the 0-th member of
a container.  With C++11 or newer, the `data` member should be used for
this.  This provides the following benefits:

- `.data()` is easier to read than `&[0]`
- it avoids an unnecessary re-materialization of the pointer
  * this doesn't matter in the case of optimized code, but in the case
    of unoptimized code, this will be visible
- it avoids a potential invalid memory de-reference caused by the
  indexing when the container is empty (in debug mode, clang will
  normally optimize away the re-materialization in optimized builds).

The small potential behavioural change raises the question of where the
check should belong.  A reasoning of defense in depth applies here, and
this does an unchecked conversion, with the assumption that users can
use the static analyzer to catch cases where we can statically identify
an invalid memory de-reference.  For the cases where the static analysis
is unable to prove the size of the container, UBSan can be used to track
the invalid access.

Special thanks to Aaron Ballmann for the discussion on whether this
check would be useful and where to place it.

This also partially resolves PR26817!

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D108893
The file was modifiedclang-tools-extra/clang-tidy/readability/CMakeLists.txt
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/ReadabilityTidyModule.cpp
The file was addedclang-tools-extra/docs/clang-tidy/checks/readability-data-pointer.rst
The file was addedclang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
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/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
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/StripDeadPrototypes.cpp
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/GlobalOpt.cpp
The file was modifiedllvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
The file was modifiedllvm/lib/Transforms/IPO/DeadArgumentElimination.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-shared01.f90
The file was modifiedflang/test/Semantics/omp-parallel-shared02.f90
The file was modifiedflang/lib/Semantics/check-omp-structure.h
The file was modifiedflang/test/Semantics/omp-parallel-private04.f90
The file was modifiedflang/test/Semantics/omp-allocate07.f90
The file was modifiedflang/test/Semantics/omp-parallel-private01.f90
The file was modifiedflang/test/Semantics/omp-parallel-private03.f90
The file was addedflang/test/Semantics/omp-threadprivate01.f90
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
The file was modifiedflang/test/Semantics/omp-parallel-shared03.f90
The file was modifiedflang/test/Semantics/omp-parallel-private02.f90
The file was modifiedflang/test/Semantics/omp-parallel-shared04.f90
The file was modifiedflang/test/Semantics/omp-allocate03.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/clang-tidy/readability/CMakeLists.txt
The file was removedclang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was removedclang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.h
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
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/test/CodeGen/X86/StackColoring-dbg-invariance.mir
The file was modifiedllvm/lib/CodeGen/StackColoring.cpp
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/debugger/dbgeng/dbgeng.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/lldb/LLDB.py
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/DebuggerBase.py
The file was modifiedcross-project-tests/debuginfo-tests/dexter/dex/debugger/visualstudio/VisualStudio.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 modifiedclang-tools-extra/clang-tidy/readability/CMakeLists.txt
The file was addedclang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-container-data-pointer.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
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
The file was addedclang-tools-extra/clang-tidy/readability/ContainerDataPointerCheck.h
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/CodeGenObjCXX/arc-blocks.mm
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/CodeGenObjC/arc-block-copy-escape.m
The file was modifiedclang/test/CodeGenObjC/arc-blocks.m
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/test/PCH/arc-blocks.mm
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

Summary

  1. Add SKIPPED to known result names. (details)
Commit 0cee063195ed0d74e801629f6a229b1162b45b91 by nigelp
Add SKIPPED to known result names.

A new test result on the buildbot workers, "SKIPPED", was introduced by D102754.

This was not specifically handled in LitTestCommand.py, so some build results
displayed, "Unexpected test result output SKIPPED", without the number of tests
producing that result.

This patch is to handle "SKIPPED" and display the number of tests producing that
result, as "X skipped unit tests".

The patch will not turn a red build into a green one, just display the relevant
number of tests.

I don't have a local copy of the buildbot infrastructure to test this for side
effects, but @gkistanova staged the change 2 months ago (June 2021), and it is
displaying the results as intended.

The first build of interest, showing "Unexpected test result output SKIPPED",
was:
https://lab.llvm.org/staging/#/builders/145/builds/996

A recent build showing the intended "X skipped unit tests" is:
https://lab.llvm.org/staging/#/builders/145/builds/2517

Differential Revision: https://reviews.llvm.org/D104518
The file was modifiedzorg/buildbot/commands/LitTestCommand.py