SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-zorg.git)

Summary

  1. Update parallelization settings on Linaro builders (details)
Commit 29232eb395bc07838facffcdf4a0ce80a2f93c7a by maxim.kuvyrkov
Update parallelization settings on Linaro builders

Summary:
- Remove -DLLVM_PARALLEL_LINK_JOBS=2 from Linaro builders now running
      on server-class hardware (vs Nvidia TK1 boards with 2GB RAM previously)
    - Reduce testsuite parallelism on Linaro builders from 96 to 32.
      These builders share either a 64-core machine or a 32-core machine,
      so trying for 96-thread parallelism is excessive.

Reviewers: gkistanova, olista01, rovka, yroux

Reviewed By: gkistanova, yroux

Differential Revision: https://reviews.llvm.org/D79161
The file was modifiedbuildbot/osuosl/master/config/builders.py

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [lldb/Test] Reinstate FoundationSymtabTestCase (details)
  2. [MSSA][Doc] Fix typo (details)
  3. [flang] Fixes for problems with declaring procedure entities (details)
  4. AMDGPU: Update store node checks for atomics (details)
  5. [Support] Remove stale comment (details)
  6. [mlir][Vector] Add more vector.contract -> outerproduct lowerings and fix vector.contract type inference. (details)
  7. Process gep (select ptr1, ptr2) in SROA (details)
  8. [DebugInfo] Correct debuginfo for post-ra hoist and sink in Machine LICM (details)
  9. [lldb/Test] Cleanup TestSymbolTable.py (NFC) (details)
  10. [mlir] Hotfix - Drop spurious constexpr that breaks build (details)
  11. [mlir] Hotfix - Add inline to avoid multiple symbols on trivial functions (details)
  12. AMDGPU: Fix wrong null value for private address space (details)
  13. [Clang][Driver] Add Bounds and Thread to SupportsCoverage list (details)
  14. Let @skipUnlessAddressSanitizer imply @skipIfAsan (details)
  15. [MLICM] Remove unneeded option so the test doesn't fail. (details)
  16. [LoopUnroll] Simplify latch/header block handling (NFC). (details)
  17. [AMDGPU] Bail alloca vectorization if GEP not found (details)
  18. [NFC, StackSafety] Move FunctionInfo into :: namespace (details)
  19. [NFC, StackSafety] Remove unnecessary data (details)
  20. [DwarfExpression] Support entry values for indirect parameters (details)
  21. [sancov] Accommodate sancov and coverage report server for use under Windows (details)
  22. [clang][docs] Document additional bits of libc that -ffreestanding envs must provide (details)
  23. [debuginfo] Fix broken tests from MachineLICM salvaging fix (details)
  24. [analyzer][RetainCount] Tie diagnostics to osx.cocoa.RetainCount rather then RetainCountBase, for the most part (details)
  25. [analyzer][MallocChecker] Make NewDeleteLeaks depend on DynamicMemoryModeling rather than NewDelete (details)
  26. [NFC] Fix formatting for the 'aix-ld.c' test case. (details)
  27. Modify verifier checks to support musttail + preallocated (details)
  28. [llvm-objcopy][MachO] Add support for removing Swift symbols (details)
  29. [mlir][shape] Add `shape.get_extent`. (details)
  30. [lldb/Test] Modify TestSymbolTable.py for reproducers (details)
  31. [lldb][Core] Remove dead codepath in Mangled (details)
  32. Autogen a couple of test files to make a future diff easier to read (details)
  33. Split a test file so that most of it can be autogened (details)
  34. [lldb/Docs] Add the application speicfic lldbinit to the man page (details)
  35. Add self as code owner for SCEV and IndVars (details)
  36. [AArch64][GlobalISel] Do not modify predicate when optimizing G_ICMP (details)
  37. [NFC, StackSafety] Better names for internal stuff (details)
  38. [NFC, StackSafety] Remove duplicate code (details)
  39. [NFC, StackSafety] Add some missing includes (details)
  40. [StackSafety] Simplify SCEVRewriteVisitor (details)
  41. GlobalISel: Basic legalization for G_PTRMASK (details)
  42. GlobalISel: Add a clarification to G_STORE documentation (details)
  43. Temporarily Revert "[Clang][AArch64] Capturing proper pointer alignment for Neon vld1 intrinsicts" (details)
  44. [NFC][PowerPC] Modify the test case two-address-crash.mir (details)
  45. [compiler-rt][NFC]Fix Wdeprecated warnings for fsanitize-coverage (details)
  46. [mlir][Linalg] Avoid using scf.parallel for non-parallel loops in Linalg ops. (details)
  47. [mlir][linalg] Allow promotion to use callbacks for (details)
  48. [libc][NFC][Obvious] Convert the MPFR operations enum to an enum class. (details)
  49. [analyzer] Add support for IE of keyboard and mouse navigation in HTML report (details)
  50. [StackSafety] Use getSignedRange for offsets (details)
  51. [StackSafety] Use SCEV to find mem operation length (details)
  52. [X86][llvm-mc] Make the suffix matcher more accurate. (details)
  53. [X86] Use SIMD_EXC to remove some let statements in tablegen. NFCI (details)
  54. [X86] Lower sse_cmp_ss/sse2_cmp_sd intrinsics to X86ISD::FSETCC with vector types. (details)
  55. [PGO] Fix computation of function Hash (details)
  56. Automatically configure MLIR when flang is enabled (details)
  57. [OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 1 (details)
  58. Add test exposing a bug in SimpleLoopUnswitch. (details)
  59. [VE] Dynamic stack allocation (details)
  60. [X86] Add helper function to reduce some code duplication when shrinking a vector load to a vzext_load. (details)
  61. [NFC][Debugify] Format the CheckModuleDebugify output (details)
Commit ae903f0313e481520eff8a13044070aca4d0b75d by Jonas Devlieghere
[lldb/Test] Reinstate FoundationSymtabTestCase
The file was modifiedlldb/test/API/lang/objc/foundation/TestSymbolTable.py
Commit ef94f60ff7954521e6ff1be044a4a5d0599ce4ef by sdi1600105
[MSSA][Doc] Fix typo
The file was modifiedllvm/docs/MemorySSA.rst
Commit c4dbe59ae8253d73b63e5fcce0bc8bc44b4d07b5 by psteinfeld
[flang] Fixes for problems with declaring procedure entities

Summary:
We were not detecting declaring multiple interfaces to the same procedure.
Also, we were not handling the initialization of entitiies where the associated
Symbol had previously had errors.

I added the function `IsInterfaceSet()` to ProcEntityDetails to see if
the value of `interface_` had been previously set.  I then checked  this
function before calling set_interface() and emitted an error message if
the interface was already set.

Also, in situations where we were emitting error messages for symbols, I
set the Error flag on the Symbol.  Then when performing initialization
on the Symbol, I first check to see if the Symbol had an error.

Reviewers: tskeith, klausler, DavidTruby

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80453
The file was addedflang/test/Semantics/resolve91.f90
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was modifiedflang/include/flang/Semantics/symbol.h
Commit e09064e97f293491e59b30569033c8962129bdeb by Matthew.Arsenault
AMDGPU: Update store node checks for atomics

Prepare to switch to using StoreSDNode for atomic stores.
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Commit e99d50d8440efe8fa3515db4dae873ba39810dfd by smeenai
[Support] Remove stale comment

Clang has supported __builtin_assume_aligned since r217349 back in 2014,
so the comment is very out of date.
The file was modifiedllvm/include/llvm/Support/Compiler.h
Commit ba10daa820fa868816eed2b85e70197d354ebfe6 by ntv
[mlir][Vector] Add more vector.contract -> outerproduct lowerings and fix vector.contract type inference.

This revision expands the types of vector contractions that can be lowered to vector.outerproduct.
All 8 permutation cases are support.
The idiomatic manipulation of AffineMap written declaratively makes this straightforward.

In the process a bug with the vector.contract verifier was uncovered.
The vector shape verification part of the contract op is rewritten to use AffineMap composition.
One bug in the vector `ops.mlir` test is fixed and a new case not yet captured is added
to the vector`invalid.mlir` test.

Differential Revision: https://reviews.llvm.org/D80393
The file was modifiedmlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h
The file was modifiedmlir/test/Dialect/Vector/ops.mlir
The file was modifiedmlir/test/Dialect/Vector/vector-contract-transforms.mlir
The file was modifiedmlir/test/Dialect/Vector/invalid.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 42725aeed8cbabc15e351e2854ae549df2c5dcde by Stanislav.Mekhanoshin
Process gep (select ptr1, ptr2) in SROA

Differential Revision: https://reviews.llvm.org/D79217
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
The file was addedllvm/test/Transforms/SROA/select-gep.ll
Commit bd7ff5d94f0f591206188267a0e1529fa13d6c2e by chris.jackson
[DebugInfo] Correct debuginfo for post-ra hoist and sink in Machine LICM

Reviewers: vsk, aprantl

Differential Revision: https://reviews.llvm.org/D79868
The file was removedllvm/test/DebugInfo/MIR/X86/mlicm-hoist.mir
The file was modifiedllvm/lib/CodeGen/MachineLICM.cpp
The file was addedllvm/test/DebugInfo/MIR/X86/mlicm-sink.mir
The file was addedllvm/test/DebugInfo/MIR/X86/mlicm-hoist-pre-regalloc.mir
The file was addedllvm/test/DebugInfo/MIR/X86/mlicm-hoist-post-regalloc.mir
Commit e1d2cecec5197af7104e4c50e6aed4313d512cda by Jonas Devlieghere
[lldb/Test] Cleanup TestSymbolTable.py (NFC)
The file was modifiedlldb/test/API/lang/objc/foundation/TestSymbolTable.py
Commit e9003207591e4830bcce2de1631db901f8c4f2b8 by ntv
[mlir] Hotfix - Drop spurious constexpr that breaks build
The file was modifiedmlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h
Commit c990bdf7f8761f047fac85615377835edf015698 by ntv
[mlir] Hotfix - Add inline to avoid multiple symbols on trivial functions
The file was modifiedmlir/include/mlir/Dialect/Utils/StructuredOpsUtils.h
Commit bb10fa3a53f928e2e24ad3eaf8e57508fe9d4320 by Matthew.Arsenault
AMDGPU: Fix wrong null value for private address space

I'm guessing this was a holdover from when 0 was an invalid stack
pointer, but surprised nobody has discovered this before.

Also don't allow offset folding for -1 pointers, since it looks weird
to partially fold this.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/nullptr.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-private.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/addrspacecast.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
Commit 14de6e29b1315e9abe61d71e3e13f75bff80e1be by Vitaly Buka
[Clang][Driver] Add Bounds and Thread to SupportsCoverage list

Summary:
This permits combining -fsanitize-coverage with -fsanitize=bounds or
-fsanitize=thread. Note that, GCC already supports combining these.

Tested:
- Add Clang end-to-end test checking IR is generated for both combinations
of sanitizers.
- Several previously failing TSAN tests now pass.

Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=45831

Reviewers: vitalybuka

Reviewed By: vitalybuka

Subscribers: #sanitizers, dvyukov, nickdesaulniers, cfe-commits

Tags: #clang, #sanitizers

Differential Revision: https://reviews.llvm.org/D79628
The file was modifiedclang/test/Driver/fsanitize-coverage.c
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-init.cpp
The file was addedclang/test/CodeGen/sanitize-coverage.c
The file was modifiedclang/lib/Driver/SanitizerArgs.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_inline_bool_flag.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_inline8bit_counter.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_stack_depth.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/sanitizer_coverage_no_prune.cpp
Commit 09de6e0fbd0b6ca7fa8760ac3513be6bbbba5a81 by Adrian Prantl
Let @skipUnlessAddressSanitizer imply @skipIfAsan

Don't run tests that use address sanitizer inside an address-sanitized
LLDB. The tests don't support that configuration. Incidentally they
were skipped on green dragon for a different reason, so this hasn't
come up there before.
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
Commit 01fee8aa24a6070542cfa55b2c32036d1d5869b8 by ditaliano
[MLICM] Remove unneeded option so the test doesn't fail.
The file was modifiedllvm/test/DebugInfo/MIR/X86/mlicm-hoist-post-regalloc.mir
Commit 5cf90d6cf1b811a6693383c487f79d24d5b306bb by flo
[LoopUnroll] Simplify latch/header block handling (NFC).

I think the current code dealing with connecting the unrolled iterations
is a bit more complicated than necessary currently. To connect the
unrolled iterations, we have to update the unrolled latch blocks to
branch to the header of the next unrolled iteration.

We need to do this regardless whether the latch is exiting or not.

Additionally, we try to turn the conditional branch in the exiting block
to an unconditional one. This is an optimization only; alternatively we
could leave the conditional branches in place and rely on other passes
to simplify the conditions.

Logically, this is a separate step from connecting the latches to the
headers, but it is convenient to fold them into the same loop, if the
latch is also exiting. For headers (or other non-latch exiting blocks,
this is done separately).

Hopefully the patch with additional comments makes things a bit clearer.

Reviewers: efriedma, dmgreen, hfinkel, Whitney

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D80544
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
Commit 512e806a33e80058a409d205a378a6e6fc2ef39d by Stanislav.Mekhanoshin
[AMDGPU] Bail alloca vectorization if GEP not found

Differential Revision: https://reviews.llvm.org/D80587
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-alloca-vector-to-vector.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
Commit ecb66f50eeb73c32f8fd955a97bb070fbdd519ed by Vitaly Buka
[NFC, StackSafety] Move FunctionInfo into :: namespace
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/include/llvm/Analysis/StackSafetyAnalysis.h
Commit 9abb0e8d5be2ffad06ccfcc2d5530997ad093b81 by Vitaly Buka
[NFC, StackSafety] Remove unnecessary data
The file was modifiedllvm/include/llvm/Analysis/StackSafetyAnalysis.h
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 6e39379bbbe1d8aba658f638dfc42f0ba0cbb926 by Vedant Kumar
[DwarfExpression] Support entry values for indirect parameters

Summary:
A struct argument can be passed-by-value to a callee via a pointer to a
temporary stack copy. Add support for emitting an entry value DBG_VALUE
when an indirect parameter DBG_VALUE becomes unavailable. This is done
by omitting DW_OP_stack_value from the entry value expression, to make
the expression describe the location of an object.

rdar://63373691

Reviewers: djtodoro, aprantl, dstenb

Subscribers: hiraditya, lldb-commits, llvm-commits

Tags: #lldb, #llvm

Differential Revision: https://reviews.llvm.org/D80345
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was addedllvm/test/DebugInfo/MIR/AArch64/dbgcall-site-indirect-param-with-offset.mir
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
The file was addedllvm/test/DebugInfo/MIR/AArch64/dbgcall-site-indirect-param.mir
The file was modifiedlldb/test/API/functionalities/param_entry_vals/basic_entry_values/main.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit 6a74ad6baad45b8572d196f7f290593ed62075b5 by Vitaly Buka
[sancov] Accommodate sancov and coverage report server for use under Windows

Summary:
This patch makes the following changes to SanCov and its complementary Python script in order to resolve issues pertaining to non-UNIX file paths in JSON symbolization information:
* Convert all paths to use forward slash.
* Update `coverage-report-server.py` to correctly handle paths to sources which contain spaces.
* Remove Linux platform restriction for all SanCov unit tests. All SanCov tests passed when ran on my local Windows machine.

Patch by Douglas Gliner.

Reviewers: kcc, filcab, phosek, morehouse, vitalybuka, metzman

Reviewed By: vitalybuka

Subscribers: vsk, Dor1s, llvm-commits

Tags: #sanitizers, #llvm

Differential Revision: https://reviews.llvm.org/D51018
The file was modifiedllvm/test/tools/sancov/not_covered_functions.test
The file was modifiedllvm/test/tools/sancov/blacklist.test
The file was modifiedllvm/tools/sancov/coverage-report-server.py
The file was modifiedllvm/test/tools/sancov/merge.test
The file was modifiedllvm/test/tools/sancov/symbolize_noskip_dead_files.test
The file was modifiedllvm/test/tools/sancov/covered_functions.test
The file was modifiedllvm/test/tools/sancov/stats.test
The file was modifiedllvm/test/tools/sancov/symbolize.test
The file was modifiedllvm/test/tools/sancov/print.test
The file was modifiedllvm/test/tools/sancov/validation.test
The file was modifiedllvm/tools/sancov/sancov.cpp
Commit 1e06b169be3e59799b8dcaf16d1d03bd4c12da42 by Jonathan Roelofs
[clang][docs] Document additional bits of libc that -ffreestanding envs must provide

Differential Revision: https://reviews.llvm.org/D80436
The file was modifiedclang/docs/CommandGuide/clang.rst
Commit 9eacda51fa23abf4f6503ff533dcb70071cbe569 by chris.jackson
[debuginfo] Fix broken tests from MachineLICM salvaging fix

Previous commit: bd7ff5d94f

- Added missing x86 triples
- Added missing asserts
The file was modifiedllvm/test/DebugInfo/MIR/X86/mlicm-hoist-pre-regalloc.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/mlicm-hoist-post-regalloc.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/mlicm-sink.mir
Commit 5192783bb29c32196f87044de113fc43d7dfaae8 by dkszelethus
[analyzer][RetainCount] Tie diagnostics to osx.cocoa.RetainCount rather then RetainCountBase, for the most part

Similarly to other patches of mine, I'm trying to uniformize the checker
interface so that dependency checkers don't emit diagnostics. The checker that
made me most anxious so far was definitely RetainCount, because it is definitely
impacted by backward compatibility concerns, and implements a checker hierarchy
that is a lot different to other examples of similar size. Also, I don't have
authority, nor expertise regarding ObjC related code, so I welcome any
objection/discussion!

Differential Revision: https://reviews.llvm.org/D78099
The file was modifiedclang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
The file was modifiedclang/test/Analysis/Inputs/expected-plists/plist-output.m.plist
The file was modifiedclang/test/Analysis/incorrect-checker-names.mm
The file was modifiedclang/test/Analysis/Inputs/expected-plists/edges-new.mm.plist
The file was modifiedclang/test/Analysis/Inputs/expected-plists/plist-output-alternate.m.plist
The file was modifiedclang/test/Analysis/Inputs/expected-plists/retain-release.m.objcpp.plist
The file was modifiedclang/test/Analysis/inlining/Inputs/expected-plists/path-notes.m.plist
The file was modifiedclang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h
The file was modifiedclang/test/Analysis/Inputs/expected-plists/objc-radar17039661.m.plist
The file was modifiedclang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
The file was modifiedclang/test/Analysis/Inputs/expected-plists/objc-arc.m.plist
The file was modifiedclang/test/Analysis/Inputs/expected-plists/retain-release.m.objc.plist
The file was modifiedclang/test/Analysis/Inputs/expected-plists/retain-release-path-notes.m.plist
The file was modifiedclang/test/Analysis/test-separate-retaincount.cpp
Commit efd1a8e66eaa13afff709ebf16ff6280caa82ead by dkszelethus
[analyzer][MallocChecker] Make NewDeleteLeaks depend on DynamicMemoryModeling rather than NewDelete

If you remember the mail [1] I sent out about how I envision the future of the
already existing checkers to look dependencywise, one my main points was that no
checker that emits diagnostics should be a dependency. This is more problematic
for some checkers (ahem, RetainCount [2]) more than for others, like this one.

The MallocChecker family is a mostly big monolithic modeling class some small
reporting checkers that only come to action when we are constructing a warning
message, after the actual bug was detected. The implication of this is that
NewDeleteChecker doesn't really do anything to depend on, so this change was
relatively simple.

The only thing that complicates this change is that FreeMemAux (MallocCheckers
method that models general memory deallocation) returns after calling a bug
reporting method, regardless whether the report was ever emitted (which may not
always happen, for instance, if the checker responsible for the report isn't
enabled). This return unfortunately happens before cleaning up the maps in the
GDM keeping track of the state of symbols (whether they are released, whether
that release was successful, etc). What this means is that upon disabling some
checkers, we would never clean up the map and that could've lead to false
positives, e.g.:

error: 'warning' diagnostics seen but not expected:
  File clang/test/Analysis/NewDelete-intersections.mm Line 66: Potential leak of memory pointed to by 'p'
  File clang/test/Analysis/NewDelete-intersections.mm Line 73: Potential leak of memory pointed to by 'p'
  File clang/test/Analysis/NewDelete-intersections.mm Line 77: Potential leak of memory pointed to by 'p'

error: 'warning' diagnostics seen but not expected:
  File clang/test/Analysis/NewDelete-checker-test.cpp Line 111: Undefined or garbage value returned to caller
  File clang/test/Analysis/NewDelete-checker-test.cpp Line 200: Potential leak of memory pointed to by 'p'

error: 'warning' diagnostics seen but not expected:
  File clang/test/Analysis/new.cpp Line 137: Potential leak of memory pointed to by 'x'
There two possible approaches I had in mind:

Make bug reporting methods of MallocChecker returns whether they succeeded, and
proceed with the rest of FreeMemAux if not,
Halt execution with a sink node upon failure. I decided to go with this, as
described in the code.
As you can see from the removed/changed test files, before the big checker
dependency effort landed, there were tests to check for all the weird
configurations of enabled/disabled checkers and their messy interactions, I
largely repurposed these.

[1] http://lists.llvm.org/pipermail/cfe-dev/2019-August/063070.html
[2] http://lists.llvm.org/pipermail/cfe-dev/2019-August/063205.html

Differential Revision: https://reviews.llvm.org/D77474
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
The file was modifiedclang/test/Analysis/new.cpp
The file was modifiedclang/test/Analysis/NewDelete-intersections.mm
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modifiedclang/test/Analysis/NewDelete-checker-test.cpp
The file was removedclang/test/Analysis/Malloc+NewDelete_intersections.cpp
Commit a924dac44f31ffa19508165fc61a9f10cd1d4836 by wanyu9511
[NFC] Fix formatting for the 'aix-ld.c' test case.

Summary:
Based on comments received in D80415 pertinent to test case format, the following fixes are provided to other tests in 'aix-ld.c' for the sake of consistency and readability,
  - Align flags in RUN directives vertically.
  - Align patterns in CHECK directives vertically.
  - Remove the ‘-o %t.o’ as it’s unnecessary for tests with ‘-###’.
  - Fix typos in comments.

Reviewers: ZarkoCA, hubert.reinterpretcast, daltenty

Reviewed By: hubert.reinterpretcast

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80532
The file was modifiedclang/test/Driver/aix-ld.c
Commit 9a0b0855a96ad91e082c6fb066e0ebabe72eb6b3 by aeubanks
Modify verifier checks to support musttail + preallocated

Summary:
preallocated and musttail can work together, but we don't want to call
@llvm.call.preallocated.setup() to modify the stack in musttail calls.
So we shouldn't have the "preallocated" operand bundle when a
preallocated call is musttail.

Also disallow use of preallocated on calls without preallocated.

Codegen not yet implemented.

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80581
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/test/Verifier/preallocated-valid.ll
The file was modifiedllvm/test/Verifier/preallocated-invalid.ll
Commit 842a8cc10c4146cee6cedd94fbf556c94b8ec365 by alexshap
[llvm-objcopy][MachO] Add support for removing Swift symbols

cctools strip has the option "-T" which removes Swift symbols.
This diff implements this option in llvm-strip for MachO.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D80099
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
The file was modifiedllvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.cpp
The file was modifiedllvm/docs/CommandGuide/llvm-strip.rst
The file was addedllvm/test/tools/llvm-objcopy/MachO/remove-swift-symbols.test
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h
The file was modifiedllvm/tools/llvm-objcopy/StripOpts.td
The file was modifiedllvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp
Commit cf42b704391c44e84485dd2547ae006196998266 by silvasean
[mlir][shape] Add `shape.get_extent`.

Summary:
This op extracts an extent from a shape.

This also is the first op which constant folds to shape.const_size,
which revealed that shape.const_size needs a folder (ConstantLike ops
seem to always need folders for the constant folding infra to work).

Differential Revision: https://reviews.llvm.org/D80394
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit e724db03752a0cd06a86153fea0d95e377f999c0 by Jonas Devlieghere
[lldb/Test] Modify TestSymbolTable.py for reproducers

Work around global module caching during reproducer replay. See inline
comment for the details.
The file was modifiedlldb/test/API/lang/objc/foundation/TestSymbolTable.py
Commit 1079978b3c506abca2b4dd9a5b131c024330206b by apl
[lldb][Core] Remove dead codepath in Mangled

Summary:
Objective-C names are stored in m_demangled, not in m_mangled. The
method in the condition will never return true.

Differential Revision: https://reviews.llvm.org/D79823
The file was modifiedlldb/source/Core/Mangled.cpp
Commit b90eb0f23b5bf3db4a091748b3ea6de9a45645c9 by listmail
Autogen a couple of test files to make a future diff easier to read
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/base-pointers-4.ll
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/deopt-lowering-attrs.ll
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/basic.ll
Commit bed6624ac43bc223114d0b9380d593f2dfd749ff by listmail
Split a test file so that most of it can be autogened
The file was addedllvm/test/Transforms/RewriteStatepointsForGC/scalar-base-vector-2.ll
The file was modifiedllvm/test/Transforms/RewriteStatepointsForGC/scalar-base-vector.ll
Commit 40c4ecabc238cfdd639bc1e927800337457e69e3 by Jonas Devlieghere
[lldb/Docs] Add the application speicfic lldbinit to the man page

This used to be part of the man page but got lost when we moved to
generating it with Sphinx.
The file was modifiedlldb/docs/man/lldb.rst
Commit 323d850427472ed060fc4c495b2010e6174b875b by listmail
Add self as code owner for SCEV and IndVars

This was discussed on llvm-dev thread "Transferring code ownership for SCEV and IndVars" a few months back.  I just forgot to make the actual change.
The file was modifiedllvm/CODE_OWNERS.TXT
Commit ae597a771ed4d7530e2ef232d02a253067e3312f by Jessica Paquette
[AArch64][GlobalISel] Do not modify predicate when optimizing G_ICMP

This fixes a bug in `tryOptArithImmedIntegerCompare`.

It is unsafe to update the predicate on a MachineOperand when optimizing a
G_ICMP, because it may be used in more than one place.

For example, when we are optimizing G_SELECT, we allow compares which are used
in more than one G_SELECT. If we modify the G_ICMP, then we'll break one of
the G_SELECTs.

Since the compare is being produced to either

1) Select a G_ICMP
2) Fold a G_ICMP into an instruction when profitable

there's no reason to actually modify it. The change is local to the specific
compare.

Instead, pass a `CmpInst::Predicate` to `tryOptArithImmedIntegerCompare` which
can be modified by reference.

Differential Revision: https://reviews.llvm.org/D80585
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-arith-immed-compare.mir
Commit f20ace6f333fa56af1879f7480a0e7979201c374 by Vitaly Buka
[NFC, StackSafety] Better names for internal stuff

Remove const from some parameters as upcoming changes in ScalarEvolution
calls will need non const pointers.
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 5afef79ff465e1711a9412f6814d66ff80f50dcf by Vitaly Buka
[NFC, StackSafety] Remove duplicate code
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 4320d4aa1c1c7d8bd75537703f7a11140552b0fa by Vitaly Buka
[NFC, StackSafety] Add some missing includes
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit b5ae70046b0211ff75be8459f7282fe07ad918d8 by Vitaly Buka
[StackSafety] Simplify SCEVRewriteVisitor

Probably NFC.
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/local.ll
Commit ef3e83122665adcb2f7a7f380c9deb3dac68cb80 by Matthew.Arsenault
GlobalISel: Basic legalization for G_PTRMASK
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ptrmask.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Commit 8e3307f5519fa58827c7b030274f122b1ed36617 by Matthew.Arsenault
GlobalISel: Add a clarification to G_STORE documentation

Mirror the note on G_LOAD. We probably do need to add an explicit
G_TRUNCSTORE opcode for the vector case, although I do not have a use
for it.
The file was modifiedllvm/docs/GlobalISel/GenericOpcode.rst
Commit 97a133f15724aa7ddf5d9b62dc9c0657a4efd115 by echristo
Temporarily Revert "[Clang][AArch64] Capturing proper pointer alignment for Neon vld1 intrinsicts"
as it's causing crashes on code generation and https://bugs.llvm.org/show_bug.cgi?id=46084

This reverts commit 98cad555e29187a03e2bc3db5780762981913902.
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/aarch64-neon-intrinsics.c
Commit 23a2f4521467a708fb1f9ae1f9536f302a1dc7e3 by shkzhang
[NFC][PowerPC] Modify the test case two-address-crash.mir
The file was modifiedllvm/test/CodeGen/PowerPC/two-address-crash.mir
Commit a7141480fb04eadf8d7d60c03494bcc885979a8e by Jinsong Ji
[compiler-rt][NFC]Fix Wdeprecated warnings for fsanitize-coverage

A few testcases are still using deprecated options.

warning: argument '-fsanitize-coverage=[func|bb|edge]' is deprecated,
use '-fsanitize-coverage=[func|bb|edge],[trace-pc-guard|trace-pc]'
instead [-Wdeprecated]

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D79741
The file was modifiedcompiler-rt/test/asan/TestCases/Windows/coverage-basic.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/coverage-disabled.cpp
The file was modifiedcompiler-rt/test/ubsan/TestCases/Misc/coverage-levels.cpp
The file was modifiedcompiler-rt/test/msan/coverage-levels.cpp
Commit 5759e4731635e1f28fef2c4619491a1b4a2bc305 by ravishankarm
[mlir][Linalg] Avoid using scf.parallel for non-parallel loops in Linalg ops.

Modifying the loop nest builder for generating scf.parallel loops to
not generate scf.parallel loops for non-parallel iterator types in
Linalg operations. The existing implementation incorrectly generated
scf.parallel for all tiled loops. It is rectified by refactoring logic
used while lowering to loops that accounted for this.

Differential Revision: https://reviews.llvm.org/D80188
The file was modifiedmlir/lib/Dialect/Linalg/Utils/Utils.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/test/Dialect/Linalg/parallel_loops.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns.mlir
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was addedmlir/test/Dialect/Linalg/tile_parallel_reduce.mlir
Commit 0ed2d4c7cba8fb15e51d0f6f4e9011027c17085c by ravishankarm
[mlir][linalg] Allow promotion to use callbacks for
alloc/dealloc/copies.

Add options to LinalgPromotion to use callbacks for implementating the
allocation, deallocation of buffers used for the promoted subviews,
and to copy data into and from the original subviews to the allocated
buffers.
Also some misc. cleanup of the code.

Differential Revision: https://reviews.llvm.org/D80365
The file was addedmlir/test/Dialect/Linalg/promotion_options.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
Commit 9f69d3d0bc65ff50b1dc3ab0a6a08ddc32b190a6 by sivachandra
[libc][NFC][Obvious] Convert the MPFR operations enum to an enum class.

This was suggested in https://reviews.llvm.org/D79149.
The file was modifiedlibc/test/src/math/cosf_test.cpp
The file was modifiedlibc/test/src/math/exp2f_test.cpp
The file was modifiedlibc/test/src/math/expf_test.cpp
The file was modifiedlibc/test/src/math/fabsf_test.cpp
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.h
The file was modifiedlibc/test/src/math/fabs_test.cpp
The file was modifiedlibc/test/src/math/sinf_test.cpp
The file was modifiedlibc/test/src/math/sincosf_test.cpp
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.cpp
Commit 6bbaa62d26b6061c93eb62c82048c14014ab7bd7 by dpetrov
[analyzer] Add support for IE of keyboard and mouse navigation in HTML report

IE throws errors while using key and mouse navigation through the error path tips.
querySelectorAll method returns NodeList. NodeList belongs to browser API. IE doesn't have forEach among NodeList's methods. At the same time Array is a JavaScript object and can be used instead. The fix is in the converting NodeList into Array and keeps using forEach method as before.

Checked in IE11, Chrome and Opera.

Differential Revision: https://reviews.llvm.org/D80444
The file was modifiedclang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
Commit d0f1f5adfa574ece80d566f400ebb689ae822a16 by Vitaly Buka
[StackSafety] Use getSignedRange for offsets
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/local.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
Commit 32a1f60d11f7295c1b93c33c190303c606b1b41d by Vitaly Buka
[StackSafety] Use SCEV to find mem operation length
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/local.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/memintrin.ll
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 6565b5858444ba7dcf799467f5be63d2c2370715 by pengfei.wang
[X86][llvm-mc] Make the suffix matcher more accurate.

Summary:
Some instruction like VPMULDQ is NOT the variant of VPMULD but a new
one.
So we should make sure the suffix matcher only works for memory variant
that has the same size with the suffix.
Currently we only check for SSE/AVX* instructions, because many legacy
instructions didn't declare the alias instructions of their variants.

Differential Revision: https://reviews.llvm.org/D80608
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/dependent-pmuld-paddd.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BtVer2/dependent-pmuld-paddd.s
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
The file was modifiedllvm/lib/Target/X86/AsmParser/X86Operand.h
The file was modifiedllvm/test/MC/X86/avx512-err.s
Commit b4978b24445cdc33311bbdb661060f9d9229efe9 by craig.topper
[X86] Use SIMD_EXC to remove some let statements in tablegen. NFCI
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
Commit 84cf8ed8fd3f950b6e30225cae6f092da768cbe6 by craig.topper
[X86] Lower sse_cmp_ss/sse2_cmp_sd intrinsics to X86ISD::FSETCC with vector types.

Isel match that instead of the intrinsic. Similar to what we do
for avx512.

Trying to move more intrinsics to target specific ISD opcodes.
Hoping to add DAG combines to shrink simple loads going into
scalar intrinsics that only read 32 or 64 bits.
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/lib/Target/X86/X86InstrFragmentsSIMD.td
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
The file was modifiedllvm/lib/Target/X86/X86IntrinsicsInfo.h
Commit de02a75e398415bad4df27b4547c25b896c8bf3b by sguelton
[PGO] Fix computation of function Hash

And bump its version number accordingly.

This is a patched recommit of 7c298c104bfe725d4315926a656263e8a5ac3054

Previous hash implementation was incorrectly passing an uint64_t, that got converted
to an uint8_t, to finalize the hash computation. This led to different functions
having the same hash if they only differ by the remaining statements, which is
incorrect.

Added a new test case that trivially tests that a small function change is
reflected in the hash value.

Not that as this patch fixes the hash computation, it would invalidate all hashes
computed before that patch applies, this is why we bumped the version number.

Update profile data hash entries due to hash function update, except for binary
version, in which case we keep the buggy behavior for backward compatibility.

Differential Revision: https://reviews.llvm.org/D79961
The file was addedclang/test/Profile/c-collision.c
The file was modifiedclang/test/Profile/c-general.c
The file was modifiedclang/test/Profile/Inputs/misexpect-switch-default.proftext
The file was modifiedllvm/include/llvm/ProfileData/InstrProfData.inc
The file was addedclang/test/Profile/Inputs/c-general.profdata.v5
The file was modifiedllvm/include/llvm/ProfileData/InstrProf.h
The file was modifiedclang/test/Profile/Inputs/misexpect-switch.proftext
The file was modifiedclang/lib/CodeGen/CodeGenPGO.cpp
The file was modifiedclang/test/Profile/Inputs/c-general.proftext
The file was modifiedclang/test/Profile/Inputs/c-counter-overflows.proftext
The file was modifiedclang/test/Profile/Inputs/c-unprofiled-blocks.proftext
The file was modifiedclang/test/Profile/Inputs/cxx-rangefor.proftext
The file was modifiedclang/test/Profile/Inputs/misexpect-switch-nonconst.proftext
The file was modifiedclang/test/Profile/Inputs/cxx-throws.proftext
The file was modifiedclang/docs/ReleaseNotes.rst
Commit 0b5d81e6bbad1656c2e059621948967aaeaa5702 by joker.eph
Automatically configure MLIR when flang is enabled

This is more friendly than the "Unknown CMake command “mlir_tablegen”."
that would be issued instead.

Differential Revision: https://reviews.llvm.org/D80359
The file was modifiedllvm/CMakeLists.txt
Commit 602d9b0afc77828f419869289b159a567c62ae81 by Saiyedul.Islam
[OpenMP][AMDGCN] Support OpenMP offloading for AMDGCN architecture - Part 1

Summary:
Allow AMDGCN as a GPU offloading target for OpenMP during compiler
invocation and allow setting CUDAMode for it.

Originally authored by Greg Rodgers (@gregrodgers).

Reviewers: ronlieb, yaxunl, b-sumner, scchan, JonChesterfield, jdoerfert, sameerds, msearles, hliao, arsenm

Reviewed By: sameerds

Subscribers: sstefan1, jvesely, wdng, arsenm, guansong, dexonsmith, cfe-commits, llvm-commits, gregrodgers

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D79754
The file was modifiedclang/lib/AST/Decl.cpp
The file was addedclang/test/OpenMP/amdgcn_device_function_call.cpp
The file was modifiedllvm/include/llvm/ADT/Triple.h
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/Driver/openmp-offload-gpu.c
The file was modifiedclang/test/OpenMP/target_parallel_no_exceptions.cpp
Commit fc44da746faab5c0ad20e9de8b8fca43b7c5f408 by suc-daniil
Add test exposing a bug in SimpleLoopUnswitch.
The file was addedllvm/test/Transforms/SimpleLoopUnswitch/dead-blocks-uses-in-unreachablel-blocks.ll
Commit dedaf3a2ac59548c70a0d54da7267bbb082782c0 by simon.moll
[VE] Dynamic stack allocation

Summary:
This patch implements dynamic stack allocation for the VE target. Changes:
* compiler-rt: `__ve_grow_stack` to request stack allocation on the VE.
* VE: base pointer support, dynamic stack allocation.

Differential Revision: https://reviews.llvm.org/D79084
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.h
The file was modifiedcompiler-rt/cmake/Modules/CompilerRTUtils.cmake
The file was modifiedcompiler-rt/cmake/builtin-config-ix.cmake
The file was addedcompiler-rt/lib/builtins/ve/grow_stack.S
The file was addedllvm/test/CodeGen/VE/alloca_aligned.ll
The file was modifiedcompiler-rt/cmake/base-config-ix.cmake
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.cpp
The file was addedllvm/test/CodeGen/VE/alloca.ll
The file was modifiedllvm/lib/Target/VE/VERegisterInfo.cpp
The file was modifiedllvm/lib/Target/VE/VEFrameLowering.cpp
The file was modifiedllvm/lib/Target/VE/VEISelLowering.h
The file was modifiedllvm/lib/Target/VE/VECallingConv.td
The file was modifiedllvm/lib/Target/VE/VESubtarget.h
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
The file was addedcompiler-rt/lib/builtins/ve/grow_stack_align.S
The file was modifiedllvm/lib/Target/VE/VEFrameLowering.h
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
Commit a1dfd6d828ac4f8e11e8013b952f0ef080890dcf by craig.topper
[X86] Add helper function to reduce some code duplication when shrinking a vector load to a vzext_load.

There's more code for calling CombineTo and replacing the nodes
that I'd like to share, but its complicated by the getNode call
in the middle that needs to be specific to each opcode.

While there are also make sure we recursively delete the load
we're replacing. It eventually gets removed by a RemoveDeadNodes
call at the end of DAG combine, but we should be more eager about
it. We were inconsistently doing this in some places but not all.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 65030821d4a6af94b84a33e66a40c08ca26f1526 by djordje.todorovic
[NFC][Debugify] Format the CheckModuleDebugify output

This fixes the output of the check-debugify option.
Without the patch an example of running the option:

$ opt -check-debugify test.ll -S -o testDebugify.ll
CheckModuleDebugifySkipping module without debugify metadata

After the patch:

$ opt -check-debugify test.ll -S -o testDebugify.ll
CheckModuleDebugify: Skipping module without debugify metadata

Differential Revision: https://reviews.llvm.org/D80553
The file was modifiedllvm/lib/Transforms/Utils/Debugify.cpp