SuccessChanges

Summary

  1. [libc++] Add a benchmark for std::map operations (details)
  2. [MachineBasicBlock] Fix a typo in function copySuccessor (details)
  3. NFC: Add whitespace change to .git-blame-ignore-revs (details)
  4. [X86][AVX] lowerShuffleWithSHUFPS - handle missed canonicalization cases. (details)
  5. [lldb] Add -l/--language option to script command (details)
  6. [VectorCombine] Don't vectorize scalar load under asan/hwasan/memtag/tsan (details)
  7. Revert "[DebugInfo] Remove dots from getFilenameByIndex return value" (details)
  8. Revert "[DSE] Switch to MemorySSA-backed DSE by default." (details)
  9. [MemoryBuffer] Revert unintended MemoryBuffer change from D86996 (details)
  10. Fix bot failure after ccb4124a4172 (details)
  11. [OPENMP]Add support for allocate vars in untied tasks. (details)
  12. [LoopAccessAnalysis][NewPM] Fix tests to work under NPM (details)
  13. [DependenceAnalysis][NewPM] Fix tests to work under NPM (details)
  14. [RegionInfo][NewPM] Fix RegionInfo tests to work under NPM (details)
  15. [NewPM][opt] Fix -globals-aa not being recognized as alias analysis in NPM (details)
  16. [PostDominators][NewPM] Fix tests to work under NPM (details)
  17. [libc++] Add missing friend keyword (details)
  18. [X86] Use Align in reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore. Correct pointer info. (details)
  19. [Bugpoint][NewPM] Pin bugpoint to legacy PM (details)
  20. [ConstraintElimination] Add constraint elimination pass. (details)
  21. [gn build] Port 3d42d549554 (details)
  22. Fix .debug_aranges parsing. (details)
  23. [DemandedBits][NewPM] Pin some tests to legacy PM (details)
  24. [Dominators][NewPM] Pin tests with -analyze to legacy PM (details)
  25. [libc++] Fix broken test for std::any and allocators (details)
  26. [ASTMatchers] extract public matchers from const-analysis into own patch (details)
  27. [CodeGen][typeid] Emit typeinfo directly if type is known at compile-time (details)
  28. [PowerPC] Implement __int128 vector divide operations (details)
  29. [AArch64][SVE] Add lowering for llvm fsqrt (details)
  30. [clang] Add a command line flag for the Machine Function Splitter. (details)
  31. InferAddressSpaces: Fix assert with unreachable code (details)
  32. [TableGen] Fix invalid comparison function `SizeOrder` in `getMatchingSubClassWithSubRegs` (details)
  33. Implement __isOSVersionAtLeast for Android (details)
  34. [libc] remove useless headers (details)
  35. [SLPVectorizer][SVE] Skip scalable-vector instructions before vectorizeSimpleInstructions. (details)
  36. [libc] use stddef instead of string header (details)
  37. Sema: add support for `__attribute__((__swift_bridged_typedef__))` (details)
  38. [libc] Remove special case for 8 and 16 bytes (details)
  39. [mlir] Rename 'setInsertionPointAfter' to avoid ambiguity (details)
  40. [OPENMP]Fix codegen for is_device_ptr component, captured by reference. (details)
  41. [OpenMP] Additional Information for Libomptarget Mappings (details)
  42. [TSAN] Handle musttail call properly in EscapeEnumerator (and TSAN) (details)
  43. [AMDGPU] Unify intrinsic ret/nortn interface (details)
  44. GlobalISel: Add combines for G_TRUNC (details)
  45. [SourceManager] Explicitly check for potential iterator underflow (details)
  46. [ThinLTO] add post-thinlto-merge option to -lto-embed-bitcode (details)
  47. [GISel] Add new GISel combiners for G_MUL (details)
  48. [BFI] Make BFI information available through loop passes inside LoopStandardAnalysisResults (details)
  49. [llvm][cmake] Change LLVM_INTEGRATED_CRT_ALLOC to a path instead of a boolean (details)
  50. GlobalISel: Fix a failing combiner test (details)
  51. [CGSCC][NewPM] Fix adding mutually recursive new functions (details)
  52. [AArch64][GlobalISel] Refactor + improve CMN, ADDS, and ADD emit functions (details)
  53. [LICM] Make Loop ICM profile aware again (details)
  54. SVML support for log10, sqrt (details)
  55. [LowerSwitch][NewPM] Port lowerswitch to NPM (details)
  56. [NewPM] Port strip* passes to NPM (details)
  57. [Hexagon] Replace incorrect pattern for vpackl HWI32 -> HVi8 (details)
  58. [PDB] Drop LF_PRECOMP from debugTypes earlier (details)
  59. Fix test after D86156. (details)
  60. [X86] Always use 16-bit displacement in 16-bit mode when there is no base or index register. (details)
  61. [NewPM] Fix 2003-02-19-LoopInfoNestingBug.ll under NPM (details)
  62. [NewPM][SCEV] Fix constant-fold-gep.ll under NPM (details)
  63. [NewPM] Fix opt-hot-cold-split.ll under NPM (details)
  64. Fully qualify some more namespace in MLIR ODS to be more friendly to dialects not defined under the mlir namespace (NFC) (details)
  65. [InstCombine] Add tests for statepoint simplification (details)
  66. [Test] Add signed version of a test (details)
  67. [clang-tidy] Fix crash in modernize-use-noexcept on uninstantiated throw class (details)
  68. [lldb] Reword CompilerType docstring to not say "generic type" (details)
  69. [MLIR][NFC] Value print update for block arguments (details)
  70. libclc: Add a __builtin to let SPIRV targets select between SW and HW FMA (details)
  71. [ThinLTO] Relax thinlto_embed_bitcode.ll check (details)
  72. [X86] Add test case for non-power of 2 scatter. NFC (details)
  73. [X86] Don't scalarize gather/scatters with non-power of 2 element counts. Widen instead. (details)
  74. [MemorySSA] Set MustDominate to true for PhiTranslation. (details)
  75. [llvm-rc] Allow omitting components from VERSIONINFO versions (details)
  76. [llvm-rc] Update a comment. NFC. (details)
  77. [llvm-rc] Lowercase the option definitions. NFC. (details)
  78. [obj2yaml] Add support for dumping the .debug_addr(v5) section. (details)
  79. [MemorySSA] Report unoptimized as None, not MayAlias. (details)
  80. [Test] Some more potential range check elimination opportunities (details)
  81. [flang] Fix docs build (details)
  82. [Test] Add positive range checks tests in addition to negative (details)
  83. Revert "[Asan] Fix false leak report" (details)
  84. Revert "[Asan] Accept __lsan_ignore_object for redzone pointer" (details)
  85. [ARM][MachineOutliner] Add calls handling. (details)
  86. [clangd] Don't use zlib when it's unavailable. (details)
  87. [ARM][LowOverheadLoops] Combine a VCMP and VPST into a VPT (details)
  88. Follow up rG635b87511ec3: forgot to add/commit the new test file. NFC. (details)
  89. [DebugInfo][flang] DISubrange support for fortran assumed size array (details)
  90. [llvm-readobj][test] - Address a forgotten review comment for D86923. (details)
  91. [clangd] Implement hot index reloading for clangd-index-server (details)
  92. [Support] Add GlobPattern::isTrivialMatchAll() (details)
  93. [LLD][ELF] Optimize linker script filename glob pattern matching NFC (details)
  94. [llvm-readobj][test] - Improve section-symbols.test (details)
  95. [ARM][LowOverheadLoops] Fix tests after ef0b9f3 (details)
  96. [clang-tidy] Improve documentation on Clangd integration (details)
  97. [DAG] Remover getOperand() call. NFCI. (details)
Commit 74a9c6d7e1c49cd0e3a8e8072b8aa03f7a84caff by Louis Dionne
[libc++] Add a benchmark for std::map operations

Before tackling http://llvm.org/PR38722, make sure there is a baseline
benchmark.

Differential Revision: https://reviews.llvm.org/D62778
The file was addedlibcxx/benchmarks/map.bench.cpp
Commit 243ffd0cade71ddca9b0dffec1c8e9084b0f7745 by carrot
[MachineBasicBlock] Fix a typo in function copySuccessor

The condition used to decide if need to copy probability should be reversed.

Differential Revision: https://reviews.llvm.org/D87417
The file was modifiedllvm/lib/CodeGen/MachineBasicBlock.cpp
Commit 4ddd985ca941e48a016e8d7270921b4aa76afbe1 by Louis Dionne
NFC: Add whitespace change to .git-blame-ignore-revs
The file was modified.git-blame-ignore-revs
Commit a43e68b58b085797e2f1435765255ebd431db297 by llvm-dev
[X86][AVX] lowerShuffleWithSHUFPS - handle missed canonicalization cases.

PR47534 exposes a case where calling lowerShuffleWithSHUFPS directly from a derived repeated mask (found by is128BitLaneRepeatedShuffleMask) results in us using an non-canonicalized mask.

The missed canonicalization in this case is trivial - just commute the mask so we have more (swapped) LHS than RHS references so lowerShuffleWithSHUFPS can handle it.
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-avx512.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 127faae7529aee7e8508abebbc19212ce30bbf27 by Jonas Devlieghere
[lldb] Add -l/--language option to script command

Make it possible to run the script command with a different language
than currently selected.

  $ ./bin/lldb -l python
  (lldb) script -l lua
  >>> io.stdout:write("Hello, World!\n")
  Hello, World!

When passing the language option and a raw command, you need to separate
the flag from the script code with --.

  $ ./bin/lldb -l python
  (lldb) script -l lua -- io.stdout:write("Hello, World!\n")
  Hello, World!

Differential revision: https://reviews.llvm.org/D86996
The file was modifiedlldb/source/Commands/CommandObjectScript.h
The file was modifiedlldb/source/Commands/Options.td
The file was addedlldb/test/Shell/ScriptInterpreter/Lua/lua-python.test
The file was modifiedlldb/source/Commands/CommandObjectScript.cpp
The file was addedlldb/test/Shell/ScriptInterpreter/Python/python.test
The file was modifiedllvm/lib/Support/MemoryBuffer.cpp
The file was modifiedlldb/test/Shell/ScriptInterpreter/Lua/lua.test
Commit 4452cc4086aca1a424b2cd40da9fa120add522e7 by i
[VectorCombine] Don't vectorize scalar load under asan/hwasan/memtag/tsan

Similar to the tsan suppression in
`Utils/VNCoercion.cpp:getLoadLoadClobberFullWidthSize` (rL175034; load widening used by GVN),
the D81766 optimization should be suppressed under tsan due to potential
spurious data race reports:

  struct A {
    int i;
    const short s; // the load cannot be vectorized because
    int modify;    // it overlaps with bytes being concurrently modified
    long pad1, pad2;
  };
  // __tsan_read16 does not know that some bytes are undef and accessing is safe

Similarly, under asan, users can mark memory regions with
`__asan_poison_memory_region`. A widened load can lead to a spurious
use-after-poison error. hwasan/memtag should be similarly suppressed.

`mustSuppressSpeculation` suppresses asan/hwasan/tsan but not memtag, so
we need to exclude memtag in `vectorizeLoadInsert`.

Note, memtag suppression can be relaxed if the load is aligned to the
its granule (usually 16), but that is out of scope of this patch.

Reviewed By: spatel, vitalybuka

Differential Revision: https://reviews.llvm.org/D87538
The file was modifiedllvm/test/Transforms/VectorCombine/X86/load.ll
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
Commit 9c73e555104336109bb8327b80f3e6a42a17ef1d by phosek
Revert "[DebugInfo] Remove dots from getFilenameByIndex return value"

This is failing on Windows bots due to path separator normalization.

This reverts commit 042c23506869b4ae9a49d2c4bc5ea6e6baeabe78.
The file was modifiedlld/test/wasm/debuginfo.test
The file was modifiedllvm/test/tools/llvm-symbolizer/frame-fortran.s
The file was modifiedlld/test/COFF/duplicate-dwarf.s
The file was modifiedlld/test/ELF/conflict-debug-variable2.s
The file was modifiedlld/test/COFF/undefined-symbol-dwarf.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
Commit 3a59628f3cc26eb085acfc9cbdc97243ef71a6c5 by flo
Revert "[DSE] Switch to MemorySSA-backed DSE by default."

This reverts commit fb109c42d91c30c8c7497ef1fd7aff6f2969c6e7.

Temporarily revert due to a mis-compile pointed out at D87163.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/dominate.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-simple.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/atomic.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/memset-and-memcpy.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-partial.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/const-pointers.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/debuginfo.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/int_sideeffect.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/merge-stores-big-endian.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-loops.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/fence.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/mda-with-dbg-values.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-memintrinsics.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/combined-partial-overwrites.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-multipath.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/OverwriteStoreBegin.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/overlap.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/libcalls.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/simple.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/calloc-store.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-malloc-free.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/2011-03-25-DSEMiscompile.ll
The file was modifiedllvm/test/Transforms/Coroutines/ArgAddr.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/OverwriteStoreEnd.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/atomic-todo.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/cs-cs-aliasing.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/2011-09-06-EndOfFunction.ll
The file was modifiedllvm/test/Other/new-pm-defaults.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/lifetime.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/launder.invariant.group.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/merge-stores.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/operand-bundles.ll
The file was modifiedllvm/test/Analysis/BasicAA/modref.ll
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/2011-09-06-MemCpy.ll
The file was modifiedllvm/test/Transforms/Coroutines/coro-retcon.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-throwing.ll
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/Other/new-pm-lto-defaults.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-captures.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/2016-07-17-UseAfterFree.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/atomic-overlapping.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/memcpy-complete-overwrite.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-overlap.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-unreachable.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-memoryphis.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/memoryssa-scan-limit.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/inst-limits.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/memset-unknown-sizes.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/free.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/noop-stores.ll
The file was modifiedclang/test/CodeGenObjC/exceptions.m
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/invariant.start.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/simple-preservation.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/debug-counter.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/memset-missing-debugloc.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/X86/gather-null-pointer.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/simple-todo.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/PartialStore2.ll
The file was modifiedllvm/test/Transforms/MemCpyOpt/memcpy.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/memintrinsics.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/pr47285-not-overwritten-on-all-exit-paths.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-multipath-throwing.ll
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/crash.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/tail-byval.ll
The file was modifiedclang/test/CodeGen/thinlto-distributed-newpm.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/pr11390.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/stats.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/PartialStore.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-exceptions.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/no-targetdata.ll
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/fence-todo.ll
Commit 03f1516d6075f42dce95bcf9fde3f6fde97abd35 by i
[MemoryBuffer] Revert unintended MemoryBuffer change from D86996

Fixes SupportsTest MemoryBufferTest.mmapVolatileNoNull
The file was modifiedllvm/lib/Support/MemoryBuffer.cpp
Commit 3bc3983f229f9277d5bea3692b691f72ab8740dd by nemanja.i.ibm
Fix bot failure after ccb4124a4172

The test case has a check line for the option on a line that includes
the string lld surrounded by any characters. This causes failures
when said string is in the build path. What the test case presumably
means to test is the actual invocation of the LLD linker (i.e. a
linker that has that string as a suffix). This patch simply removes
the erroneous wildcard after the string.
The file was modifiedclang/test/Driver/hip-gz-options.hip
Commit 738bab743b5c6cfcf1a1feb116de9e35a3f1e326 by alexey.bataev
[OPENMP]Add support for allocate vars in untied tasks.

Local vars, marked with pragma allocate, mustbe allocate by the call of
the runtime function and cannot be allocated as other local variables.
Instead, we allocate a space for the pointer in private record and store
the address, returned by kmpc_alloc call in this pointer.
So, for untied tasks

```
#pragma omp task untied
{
   S s;
    #pragma omp allocate(s) allocator(allocator)
   s = x;
}
```
compiler generates something like this:
```
struct task_with_privates {
  S *ptr;
};

void entry(task_with_privates *p) {
  S *s = p->s;
  switch(partid) {
  case 1:
    p->s = (S*)kmpc_alloc();
    kmpc_omp_task();
    br exit;
  case 2:
    *s = x;
    kmpc_omp_task();
    br exit;
  case 2:
    ~S(s);
    kmpc_free((void*)s);
    br exit;
  }
exit:
}
```

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D86558
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/test/OpenMP/for_lastprivate_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/test/OpenMP/for_reduction_codegen_UDR.cpp
The file was modifiedclang/test/OpenMP/parallel_firstprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/for_linear_codegen.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/parallel_private_codegen.cpp
The file was modifiedclang/test/OpenMP/allocate_codegen.cpp
Commit 54e1bf115429fa28f9783da92f310a4ea991e7c4 by aeubanks
[LoopAccessAnalysis][NewPM] Fix tests to work under NPM

Pin RUN lines with -analyze to legacy PM, add corresponding NPM RUN lines.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D87662
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/pointer-with-unknown-bounds.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/resort-to-memchecks-only.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/reverse-memcheck-bounds.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/pr31098.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/underlying-objects-1.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks-convergent.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/independent-interleaved.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/store-to-invariant-check2.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/backward-dep-different-types.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/memcheck-off-by-one-error.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/nullptr.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/store-to-invariant-check1.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/number-of-memchecks.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/forward-loop-independent.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/store-to-invariant-check3.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/underlying-objects-2.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/forward-loop-carried.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/non-wrapping-pointer.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/memcheck-for-loop-invariant.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/memcheck-wrapping-pointers.ll
The file was modifiedllvm/test/Analysis/LoopAccessAnalysis/safe-no-checks.ll
Commit 6f66ad13c50ceeaee5c63b1ab47cb1d2a5390500 by aeubanks
[DependenceAnalysis][NewPM] Fix tests to work under NPM

All tests had corresponding NPM lines, simply pin non-NPM lines to legacy PM.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D87665
The file was modifiedllvm/test/Analysis/DependenceAnalysis/BasePtrBug.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/NonAffineExpr.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/StrongSIV.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/ZIV.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/AA.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/Propagating.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/Invariant.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/MIVCheckConst.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/WeakZeroDstSIV.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/Preliminary.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/DADelin.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/WeakZeroSrcSIV.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/NonCanonicalizedSubscript.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/Separability.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheck.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheckFixedSize.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/ExactRDIV.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/GCD.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/ExactSIV.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/PR21585.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/Banerjee.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/UsefulGEP.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/SymbolicSIV.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/Constraints.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/Coupled.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/WeakCrossingSIV.ll
Commit e0c7641de65fb4dc27fcc44b2e4f2cd570e58bed by aeubanks
[RegionInfo][NewPM] Fix RegionInfo tests to work under NPM

Pin RUN lines with -analyze to legacy PM, add corresponding NPM RUN line if missing.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87658
The file was modifiedllvm/test/Analysis/RegionInfo/condition_simple.ll
The file was modifiedllvm/test/Analysis/RegionInfo/paper.ll
The file was modifiedllvm/test/Analysis/RegionInfo/infinite_loop_5_b.ll
The file was modifiedllvm/test/Analysis/RegionInfo/loops_2.ll
The file was modifiedllvm/test/Analysis/RegionInfo/bad_node_traversal.ll
The file was modifiedllvm/test/Analysis/RegionInfo/exit_in_condition.ll
The file was modifiedllvm/test/Analysis/RegionInfo/loops_1.ll
The file was modifiedllvm/test/Analysis/RegionInfo/condition_forward_edge.ll
The file was modifiedllvm/test/Analysis/RegionInfo/infinite_loop_5_c.ll
The file was modifiedllvm/test/Analysis/RegionInfo/two_loops_same_header.ll
The file was modifiedllvm/test/Analysis/RegionInfo/next.ll
The file was modifiedllvm/test/Analysis/RegionInfo/cond_loop.ll
The file was modifiedllvm/test/Analysis/RegionInfo/outgoing_edge_1.ll
The file was modifiedllvm/test/Analysis/RegionInfo/condition_complicated_2.ll
The file was modifiedllvm/test/Analysis/RegionInfo/mix_1.ll
The file was modifiedllvm/test/Analysis/RegionInfo/multiple_exiting_edge.ll
The file was modifiedllvm/test/Analysis/RegionInfo/infinite_loop_5_a.ll
The file was modifiedllvm/test/Analysis/RegionInfo/nested_loops.ll
The file was modifiedllvm/test/Analysis/RegionInfo/infinite_loop_4.ll
The file was modifiedllvm/test/Analysis/RegionInfo/block_sort.ll
The file was modifiedllvm/test/Analysis/RegionInfo/outgoing_edge.ll
The file was modifiedllvm/test/Analysis/RegionInfo/infinite_loop_2.ll
The file was modifiedllvm/test/Analysis/RegionInfo/condition_same_exit.ll
The file was modifiedllvm/test/Analysis/RegionInfo/loop_with_condition.ll
The file was modifiedllvm/test/Analysis/RegionInfo/infinite_loop_3.ll
The file was modifiedllvm/test/Analysis/RegionInfo/condition_complicated.ll
The file was modifiedllvm/test/Analysis/RegionInfo/unreachable_bb.ll
The file was modifiedllvm/test/Analysis/RegionInfo/infinite_loop.ll
Commit 3f69b2140f55ace97c3b7819eb9c19fc682da998 by aeubanks
[NewPM][opt] Fix -globals-aa not being recognized as alias analysis in NPM

Was missing MODULE_ALIAS_ANALYSIS, previously only FUNCTION_ALIAS_ANALYSIS was taken into account.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87664
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Analysis/GlobalsModRef/comdat-ipo.ll
Commit 9853e84b54d2453f88490381c2ea37deeab1789d by aeubanks
[PostDominators][NewPM] Fix tests to work under NPM

Each test has a legacy PM pinned to legacy PM and a NPM RUN line.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87660
The file was modifiedllvm/test/Analysis/PostDominators/pr6047_a.ll
The file was modifiedllvm/test/Analysis/PostDominators/pr1098.ll
The file was modifiedllvm/test/Analysis/PostDominators/pr6047_d.ll
The file was modifiedllvm/test/Analysis/PostDominators/pr6047_b.ll
The file was modifiedllvm/test/Analysis/PostDominators/pr6047_c.ll
The file was modifiedllvm/test/Analysis/PostDominators/infinite-loop.ll
The file was modifiedllvm/test/Analysis/PostDominators/infinite-loop3.ll
The file was modifiedllvm/test/Analysis/PostDominators/infinite-loop2.ll
The file was modifiedllvm/test/Analysis/PostDominators/pr24415.ll
Commit d9c9a74d0dc5b64c7c8496294ed962d7ce332337 by Louis Dionne
[libc++] Add missing friend keyword

Otherwise, we're declaring a non-static member function, and that
gives errors in C++11 because of the change of semantics between
C++11 and C++14 for non-const constexpr member functions.

This was always intended to be a friend declaration.
The file was modifiedlibcxx/include/iterator
Commit 05134877e64ded64f6c3064173b98893b1ac5fb5 by craig.topper
[X86] Use Align in reduceMaskedLoadToScalarLoad/reduceMaskedStoreToScalarStore. Correct pointer info.

If we offset the pointer, we also need to offset the pointer info

Differential Revision: https://reviews.llvm.org/D87593
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vmaskmov-offset.ll
Commit ca76d6e94a30b8fe11a63d3a55d3903c7cd25b5d by aeubanks
[Bugpoint][NewPM] Pin bugpoint to legacy PM

Bugpoint has lots of assumptions and hacks around the legacy PM, put off migrating it to NPM until later.
Fixes tests under BugPoint under NPM.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D87655
The file was modifiedllvm/tools/bugpoint/OptimizerDriver.cpp
The file was modifiedllvm/test/BugPoint/unsymbolized.ll
Commit 3d42d549554889ca182e1f3d31b23fa1383c6678 by flo
[ConstraintElimination] Add constraint elimination pass.

This patch is a first draft of a new pass that adds a more flexible way
to eliminate compares based on more complex constraints collected from
dominating conditions.

In particular, it aims at simplifying conditions of the forms below
using a forward propagation approach, rather than instcomine-style
ad-hoc backwards walking of def-use chains.

    if (x < y)
      if (y < z)
        if (x < z) <- simplify

or

    if (x + 2 < y)
        if (x + 1 < y) <- simplify assuming no wraps

The general approach is to collect conditions and blocks, sort them by
dominance and then iterate over the sorted list. Conditions are turned
into a linear inequality and add it to a system containing the linear
inequalities that hold on entry to the block. For blocks, we check each
compare against the system and see if it is implied by the constraints
in the system.

We also keep a stack of processed conditions and remove conditions from
the stack and the constraint system once they go out-of-scope (= do not
dominate the current block any longer).

Currently there still are the least the following areas for improvements

* Currently large unsigned constants cannot be added to the system
  (coefficients must be represented as integers)
* The way constraints are managed currently is not very optimized.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D84547
The file was modifiedllvm/lib/Transforms/Scalar/CMakeLists.txt
The file was modifiedllvm/test/Transforms/ConstraintElimination/geps.ll
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/test/Transforms/ConstraintElimination/dom.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/ugt-ule.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/mixed.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/geps.2d.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/i128.ll
The file was modifiedllvm/test/Transforms/ConstraintElimination/loops.ll
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/test/Transforms/ConstraintElimination/ule.ll
The file was addedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp
The file was modifiedllvm/test/Transforms/ConstraintElimination/uge.ll
The file was modifiedllvm/include/llvm/Analysis/ConstraintSystem.h
The file was modifiedllvm/include/llvm/Transforms/Scalar.h
Commit 32a61531b8181b1fdfa058803444f73ae6ab29ff by llvmgnsyncbot
[gn build] Port 3d42d549554
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn
Commit 79f22b1f99fd72db9a45c387258d289791f2b9c0 by gclayton
Fix .debug_aranges parsing.

Code was added that used llvm error checking to parse .debug_aranges, but the error check after parsing the DWARFDebugArangesSet was reversed and was causing no error to be returned with no valid address ranges being actually used. This meant we always would fall back onto creating out own address ranges by parsing the compile unit's ranges. This was causing problems for cases where the DW_TAG_compile_unit had a single address range by using a DW_AT_low_pc and DW_AT_high_pc attribute pair (not using a DW_AT_ranges attribute), but the .debug_aranges had correct split ranges. In this case we would end up using the single range for the compile unit that encompassed all of the ranges from the .debug_aranges section and would cause address resolving issues in LLDB where address lookups would fail for certain addresses.

Differential Revision: https://reviews.llvm.org/D87626
The file was modifiedlldb/unittests/SymbolFile/DWARF/SymbolFileDWARFTests.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp
Commit d158e786ccd33f8c9fc3ab008dd9463e252fa36a by aeubanks
[DemandedBits][NewPM] Pin some tests to legacy PM

All tests have corresponding NPM RUN lines.
-analyze doesn't work under NPM.
The file was modifiedllvm/test/Analysis/DemandedBits/vectors.ll
The file was modifiedllvm/test/Analysis/DemandedBits/intrinsics.ll
The file was modifiedllvm/test/Analysis/DemandedBits/basic.ll
The file was modifiedllvm/test/Analysis/DemandedBits/add.ll
Commit 558e5c31b66e114f164ad798de1f26b49042ed5e by aeubanks
[Dominators][NewPM] Pin tests with -analyze to legacy PM

-analyze isn't supported in NPM. All affected tests have corresponding
NPM RUN line.
The file was modifiedllvm/test/Analysis/Dominators/2006-10-02-BreakCritEdges.ll
The file was modifiedllvm/test/Analysis/Dominators/basic.ll
Commit 583c8ce30c12511a814a1db2923b9809f2a15c54 by Louis Dionne
[libc++] Fix broken test for std::any and allocators

The test was not allocating the right number of bytes. This is my fault,
not Marshall's, as I was the one to write the tests for 39c879514170.
The file was modifiedlibcxx/test/libcxx/utilities/any/allocator.pass.cpp
Commit 69f98311ca42127df92527b6fc3be99841a15f12 by development
[ASTMatchers] extract public matchers from const-analysis into own patch

The analysis for const-ness of local variables required a view generally useful
matchers that are extracted into its own patch.

They are decompositionDecl and forEachArgumentWithParamType, that works
for calls through function pointers as well.

This is a reupload of https://reviews.llvm.org/D72505, that already landed,
but had to be reverted due to a GCC crash on powerpc
(https://reviews.llvm.org/rG4c48ea68e491cb42f1b5d43ffba89f6a7f0dadc4)

Because this took a long time to adress, i decided to redo this patch and
have a clean workflow.
I try to coordinate with someone that has a PPC to apply this patch and
test for the crash. If everything is fine, I intend to just commit.
If the crash is still happening, i hope to at least find the cause.

Differential Revision: https://reviews.llvm.org/D87588
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Commit f975ae4867d1fdfaba11a3ec7e479da8fbfd82d8 by zequanwu
[CodeGen][typeid] Emit typeinfo directly if type is known at compile-time

Differential Revision: https://reviews.llvm.org/D87425
The file was modifiedclang/lib/CodeGen/CGExprCXX.cpp
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-typeid.cpp
The file was modifiedclang/lib/AST/ExprCXX.cpp
Commit 05aa997d511eed530305e2f3aa401584d0691186 by conanap
[PowerPC] Implement __int128 vector divide operations

This patch implements __int128 vector divide operations for ISA3.1.

Differential Revision: https://reviews.llvm.org/D85453
The file was modifiedclang/lib/Headers/altivec.h
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/test/CodeGen/PowerPC/p10-vector-divide.ll
Commit d417488ef5a6cd1089900defcd6d5ae5a1d47fd4 by dancgr
[AArch64][SVE] Add lowering for llvm fsqrt

Add the functionality to lower fsqrt for passthru variant

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D87707
The file was modifiedllvm/test/CodeGen/AArch64/sve-fp.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit f1a3ab904439a63b21ba1c4521765c46630687c6 by snehasishk
[clang] Add a command line flag for the Machine Function Splitter.

This patch adds a command line flag for the machine function splitter
(added in rG94faadaca4e1).

-fsplit-machine-functions
Split machine functions using profile information (x86 ELF). On
other targets an error is emitted. If profile information is not
provided a warning is emitted notifying the user that profile
information is required.

Differential Revision: https://reviews.llvm.org/D87047
The file was addedclang/test/Driver/fsplit-machine-functions.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 7d6ca2ec57073b9eabe6808ff1fe0560586c5ffb by Matthew.Arsenault
InferAddressSpaces: Fix assert with unreachable code

Invalid IR in unreachable code is technically valid IR. In this case,
the address space of the value was never inferred, and we tried to
rewrite it with an invalid address space value which would assert.
The file was modifiedllvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
The file was addedllvm/test/Transforms/InferAddressSpaces/AMDGPU/unreachable-code-assert.ll
The file was addedllvm/test/Transforms/InferAddressSpaces/AMDGPU/self-phi.ll
Commit 38ecd6161993ea9632efe0c0bf304bf6c2dee98f by Matthew.Arsenault
[TableGen] Fix invalid comparison function `SizeOrder` in `getMatchingSubClassWithSubRegs`

Building LLVM with -DEXPENSIVE_CHECKS fails with the following error
message with libstdc++ in debug mode:

Error: comparison doesn't meet irreflexive requirements,
assert(!(a < a)).

The patch fixes the comparison function SizeOrder by returning false
when comparing two equal items.
The file was modifiedllvm/utils/TableGen/CodeGenRegisters.cpp
Commit 516a01b5f36d4188778a34202cd11856d70ac808 by srhines
Implement __isOSVersionAtLeast for Android

Add the implementation of __isOSVersionAtLeast for Android. Currently,
only the major version is checked against the API level of the platform
which is an integer. The API level is retrieved by reading the system
property ro.build.version.sdk (and optionally ro.build.version.codename
to see if the platform is released or not).

Patch by jiyong@google.com

Bug: 150860940
Bug: 134795810
Test: m

Reviewed By: srhines

Differential Revision: https://reviews.llvm.org/D86596
The file was modifiedcompiler-rt/lib/builtins/os_version_check.c
Commit 00ba1a3de7faad80f7bb75d07a1a5da09a009895 by gchatelet
[libc] remove useless headers
The file was modifiedlibc/src/string/memcpy.h
The file was modifiedlibc/src/string/memset.h
Commit 3b7f5166bd11fc6cbf96597d26753e8c3fc0e6ab by huihuiz
[SLPVectorizer][SVE] Skip scalable-vector instructions before vectorizeSimpleInstructions.

For scalable type, the aggregated size is unknown at compile-time.
Skip instructions with scalable type to ensure the list of instructions
for vectorizeSimpleInstructions does not contains any scalable-vector instructions.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D87550
The file was addedllvm/test/Transforms/SLPVectorizer/AArch64/insertelement.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit c19fda9aa073254c0979301bd57d875608329fa2 by gchatelet
[libc] use stddef instead of string header
The file was modifiedlibc/src/string/bzero.h
Commit 7d26d6a1b062f7ce820b02b39d102d5f8f15fa5f by Saleem Abdulrasool
Sema: add support for `__attribute__((__swift_bridged_typedef__))`

Extend the semantic attributes that clang processes for Swift to include
`swift_bridged_typedef`.  This attribute enables typedefs to be bridged
into Swift with a bridged name.

This is based on the work of the original changes in
https://github.com/llvm/llvm-project-staging/commit/8afaf3aad2af43cfedca7a24cd817848c4e95c0c

Differential Revision: https://reviews.llvm.org/D87396
Reviewed By: Aaron Ballman
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/Misc/pragma-attribute-supported-attributes-list.test
The file was addedclang/test/AST/attr-swift_bridged_typedef.mm
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/include/clang/Basic/Attr.td
The file was addedclang/test/AST/attr-swift_bridged_typedef.m
The file was addedclang/test/SemaObjC/attr-swift_bridged_typedef.m
Commit c3fd2a50ba1395b6c2240f6a688c6a1aa975a1fe by gchatelet
[libc] Remove special case for 8 and 16 bytes

They don't seem to gain much in real apps and its better to favor less branches and smaller code.
The file was modifiedlibc/src/string/x86/memcpy.cpp
The file was modifiedlibc/src/string/memcpy.cpp
Commit 609f5e050cea760694a46e126e5aa3f62660cae9 by diego.caballero
[mlir] Rename 'setInsertionPointAfter' to avoid ambiguity

Rename 'setInsertionPointAfter(Value)' API to avoid ambiguity with
'setInsertionPointAfter(Operation *)' for SingleResult operations which
implicitly convert to Value (see D86756).

Differential Revision: https://reviews.llvm.org/D87155
The file was modifiedmlir/include/mlir/IR/Builders.h
The file was modifiedmlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
Commit 9e3842d60351f986d77dfe0a94f76e4fd895f188 by a.bataev
[OPENMP]Fix codegen for is_device_ptr component, captured by reference.

Need to map the component as TO instead of the literal, because need to
pass a reference to a component if the pointer is overaligned.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D84887
The file was modifiedclang/test/OpenMP/target_is_device_ptr_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit c3e6054b07be1340fb255abe1e3c85b911710059 by huberjn
[OpenMP] Additional Information for Libomptarget Mappings

Summary:
This patch adds additonal support for priting infromation from Libomptarget for
already existing maps and printing the final data mapped on the device at
device destruction.

Reviewers: jdoerfort gkistanova

Subscribers: guansong openmp-commits sstefan1 yaxunl

Tags: #OpenMP

Differential Revision: https://reviews.llvm.org/D87722
The file was modifiedopenmp/libomptarget/src/private.h
The file was modifiedopenmp/libomptarget/src/interface.cpp
The file was modifiedopenmp/libomptarget/src/device.cpp
Commit 7b4cc0961b142877794645576d2393af43c48069 by xun
[TSAN] Handle musttail call properly in EscapeEnumerator (and TSAN)

Call instructions with musttail tag must be optimized as a tailcall, otherwise could lead to incorrect program behavior.
When TSAN is instrumenting functions, it broke the contract by adding a call to the tsan exit function inbetween the musttail call and return instruction, and also inserted exception handling code.
This happend throguh EscapeEnumerator, which adds exception handling code and returns ret instructions as the place to insert instrumentation calls.
This becomes especially problematic for coroutines, because coroutines rely on tail calls to do symmetric transfers properly.
To fix this, this patch moves the location to insert instrumentation calls prior to the musttail call for ret instructions that are following musttail calls, and also does not handle exception for musttail calls.

Differential Revision: https://reviews.llvm.org/D87620
The file was addedllvm/test/Instrumentation/ThreadSanitizer/tsan_musttail.ll
The file was modifiedllvm/lib/Transforms/Utils/EscapeEnumerator.cpp
Commit 277de43d88c9d0d57235e3df617d462487e17e20 by Stanislav.Mekhanoshin
[AMDGPU] Unify intrinsic ret/nortn interface

We have a single noret intrinsic an a lot of special handling
around it. Declare it just as any other but do not define rtn
instructions itself instead.

Differential Revision: https://reviews.llvm.org/D87719
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
The file was modifiedllvm/test/CodeGen/AMDGPU/fail-select-buffer-atomic-fadd.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-s-buffer-load.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.atomic.fadd.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.fadd.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd-with-ret.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsAMDGPU.td
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.fadd-with-ret.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.atomic.fadd.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/buffer-intrinsics-mmo-offsets.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/global-saddr-atomics.gfx908.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/shl_add_ptr_global.ll
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.atomic.fadd.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.atomic.fadd.ll
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
Commit a4e35cc2ec1036832e7626191f8b9f0e3169477c by vkeles
GlobalISel: Add combines for G_TRUNC

https://reviews.llvm.org/D87050
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/combine-trunc.mir
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/xnor.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
Commit ae726fecae9a1cc9c50de5a9f6e860056f82c556 by Jan Korous
[SourceManager] Explicitly check for potential iterator underflow

Differential Revision: https://reviews.llvm.org/D86231
The file was modifiedclang/lib/Basic/SourceManager.cpp
Commit 61fc10d6a520f267e11009ce8fce88d73615796b by mtrofin
[ThinLTO] add post-thinlto-merge option to -lto-embed-bitcode

This will embed bitcode after (Thin)LTO merge, but before optimizations.
In the case the thinlto backend is called from clang, the .llvmcmd
section is also produced. Doing so in the case where the caller is the
linker doesn't yet have a motivation, and would require plumbing through
command line args.

Differential Revision: https://reviews.llvm.org/D87636
The file was modifiedllvm/test/LTO/X86/Inputs/start-lib1.ll
The file was modifiedllvm/test/LTO/X86/embed-bitcode.ll
The file was modifiedllvm/include/llvm/LTO/LTOBackend.h
The file was addedclang/test/CodeGen/Inputs/start-lib1.ll
The file was addedclang/test/CodeGen/Inputs/start-lib2.ll
The file was modifiedllvm/lib/LTO/LTOBackend.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was addedclang/test/CodeGen/thinlto_embed_bitcode.ll
Commit 97203cfd6bae0388f9dd22ddca592737324a2c72 by aditya_nandakumar
[GISel] Add new GISel combiners for G_MUL

https://reviews.llvm.org/D87668

Patch adds two new GICombinerRules, one for G_MUL(X, 1) and another for G_MUL(X, -1).
G_MUL(X, 1) is an identity combine, and G_MUL(X, -1) gets replaced with G_SUB(0, X).
Patch additionally adds new combiner tests for the AArch64 target to test these
new combiner rules, as well as updates AMDGPU GISel tests.

Patch by mkitzan
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/combine-mul.mir
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Commit 2ea4c2c598b7c6f95b5d4db747bdf72770e586df by aktoon
[BFI] Make BFI information available through loop passes inside LoopStandardAnalysisResults

~~D65060 uncovered that trying to use BFI in loop passes can lead to non-deterministic behavior when blocks are re-used while retaining old BFI data.~~

~~To make sure BFI is preserved through loop passes a Value Handle (VH) callback is registered on blocks themselves. When a block is freed it now also wipes out the accompanying BFI entry such that stale BFI data can no longer persist resolving the determinism issue. ~~

~~An optimistic approach would be to incrementally update BFI information throughout the loop passes rather than only invalidating them on removed blocks. The issues with that are:~~
~~1. It is not clear how BFI information should be incrementally updated: If a block is duplicated does its BFI information come with? How about if it's split/modified/moved around? ~~
~~2. Assuming we can address these problems the implementation here will be a massive undertaking. ~~

~~There's a known need of BFI in LICM analysis which requires correct but not incrementally updated BFI data. A follow-up change can register BFI in all loop passes so this preserved but potentially lossy data is available to any loop pass that wants it.~~

See: D75341 for an identical implementation of preserving BFI via VH callbacks. The previous statements do still apply but this change no longer has to be in this diff because it's already upstream 😄 .

This diff also moves BFI to be a part of LoopStandardAnalysisResults since the previous method using getCachedResults now (correctly!) statically asserts (D72893) that this data isn't static through the loop passes.

Testing
Ninja check

Reviewed By: asbirlea, nikic

Differential Revision: https://reviews.llvm.org/D86156
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnswitch.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline-enable-matrix.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopPassManager.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopDistribute.cpp
The file was modifiedllvm/include/llvm/Analysis/LoopAnalysisManager.h
The file was modifiedllvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopVersioning.cpp
Commit 50ee05ab65db2ab262436ee0f92f7888607a89f3 by alexandre.ganea
[llvm][cmake] Change LLVM_INTEGRATED_CRT_ALLOC to a path instead of a boolean

Differential Revision: https://reviews.llvm.org/D87609
The file was modifiedllvm/CMakeLists.txt
Commit 79378b1b757d5c981e60320f5a735f3e356557a0 by vkeles
GlobalISel: Fix a failing combiner test

test/CodeGen/AArch64/GlobalISel/combine-trunc.mir was failing
due to the different order for evaluating function arguments.
This patch updates the related code to fix the issue.
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Commit 91332c4dbb033f7d1ffa1a9632012d88b08661c4 by aeubanks
[CGSCC][NewPM] Fix adding mutually recursive new functions

When adding a new function via addNewFunctionIntoRefSCC(), it creates a
new node and immediately populates the edges. Since populateSlow() calls
G->get() on all referenced functions, it will create a node (but not
populate it) for functions that haven't yet been added. If we add two
mutually recursive functions, the assert that the node should never have
been created will fire when the second function is added. So here we
remove that assert since the node may have already been created (but not
yet populated).

createNode() is only called from addNewFunctionInto{,Ref}SCC().

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

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D87623
The file was modifiedllvm/unittests/Analysis/CGSCCPassManagerTest.cpp
The file was modifiedllvm/lib/Analysis/LazyCallGraph.cpp
Commit ffe9986de4297fdeddcd0b0b9bac2a28c45f661b by Jessica Paquette
[AArch64][GlobalISel] Refactor + improve CMN, ADDS, and ADD emit functions

These functions were extremely similar:

- `emitADD`
- `emitADDS`
- `emitCMN`

Refactor them a little, introducing a more generic `emitInstr` function to
do most of the work.

Also add support for the immediate + shifted register addressing modes in each
of them.

Update select-uaddo.mir to show that selecing ADDS now supports folding
immediates + shifts. (I don't think this can impact CMN, because the CMN checks
require a G_SUB with a non-constant on the RHS.)

This is around a 0.02% code size improvement on CTMark at -O3.

Differential Revision: https://reviews.llvm.org/D87529
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-uaddo.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Commit 2c391a5a14aeb34e970aba85c5aa540656fe47ca by aktoon
[LICM] Make Loop ICM profile aware again

D65060 was reverted because it introduced non-determinism by using BFI counts from already freed blocks. The parent of this revision fixes that by using a VH callback on blocks to prevent this from happening and makes sure BFI data is passed correctly in LoopStandardAnalysisResults.

This re-introduces the previous optimization of using BFI data to prevent LICM from hoisting/sinking if the instruction will end up moving to a colder block.

Internally at Facebook this change results in a ~7% win in a CPU related metric in one of our big services by preventing hoisting cold code into a hot pre-header like the added test case demonstrates.

Testing:
ninja check

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87551
The file was modifiedllvm/include/llvm/Transforms/Utils/LoopUtils.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was addedllvm/test/Transforms/LICM/no-hoist-prof.ll
The file was addedllvm/test/Transforms/LICM/Inputs/no-hoist-prof.prof
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/test/Transforms/LICM/sink.ll
Commit 056534dc2b15ed1d276bead76f054cc7ac9d2bf1 by aktoon
SVML support for log10, sqrt

Although LLVM supports vectorization of loops containing log10/sqrt, it did not support using SVML implementation of it. Added support so that when clang is invoked with -fveclib=SVML now an appropriate SVML library log2 implementation will be invoked.

Follow up on: https://reviews.llvm.org/D77114

Tests:
Added unit tests to svml-calls.ll, svml-calls-finite.ll. Can be run with llvm-lint.
Created a simple c++ file that tests log10/sqrt, and used clang+ to build it, and output final assembly.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D87169
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/svml-calls-finite.ll
The file was modifiedllvm/include/llvm/Analysis/VecFuncs.def
The file was modifiedllvm/test/Transforms/Util/add-TLI-mappings.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/svml-calls.ll
Commit f7aa1563eb5ff00416fba373073ba19832b6fc34 by aeubanks
[LowerSwitch][NewPM] Port lowerswitch to NPM

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D87726
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Scalar/StructurizeCFG.cpp
The file was modifiedllvm/lib/Transforms/Utils/LowerSwitch.cpp
The file was modifiedllvm/test/Transforms/LowerSwitch/feature.ll
The file was modifiedllvm/lib/Transforms/Utils/FixIrreducible.cpp
The file was addedllvm/include/llvm/Transforms/Utils/LowerSwitch.h
The file was modifiedllvm/lib/Transforms/Utils/UnifyLoopExits.cpp
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp
Commit ba12e77ec16b38a4498610c6b8cdeb1a7e8a6aae by aeubanks
[NewPM] Port strip* passes to NPM

strip-nondebug and strip-debug-declare have no existing associated tests

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D87639
The file was modifiedllvm/test/Transforms/StripSymbols/strip-dead-debug-info.ll
The file was modifiedllvm/test/Transforms/StripSymbols/2007-01-15-llvm.used.ll
The file was modifiedllvm/lib/Transforms/IPO/StripSymbols.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was addedllvm/include/llvm/Transforms/IPO/StripSymbols.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit 5f4abb7fab1c6a87f059ed8732fd12b237f4805d by kparzysz
[Hexagon] Replace incorrect pattern for vpackl HWI32 -> HVi8

V6_vdealb4w is not correct for pairs, use V6_vpackeh/V6_vpackeb instead.
The file was modifiedllvm/test/CodeGen/Hexagon/autohvx/widen-trunc.ll
The file was modifiedllvm/test/CodeGen/Hexagon/autohvx/isel-widen-truncate-pair.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatternsHVX.td
Commit 1b88845ce1b7731a062c3d1fcc80d201c70e4a44 by rnk
[PDB] Drop LF_PRECOMP from debugTypes earlier

This is a minor simplification to avoid firing up a BinaryStreamReader
and CVType parser.
The file was modifiedlld/COFF/DebugTypes.cpp
The file was modifiedlld/COFF/InputFiles.cpp
Commit 3b3ca5c989f9f8e29e4b8b10e77eb08c2b822533 by asbirlea
Fix test after D86156.
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
Commit 2ce1a697f037469e737db1ad41dfa14ec653ec53 by craig.topper
[X86] Always use 16-bit displacement in 16-bit mode when there is no base or index register.

Previously we only did this if the immediate fit in 16 bits, but
the GNU assembler seems to just truncate.

Fixes PR46952
The file was modifiedllvm/test/MC/X86/x86-16.s
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
Commit 3b38062d1c8b6965ded5b6bc686db63f1a59e818 by aeubanks
[NewPM] Fix 2003-02-19-LoopInfoNestingBug.ll under NPM

Also move it to a more appropriate directory.
The file was addedllvm/test/Analysis/LoopInfo/2003-02-19-LoopInfoNestingBug.ll
The file was removedllvm/test/Other/2003-02-19-LoopInfoNestingBug.ll
Commit b1b187a1386e5d7bfecb2a63dc8c654583684e22 by aeubanks
[NewPM][SCEV] Fix constant-fold-gep.ll under NPM
The file was modifiedllvm/test/Other/constant-fold-gep.ll
Commit bb371f8ce8c2fc77e0ab6c87d253a1d1db00d0eb by aeubanks
[NewPM] Fix opt-hot-cold-split.ll under NPM

Pin to legacy PM, there are already NPM RUN lines.
The file was modifiedllvm/test/Other/opt-hot-cold-split.ll
Commit 37c5dbb31a2fa9aa6618efe56ab0d6cd8f358957 by joker.eph
Fully qualify some more namespace in MLIR ODS to be more friendly to dialects not defined under the mlir namespace (NFC)
The file was modifiedmlir/include/mlir/Interfaces/SideEffectInterfaces.td
Commit 00f09dd4c13d7e86d07728ba03700a18e9013adf by serguei.katkov
[InstCombine] Add tests for statepoint simplification

This tests increase coverage for change introduced in D85959

Reviewers: reames, reames
Reviewed By: reames
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D87224
The file was addedllvm/test/Transforms/InstCombine/statepoint-cleanup.ll
Commit 8a04cdb510c89b8c6419d6ce1e98967d7ac9abb2 by mkazantsev
[Test] Add signed version of a test
The file was modifiedllvm/test/Transforms/IndVarSimplify/predicated_ranges.ll
Commit 96c6d012dfe2492891d0f0450dd7cd5f3c1ca88c by Zinovy Nis
[clang-tidy] Fix crash in modernize-use-noexcept on uninstantiated throw class

Bug: https://bugs.llvm.org/show_bug.cgi?id=47446

Differential Revision: https://reviews.llvm.org/D87627
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseNoexceptCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-use-noexcept-opt.cpp
Commit 757ac4ccfb8b024454b4f445a2b5c8985da5dc8a by davelee.com
[lldb] Reword CompilerType docstring to not say "generic type"

Since "generic type" has a precise meaning in some languages, reword the docstring of `CompilerType` to avoid ambiguity.

Differential Revision: https://reviews.llvm.org/D87633
The file was modifiedlldb/include/lldb/Symbol/CompilerType.h
Commit 9c40495a35a2cac89dd72db54892d6bd7a2abf0d by uday
[MLIR][NFC] Value print update for block arguments

Emit some more information when printing/dumping `Value`s of
`BlockArgument` kind. This is purely to help for debugging purposes.

Differential Revision: https://reviews.llvm.org/D87670
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
Commit 291bfff5dbb70360730e91b4019f8080e4e3d7f5 by jano.vesely
libclc: Add a __builtin to let SPIRV targets select between SW and HW FMA

Reviewer: jenatali jvesely
Differential Revision: https://reviews.llvm.org/D85910
The file was modifiedlibclc/spirv/lib/math/fma.cl
The file was modifiedlibclc/generic/lib/math/math.h
The file was modifiedlibclc/spirv64/lib/math/fma.cl
Commit 8ea7ef8eda93aa144c339275fc6d9db2615a0118 by mtrofin
[ThinLTO] Relax thinlto_embed_bitcode.ll check

Fixes fuscia test [1] - the thinlto annotations may not always be there.

[1] http://lab.llvm.org:8011/builders/fuchsia-x86_64-linux/builds/11312
The file was modifiedclang/test/CodeGen/thinlto_embed_bitcode.ll
Commit 3045b3c3b5dbc4192b9a4057ae165f238b84ddf6 by craig.topper
[X86] Add test case for non-power of 2 scatter. NFC
The file was modifiedllvm/test/CodeGen/X86/masked_gather_scatter.ll
Commit 41f4cd60d54d94e8dac4bbd8d9961dc8ad4a64fc by craig.topper
[X86] Don't scalarize gather/scatters with non-power of 2 element counts. Widen instead.

We can pad the mask with zeros in order to widen. We already do
this for power 2 types that are smaller than a legal type.
The file was modifiedllvm/test/CodeGen/X86/masked_gather_scatter.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit fc82006331228b6b16ea47cd8093ac145739044b by asbirlea
[MemorySSA] Set MustDominate to true for PhiTranslation.
The file was modifiedllvm/include/llvm/Analysis/MemorySSA.h
The file was modifiedllvm/test/Analysis/MemorySSA/phi-translation.ll
Commit 794467b916e87e8fb09380c67d0d433a29d93a2f by martin
[llvm-rc] Allow omitting components from VERSIONINFO versions

MS rc.exe doesn't require specifying all 4 components.

Differential Revision: https://reviews.llvm.org/D87570
The file was modifiedllvm/test/tools/llvm-rc/Inputs/tag-versioninfo.rc
The file was modifiedllvm/tools/llvm-rc/ResourceScriptParser.cpp
The file was modifiedllvm/test/tools/llvm-rc/tag-versioninfo.test
Commit 74d7356fc63bd1f42bbb20b793f21decf3c98a6e by martin
[llvm-rc] Update a comment. NFC.

Fix a typo and mention one missing step.
The file was modifiedllvm/tools/llvm-rc/ResourceFileWriter.cpp
Commit c913f6dce69513b430f705d5a1f4e745f5d0a27e by martin
[llvm-rc] Lowercase the option definitions. NFC.

This matches how such options are most commonly defined in other tools.

This was pointed out in an earlier review a few months ago, that
the llvm-rc td entries felt shouty.

The INCLUDE option is renamed to includepath, to avoid clashing with
the tablegen include directive.
The file was modifiedllvm/tools/llvm-rc/llvm-rc.cpp
The file was modifiedllvm/tools/llvm-rc/Opts.td
Commit 4171d5c30ad32282e6ca9027aeff01ef5ff2461b by Xing
[obj2yaml] Add support for dumping the .debug_addr(v5) section.

This patch adds support for dumping the .debug_addr(v5) section to
obj2yaml.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D87601
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h
The file was addedllvm/test/tools/obj2yaml/ELF/DWARF/debug-addr.yaml
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/tools/obj2yaml/obj2yaml.h
Commit d3d76039002cd879f7aba37f88fc7312cfc95531 by asbirlea
[MemorySSA] Report unoptimized as None, not MayAlias.
The file was modifiedllvm/test/Analysis/MemorySSA/pr43427.ll
The file was modifiedllvm/test/Analysis/MemorySSA/optimize-use.ll
The file was modifiedllvm/test/Analysis/MemorySSA/phi-translation.ll
The file was modifiedllvm/include/llvm/Analysis/MemorySSA.h
The file was modifiedllvm/unittests/Analysis/MemorySSATest.cpp
Commit 94f7d3dba3c0a6ffd3e8a3f87ae849890578cd88 by mkazantsev
[Test] Some more potential range check elimination opportunities
The file was modifiedllvm/test/Transforms/IndVarSimplify/predicated_ranges.ll
Commit af56be339f8c9660747794cc6755384154602535 by richard.barton
[flang] Fix docs build

Apply a local fix to an issue with recommonmark's AutoStructify extension
when used with certain versions of sphinx.

See https://github.com/readthedocs/recommonmark/issues/93

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D87714
The file was modifiedflang/docs/conf.py
Commit 6985135a43b62db2defc95367432069c9fddd094 by mkazantsev
[Test] Add positive range checks tests in addition to negative
The file was modifiedllvm/test/Transforms/IndVarSimplify/predicated_ranges.ll
Commit b42fa0c040961b3704e826ddc969c0e98238c3ba by Vitaly Buka
Revert "[Asan] Fix false leak report"

Additional investigated confirmed that issue is not about
AddrIsInside, but missing registers.

This reverts commit 9d01612db48fa27d18c6320974b8d711572e5c67.
The file was removedcompiler-rt/test/asan/TestCases/redzone_noleak.cpp
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp
Commit a8a85166d81f573af7ff325fdf93dd8bdfdeddbf by Vitaly Buka
Revert "[Asan] Accept __lsan_ignore_object for redzone pointer"

We still keep AddrIsInside.

This reverts commit 1d70984fa220f966ddcecd7906c5f10368fe1b93.
The file was modifiedcompiler-rt/test/asan/TestCases/lsan_annotations.cpp
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp
Commit 070b96962f517772fff4bf3c27cc825b46a136b5 by yvan.roux
[ARM][MachineOutliner] Add calls handling.

Handles calls inside outlined regions, by saving and restoring the link
register.

Differential Revision: https://reviews.llvm.org/D87136
The file was modifiedllvm/test/CodeGen/ARM/machine-outliner-default.mir
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Commit d427df6369f1d229a9f498b4dc621433ada380d2 by platonov.aleksandr
[clangd] Don't use zlib when it's unavailable.

Without this patch `clangd` crashes at try to load compressed string table when `zlib` is not available.
Example:
- Build `clangd` with MinGW (`zlib` found)
- Build index
- Build `clangd` with Visual Studio compiler (`zlib` not found)
- Try to load index

Reviewed By: sammccall, adamcz

Differential Revision: https://reviews.llvm.org/D87673
The file was modifiedclang-tools-extra/clangd/index/Serialization.cpp
Commit ef0b9f3307a1fa1c82b34098213ec854c1b5e608 by samuel.tebbs
[ARM][LowOverheadLoops] Combine a VCMP and VPST into a VPT

This patch combines a VCMP followed by a VPST into a VPT, which has the
same semantics as the combination of the former two.
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vcmp-vpst-combination.ll
Commit cb1ef0eaff8726a8c1fe4b8440f6734cbbe91630 by sjoerd.meijer
Follow up rG635b87511ec3: forgot to add/commit the new test file. NFC.
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-forced.ll
Commit 159abe09d25b19c24bf23ce50757987c0f25abe4 by AlokKumar.Sharma
[DebugInfo][flang] DISubrange support for fortran assumed size array

This is needed to support assumed size array of fortran which can have missing upperBound/count
, contrary to current DISubrange support.
Example:
subroutine sub (array1, array2)
  integer :: array1 (*)
  integer :: array2 (4:9, 10:*)

  array1(7:8) = 9
  array2(5, 10) = 10
end subroutine
Now the validation check is relaxed for fortran.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D87500
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.h
The file was addedllvm/test/DebugInfo/X86/assumed_size_array.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
Commit ef4851742de5e64a1ba9de51e375ac503d2d7ecb by grimar
[llvm-readobj][test] - Address a forgotten review comment for D86923.

Seems I've forgot to address this bit and this looks like a reason
of a failture on mac (http://45.33.8.238/mac/20491/step_11.txt).
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dyn-symbols-size-from-hash-table.test
Commit 3a0a2a6347f5a79ebfba2cc2b763dd02001d9baa by kbobyrev
[clangd] Implement hot index reloading for clangd-index-server

This patch adds a mechanism to load new versions of index into
clangd-index-server using SwapIndex and FileStatus information about last
modification time without downtime.

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D87450
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
Commit 6040e2a6d97d9f9445715dfc468c3112f40e2588 by andrew.ng
[Support] Add GlobPattern::isTrivialMatchAll()

GlobPattern::isTrivialMatchAll() returns true for the GlobPattern "*"
which will match all inputs.

This can be used to avoid performing expensive preparation of the input
for match() when the result of the match will always be true.

Differential Revision: https://reviews.llvm.org/D87468
The file was modifiedllvm/include/llvm/Support/GlobPattern.h
The file was modifiedllvm/unittests/Support/GlobPatternTest.cpp
Commit 77152a6b7ac07ce65568d7c69305653e7cad4bb0 by andrew.ng
[LLD][ELF] Optimize linker script filename glob pattern matching NFC

Optimize the filename glob pattern matching in
LinkerScript::computeInputSections() and LinkerScript::shouldKeep().

Add InputFile::getNameForScript() which gets and if required caches the
Inputfile's name used for linker script matching. This avoids the
overhead of name creation that was in getFilename() in LinkerScript.cpp.

Add InputSectionDescription::matchesFile() and
SectionPattern::excludesFile() which perform the glob pattern matching
for an InputFile and make use of a cache of the previous result. As both
computeInputSections() and shouldKeep() process sections in order and
the sections of the same InputFile are contiguous, these single entry
caches can significantly speed up performance for more complex glob
patterns.

These changes have been seen to reduce link time with --gc-sections by
up to ~40% with linker scripts that contain KEEP filename glob patterns
such as "*crtbegin*.o".

Differential Revision: https://reviews.llvm.org/D87469
The file was modifiedlld/ELF/InputFiles.h
The file was modifiedlld/ELF/InputFiles.cpp
The file was modifiedlld/ELF/LinkerScript.h
The file was modifiedlld/ELF/AArch64ErrataFix.h
The file was modifiedlld/ELF/ARMErrataFix.h
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/include/lld/Common/Strings.h
The file was modifiedlld/ELF/Relocations.h
Commit a8d02015fcb783d5fdf1e09edd1b9e152c5d19b7 by grimar
[llvm-readobj][test] - Improve section-symbols.test

`section-symbols.test` tests how we print section symbols in
different situations.

We might have 2 different cases:
1) A named STT_SECTION symbol.
2) An unnamed STT_SECTION symbol.

Usually section symbols have no name and then `--symbols` uses their
section names when prints them. If symbol has a name, then it is used.

For `--relocations` we also want to have this logic probably,
but currently we always ignore symbol names and always use section names.
It is not consistent with GNU readelf and with our logic for `--symbols`.

This patch refines testing to document the existent behavior and improve
coverage.

Differential revision: https://reviews.llvm.org/D87612
The file was modifiedllvm/test/tools/llvm-readobj/ELF/section-symbols.test
Commit ac2717bfdd0d36ce4b5c33661045a36db3c0cc45 by samuel.tebbs
[ARM][LowOverheadLoops] Fix tests after ef0b9f3

ef0b9f3 didn't update the tests that it affected.
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-vcmp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/iv-two-vcmp.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll
Commit a909a84ef2d9220242512b8be1206ee3d9b3d8b9 by kbobyrev
[clang-tidy] Improve documentation on Clangd integration

The integration is already complete; this patch updates information as well as
suggests using Clang-Tidy via Clangd integration that is vastly available
in most editors through LSP client plugins.

Reviewed By: hokein

Differential Revision: https://reviews.llvm.org/D87686
The file was modifiedclang-tools-extra/docs/clang-tidy/Integrations.rst
Commit 3f682611ab26442fb2a5fd49f44c6f032150a2e6 by llvm-dev
[DAG] Remover getOperand() call. NFCI.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp