SuccessChanges

Summary

  1. [CallGraph] Ignore callback uses (details)
  2. Revert D83013 "[LPM] Port CGProfilePass from NPM to LPM" (details)
  3. Temporarily Revert "[PowerPC] Split s34imm into two types" (details)
  4. Temporarily Revert "Fix [-Werror,-Wsign-compare] warnings arising from subsection symbols patch." (details)
  5. Revert "[CallGraph] Ignore callback uses" (details)
  6. [PredicateInfo] Print RenamedOp (NFC) (details)
  7. [DAGCombiner] add helper function to manage list of consecutive stores; NFC (details)
  8. [DAGCombiner] add helper function for store merging of constants; NFC (details)
  9. [DAGCombiner] add helper function for store merging of extracts; NFC (details)
  10. [DAGCombiner] add helper function for store merging of loaded values; NFC (details)
  11. [DAGCombiner] convert if-chain in store merging to switch; NFC (details)
  12. [AMDGPU] Return restricted number of regs from TTI (details)
  13. Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def." (details)
  14. [FileCheck] Improve -dump-input documentation (details)
  15. [PowerPC][Power10] Add Instruction definition/MC Tests for Load/Store Rightmost VSX Vector (details)
  16. [Lexer] Fix missing coverage line after #endif (details)
  17. Switch to using -debug-info-kind=constructor as default (from =limited) (details)
  18. [flang] Fix a crash when creating generics from a copy (details)
  19. Revert "[Lexer] Fix missing coverage line after #endif" (details)
  20. [flang] Fix frontend build with -DBUILD_SHARED_LIBS=On (details)
  21. [flang] ifdef to avoid warning about supposedly dead function (details)
  22. [AArch64][SVE] Add lowering for llvm.fma. (details)
  23. Initial boiler-plate for python bindings. (details)
  24. [NFC] Extract the code to write instr profile into function writeInstrProfile (details)
  25. [NFC] Change getEntryForPercentile to be a static function in ProfileSummaryBuilder. (details)
  26. [NFC] Derive from PassInfoMixin for no-op/printing passes (details)
  27. [AArch64][GlobalISel] Add more specific debug info tests for 613f12dd8e2403f5630ab299d2a1bb2cb111ead1. (details)
  28. [MLIR][SPIRV] Support two memory access attributes in OpCopyMemory. (details)
  29. Move default argument instantiation to SemaTemplateInstantiateDecl.cpp. (details)
  30. Push parameters into the local instantiation scope before instantiating (details)
  31. PR46648: Do not eagerly instantiate default arguments for a generic (details)
  32. [Sanitizer] Update macOS version checking (details)
  33. [StackSafety,NFC] Reduce FunctionSummary size (details)
  34. [lldb] Declare extern template instantiation to fix linking issues. (details)
  35. [SCEV][IndVarSimplify] insert point should not be block front. (details)
  36. CrashTracer: clang at clang: llvm::BitstreamWriter::ExitBlock (details)
  37. [demangler] Don't allow the template parameters from the <encoding> in a (details)
  38. Add Python bindings guide. (details)
  39. [CMake][Fuchsia] Move runtimes to outer scope (details)
  40. [demangler] More properly save and restore the template parameter state (details)
  41. [NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD) (details)
  42. [llvm-symbolizer][test] Fix options-from-env.test (details)
  43. [CodeMoverUtils] Move OrderedInstructions to CodeMoverUtils (details)
  44. [clangd] Factor out some helper functions related to heuristic resolution in TargetFinder (details)
  45. [RISCV] Refactor FeatureRVCHints to make ProcessorModel more intuitive (details)
  46. Add diagnostic option backing field for -fansi-escape-codes (details)
  47. [LLDB] Update AArch64 Dwarf and EH frame register numbers (details)
  48. [CodeGen] Replace calls to getVectorNumElements() in SelectionDAG::SplitVector (details)
  49. [MLIR][SPIRVToLLVM] Conversion of SPIR-V struct type without offset (details)
  50. [WebAssembly][NFC] Simplify vector shift lowering and add tests (details)
  51. [CodeGen] Replace calls to getVectorNumElements() in DAGTypeLegalizer::SetSplitVector (details)
  52. [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses (details)
  53. [builtins] Optimize udivmodti4 for many platforms. (details)
  54. [analyzer][tests] Measure peak memory consumption for every project (details)
  55. [analyzer][tests] Make test interruption safe (details)
  56. [analyzer][tests] Fix zip unpacking (details)
  57. [X86][AVX] Attempt to fold PACK(SHUFFLE(X,Y),SHUFFLE(X,Y)) -> SHUFFLE(PACK(X,Y)). (details)
  58. Fix check-all with -DLLVM_USE_SANITIZER=Address (details)
  59. extractConstantWithoutWrapping - use const APInt& returned by SCEVConstant::getAPInt() (details)
  60. [AMDGPU][GlobalISel] Fix G_AMDGPU_TBUFFER_STORE_FORMAT mapping (details)
  61. [LV] Pick vector loop body as insert point for SCEV expansion. (details)
  62. [clang-tidy] More strict on matching the standard memset function in memset-usage check. (details)
  63. [lldb/pecoff] Use a different llvm createBinary overload for parsing (details)
  64. [SVE] Code generation for fixed length vector truncates. (details)
  65. [NFC] Change isFPPredicate comparison to ignore lower bound (details)
  66. [X86][SSE] Use shouldUseHorizontalOp helper to determine whether to use (F)HADD. NFCI. (details)
  67. StackSafetyAnalysis.cpp - pass ConstantRange arg as const reference. (details)
  68. [clang-tidy] Use Options priority in enum options where it was missing (details)
  69. DomTreeUpdater::dump() - use const auto& iterator in for-range-loop. (details)
  70. [ABI] Handle C++20 [[no_unique_address]] attribute (details)
  71. [PowerPC] Implement R_PPC64_REL24_NOTOC calls, callee also has no TOC (details)
  72. [clangd] Config: If.PathExclude (details)
  73. Revert "[BasicAA] Enable -basic-aa-recphi by default" (details)
  74. Reland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support." (details)
  75. Normalize default value for -triple correctly (details)
  76. [mlir][Vector] Fold chains of ExtractOp (details)
  77. [clangd] Fix hover crash on InitListExpr. (details)
  78. [mlir][Linalg] Generalize Vectorization of Linalg contractions (details)
  79. [FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support." (details)
  80. [NFCI][InstCombine] PR46661: multiple stores eligible for merging into successor - worklist issue (details)
  81. [InstCombine] After merging store into successor, queue prev. store to be visited (PR46661) (details)
  82. Reland "[InstCombine] Lower infinite combine loop detection thresholds"" (details)
  83. [clangd] Update semanticTokens support to reflect latest LSP draft (details)
  84. [PDB] Fix out-of-bounds acces when sorting GSI buckets (details)
  85. [FileCheck] Implement -dump-input-context (details)
  86. [FileCheck] In input dump, elide only if ellipsis is shorter (details)
  87. [FileCheck] Implement -dump-input-filter (details)
  88. [mlir][Vector] Add ExtractOp folding when fed by a TransposeOp (details)
  89. [DAGCombiner] move/rename variables for readability; NFC (details)
  90. [AArch64][x86] add tests for rotated store merge; NFC (details)
  91. [ARM] Add test with tcreturn and debug value. (details)
  92. [DomTreeUpdater] Use const auto * when iterating over pointers (NFC). (details)
  93. [Attributor][NFC] Update tests after recent changes (details)
  94. [ARM] Pass -verify-machineinstr to test and XFAIL until fixed. (details)
  95. Delete CC1Options.td, since it should have happened in D82574 (details)
  96. Revert "[OpenMPOpt] ICV Tracking" (details)
  97. [LPM] Port CGProfilePass from NPM to LPM (details)
  98. [Lexer] Fix missing coverage line after #endif (details)
  99. [NFC][PowerPC] Add a new MIR file to test mi-peephole pass (details)
  100. Fix crash on `user defined literals` (details)
  101. Add kinded UDL for raw literal operator and  numeric literal operator template (details)
  102. Use FileRange::text instead of Lexer::getSpelling (details)
  103. repair standalone clang builds (details)
  104. Remove clang options that were added back when merging the TableGen files (details)
  105. Revert "[compiler-rt] [test] Use the parent process env as base env in tests" (details)
  106. [CGProfile] Fix layering, IPO depends in Instrumentation. (details)
  107. [ARM] Add Cortex-A78 and Cortex-X1 Support for Clang and LLVM (details)
  108. [IR] Disable select ? C : undef -> C fold in ConstantFoldSelectInstruction unless we know C isn't poison. (details)
  109. Re-land [CodeView] Add full repro to LF_BUILDINFO record (details)
  110. [OpenCL] Fixed typo for ctor stub name in UsersManual (details)
  111. This is a refinement on 96601ec28b7efe5abf3479a1aa91bcedb235bbbd. The intent of that change was to do the same work for the computation of the locations of the children of ValueObjectVariable as was done for the root ValueObjectVariable. This original patch did that by moving the computation from ValueObjectVariable to ValueObject. That fixed the problem but caused a handful of swift-lldb testsuite failures and a crash or two. (details)
  112. Revert "[NFC] Derive from PassInfoMixin for no-op/printing passes" (details)
  113. [PowerPC] Enable default support of quad precision operations (details)
  114. [libc] Add strchr implementation. Fixes bug in memchr. (details)
  115. [NFC] Separate Peeling Properties into its own struct (re-land after minor fix) (details)
  116. [PredicateInfo] Add test for multiple branches on same condition (NFC) (details)
  117. [Sema] Emit a -Wformat warning for printf("%s", (void*)p) (details)
  118. [lldb] on s390x fix override issue (details)
  119. AArch64: Fix unused variables (details)
  120. [mlir] [VectorOps] Allow AXPY to be expressed as special case of OUTERPRODUCT (details)
  121. [AST][ObjC] Fix crash when printing invalid objc categories (details)
  122. [ldb/Reproducers] Add YamlRecorder and MultiProvider (details)
  123. Reland [NFC] Derive from PassInfoMixin for no-op/printing passes (details)
  124. Change behavior with zero-sized static array extents (details)
  125. [mlir] [VectorOps] Merge OUTER/AXPY vector.contract lowering into single case (details)
  126. [analyzer] Silence a warning. (details)
  127. [mlir][Vector]  Add folding for vector.transfer ops (details)
  128. [FileCheck] Fix up -dump-input* docs (details)
  129. [clang-shlib] Don't link with static clang libraries (details)
  130. [Polly] Fix -polly-opt-isl -analyze (details)
  131. [Polly] Fix prevectorization of fused loops. (details)
  132. [mlir][linalg] Improve aliasing approximation for hoisting transfer read/write (details)
  133. [X86] Add isel patterns for matching broadcast vpternlog if the ternlog and the broadcast have different types. (details)
  134. AMDGPU: Remove .value_type from kernel metadata (details)
  135. Temporarily revert "[NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD)" (details)
  136. [docs] LLVM Security Group and Process (details)
  137. [PDB] Attempt fix for debug-info-codeview-buildinfo.c test (details)
  138. Remove unnecessary/erroneous "static" from function templates in headers (details)
  139. [libc] [Obvious] Remove unneeded header in strchr. (details)
  140. Revert "Re-land [CodeView] Add full repro to LF_BUILDINFO record" (details)
  141. [Sanitizers] Change protoent test to check for IPv6 instead of RDP (details)
  142. [lldb-vscode] Add Support for Module Event (details)
  143. [lldb-vscode] Add Compile Unit List to Modules View (details)
  144. [lldb-vscode] Fix TestVSCode_module (details)
  145. [OpenMP] Use __OPENMP_NVPTX__ instead of _OPENMP in wrapper headers (details)
  146. [BPI] Compile time improvement when erasing blocks (NFC) (details)
  147. Revert "[lldb-vscode] Fix TestVSCode_module" (details)
  148. [COFF] Add cg_profile directive and .llvm.call-graph-profile section (details)
  149. [OpenMP][NFC] Remove unused and untested code from the device runtime (details)
  150. [openmp] Remove OMPConstants.cpp and replace it by OMP.cpp generated by tablegen (details)
  151. Fix nesting of #ifdef (details)
  152. [InstSimplify] add tests for maxnum (PR46627); NFC (details)
  153. [CodeGen] Store the return value of the target function call to the (details)
  154. Reland "[OpenMPOpt] ICV Tracking" (details)
  155. Fix build error (details)
  156. Create TestReducer pass (details)
Commit 205dc0922d5f7305226f7457fcbcb4224c92530c by georgakoudis1
[CallGraph] Ignore callback uses

Summary:
Ignore callback uses when adding a callback function
in the CallGraph. Callback functions are typically
created when outlining, e.g. for OpenMP, so they have
internal scope and linkage. They should not be added
to the ExternalCallingNode since they are only callable
by the specified caller function at creation time.

A CGSCC pass, such as OpenMPOpt, may need to update
the CallGraph by adding a new outlined callback function.
Without ignoring callback uses, adding breaks CGSCC
pass restrictions and results to a broken CallGraph.

Reviewers: jdoerfert

Subscribers: hiraditya, sstefan1, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83370
The file was modifiedllvm/lib/Analysis/CallGraph.cpp
The file was modifiedllvm/include/llvm/IR/Function.h
The file was addedllvm/test/Analysis/CallGraph/ignore-callback-uses.ll
The file was modifiedllvm/lib/IR/Function.cpp
Commit c025bdf25a59a79d60a2e99962c8653547a825d8 by maskray
Revert D83013 "[LPM] Port CGProfilePass from NPM to LPM"

This reverts commit c92a8c0a0f68fbbb23e3fdde071007e63a552e82.

It breaks builds and has unaddressed review comments.
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO.h
The file was modifiedllvm/lib/Transforms/Instrumentation/CGProfile.cpp
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/test/Instrumentation/cgprofile.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/Instrumentation.cpp
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/PassManagerBuilder.h
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was addedllvm/test/Other/new-pm-cgprofile.ll
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/CGProfile.h
Commit ce1e4853b5a15d679bd662ac5777a2390daf0391 by echristo
Temporarily Revert "[PowerPC] Split s34imm into two types"
as it was failing in Release+Asserts mode with an assert.

This reverts commit bd2068031121adf5a0e28d9306a1741d6f0bbd87.
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
The file was removedllvm/test/MC/PowerPC/ppc64-errors-emit-obj.s
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
Commit 98eec7700c3f397283a3937b1d3ddfe4e6d3b910 by echristo
Temporarily Revert "Fix [-Werror,-Wsign-compare] warnings arising from subsection symbols patch."
as it's causing build errors with another clang so I'll need to approach
this differently.

This reverts commit c2827083166cd5150232d8fd3ada3cf8fa8c9ac3.
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileBinaryReaderTests.cpp
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileYAMLTests.cpp
Commit c2a61ef3885019c5e0444d8789de63e1ce4d5003 by lebedev.ri
Revert "[CallGraph] Ignore callback uses"

This likely has broken test/Transforms/Attributor/IPConstantProp/ tests.
http://45.33.8.238/linux/22502/step_12.txt

This reverts commit 205dc0922d5f7305226f7457fcbcb4224c92530c.
The file was modifiedllvm/lib/Analysis/CallGraph.cpp
The file was removedllvm/test/Analysis/CallGraph/ignore-callback-uses.ll
The file was modifiedllvm/include/llvm/IR/Function.h
The file was modifiedllvm/lib/IR/Function.cpp
Commit c0308fd154f9a945608bd42630dc81dce5edfb40 by nikita.ppv
[PredicateInfo] Print RenamedOp (NFC)

Make it easier to debug renaming issues.
The file was modifiedllvm/lib/Transforms/Utils/PredicateInfo.cpp
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/condprop.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/unnamed-types.ll
Commit 6890e2a17b75211cf65fca597ada768bda348c4c by spatel
[DAGCombiner] add helper function to manage list of consecutive stores; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 8d74cb01b732a55f0942a9fabe9f779820f2c06b by spatel
[DAGCombiner] add helper function for store merging of constants; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit f98a602c2e37648f637aac15cba7cbe86906e720 by spatel
[DAGCombiner] add helper function for store merging of extracts; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit b476e6a642d08aefaf391df026893078cd6ea9b2 by spatel
[DAGCombiner] add helper function for store merging of loaded values; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit a46cf40240adb3f3171f08705e65d7300b2719cb by spatel
[DAGCombiner] convert if-chain in store merging to switch; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 77f8f813a9ae20152129a8ebb9fea5fcec859194 by Stanislav.Mekhanoshin
[AMDGPU] Return restricted number of regs from TTI

This is practically NFC at the moment because nothing really
asks the real number or does anything useful with it.

Differential Revision: https://reviews.llvm.org/D82202
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
Commit f40b11325e368667cf1dd91922d57dcef8069c8a by craig.topper
Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def."

This time without the change to make operator| use operator&=.
That seems to be the source of the gcc 5.3 miscompile.

Original commit message:
These represent the same thing but 64BIT only showed up from
getHostCPUFeatures providing a list of featuers to clang. While
EM64T showed up from getting the features for a named CPU.

EM64T didn't have a string specifically so it would not be passed
up to clang when getting features for a named CPU. While 64bit
needed a name since that's how it is index.

Merge them by filtering 64bit out before sending features to clang
for named CPUs.
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 839f8e4fe2dcf490a0972d7761f95e5a6b287faf by jdenny.ornl
[FileCheck] Improve -dump-input documentation

Document the default of `fail` in `-help`.  Extend `-dump-input=help`
to help users find related command-line options, but let `-help`
provide their full documentation.

Reviewed By: probinson

Differential Revision: https://reviews.llvm.org/D83091
The file was modifiedllvm/test/FileCheck/dump-input-enable.txt
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
Commit 5ffec467202808f92c378adae95d9972926aba7d by amy.kwan1
[PowerPC][Power10] Add Instruction definition/MC Tests for Load/Store Rightmost VSX Vector

This patch adds the instruction definitions and the assembly/disassembly
tests for the Load/Store VSX Vector Rightmose instructions.

Differential Revision: https://reviews.llvm.org/D83364
The file was modifiedllvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
Commit 672ae621e91ff5cdefb2535bdd530641536685ea by zequanwu
[Lexer] Fix missing coverage line after #endif

Summary: bug reported here: https://bugs.llvm.org/show_bug.cgi?id=46660

Reviewers: vsk, efriedma, arphaman

Reviewed By: vsk

Subscribers: dexonsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83514
The file was modifiedclang/lib/Lex/PPDirectives.cpp
The file was modifiedclang/test/CoverageMapping/preprocessor.c
Commit 227db86a1b7dd6f96f7df14890fcd071bc4fe1f5 by akhuang
Switch to using -debug-info-kind=constructor as default (from =limited)

Summary:
-debug-info-kind=constructor reduces the amount of class debug info that
is emitted; this patch switches to using this as the default.

Constructor homing emits the complete type info for a class only when the
constructor is emitted, so it is expected that there will be some classes that
are not defined in the debug info anymore because they are never constructed,
and we shouldn't need debug info for these classes.

I compared the PDB files for clang, and there are 273 class types that are defined with `=limited`
but not with `=constructor` (out of ~60,000 total class types).
We've looked at a number of the types that are no longer defined with =constructor. The vast
majority of cases are something like class A is used as a parameter in a member function of
some other class B, which is emitted. But the function that uses class A is never called, and class A
is never constructed, and therefore isn't emitted in the debug info.

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

Subscribers: aprantl, cfe-commits, lldb-commits

Tags: #clang, #lldb

Differential Revision: https://reviews.llvm.org/D79147
The file was modifiedclang/test/Driver/integrated-as.s
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/debug-options-as.c
The file was modifiedclang/test/Driver/clang-g-opts.c
The file was modifiedclang/test/Driver/cl-options.c
The file was modifiedclang/test/Driver/openmp-offload-gpu.c
The file was modifiedclang/test/Driver/split-debug.c
The file was modifiedlldb/test/Shell/SymbolFile/PDB/Inputs/ClassLayoutTest.cpp
The file was modifiedclang/test/Driver/cuda-dwarf-2.cu
The file was modifiedclang/test/Driver/debug-options.c
The file was modifiedclang/test/Driver/myriad-toolchain.c
Commit 85d9745c83a105692a8784b8c8a83482696b4900 by psteinfeld
[flang] Fix a crash when creating generics from a copy

Summary:
When a program unit creates a generic based on one defined in a module, the
function `CopyFrom()` is called to create the `GenericDetails`.  This function
copied the `specificProcs_` but failed to copy the `bindingNames_`.  If the
function `CheckGeneric()` then gets called, it tries to index into the empty
binding names and causes the crash.

I fixed this by adding code to `CopyFrom()` to copy the binding names.

I also added a test that causes the crash.

Reviewers: klausler, tskeith, DavidTruby

Subscribers: llvm-commits

Tags: #llvm, #flang

Differential Revision: https://reviews.llvm.org/D83491
The file was modifiedflang/lib/Semantics/symbol.cpp
The file was modifiedflang/include/flang/Semantics/symbol.h
The file was modifiedflang/test/Semantics/resolve53.f90
Commit 8be204fe75caac4ce6ed1e2cf5659011476bde79 by zequanwu
Revert "[Lexer] Fix missing coverage line after #endif"

This reverts commit 672ae621e91ff5cdefb2535bdd530641536685ea.
The file was modifiedclang/lib/Lex/PPDirectives.cpp
The file was modifiedclang/test/CoverageMapping/preprocessor.c
Commit 8a8bb078a3c839f0708917d9920ed4299680de1e by pklausler
[flang] Fix frontend build with -DBUILD_SHARED_LIBS=On

Fix fronted shared library builds by eliminating dependences of
the parser on other component libraries, moving some code around that
wasn't in the right library, and making some dependences
explicit in the CMakeLists.txt files.  The lowering library
does not yet build as a shared library due to some undefined
names.

Reviewed By: tskeith

Differential Revision: https://reviews.llvm.org/D83515
The file was modifiedflang/include/flang/Semantics/expression.h
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/include/flang/Evaluate/expression.h
The file was modifiedflang/include/flang/Evaluate/tools.h
The file was modifiedflang/lib/Evaluate/expression.cpp
The file was modifiedflang/lib/Parser/parse-tree.cpp
The file was modifiedflang/lib/Evaluate/call.cpp
The file was modifiedflang/include/flang/Common/indirection.h
The file was modifiedflang/tools/f18-parse-demo/stub-evaluate.cpp
The file was modifiedflang/include/flang/Parser/parse-tree.h
The file was modifiedflang/lib/Lower/CMakeLists.txt
The file was modifiedflang/unittests/Runtime/CMakeLists.txt
The file was modifiedflang/lib/Evaluate/CMakeLists.txt
The file was modifiedflang/include/flang/Semantics/tools.h
The file was modifiedflang/tools/f18/CMakeLists.txt
The file was modifiedflang/lib/Semantics/tools.cpp
The file was modifiedflang/include/flang/Evaluate/call.h
The file was modifiedflang/lib/Semantics/CMakeLists.txt
The file was modifiedflang/unittests/Evaluate/CMakeLists.txt
The file was modifiedflang/lib/Evaluate/tools.cpp
Commit 9263e08251ae7ab6feaa6cda37d70fbd6971cfc4 by eschweitz
[flang] ifdef to avoid warning about supposedly dead function
The file was modifiedflang/lib/Optimizer/Dialect/FIRType.cpp
Commit 56ae2cebcdf7884470212ed2a04c1bce73d5c996 by efriedma
[AArch64][SVE] Add lowering for llvm.fma.

This is currently bare-bones; we aren't taking advantage of any of the
FMA variant instructions.  But it's enough to at least generate
code.

Differential Revision: https://reviews.llvm.org/D83444
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
The file was modifiedllvm/test/CodeGen/AArch64/sve-fp.ll
Commit 722475a375697513797a71afe6c37db3e3763bfc by stellaraccident
Initial boiler-plate for python bindings.

Summary:
* Native '_mlir' extension module.
* Python mlir/__init__.py trampoline module.
* Lit test that checks a message.
* Uses some cmake configurations that have worked for me in the past but likely needs further elaboration.

Subscribers: mgorny, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, Kayjukh, jurahul, msifontes

Tags: #mlir

Differential Revision: https://reviews.llvm.org/D83279
The file was modifiedmlir/test/CMakeLists.txt
The file was modifiedmlir/test/lit.cfg.py
The file was addedmlir/lib/Bindings/Python/mlir/__init__.py
The file was addedmlir/test/Bindings/Python/smoke_test.py
The file was addedmlir/test/Bindings/Python/lit.local.cfg
The file was modifiedmlir/test/lit.site.cfg.py.in
The file was addedmlir/lib/Bindings/Python/MainModule.cpp
The file was modifiedmlir/CMakeLists.txt
The file was addedmlir/lib/Bindings/CMakeLists.txt
The file was addedmlir/lib/Bindings/Python/CMakeLists.txt
The file was addedmlir/lib/Bindings/Python/unix_version.lds
The file was modifiedmlir/lib/CMakeLists.txt
Commit 78fe6a3ee244cf1b590cd2a169c81ec00de08cb2 by wmi
[NFC] Extract the code to write instr profile into function writeInstrProfile

So that the function writeInstrProfile can be used in other places.

Differential Revision: https://reviews.llvm.org/D83521
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
Commit e296e9dfd6ceade1271e48a0afacd1a4826676be by wmi
[NFC] Change getEntryForPercentile to be a static function in ProfileSummaryBuilder.

Change file static function getEntryForPercentile to be a static member function
in ProfileSummaryBuilder so it can be used by other files.

Differential Revision: https://reviews.llvm.org/D83439
The file was modifiedllvm/lib/ProfileData/ProfileSummaryBuilder.cpp
The file was modifiedllvm/lib/Analysis/ProfileSummaryInfo.cpp
The file was modifiedllvm/include/llvm/ProfileData/ProfileCommon.h
Commit 8039d2c3bf14585ef37dc9343bf393ecad9aead9 by aeubanks
[NFC] Derive from PassInfoMixin for no-op/printing passes

PassInfoMixin should be used for all NPM passes, rater than a custom
`name()`.

This caused ambiguous references in LegacyPassManager.cpp, so had to
remove "using namespace llvm::legacy" and move some things around.

The passes had to be moved to the llvm namespace, or else they would get
printed as "(anonymous namespace)::FooPass".

Reviewed By: ychen, asbirlea

Differential Revision: https://reviews.llvm.org/D83498
The file was modifiedllvm/lib/IR/LegacyPassManager.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/IR/IRPrintingPasses.h
Commit ce22527c0c7a38ce0ac2037104a2a89443754836 by Amara Emerson
[AArch64][GlobalISel] Add more specific debug info tests for 613f12dd8e2403f5630ab299d2a1bb2cb111ead1.

As requested, these tests check for specific debug locs on the output of the
legalizer. The only one that I couldn't write was for moreElementsVector, which
AFAICT we don't trigger on AArch64.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-vaarg.mir
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-shift-imm-promote-dloc.mir
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector-of-ptr-debugloc.mir
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-memlib-debug-loc.mir
Commit 3847a6ae759e0be06b9a3cd3d303099a6cd41d7d by antiagainst
[MLIR][SPIRV] Support two memory access attributes in OpCopyMemory.

This commit augments spv.CopyMemory's implementation to support 2 memory
access operands. Hence, more closely following the spec. The following
changes are introduces:

- Customize logic for spv.CopyMemory serialization and deserialization.
- Add 2 additional attributes for source memory access operand.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D83241
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVOps.td
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/memory-ops.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/test/Dialect/SPIRV/ops.mlir
Commit 7462793be771712092de4c31fef1b04ac365ccea by richard
Move default argument instantiation to SemaTemplateInstantiateDecl.cpp.

No functionality change intended.
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit a5569f089844209dbea2e3241460173d7b6b1420 by richard
Push parameters into the local instantiation scope before instantiating
a default argument.

Default arguments can (after recent language changes) refer to
parameters of the same function. Make sure they're added to the local
instantiation scope before transforming a default argument so that we
can remap such references to them properly.
The file was modifiedclang/test/SemaTemplate/default-arguments-cxx0x.cpp
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Commit f721e0582b158c60c56d2601235b6d60758f4d7a by richard
PR46648: Do not eagerly instantiate default arguments for a generic
lambda when instantiating a call operator specialization.

We previously incorrectly thought that such substitution was happening
in the context of substitution into a local scope, which is a context
where we should perform eager default argument instantiation.
The file was modifiedclang/test/SemaTemplate/dependent-expr.cpp
The file was modifiedclang/include/clang/AST/DeclBase.h
The file was modifiedclang/lib/AST/DeclBase.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/test/SemaTemplate/default-arguments-cxx0x.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
Commit bed3e1a99b41f5a9525bc0edf12ecbcf63aab0cf by julian.lettner
[Sanitizer] Update macOS version checking

Support macOS 11 in our runtime version checking code and update
`GetMacosAlignedVersionInternal()` accordingly.  This follows the
implementation of `Triple::getMacOSXVersion()` in the Clang driver.

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D82918
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_mac_test.cpp
Commit 57f2a789ca074165baa1c8eea3332007477c9f91 by Vitaly Buka
[StackSafety,NFC] Reduce FunctionSummary size

Most compiler infocations will not need ParamAccess,
so we can optimize memory usage there with smaller unique_ptr
instead of empty vector.
Suggested in D80908 review.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D83458
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h
Commit fbef6c55bc2f349110bd601b716889d73e101c92 by rupprecht
[lldb] Declare extern template instantiation to fix linking issues.

NativeProcessELF::GetELFImageInfoAddress<...>() is declared in NativeProcessELF.h, but only defined in NativeProcessELF.cpp. Via some optimized builds (e.g. thinlto), this instantiation may be removed when it is used in a different TU (NativeProcessELFTest.cpp).
The file was modifiedlldb/source/Plugins/Process/POSIX/NativeProcessELF.h
The file was modifiedlldb/source/Plugins/Process/POSIX/NativeProcessELF.cpp
Commit f1efb8bb4ba0584a9b994f3404a2c62920ce6652 by czhengsz
[SCEV][IndVarSimplify] insert point should not be block front.

The block front may be a PHI node, inserting a cast instructions like
BitCast, PtrToInt, IntToPtr among PHIs is not right.

Reviewed By: lebedev.ri

Differential Revision:  https://reviews.llvm.org/D80975
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was addedllvm/test/Transforms/IndVarSimplify/widen-i32-i8ptr.ll
Commit 00c9a504aeed2603bd8bc9b89d753534e929c8e8 by JF Bastien
CrashTracer: clang at clang: llvm::BitstreamWriter::ExitBlock

Add a guard for re-entering an SDiagsWriter's HandleDiagnostics
method after we've started finalizing. This is a generic catch
all for unexpected fatal errors so we don't recursive crash inside
the generic llvm error handler.

We also add logic to handle the actual error case in
llvm::~raw_fd_ostream caused by failing to clear errors before
it is destroyed.

<rdar://problem/63335596>
The file was modifiedclang/include/clang/Basic/DiagnosticFrontendKinds.td
The file was modifiedclang/lib/Frontend/SerializedDiagnosticPrinter.cpp
Commit 553dbb6d7b32cc786281dea2c58a420bcbc9bb82 by richard
[demangler] Don't allow the template parameters from the <encoding> in a
<local-name> to leak out into later parts of the name.

This caused us to fail to demangle certain constructs involving generic
lambdas.
The file was modifiedlibcxxabi/src/demangle/ItaniumDemangle.h
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp
The file was modifiedllvm/include/llvm/Demangle/ItaniumDemangle.h
Commit c20c1960c15adb3b897aeb1ab83b6fa4caab2505 by stellaraccident
Add Python bindings guide.

Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, Kayjukh, jurahul, msifontes

Tags: #mlir

Differential Revision: https://reviews.llvm.org/D83527
The file was addedmlir/docs/Bindings/Python.md
Commit ceb76d2fe73d39f2230bf55d47b8fd68849d47d7 by phosek
[CMake][Fuchsia] Move runtimes to outer scope

This is needed for runtimes to be properly configured, addressing an
issue introduced in 53e38c85.
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
Commit b03f1756fb4fd5ac5d606a7e4fd8aea1d9f18541 by richard
[demangler] More properly save and restore the template parameter state
when parsing an encoding.
The file was modifiedlibcxxabi/test/test_demangle.pass.cpp
The file was modifiedllvm/include/llvm/Demangle/ItaniumDemangle.h
The file was modifiedlibcxxabi/src/demangle/ItaniumDemangle.h
Commit 30582457b47004dec8a78144abc919a13ccbd08c by gchatelet
[NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD)

This is preparatory work to unable storing alignment for AtomicCmpXchgInst.
See D83136 for context and bug: https://bugs.llvm.org/show_bug.cgi?id=27168

Differential Revision: https://reviews.llvm.org/D83375
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h
Commit 760bbda2d8200481d03a46a74587035059dd12cc by maskray
[llvm-symbolizer][test] Fix options-from-env.test

options-from-env.test (D71668) does not test it intended to test:
`llvm-symbolizer 0x20112f` prints `0x20112f` in the absence of an environment
variable.
The file was modifiedllvm/test/tools/llvm-symbolizer/options-from-env.test
Commit e71c7b593a2d1b7d60dc8aaa4b8ede03de7bbd00 by rithiksh02
[CodeMoverUtils] Move OrderedInstructions to CodeMoverUtils
Summary: This patch moves OrderedInstructions to CodeMoverUtils as It was
the only place where OrderedInstructions is required.
Authored By: RithikSharma
Reviewer: Whitney, bmahjour, etiotto, fhahn, nikic
Reviewed By: Whitney, nikic
Subscribers: mgorny, hiraditya, llvm-commits
Tag: LLVM
Differential Revision: https://reviews.llvm.org/D80643
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
The file was removedllvm/unittests/Analysis/OrderedInstructionsTest.cpp
The file was removedllvm/include/llvm/Analysis/OrderedInstructions.h
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/Utils/CodeMoverUtils.cpp
The file was modifiedllvm/unittests/Analysis/CMakeLists.txt
The file was removedllvm/lib/Analysis/OrderedInstructions.cpp
Commit 98d763ad051f5eab89fa46167516fc8a84f471d0 by zeratul976
[clangd] Factor out some helper functions related to heuristic resolution in TargetFinder

Summary:
Two helpers are introduced:

* Some of the logic previously in TargetFinder::Visit*() methods is
   factored out into resolveDependentExprToDecls().

* Some of the logic in getMembersReferencedViaDependentName() is
   factored out into resolveTypeToRecordDecl().

D82739 will build on this and use these functions in new ways.

Reviewers: hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83371
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
Commit 04b9a46c842f793a2baedcad64de35fcbd3e93b7 by zakk.chen
[RISCV] Refactor FeatureRVCHints to make ProcessorModel more intuitive

Reviewers: luismarques, asb, evandro

Reviewed By: asb, evandro

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77030
The file was modifiedllvm/test/MC/RISCV/rv32c-invalid.s
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
The file was modifiedllvm/lib/Target/RISCV/RISCVSubtarget.h
Commit 50f24331fd91e70de6bf6c3efe45272ddfc711fd by dany.grumberg
Add diagnostic option backing field for -fansi-escape-codes

Summary:
Keep track of -fansi-escape-codes in DiagnosticOptions and move the
option to the new option parsing system.

Depends on D82860

Reviewers: Bigcheese

Subscribers: dexonsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82874
The file was modifiedclang/include/clang/Basic/DiagnosticOptions.def
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
Commit a65da5f5924fbb7bad28bbb397e3e9a94959df4c by omair.javaid
[LLDB] Update AArch64 Dwarf and EH frame register numbers

This patch updates ARM64_ehframe_Registers.h and ARM64_DWARF_Registers.h
with latest register numbers in line with AArch64 SVE support.

For refernce take a look at "DWARF for the ARMĀ® 64-bit Architecture (AArch64)
with SVE support" manual from Arm.
Version used: abi_sve_aadwarf_100985_0000_00_en.pdf
The file was modifiedlldb/source/Utility/ARM64_ehframe_Registers.h
The file was modifiedlldb/source/Utility/ARM64_DWARF_Registers.h
Commit 229dfb4728f45cf9607aaa564155c267f3a0f59c by david.sherwood
[CodeGen] Replace calls to getVectorNumElements() in SelectionDAG::SplitVector

This patch replaces some invalid calls to getVectorNumElements() with calls
to getVectorMinNumElements() instead, since the code paths changed in this
patch work for both fixed and scalable vector types.

Fixes warnings in this test:

  sve-sext-zext.ll

Differential Revision: https://reviews.llvm.org/D83203
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit eb6b7c5d4fd4aeaf92d0ad560e0c078a95d66902 by georgemitenk0v
[MLIR][SPIRVToLLVM] Conversion of SPIR-V struct type without offset

This patch introduces type conversion for SPIR-V structs. Since
handling offset case requires thorough testing, it was left out
for now. Hence, only structs with no offset are currently
supported. Also, structs containing member decorations cannot
be translated.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D83403
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.mlir
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.invalid.mlir
Commit 043eaa9a4a0808fe4e82b2ef1823ccafa491c065 by tlively
[WebAssembly][NFC] Simplify vector shift lowering and add tests

This patch builds on 0d7286a652 by simplifying the code for detecting
splat values and adding new tests demonstrating the lowering of
splatted absolute value shift amounts, which are common in code
generated by Halide. The lowering is very bad right now, but
subsequent patches will improve it considerably. The tests will be
useful for evaluating the improvements in those patches.

Reviewed By: aheejin

Differential Revision: https://reviews.llvm.org/D83493
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-shift-complex-splats.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Commit da731894a2fe45fd5bec9698f3206c1fdee2829a by david.sherwood
[CodeGen] Replace calls to getVectorNumElements() in DAGTypeLegalizer::SetSplitVector

In DAGTypeLegalizer::SetSplitVector I have changed calls in the assert
from getVectorNumElements() to getVectorElementCount(), since this
code path works for both fixed and scalable vectors.

This fixes up one warning in the test:

  sve-sext-zext.ll

Differential Revision: https://reviews.llvm.org/D83196
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
Commit 7bf168390fd05460b1c0df3fa570758c6be718fd by diogo.sampaio
[BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses

Summary: This allows to convert any SExt to a ZExt when we know none of the extended bits are used, specially in cases where there are multiple uses of the value.

Reviewers: dmgreen, eli.friedman, spatel, lebedev.ri, nikic

Reviewed By: lebedev.ri, nikic

Subscribers: hiraditya, dmgreen, craig.topper, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D60413
The file was modifiedllvm/test/Transforms/BDCE/sext_multi_uses.ll
The file was modifiedllvm/lib/Transforms/Scalar/BDCE.cpp
Commit 68c011aa085ab8ec198198e45c83de605a7dc31f by courbet
[builtins] Optimize udivmodti4 for many platforms.

Summary:
While benchmarking uint128 division we found out that it has huge latency for small divisors

https://reviews.llvm.org/D83027

```
Benchmark                                                   Time(ns)        CPU(ns)     Iterations
--------------------------------------------------------------------------------------------------
BM_DivideIntrinsic128UniformDivisor<unsigned __int128>            13.0           13.0     55000000
BM_DivideIntrinsic128UniformDivisor<__int128>                     14.3           14.3     50000000
BM_RemainderIntrinsic128UniformDivisor<unsigned __int128>         13.5           13.5     52000000
BM_RemainderIntrinsic128UniformDivisor<__int128>                  14.1           14.1     50000000
BM_DivideIntrinsic128SmallDivisor<unsigned __int128>             153            153        5000000
BM_DivideIntrinsic128SmallDivisor<__int128>                      170            170        3000000
BM_RemainderIntrinsic128SmallDivisor<unsigned __int128>          153            153        5000000
BM_RemainderIntrinsic128SmallDivisor<__int128>                   155            155        5000000
```

This patch suggests a more optimized version of the division:

If the divisor is 64 bit, we can proceed with the divq instruction on x86 or constant multiplication mechanisms for other platforms. Once both divisor and dividend are not less than 2**64, we use branch free subtract algorithm, it has at most 64 cycles. After that our benchmarks improved significantly

```
Benchmark                                                   Time(ns)        CPU(ns)     Iterations
--------------------------------------------------------------------------------------------------
BM_DivideIntrinsic128UniformDivisor<unsigned __int128>            11.0           11.0     64000000
BM_DivideIntrinsic128UniformDivisor<__int128>                     13.8           13.8     51000000
BM_RemainderIntrinsic128UniformDivisor<unsigned __int128>         11.6           11.6     61000000
BM_RemainderIntrinsic128UniformDivisor<__int128>                  13.7           13.7     52000000
BM_DivideIntrinsic128SmallDivisor<unsigned __int128>              27.1           27.1     26000000
BM_DivideIntrinsic128SmallDivisor<__int128>                       29.4           29.4     24000000
BM_RemainderIntrinsic128SmallDivisor<unsigned __int128>           27.9           27.8     26000000
BM_RemainderIntrinsic128SmallDivisor<__int128>                    29.1           29.1     25000000
```

If not using divq instrinsics, it is still much better

```
Benchmark                                                   Time(ns)        CPU(ns)     Iterations
--------------------------------------------------------------------------------------------------
BM_DivideIntrinsic128UniformDivisor<unsigned __int128>            12.2           12.2     58000000
BM_DivideIntrinsic128UniformDivisor<__int128>                     13.5           13.5     52000000
BM_RemainderIntrinsic128UniformDivisor<unsigned __int128>         12.7           12.7     56000000
BM_RemainderIntrinsic128UniformDivisor<__int128>                  13.7           13.7     51000000
BM_DivideIntrinsic128SmallDivisor<unsigned __int128>              30.2           30.2     24000000
BM_DivideIntrinsic128SmallDivisor<__int128>                       33.2           33.2     22000000
BM_RemainderIntrinsic128SmallDivisor<unsigned __int128>           31.4           31.4     23000000
BM_RemainderIntrinsic128SmallDivisor<__int128>                    33.8           33.8     21000000
```

PowerPC benchmarks:

Was
```
BM_DivideIntrinsic128UniformDivisor<unsigned __int128>            22.3           22.3     32000000
BM_DivideIntrinsic128UniformDivisor<__int128>                     23.8           23.8     30000000
BM_RemainderIntrinsic128UniformDivisor<unsigned __int128>         22.5           22.5     32000000
BM_RemainderIntrinsic128UniformDivisor<__int128>                  24.9           24.9     29000000
BM_DivideIntrinsic128SmallDivisor<unsigned __int128>             394            394        2000000
BM_DivideIntrinsic128SmallDivisor<__int128>                      397            397        2000000
BM_RemainderIntrinsic128SmallDivisor<unsigned __int128>          399            399        2000000
BM_RemainderIntrinsic128SmallDivisor<__int128>                   397            397        2000000
```

With this patch
```
BM_DivideIntrinsic128UniformDivisor<unsigned __int128>            21.7           21.7     33000000
BM_DivideIntrinsic128UniformDivisor<__int128>                     23.0           23.0     31000000
BM_RemainderIntrinsic128UniformDivisor<unsigned __int128>         21.9           21.9     33000000
BM_RemainderIntrinsic128UniformDivisor<__int128>                  23.9           23.9     30000000
BM_DivideIntrinsic128SmallDivisor<unsigned __int128>              32.7           32.6     23000000
BM_DivideIntrinsic128SmallDivisor<__int128>                       33.4           33.4     21000000
BM_RemainderIntrinsic128SmallDivisor<unsigned __int128>           31.1           31.1     22000000
BM_RemainderIntrinsic128SmallDivisor<__int128>                    33.2           33.2     22000000
```

My email: danilak@google.com, I don't have commit rights

Reviewers: howard.hinnant, courbet, MaskRay

Reviewed By: courbet

Subscribers: steven.zhang, #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D81809
The file was modifiedcompiler-rt/lib/builtins/udivmodti4.c
Commit 21bacc215413d10df53a4690e9561e9b96698742 by vsavchenko
[analyzer][tests] Measure peak memory consumption for every project

Differential Revision: https://reviews.llvm.org/D82967
The file was modifiedclang/utils/analyzer/Dockerfile
The file was modifiedclang/utils/analyzer/SATestUtils.py
The file was addedclang/utils/analyzer/requirements.txt
The file was modifiedclang/utils/analyzer/SATestBuild.py
Commit 9c7ff0a4aaef0a1efa33e9ff8a12a064087bded9 by vsavchenko
[analyzer][tests] Make test interruption safe

Differential Revision: https://reviews.llvm.org/D83373
The file was modifiedclang/utils/analyzer/SATest.py
Commit 00997d1cad9ecd40c92aeae40269f6bfb9e58d11 by vsavchenko
[analyzer][tests] Fix zip unpacking

Differential Revision: https://reviews.llvm.org/D83374
The file was modifiedclang/utils/analyzer/SATestBuild.py
Commit 77133cc1e2c91678082d2098b959757e72dfce60 by llvm-dev
[X86][AVX] Attempt to fold PACK(SHUFFLE(X,Y),SHUFFLE(X,Y)) -> SHUFFLE(PACK(X,Y)).

Truncations lowered as shuffles of multiple (concatenated) vectors often leave us with lane-crossing shuffles that feed a PACKSS/PACKUS, if both shuffles are fed from the same 2 vector sources, then we can PACK the sources directly and shuffle the result instead.

This is currently limited to whole i128 lanes in a 256-bit vector, but we can extend this if the need arises (but I'm not seeing many examples in real world code).
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-pack-256.ll
The file was modifiedllvm/test/CodeGen/X86/packss.ll
The file was modifiedllvm/test/CodeGen/X86/avg.ll
The file was modifiedllvm/test/CodeGen/X86/bitcast-and-setcc-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-compare-results.ll
Commit c06417b24dfbfd62650ab05aff78e188b5d00681 by Vitaly Buka
Fix check-all with -DLLVM_USE_SANITIZER=Address
The file was modifiedllvm/test/tools/gold/lit.local.cfg
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedclang/test/SemaTemplate/stack-exhaustion.cpp
Commit 9a3e8b11a8317b1a3d7440b0585b011cc9527494 by llvm-dev
extractConstantWithoutWrapping - use const APInt& returned by SCEVConstant::getAPInt()

Avoids unnecessary APInt copies and silences clang tidy warning.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit cf40db21af489e3e5bc1c39cea855cc068c4ce48 by Mirko.Brkusanin
[AMDGPU][GlobalISel] Fix G_AMDGPU_TBUFFER_STORE_FORMAT mapping

Add missing mappings and tablegen definitions for TBUFFER_STORE_FORMAT.

Differential Revision: https://reviews.llvm.org/D83240
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.f16.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.i8.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.tbuffer.store.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
Commit 264ab1e2c815728ede5d1fce257abbd04044cc27 by flo
[LV] Pick vector loop body as insert point for SCEV expansion.

Currently the DomTree is not kept up to date for additional blocks
generated in the vector loop, for example when vectorizing with
predication. SCEVExpander relies on dominance checks when looking for
existing instructions to re-use and in some cases that can lead to the
expander picking instructions that do not actually dominate their insert
point (e.g. as in PR46525).

Unfortunately keeping the DT up-to-date is a bit tricky, because the CFG
is only patched up after generating code for a block. For now, we can
just use the vector loop header, as this ensures the inserted
instructions dominate all uses in the vector loop. There should be no
noticeable impact on the generated code, as other passes should sink
those instructions, if profitable.

Fixes PR46525.

Reviewers: Ayal, gilr, mkazantsev, dmgreen

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D83288
The file was addedllvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 5f41ca48d1c46fc78958d47c0edfb2dbcde47217 by hokein.wu
[clang-tidy] More strict on matching the standard memset function in memset-usage check.

The check assumed the matched function call has 3 arguments, but the
matcher didn't guaranteed that.

Differential Revision: https://reviews.llvm.org/D83301
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-suspicious-memset-usage.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
Commit d372a8e8bce266bb4043e6a0bfd76c7e5bf457a5 by pavel
[lldb/pecoff] Use a different llvm createBinary overload for parsing

Change the code the use the version which accepts a memory buffer,
instead of the one taking a file name.

This ensures we are not loading the file into memory twice
(ObjectFilePECOFF also loads a copy), reducing our memory footprint, as
well as enabling additional goodies in the future, like being able to
open files which don't exist on disk (D83512).
The file was modifiedlldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
The file was modifiedlldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
Commit f78e6a3095ca82d7621def46b2531b922a56e8f9 by paul.walker
[SVE] Code generation for fixed length vector truncates.

Lower fixed length vector truncates to a sequence of SVE UZP1 instructions.

Differential Revision: https://reviews.llvm.org/D83395
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-trunc.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit 69a89b54c62696d45731b48c26686cc4f9d652c6 by david.stuttard
[NFC] Change isFPPredicate comparison to ignore lower bound

Summary:
Since changing the Predicate to be an unsigned enum, the lower bound check for
isFPPredicate no longer needs to check the lower bound, since
it will always evaluate to true.

Also fixed a similar issue in SIISelLowering.cpp by removing the need for
comparing to FIRST and LAST predicates

Added an assert to the isFPPredicate comparison to flag if the
FIRST_FCMP_PREDICATE is ever changed to anything other than 0, in which case the
logic will break.

Without this change warnings are generated in VS.

Change-Id: I358f0daf28c0628c7bda8ad4cab4e1757b761bab

Subscribers: arsenm, jvesely, nhaehnle, hiraditya, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83540
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
Commit 4cc26a44ca8b29abf9e73a1048e8a36ac87b1fa1 by llvm-dev
[X86][SSE] Use shouldUseHorizontalOp helper to determine whether to use (F)HADD. NFCI.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 9ce98312896c5c67adb3a137506758d2cac8bb37 by llvm-dev
StackSafetyAnalysis.cpp - pass ConstantRange arg as const reference.

Avoids unnecessary copies and silences clang tidy warning - we do this in most places, there are just a few that were missed.
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit a25487fd8cb91f99cfc1db1d4159184ac2a816a9 by n.james93
[clang-tidy] Use Options priority in enum options where it was missing
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyCheck.cpp
Commit b69e0f674fb5a05224fbe50cae9a9e4137a2c0e1 by llvm-dev
DomTreeUpdater::dump() - use const auto& iterator in for-range-loop.

Avoids unnecessary copies and silences clang tidy warning.
The file was modifiedllvm/lib/Analysis/DomTreeUpdater.cpp
Commit 4c5a93bd58bad70e91ac525b0e020bd5119a321a by ulrich.weigand
[ABI] Handle C++20 [[no_unique_address]] attribute

Many platform ABIs have special support for passing aggregates that
either just contain a single member of floatint-point type, or else
a homogeneous set of members of the same floating-point type.

When making this determination, any extra "empty" members of the
aggregate type will typically be ignored.  However, in C++ (at least
in all prior versions), no data member would actually count as empty,
even if it's type is an empty record -- it would still be considered
to take up at least one byte of space, and therefore make those ABI
special cases not apply.

This is now changing in C++20, which introduced the [[no_unique_address]]
attribute.  Members of empty record type, if they also carry this
attribute, now do *not* take up any space in the type, and therefore
the ABI special cases for single-element or homogeneous aggregates
should apply.

The C++ Itanium ABI has been updated accordingly, and GCC 10 has
added support for this new case.  This patch now adds support to
LLVM.  This is cross-platform; it affects all platforms that use
the single-element or homogeneous aggregate ABI special case and
implement this using any of the following common subroutines
in lib/CodeGen/TargetInfo.cpp:
  isEmptyField
  isEmptyRecord
  isSingleElementStruct
  isHomogeneousAggregate
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/test/CodeGen/systemz-abi.cpp
Commit 118366dcb6c35239c1c816d109230d6f7f3660af by wei.huang
[PowerPC] Implement R_PPC64_REL24_NOTOC calls, callee also has no TOC

The PC Relative code allows for calls that are marked with the relocation
R_PPC64_REL24_NOTOC. This indicates that the caller does not have a valid TOC
pointer in R2 and does not require R2 to be restored after the call.

This patch is added to support local calls to callees tha also do not have a TOC.

Reviewed By: sfertile, MaskRay, stefanp

Differential Revision: https://reviews.llvm.org/D82816
The file was modifiedlld/ELF/Arch/PPC64.cpp
The file was addedlld/test/ELF/ppc64-pcrel-call-to-pcrel.s
The file was addedlld/test/ELF/Inputs/ppc64-callee-global-hidden.s
Commit 86f1313424fb578b0fd6c950d3ce7cb241f326ea by sam.mccall
[clangd] Config: If.PathExclude

Reviewers: hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83511
The file was modifiedclang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
The file was modifiedclang-tools-extra/clangd/ConfigYAML.cpp
The file was modifiedclang-tools-extra/clangd/ConfigCompile.cpp
The file was modifiedclang-tools-extra/clangd/ConfigFragment.h
Commit e1135b486aaed207f87a6d2e890678ef133b816e by david.green
Revert "[BasicAA] Enable -basic-aa-recphi by default"

This reverts commit af839a96187e3538d63ad57571e4bdf01e2b15c5.

Some issues appear to be being caused by this. Reverting whilst we
investigate.
The file was modifiedllvm/test/Analysis/BasicAA/recphi.ll
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/test/Analysis/BasicAA/phi-loop.ll
Commit d4ce862f2aa8b7e4b11462bd72014b08ab9468b3 by kevin.neal
Reland "[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support."

We currently have strict floating point/constrained floating point enabled
for all targets. Constrained SDAG nodes get converted to the regular ones
before reaching the target layer. In theory this should be fine.

However, the changes are exposed to users through multiple clang options
already in use in the field, and the changes are _completely_ _untested_
on almost all of our targets. Bugs have already been found, like
"https://bugs.llvm.org/show_bug.cgi?id=45274".

This patch disables constrained floating point options in clang everywhere
except X86 and SystemZ. A warning will be printed when this happens.

Use the new -fexperimental-strict-floating-point flag to force allowing
strict floating point on hosts that aren't already marked as supporting
it (X86 and SystemZ).

Differential Revision: https://reviews.llvm.org/D80952
The file was modifiedclang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
The file was modifiedclang/lib/Basic/Targets/SystemZ.h
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/test/CodeGen/arm64-vrnd-constrained.c
The file was modifiedclang/test/CodeGen/fpconstrained.c
The file was modifiedclang/test/CodeGen/builtins-ppc-fpconstrained.c
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/include/clang/Basic/DiagnosticFrontendKinds.td
The file was modifiedclang/test/CodeGen/fpconstrained.cpp
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/CodeGen/arm-neon-directed-rounding-constrained.c
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-double.c
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedclang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem-constrained.c
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedclang/test/CodeGen/aarch64-neon-misc-constrained.c
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-float.c
The file was addedclang/test/CodeGen/fp-strictfp.cpp
The file was addedclang/test/CodeGen/fp-strictfp-exp.cpp
Commit 0555db0a5df4d669ce4c2125668ec7a8a42fcd9d by dany.grumberg
Normalize default value for -triple correctly
The file was modifiedclang/include/clang/Driver/Options.td
Commit 22c8a08fd8a1487159564f74f24561964f6a6c97 by ntv
[mlir][Vector] Fold chains of ExtractOp

This revision adds folding to ExtractOp by simply concatenating the position attributes.
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/test/Dialect/Vector/vector-contract-transforms.mlir
The file was modifiedmlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
Commit 015a0faa5e9ef3095d521e1daf03fab9683ba028 by hokein.wu
[clangd] Fix hover crash on InitListExpr.

Fixes https://github.com/clangd/clangd/issues/455

Differential Revision: https://reviews.llvm.org/D83546
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/clangd/Hover.cpp
Commit 56c638b5c1caf018da3fa1a95b603267e607c89c by ntv
[mlir][Linalg] Generalize Vectorization of Linalg contractions

This revision adds support for vectorizing named and generic contraction ops to vector.contract. Cases in which the memref is 0-D are special cased to emit std.load/std.store instead of vector.transfer. Relevant tests are added.

Differential revision: https://reviews.llvm.org/D83307
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns-matmul-to-vector.mlir
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
Commit 523a8513f8ba4d6b111496c541b9ba9f4d5f0261 by kevin.neal
[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support."

Use the new -fexperimental-strict-floating-point flag in more cases to
fix the arm and aarch64 bots.

Differential Revision: https://reviews.llvm.org/D80952
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-float.c
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-double.c
Commit ef0ecb7b03332fd5076a7ea641eadf0d01cd32c0 by lebedev.ri
[NFCI][InstCombine] PR46661: multiple stores eligible for merging into successor - worklist issue

The testcase should pass with a single instcombine iteration.
The file was addedllvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
Commit 2655a70a046b67abe3bca01059d8767030f6e1c9 by lebedev.ri
[InstCombine] After merging store into successor, queue prev. store to be visited (PR46661)

We can happen to have a situation with many stores eligible for transform,
but due to our visitation order (top to bottom), when we have processed
the first eligible instruction, we would not try to reprocess the previous
instructions that are now also eligible.

So after we've successfully merged a store that was second-to-last instruction
into successor, if the now-second-to-last instruction is also a such store
that is eligible, add it to worklist to be revisited.

Fixes https://bugs.llvm.org/show_bug.cgi?id=46661
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modifiedllvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
Commit 7103c87596efccd532e9fe04a6ba6a200fed8481 by lebedev.ri
Reland "[InstCombine] Lower infinite combine loop detection thresholds""

This relands commit cd7f8051ac7b6f08734102446482c1e5d951bfcc that was
reverted since lower threshold have successfully found an issue.
Now that the issue is fixed, let's wait until the next one is reported.

This reverts commit caa423eef0d128f35ac11ddbce34964caafb61c1.
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 5fea54bc05a71e81e843fd9284d258cd38d7fe23 by sam.mccall
[clangd] Update semanticTokens support to reflect latest LSP draft

Summary: Mostly a few methods and message names have been renamed.

Reviewers: hokein

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83556
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedclang-tools-extra/clangd/Protocol.h
The file was modifiedclang-tools-extra/clangd/Protocol.cpp
The file was modifiedclang-tools-extra/clangd/test/semantic-tokens.test
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.h
The file was modifiedclang-tools-extra/clangd/test/initialize-params.test
Commit 23cd70d71c10dc0b31ac37a733349f9de2e9b84c by alexandre.ganea
[PDB] Fix out-of-bounds acces when sorting GSI buckets

When building in Debug on Windows-MSVC after b7402edce315, a lot of tests were failing because we were dereferencing an element past the end of HashRecords. This happened towards the end of the table, in unused slots.
The file was modifiedllvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
Commit bce8fced41b96260a42dfbb254240a49769fafa9 by jdenny.ornl
[FileCheck] Implement -dump-input-context

This patch is motivated by discussions at each of:

* <https://reviews.llvm.org/D81422>
* <http://lists.llvm.org/pipermail/llvm-dev/2020-June/142369.html>

When input is dumped as specified by `-dump-input=fail`, this patch
filters the dump to show only input lines that are the starting lines
of error diagnostics plus the number of contextual lines specified
`-dump-input-context` (defaults to 5).

When `-dump-input=always`, there might be not be any errors, so all
input lines are printed, as without this patch.

Here's some sample output with `-dump-input-context=3 -vv`:

```
<<<<<<
           .
           .
           .
          13: foo
          14: foo
          15: hello world
check:1       ^~~~~~~~~~~
          16: foo
check:2'0     X~~ error: no match found
          17: foo
check:2'0     ~~~
          18: foo
check:2'0     ~~~
          19: foo
check:2'0     ~~~
           .
           .
           .
          27: foo
check:2'0     ~~~
          28: foo
check:2'0     ~~~
          29: foo
check:2'0     ~~~
          30: goodbye word
check:2'0     ~~~~~~~~~~~~
check:2'1     ?            possible intended match
          31: foo
check:2'0     ~~~
          32: foo
check:2'0     ~~~
          33: foo
check:2'0     ~~~
           .
           .
           .
>>>>>>
```

Reviewed By: mehdi_amini, arsenm, jhenderson, rsmith, SjoerdMeijer, Meinersbur, lattner

Differential Revision: https://reviews.llvm.org/D82203
The file was addedllvm/test/FileCheck/dump-input-context.txt
The file was modifiedllvm/test/FileCheck/dump-input-enable.txt
The file was addedllvm/test/FileCheck/dump-input-filter.txt
The file was modifiedllvm/test/FileCheck/dump-input-annotations.txt
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
Commit 77b6ddf1bd77da90407316345156415dc646e744 by jdenny.ornl
[FileCheck] In input dump, elide only if ellipsis is shorter

For example, given `-dump-input-context=3 -vv`, the following now
shows more leading context for the error than requested because a
leading ellipsis would occupy the same number of lines as it would
elide:

```
<<<<<<
         1: foo6
         2: foo5
         3: foo4
         4: foo3
         5: foo2
         6: foo1
         7: hello world
check:1     ^~~~~
check:2           X~~~~ error: no match found
         8: foo1
check:2     ~~~~
         9: foo2
check:2     ~~~~
        10: foo3
check:2     ~~~~
         .
         .
         .
>>>>>>
```

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D83526
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
The file was modifiedllvm/test/FileCheck/dump-input-context.txt
Commit 9fd4b5faacbdfb887389c9ac246efa23be1cd334 by jdenny.ornl
[FileCheck] Implement -dump-input-filter

This makes the input dump filtering implemented by D82203 more
configurable.  D82203 enables filtering out everything but the initial
input lines of error diagnostics (plus some context).  This patch
enables including any line with any kind of annotation.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D83097
The file was modifiedllvm/test/FileCheck/dump-input-filter.txt
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
Commit a490d387e6e6085b35a6850581b62db3d2d47009 by ntv
[mlir][Vector] Add ExtractOp folding when fed by a TransposeOp

TransposeOp are often followed by ExtractOp.
In certain cases however, it is unnecessary (and even detrimental) to lower a TransposeOp to either a flat transpose (llvm.matrix intrinsics) or to unrolled scalar insert / extract chains.

Providing foldings of ExtractOp mitigates some of the unnecessary complexity.

Differential revision: https://reviews.llvm.org/D83487
The file was modifiedmlir/include/mlir/IR/AffineMap.h
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/lib/IR/AffineMap.cpp
Commit 02fec9d2a5f4a6f169bcf2e850eb244fb919309f by spatel
[DAGCombiner] move/rename variables for readability; NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit d84b4e163da7fba26594f960fca10fa31f7c611a by spatel
[AArch64][x86] add tests for rotated store merge; NFC
The file was modifiedllvm/test/CodeGen/X86/stores-merging.ll
The file was modifiedllvm/test/CodeGen/AArch64/merge-store-dependency.ll
Commit eb5c7f6b8fe0e66bbbc2aa23cc899fa11b750030 by flo
[ARM] Add test with tcreturn and debug value.

In the attached test case, a non-terminator instruction (DBG_VALUE) is
inserted after a terminator, producing an invalid MBB.
The file was addedllvm/test/CodeGen/ARM/dbg-tcreturn.ll
Commit ec00aa99dd4cd46c328219cffefcfdf8a8bd53a0 by flo
[DomTreeUpdater] Use const auto * when iterating over pointers (NFC).

This silences the warning below:

llvm-project/llvm/lib/Analysis/DomTreeUpdater.cpp:510:20: warning: loop variable 'BB' is always a copy because the range of type 'const SmallPtrSet<llvm::BasicBlock *, 8>' does not return a reference [-Wrange-loop-analysis]
  for (const auto &BB : DeletedBBs) {
                   ^
llvm-project/llvm/lib/Analysis/DomTreeUpdater.cpp:510:8: note: use non-reference type 'llvm::BasicBlock *'
  for (const auto &BB : DeletedBBs) {
       ^~~~~~~~~~~~~~~~
1 warning generated.
The file was modifiedllvm/lib/Analysis/DomTreeUpdater.cpp
Commit 43d8d59d6d2c03165a219022430e3b1cbf6351a2 by johannes
[Attributor][NFC] Update tests after recent changes

Attributor tests are mostly updated using the auto upgrade scripts but
sometimes we forget. If we do it manually or continue using old check
lines that still match we see unrelated changes down the line. This is
just a cleanup.
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/basictest.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/profile.ll
The file was modifiedllvm/test/Transforms/Attributor/misc_crash.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
The file was modifiedllvm/test/Transforms/Attributor/undefined_behavior.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/crash.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/min-legal-vector-width.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/return-argument.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/dangling-block-address.ll
The file was modifiedllvm/test/Transforms/Attributor/liveness.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/2008-02-01-ReturnAttrs.ll
The file was modifiedllvm/test/Transforms/Attributor/internal-noalias.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead.ll
The file was modifiedllvm/test/Transforms/Attributor/readattrs.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/control-flow2.ll
The file was modifiedllvm/test/Transforms/Attributor/heap_to_stack.ll
The file was modifiedllvm/test/Transforms/Attributor/memory_locations.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/live_called_from_dead_2.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/X86/attributes.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
The file was modifiedllvm/test/Transforms/Attributor/value-simplify.ll
Commit 864586d0fd7df8efb2ac1f85ad1122e9a8fae349 by flo
[ARM] Pass -verify-machineinstr to test and XFAIL until fixed.

Some bots run with -verify-machineinstr enabled. Add it to the new test
and XFAIL it until fixed.
The file was modifiedllvm/test/CodeGen/ARM/dbg-tcreturn.ll
Commit 3607aacc59817f76bffb9b567f128871340d54d2 by dany.grumberg
Delete CC1Options.td, since it should have happened in D82574
The file was removedclang/include/clang/Driver/CC1Options.td
Commit 1d542f0ca83fa1411d6501a8d088450d83abd5b8 by lebedev.ri
Revert "[OpenMPOpt] ICV Tracking"

There appears to be some kind of memory corruption/use-after-free/etc
going on here. In particular, in `OpenMPOpt::deleteParallelRegions()`,
in `DeleteCallCB()`, `CI` is garbage.

WIll post reproducer in the original review.

This reverts commit 6c4a5e9257bac022ffe60e466686ba7fc96ffd1a.
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/test/Transforms/OpenMP/icv_tracking.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 1fbb719470c6e0395abaab66c68fae3b8ae405d0 by zequanwu
[LPM] Port CGProfilePass from NPM to LPM

Reviewers: hans, chandlerc!, asbirlea, nikic

Reviewed By: hans, nikic

Subscribers: steven_wu, dexonsmith, nikic, echristo, void, zhizhouy, cfe-commits, aeubanks, MaskRay, jvesely, nhaehnle, hiraditya, kerbowa, llvm-commits

Tags: #llvm, #clang

Differential Revision: https://reviews.llvm.org/D83013
The file was modifiedllvm/include/llvm/Transforms/IPO/PassManagerBuilder.h
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 modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO.h
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/test/Instrumentation/cgprofile.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/CGProfile.h
The file was removedllvm/test/Other/new-pm-cgprofile.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/Instrumentation.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/CGProfile.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
Commit dcd76c0c0716a4417110423718c7cae4b516b4d0 by zequanwu
[Lexer] Fix missing coverage line after #endif

Summary: bug reported here: https://bugs.llvm.org/show_bug.cgi?id=46660

Reviewers: vsk, efriedma, arphaman

Reviewed By: vsk

Subscribers: dexonsmith, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83514
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.cpp
The file was modifiedclang/lib/Lex/PPDirectives.cpp
The file was modifiedclang/test/CoverageMapping/preprocessor.c
Commit e5123ea248eb460c6695dc28ed2f1cc53495356b by shkzhang
 [NFC][PowerPC] Add a new MIR file to test mi-peephole pass
The file was addedllvm/test/CodeGen/PowerPC/mi-peephole.mir
Commit f33c2c27a8d4ea831aa7c2c2649066be91318d85 by ecaldas
Fix crash on `user defined literals`

Summary:
Given an UserDefinedLiteral `1.2_w`:
Problem: Lexer generates one Token for the literal, but ClangAST
references two source locations
Fix: Ignore the operator and interpret it as the underlying literal.
e.g.: `1.2_w` token generates syntax node IntegerLiteral(1.2_w)

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82157
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit 1db5b348c4c93b6610afb4fd515b389989efc302 by ecaldas
Add kinded UDL for raw literal operator and  numeric literal operator template
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit a474d5bae4773782d50d4a5a62300c0f4a2dff28 by ecaldas
Use FileRange::text instead of Lexer::getSpelling

* as we are using them only for integer and floating literals they have
the same behavior
* FileRange::text is simpler to call and is within the context of
syntax trees
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit aa7a5ad56b6028e0963e1a8d45b4e82f3f6bc70e by Saleem Abdulrasool
repair standalone clang builds

Add missing C++ language standard setup for clang standalone build.

Patch by Michele Scandale!

Differential Revision: https://reviews.llvm.org/D83426
The file was modifiedclang/CMakeLists.txt
Commit a2cffb11e287f0e35685ac404400edab12cae51e by dany.grumberg
Remove clang options that were added back when merging the TableGen files
The file was modifiedclang/include/clang/Driver/Options.td
Commit 979c5023d3f0656cf51bd645936f52acd62b0333 by jaskiewiczs
Revert "[compiler-rt] [test] Use the parent process env as base env in tests"

This reverts commit 5ab446cfe5503fd4431a94db4d741cf3b5fdcd15.

That commit caused memory sanitizer test failures on PowerPC buildbots
The file was modifiedcompiler-rt/test/lit.common.cfg.py
Commit b887da81cc179575932302b87ae8dc7d3f5e3690 by benny.kra
[CGProfile] Fix layering, IPO depends in Instrumentation.
The file was modifiedllvm/include/llvm/Transforms/IPO.h
The file was modifiedllvm/lib/Transforms/Instrumentation/CGProfile.cpp
The file was modifiedllvm/include/llvm/Transforms/Instrumentation.h
Commit 954db63cd149df031d9b660bf68f0fe1de1defb9 by luke.geeson
[ARM] Add Cortex-A78 and Cortex-X1 Support for Clang and LLVM

This patch upstreams support for the Arm-v8 Cortex-A78 and Cortex-X1
processors for AArch64 and ARM.

In detail:
- Adding cortex-a78 and cortex-x1 as cpu options for aarch64 and arm targets in clang
- Adding Cortex-A78 and Cortex-X1 CPU names and ProcessorModels in llvm

details of the CPU can be found here:
https://www.arm.com/products/cortex-x

https://www.arm.com/products/silicon-ip-cpu/cortex-a/cortex-a78

The following people contributed to this patch:
- Luke Geeson
- Mikhail Maltsev

Reviewers: t.p.northover, dmgreen

Reviewed By: dmgreen

Subscribers: dmgreen, kristof.beyls, hiraditya, danielkiss, cfe-commits,
llvm-commits, miyuki

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D83206
The file was modifiedllvm/test/CodeGen/AArch64/remat.ll
The file was modifiedllvm/test/MC/Disassembler/AArch64/armv8.3a-rcpc.txt
The file was modifiedllvm/include/llvm/Support/AArch64TargetParser.def
The file was modifiedllvm/test/MC/ARM/armv8.2a-dotprod-t32.s
The file was modifiedllvm/test/MC/AArch64/armv8.2a-dotprod.s
The file was modifiedclang/test/Driver/aarch64-cpus.c
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedclang/test/Driver/arm-cortex-cpus.c
The file was modifiedllvm/include/llvm/Support/ARMTargetParser.def
The file was modifiedllvm/test/CodeGen/AArch64/cpus.ll
The file was modifiedllvm/test/MC/ARM/armv8.2a-dotprod-a32.s
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.h
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedllvm/unittests/Support/TargetParserTest.cpp
The file was modifiedllvm/lib/Target/ARM/ARM.td
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.cpp
Commit 1cf6f210a2ed87dcda2183fffd6f9aa17b5c493c by craig.topper
[IR] Disable select ? C : undef -> C fold in ConstantFoldSelectInstruction unless we know C isn't poison.

This matches the recent change to InstSimplify from D83440.

Differential Revision: https://reviews.llvm.org/D83535
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
The file was modifiedllvm/test/Transforms/InferAddressSpaces/AMDGPU/select.ll
Commit add59ecb34e3003311b7e2318b16a0ef10c76d79 by alexandre.ganea
Re-land [CodeView] Add full repro to LF_BUILDINFO record

This patch adds some missing information to the LF_BUILDINFO which allows for rebuilding an .OBJ without any external dependency but the .OBJ itself (other than the compiler executable).

Some tools need this information to reproduce a build without any knowledge of the build system. The LF_BUILDINFO therefore stores a full path to the compiler, the PWD (which is the CWD at program startup), a relative or absolute path to the TU, and the full CC1 command line. The command line needs to be freestanding (not depend on any environment variable). In the same way, MSVC doesn't store the provided command-line, but an expanded version (somehow their equivalent of CC1) which is also freestanding.

For more information see PR36198 and D43002.

Differential Revision: https://reviews.llvm.org/D80833
The file was modifiedlld/COFF/PDB.cpp
The file was modifiedlld/test/COFF/Inputs/pdb_lines_2_relative.yaml
The file was modifiedlld/test/COFF/pdb-relative-source-lines.test
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedllvm/test/DebugInfo/COFF/global-type-hashes.ll
The file was addedlld/test/COFF/pdb-relative-source-lines2.test
The file was modifiedllvm/test/DebugInfo/COFF/types-data-members.ll
The file was modifiedlld/test/COFF/Inputs/pdb_lines_1_relative.yaml
The file was addedclang/test/CodeGen/debug-info-codeview-buildinfo.c
The file was modifiedllvm/test/DebugInfo/COFF/build-info.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-basic.ll
Commit 8c8a2fd1f015525d048444610a6e27c66aa96293 by anastasia.stulova
[OpenCL] Fixed typo for ctor stub name in UsersManual
The file was modifiedclang/docs/UsersManual.rst
Commit e337350be9d6efd72027c331f95ef33df61fdc43 by jingham
This is a refinement on 96601ec28b7efe5abf3479a1aa91bcedb235bbbd. The intent of that change was to do the same work for the computation of the locations of the children of ValueObjectVariable as was done for the root ValueObjectVariable. This original patch did that by moving the computation from ValueObjectVariable to ValueObject. That fixed the problem but caused a handful of swift-lldb testsuite failures and a crash or two.

The problem is that synthetic value objects can sometimes represent objects in target memory, and other times they might be made up wholly in lldb memory, with pointers from one synthetic object to another, and so the ValueObjectVariable computation was not appropriate.

This patch delegates the computation to the root of the ValueObject in question. That solves the problem for ValueObjectVariable while not messing up the computation for ValueObjectConstResult or ValueObjectSynthetic.

Differential Revision: https://reviews.llvm.org/D83450
The file was modifiedlldb/include/lldb/Core/ValueObjectVariable.h
The file was modifiedlldb/source/Core/ValueObjectVariable.cpp
The file was modifiedlldb/include/lldb/Core/ValueObject.h
The file was modifiedlldb/source/Core/ValueObject.cpp
Commit fdb7856d54a1f81bab0ac0c8a4e984620589e699 by ditaliano
Revert "[NFC] Derive from PassInfoMixin for no-op/printing passes"

This reverts commit 8039d2c3bf14585ef37dc9343bf393ecad9aead9 as
it breaks the modules build on macOS.
The file was modifiedllvm/include/llvm/IR/IRPrintingPasses.h
The file was modifiedllvm/lib/IR/LegacyPassManager.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit 90b1a710aede2b276cda47538142fef6f5253361 by lei
[PowerPC] Enable default support of quad precision operations

Summary: Remove option guarding support of quad precision operations.

Reviewers: nemanjai, #powerpc, steven.zhang

Reviewed By: nemanjai, #powerpc, steven.zhang

Subscribers: qiucf, wuzish, nemanjai, hiraditya, kbarton, shchenz, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83437
The file was modifiedllvm/test/CodeGen/PowerPC/f128-fma.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-passByValue.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-arith.ll
The file was modifiedllvm/test/CodeGen/PowerPC/float-load-store-pair.ll
The file was modifiedllvm/test/CodeGen/PowerPC/builtins-ppc-p9-f128.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-vecExtractNconv.ll
The file was modifiedllvm/test/CodeGen/PowerPC/global-address-non-got-indirect-access.ll
The file was modifiedllvm/test/CodeGen/PowerPC/constant-pool.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-conv.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-aggregates.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-bitcast.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-truncateNconv.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/fp-strict-f128.ll
The file was modifiedllvm/test/CodeGen/PowerPC/pcrel-got-indirect.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-rounding.ll
The file was modifiedllvm/test/CodeGen/PowerPC/ppc64-P9-setb.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-compare.ll
The file was modifiedllvm/test/CodeGen/PowerPC/recipest.ll
Commit a4f0c58c6e3f4ec0f5bb8c5232a77dd452df0fb5 by gyurgyikcp
[libc] Add strchr implementation. Fixes bug in memchr.

Summary: [libc] Adds strchr implementation with unit tests. Fixes signed character bug in memchr.

Reviewers: sivachandra, PaulkaToast

Reviewed By: sivachandra

Subscribers: mgorny, tschuett, ecnelises, libc-commits

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D83353
The file was addedlibc/test/src/string/strchr_test.cpp
The file was modifiedlibc/config/linux/aarch64/entrypoints.txt
The file was modifiedlibc/src/string/memchr.cpp
The file was addedlibc/src/string/strchr.cpp
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was modifiedlibc/src/string/CMakeLists.txt
The file was addedlibc/src/string/strchr.h
The file was modifiedlibc/test/src/string/CMakeLists.txt
The file was modifiedlibc/test/src/string/memchr_test.cpp
Commit e541e1b757237172c247904b670c9894d6b3759d by anhtuyen
[NFC] Separate Peeling Properties into its own struct (re-land after minor fix)

Summary:
This patch separates the peeling specific parameters from the UnrollingPreferences,
and creates a new struct called PeelingPreferences. Functions which used the
UnrollingPreferences struct for peeling have been updated to use the PeelingPreferences struct.

Author: sidbav (Sidharth Baveja)

Reviewers: Whitney (Whitney Tsang), Meinersbur (Michael Kruse), skatkov (Serguei Katkov), ashlykov (Arkady Shlykov), bogner (Justin Bogner), hfinkel (Hal Finkel), anhtuyen (Anh Tuyen Tran), nikic (Nikita Popov)

Reviewed By: Meinersbur (Michael Kruse)

Subscribers: fhahn (Florian Hahn), hiraditya (Aditya Kumar), llvm-commits, LLVM

Tag: LLVM

Differential Revision: https://reviews.llvm.org/D80580
The file was modifiedllvm/include/llvm/Transforms/Utils/UnrollLoop.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollPeel.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
Commit a0b549602612fa2577068bcdcae3bfbc6c9c3264 by nikita.ppv
[PredicateInfo] Add test for multiple branches on same condition (NFC)

This illustrates a case where RenamedOp does not correspond to the
value used in the condition, which it ideally should.
The file was addedllvm/test/Transforms/Util/PredicateInfo/branch-on-same-cond.ll
Commit dafc3106d2069b806a10e072306a2196f1cda585 by erik.pilkington
[Sema] Emit a -Wformat warning for printf("%s", (void*)p)

Its dangerous to assume that the opaque pointer points to a null-terminated
string, and this has an easy fix (casting to char*).

rdar://62432331
The file was modifiedclang/lib/AST/FormatString.cpp
The file was modifiedclang/test/Sema/format-strings.c
Commit ecfa01e956a49ed349683f1cfcfbbec423114b68 by kkleine
[lldb] on s390x fix override issue

Summary:
This fixes an override issue by marking a function as const so that the
signature maps to the signature of the function in the base class.

This is the original error:

In file included from /root/llvm/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.cpp:11:
/root/llvm/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.h:79:10: error: 'size_t lldb_private::process_linux::NativeRegisterContextLinux_s390x::GetGPRSize()' marked 'override', but does not override
   79 |   size_t GetGPRSize() override { return sizeof(m_regs); }
      |          ^~~~~~~~~~

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D83580
The file was modifiedlldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.h
Commit 9ff310d5bfa56bb5f29645e2d2fee12115c3ddb7 by Matthew.Arsenault
AArch64: Fix unused variables
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
Commit 9bf6354301ac4e1c7a00e4ef46decba38840fe62 by ajcbik
[mlir] [VectorOps] Allow AXPY to be expressed as special case of OUTERPRODUCT

This specialization allows sharing more code where an AXPY follows naturally
in cases where an OUTERPRODUCT on a scalar would be generated.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D83453
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/test/Dialect/Vector/invalid.mlir
The file was modifiedmlir/integration_test/Dialect/Vector/CPU/test-outerproduct-f32.mlir
The file was modifiedmlir/test/Dialect/Vector/vector-contract-transforms.mlir
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/integration_test/Dialect/Vector/CPU/test-outerproduct-i64.mlir
Commit ea201e83e292f39c3ee7fe8810a348ee98000398 by davg
[AST][ObjC] Fix crash when printing invalid objc categories

Summary:
If no valid interface definition was found previously we would crash.

With this change instead we just print `<<error-type>>` in place
of the NULL interface. In the future this could be improved by
saving the invalid interface's name and using that.

Reviewers: sammccall, gribozavr

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83513
The file was modifiedclang/lib/AST/DeclPrinter.cpp
The file was modifiedclang/unittests/AST/DeclPrinterTest.cpp
Commit 169c83208f37f8e5539b1386030d9f3e4b15f16a by Jonas Devlieghere
[ldb/Reproducers] Add YamlRecorder and MultiProvider

This patch does several things that are all closely related:

- It introduces a new YamlRecorder as a counterpart to the existing
   DataRecorder. As the name suggests the former serializes data as yaml
   while the latter uses raw texts or bytes.

- It introduces a new MultiProvider base class which can be backed by
   either a DataRecorder or a YamlRecorder.

- It reimplements the CommandProvider in terms of the new
   MultiProvider.

Finally, it adds unit testing coverage for the MultiProvider, a naive
YamlProvider built on top of the new YamlRecorder and the existing
MutliLoader.

Differential revision: https://reviews.llvm.org/D83441
The file was modifiedlldb/unittests/Utility/ReproducerTest.cpp
The file was modifiedlldb/source/API/SBDebugger.cpp
The file was modifiedlldb/include/lldb/Utility/Reproducer.h
The file was modifiedlldb/source/Utility/Reproducer.cpp
Commit 21b4cc1db9f4eb6d6956802257e3a80f86045c67 by aeubanks
Reland [NFC] Derive from PassInfoMixin for no-op/printing passes

PassInfoMixin should be used for all NPM passes, rater than a custom
`name()`.

This caused ambiguous references in LegacyPassManager.cpp, so had to
remove "using namespace llvm::legacy" and move some things around.

Reviewed By: ychen, asbirlea

Differential Revision: https://reviews.llvm.org/D83498
The file was modifiedllvm/lib/IR/LegacyPassManager.cpp
The file was modifiedllvm/include/llvm/IR/IRPrintingPasses.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/module.modulemap
Commit 006c49d890da633d1ce502117fc2a49863cd65b7 by aaron
Change behavior with zero-sized static array extents

Currently, Clang previously diagnosed this code by default:
  void f(int a[static 0]);
saying that "static has no effect on zero-length arrays", which was
accurate.

However, static array extents require that the caller of the function
pass a nonnull pointer to an array of *at least* that number of
elements, but it can pass more (see C17 6.7.6.3p6). Given that we allow
zero-sized arrays as a GNU extension and that it's valid to pass more
elements than specified by the static array extent, we now support
zero-sized static array extents with the usual semantics because it can
be useful in cases like:

  void my_bzero(char p[static 0], int n);
  my_bzero(&c+1, 0); //ok
  my_bzero(t+k,n-k); //ok, pattern from actual code
The file was modifiedclang/test/Sema/static-array.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/test/CodeGen/vla.c
Commit 365434a584078577a7af6b91ffd2640c72c6d265 by ajcbik
[mlir] [VectorOps] Merge OUTER/AXPY vector.contract lowering into single case

We temporarily had separate OUTER lowering (for matmat flavors) and
AXPY lowering (for matvec flavors). With the new generalized
"vector.outerproduct" semantics, these cases can be merged into
a single lowering method. This refactoring will simplify future
decisions on cost models and lowering heuristics.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D83585
The file was modifiedmlir/test/Dialect/Vector/vector-contract-matvec-transforms.mlir
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorTransforms.h
The file was modifiedmlir/test/lib/Transforms/TestVectorTransforms.cpp
Commit cb6c1106141efa721a3902a98c37a54d135464fd by Artem Dergachev
[analyzer] Silence a warning.

An old clang warns that the const object has no default constructor so it may
remain uninitialized forever. That's a false alarm because all fields
have a default initializer. Apply the suggested fixit anyway.
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Commit ec2f2cec769cb07bbf8691f2e0e800747266f857 by ntv
[mlir][Vector]  Add folding for vector.transfer ops

This revision folds vector.transfer operations by updating the `masked` bool array attribute when more unmasked dimensions can be discovered.

Differential revision: https://reviews.llvm.org/D83586
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/lib/IR/AffineMap.cpp
The file was modifiedmlir/include/mlir/IR/AffineMap.h
The file was modifiedmlir/lib/Conversion/VectorToROCDL/VectorToROCDL.cpp
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/test/Dialect/Vector/vector-transforms.mlir
Commit 6dda6ff0e094b667311dbd7a46d4e36aa787e033 by jdenny.ornl
[FileCheck] Fix up -dump-input* docs

In FileCheck.rst, add `-dump-input-context` and `-dump-input-filter`,
and fix some `-dump-input` documentation.

In `FileCheck -help`, `cl::value_desc("kind")` is being ignored for
`-dump-input-filter`, so just drop it.

Extend `-dump-input=help` to mention FILECHECK_OPTS.
The file was modifiedllvm/docs/CommandGuide/FileCheck.rst
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
Commit 1d68a780b34e1f18f865d0754fce6c6177dc5d21 by tstellar
[clang-shlib] Don't link with static clang libraries

Summary:
If we are building static libraries we don't need to link them into
clang-shlib, since clang-shlib already has all the individual object
files linked in.

Reviewers: smeenai

Reviewed By: smeenai

Subscribers: mgorny, cfe-commits, llvm-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82694
The file was modifiedclang/tools/clang-shlib/CMakeLists.txt
Commit 32bf46842025b740de870dbcd446e4b0f203c9aa by llvm-project
[Polly] Fix -polly-opt-isl -analyze

The member LastSchedule was never set, such that printScop would always
print "n/a" instead of the last schedule.

To ensure that the isl_ctx lives as least as long as the stored
schedule, also store a shared_ptr.

Also set the schedule tree output style to ISL_YAML_STYLE_BLOCK to avoid
printing everything on a single line.

`opt -polly-opt-isl -analyze` will be used in the next commit.
The file was modifiedpolly/test/ScheduleOptimizer/tile_after_fusion.ll
The file was modifiedpolly/test/ScheduleOptimizer/mat_mul_pattern_data_layout_2.ll
The file was modifiedpolly/lib/Transform/ScheduleOptimizer.cpp
The file was modifiedpolly/test/ScheduleOptimizer/pattern-matching-based-opts_3.ll
Commit c0bc995429c417c1e206841d6b9727218fab3f73 by llvm-project
[Polly] Fix prevectorization of fused loops.

The schedule of a fused loop has one isl_space per statement, such that
a conversion to a isl_map fails. However, the prevectorization is
interested in the schedule space only: Converting to the non-union
representation only after extracting the schedule range fixes the problem.

This fixes llvm.org/PR46578
The file was modifiedpolly/lib/Transform/ScheduleOptimizer.cpp
The file was addedpolly/test/ScheduleOptimizer/focaltech_test_detail_threshold-7bc17e.ll
Commit 6d5aeb0dceebd4c4d4ac9d9d78919362db28f081 by thomasraoux
[mlir][linalg] Improve aliasing approximation for hoisting transfer read/write

Improve the logic deciding if it is safe to hoist vector transfer read/write
out of the loop. Change the logic to prevent hoisting operations if there are
any unknown access to the memref in the loop no matter where the operation is.
For other transfer read/write in the loop check if we can prove that they
access disjoint memory and ignore them in this case.

Differential Revision: https://reviews.llvm.org/D83538
The file was modifiedmlir/test/Dialect/Linalg/hoisting.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
Commit 122a45fbac059be0fb88b2b909191d7a93ce9c09 by craig.topper
[X86] Add isel patterns for matching broadcast vpternlog if the ternlog and the broadcast have different types.
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-avx512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-256.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshl-128.ll
The file was modifiedllvm/test/CodeGen/X86/vector-fshr-128.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
Commit 31f4e43f3f391e5c5034580f972e0acc78f99b63 by Matthew.Arsenault
AMDGPU: Remove .value_type from kernel metadata

This doesn't appear used for anything, and is emitted incorrectly
based on the description. This also depends on the IR type, and
pointee element type.
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel-v3.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent.ll
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present-v3.ll
The file was modifiedllvm/include/llvm/Support/AMDGPUMetadata.h
The file was modifiedllvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp
The file was modifiedllvm/lib/Support/AMDGPUMetadata.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-deduce-ro-arg.ll
The file was modifiedllvm/test/MC/AMDGPU/hsa-metadata-kernel-args.s
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent-v3.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-deduce-ro-arg-v3.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args-v3.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-metadata-images-v3.ll
Commit cc28058c13e89ecc85dac7e1bd5d13a2ce1bb620 by echristo
Temporarily revert "[NFC] Separate bitcode reading for FUNC_CODE_INST_CMPXCHG(_OLD)"
as it wasn't NFC and is causing issues with thinlto bitcode reading.

I've followed up offline with reproduction instructions and testcases.

This reverts commit 30582457b47004dec8a78144abc919a13ccbd08c.
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
Commit 7bf73bcf6d9335938bd072b11809d305173c7c1e by JF Bastien
[docs] LLVM Security Group and Process

Summary:
See the corresponding RFC on llvm-dev for a discussion of this proposal.
  http://lists.llvm.org/pipermail/llvm-dev/2019-November/136839.html

Subscribers: jkorous, dexonsmith, arphaman, ributzka, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70326
The file was modifiedllvm/docs/HowToSubmitABug.rst
The file was modifiedllvm/docs/Contributing.rst
The file was modifiedllvm/docs/Reference.rst
The file was modifiedllvm/docs/index.rst
The file was addedllvm/docs/Security.rst
Commit 41d2813a5faea1c18b7d329109e0287c5cd9ffea by alexandre.ganea
[PDB] Attempt fix for debug-info-codeview-buildinfo.c test

This is a bit a shot in the dark, as it doesn't occur on my Windows 10 machines, nor on x64 Linux Ubuntu 18.04.
This patch tries to fix the following kind of error:
- http://lab.llvm.org:8011/builders/clang-ppc64le-linux/builds/31511/steps/cmake%20stage%201/logs/stdio
- http://lab.llvm.org:8011/builders/clang-ppc64le-linux-lnt/builds/25150/steps/ninja%20check%201/logs/FAIL%3A%20Clang%3A%3Adebug-info-codeview-buildinfo.c
- http://lab.llvm.org:8011/builders/fuchsia-x86_64-linux/builds/7947/steps/check/logs/stdio
The file was modifiedclang/cmake/caches/BaremetalARM.cmake
The file was modifiedclang/cmake/caches/CrossWinToARMLinux.cmake
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedclang/test/CodeGen/debug-info-codeview-buildinfo.c
Commit 854e8f88e96bd6a75844d2af061cacc61fb0defe by dblaikie
Remove unnecessary/erroneous "static" from function templates in headers

This risks ODR violations in inline functions that call these functions
(if they remain static) & otherwise just causes some object size
increase, potentially, by these functions not being deduplicated by the
linker.
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
Commit 7859242a3713eb84b57430625b2a70efe30efbf2 by gyurgyikcp
[libc] [Obvious] Remove unneeded header in strchr.

Reviewers: sivachandra

Reviewed By: sivachandra

Subscribers: mgorny, tschuett, ecnelises, libc-commits

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D83589
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/src/string/strchr.cpp
Commit b71499ac9eebbddd3a45ac15f161f89eb3378918 by alexandre.ganea
Revert "Re-land [CodeView] Add full repro to LF_BUILDINFO record"

This reverts commit add59ecb34e3003311b7e2318b16a0ef10c76d79 and 41d2813a5faea1c18b7d329109e0287c5cd9ffea.
The file was modifiedlld/COFF/PDB.cpp
The file was modifiedclang/cmake/caches/BaremetalARM.cmake
The file was modifiedllvm/test/DebugInfo/COFF/types-basic.ll
The file was modifiedllvm/test/DebugInfo/COFF/types-data-members.ll
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedclang/cmake/caches/CrossWinToARMLinux.cmake
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
The file was removedclang/test/CodeGen/debug-info-codeview-buildinfo.c
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedlld/test/COFF/Inputs/pdb_lines_2_relative.yaml
The file was modifiedllvm/test/DebugInfo/COFF/build-info.ll
The file was modifiedllvm/test/DebugInfo/COFF/global-type-hashes.ll
The file was removedlld/test/COFF/pdb-relative-source-lines2.test
The file was modifiedlld/test/COFF/Inputs/pdb_lines_1_relative.yaml
The file was modifiedlld/test/COFF/pdb-relative-source-lines.test
Commit e54b228408852e385d89b5202573bdd8d8da58cf by guiand
[Sanitizers] Change protoent test to check for IPv6 instead of RDP

Looks like RDP isn't present on some of LLVM's buildbot machines
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/protoent.cpp
Commit f7f80159753ba725f7e32529fcc369bc358efbb3 by waltermelon
[lldb-vscode] Add Support for Module Event

Summary:
Whenever a module is created, removed or changed, lldb-vscode is now sending an event that can be interpreted by the IDE so that modules can be rendered in the IDE, like the tree view in this screenshot

{F12229758}

Reviewers: wallace, clayborg, kusmour, aadsm

Reviewed By: clayborg

Subscribers: cfe-commits, labath, lldb-commits

Tags: #lldb, #clang

Differential Revision: https://reviews.llvm.org/D82477
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
The file was addedlldb/test/API/tools/lldb-vscode/module/main.cpp
The file was addedlldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.h
The file was modifiedlldb/tools/lldb-vscode/VSCode.cpp
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
The file was addedlldb/test/API/tools/lldb-vscode/module/Makefile
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.cpp
Commit 03ef61033ff5e1e40518f14f642e4ad8d686974c by waltermelon
[lldb-vscode] Add Compile Unit List to Modules View

Summary: User can expand and check compile unit list for the modules that have debug info.

Reviewers: wallace, clayborg

Reviewed By: clayborg

Subscribers: aprantl, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D83072
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
The file was modifiedlldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.h
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.cpp
Commit 881af6eb0030986876d3b80668193e5c3c04a87c by waltermelon
[lldb-vscode] Fix TestVSCode_module

For some reason this works on the original author's machine, but not on my. So I'm using a safer approach of using an unstripped dynamic library to place breakpoints on. The author was placing a breakpoint on the main symbol of a stripped library and for some reason it worked on their machine, but it shouldn't have...

Offender diff: D82477
The file was modifiedlldb/test/API/tools/lldb-vscode/module/main.cpp
The file was addedlldb/test/API/tools/lldb-vscode/module/foo.h
The file was addedlldb/test/API/tools/lldb-vscode/module/foo.cpp
The file was modifiedlldb/test/API/tools/lldb-vscode/module/Makefile
The file was modifiedlldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py
Commit 7f1e6fcff9427adfa8efa3bfeeeac801da788b87 by johannes
[OpenMP] Use __OPENMP_NVPTX__ instead of _OPENMP in wrapper headers

Due to recent changes we cannot use OpenMP in CUDA files anymore
(PR45533) as the math handling of CUDA is different when _OPENMP is
defined. We actually want this different behavior only if we are
offloading with OpenMP to NVIDIA, thus generating NVPTX. With this patch
we do not interfere with the CUDA math handling except if we are in
NVPTX offloading mode, as indicated by the presence of __OPENMP_NVPTX__.

Reviewed By: tra

Differential Revision: https://reviews.llvm.org/D78155
The file was modifiedclang/lib/Headers/__clang_cuda_device_functions.h
The file was modifiedclang/lib/Headers/openmp_wrappers/math.h
The file was modifiedclang/lib/Headers/__clang_cuda_libdevice_declares.h
The file was modifiedclang/lib/Headers/__clang_cuda_cmath.h
The file was modifiedclang/lib/Headers/__clang_cuda_math.h
The file was modifiedclang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h
The file was modifiedclang/lib/Headers/openmp_wrappers/cmath
Commit 3e5173dbc352317712ca35788333c6e118cbf79c by tejohnson
[BPI] Compile time improvement when erasing blocks (NFC)

Summary:
eraseBlock is trying to erase all probability info for the given BB.
This info is stored in a DenseMap organized like so:
   using Edge = std::pair<const BasicBlock *, unsigned>;
   DenseMap<Edge, BranchProbability> Probs;
where the unsigned in the Edge key is the successor id.

It was walking through every single map entry, checking if the BB in the
key's pair matched the given BB. Much more efficient is to do what
another method (getEdgeProbability) was already doing, which is to walk
the successors of the BB, and simply do a map lookup on the key formed
from each <BB, successor id> pair.

Doing this dropped the overall compile time for a file containing a
very large function by around 32%.

Reviewers: davidxl, xur

Subscribers: llvm-commits, hiraditya

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83596
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp
Commit c60216db15132401ff60c08ccef899321f63b6b6 by waltermelon
Revert "[lldb-vscode] Fix TestVSCode_module"
This reverts commit 881af6eb0030986876d3b80668193e5c3c04a87c.

Revert "[lldb-vscode] Add Compile Unit List to Modules View"
This reverts commit 03ef61033ff5e1e40518f14f642e4ad8d686974c.

Revert "[lldb-vscode] Add Support for Module Event"
This reverts commit f7f80159753ba725f7e32529fcc369bc358efbb3.

The debian buildbot has reported issues with the modules test.
http://lab.llvm.org:8011/builders/lldb-x86_64-debian/builds/13767/steps/test/logs/stdio

Reverting it for now.
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.cpp
The file was removedlldb/test/API/tools/lldb-vscode/module/TestVSCode_module.py
The file was removedlldb/test/API/tools/lldb-vscode/module/foo.cpp
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py
The file was modifiedlldb/tools/lldb-vscode/VSCode.cpp
The file was removedlldb/test/API/tools/lldb-vscode/module/main.cpp
The file was removedlldb/test/API/tools/lldb-vscode/module/foo.h
The file was removedlldb/test/API/tools/lldb-vscode/module/Makefile
The file was modifiedlldb/tools/lldb-vscode/JSONUtils.h
Commit 0f0c5af3db9b0159d9b1a89faff3bd047510b628 by zequanwu
[COFF] Add cg_profile directive and .llvm.call-graph-profile section

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83597
The file was modifiedllvm/lib/MC/MCParser/ELFAsmParser.cpp
The file was addedllvm/test/MC/COFF/cgprofile.s
The file was modifiedllvm/include/llvm/MC/MCWinCOFFStreamer.h
The file was modifiedllvm/lib/MC/MCParser/MCAsmParserExtension.cpp
The file was modifiedllvm/lib/MC/WinCOFFObjectWriter.cpp
The file was modifiedllvm/lib/MC/MCWinCOFFStreamer.cpp
The file was modifiedllvm/lib/MC/MCParser/COFFAsmParser.cpp
The file was modifiedllvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
The file was modifiedllvm/test/MC/AsmParser/directive_cgprofile.s
Commit cd0ea03e6f157e8fb477cd8368b29e1448eeb265 by johannes
[OpenMP][NFC] Remove unused and untested code from the device runtime

Summary:
We carried a lot of unused and untested code in the device runtime.
Among other reasons, we are planning major rewrites for which reduced
size is going to help a lot.

The number of code lines reduced by 14%!

Before:
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
CUDA                            13            489            841           2454
C/C++ Header                    14            322            493           1377
C                               12            117            124            559
CMake                            4             64             64            262
C++                              1              6              6             39
-------------------------------------------------------------------------------
SUM:                            44            998           1528           4691
-------------------------------------------------------------------------------

After:
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
CUDA                            13            366            733           1879
C/C++ Header                    14            317            484           1293
C                               12            117            124            559
CMake                            4             64             64            262
C++                              1              6              6             39
-------------------------------------------------------------------------------
SUM:                            44            870           1411           4032
-------------------------------------------------------------------------------

Reviewers: hfinkel, jhuber6, fghanim, JonChesterfield, grokos, AndreyChurbanov, ye-luo, tianshilei1992, ggeorgakoudis, Hahnfeld, ABataev, hbae, ronlieb, gregrodgers

Subscribers: jvesely, yaxunl, bollu, guansong, jfb, sstefan1, aaron.ballman, openmp-commits, cfe-commits

Tags: #clang, #openmp

Differential Revision: https://reviews.llvm.org/D83349
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/loop.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptarget.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/support.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/interface.h
The file was modifiedclang/test/OpenMP/nvptx_target_simd_codegen.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/sync.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/data_sharing.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/parallel.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/libcall.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/reduction.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/common/support.h
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/omptarget.cu
Commit 943660fd15f193dc6961597c25541fee2e01ebbb by clementval
[openmp] Remove OMPConstants.cpp and replace it by OMP.cpp generated by tablegen

Summary:
Diff D83176 moved the last piece of code from OMPConstants.cpp and now this file was only
useful to include the tablegen generated file. This patch replace OMPConstants.cpp with OMP.cpp
generated by tablegen.

Reviewers: sstefan1, jdoerfert, jdenny

Reviewed By: sstefan1

Subscribers: mgorny, yaxunl, hiraditya, guansong, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83583
The file was modifiedllvm/test/TableGen/directive1.td
The file was modifiedllvm/include/llvm/Frontend/Directive/DirectiveBase.td
The file was modifiedllvm/test/TableGen/directive2.td
The file was modifiedllvm/lib/Frontend/OpenMP/CMakeLists.txt
The file was modifiedllvm/include/llvm/Frontend/OpenMP/CMakeLists.txt
The file was removedllvm/lib/Frontend/OpenMP/OMPConstants.cpp
The file was modifiedllvm/utils/TableGen/DirectiveEmitter.cpp
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMP.td
Commit 851cc2f8f60ad86a8af4f57d23df0c930efdc4da by Adrian Prantl
Fix nesting of #ifdef

This fixes a compile error when building for an arm64 host.

Differential Revision: https://reviews.llvm.org/D83582
The file was modifiedlldb/tools/debugserver/source/MacOSX/MachProcess.mm
Commit 351f2b3c0ab357d42b3bda319979fa537f1565c3 by spatel
[InstSimplify] add tests for maxnum (PR46627); NFC
The file was modifiedllvm/test/Transforms/InstSimplify/floating-point-arithmetic.ll
Commit e9bf0a710c993b932fa69c95ef6d0130fd721115 by Akira
[CodeGen] Store the return value of the target function call to the
thunk's return value slot directly when the return type is an aggregate
instead of doing so via a temporary

This fixes PR45997 (https://bugs.llvm.org/show_bug.cgi?id=45997), which
is caused by a bug that has existed since we started passing and
returning C++ structs with ObjC strong pointer members (see
https://reviews.llvm.org/D44908) or structs annotated with trivial_abi
directly.

rdar://problem/63740936

Differential Revision: https://reviews.llvm.org/D82513
The file was modifiedclang/test/CodeGenCXX/trivial_abi.cpp
The file was modifiedclang/lib/CodeGen/CGCXXABI.cpp
The file was modifiedclang/lib/CodeGen/CGVTables.cpp
The file was modifiedclang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
Commit b8235d2bd87158c280dded0a40c0f9ddc9cb519b by sstipanovic
 Reland "[OpenMPOpt] ICV Tracking"

This reverts commit 1d542f0ca83fa1411d6501a8d088450d83abd5b8.

`recollectUses()` is added to prevent looking at dead uses after
Attributor run.

This is the first and most basic ICV Tracking implementation. For this
first version, we only support deduplication within the same BB.

Reviewers: jdoerfert, JonChesterfield, hamax97, jhuber6, uenoku,
baziotis, lebedev.ri

Differential Revision: https://reviews.llvm.org/D81788
The file was modifiedllvm/test/Transforms/OpenMP/icv_tracking.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was addedllvm/test/Transforms/OpenMP/dead_use.ll
The file was modifiedllvm/include/llvm/ADT/EnumeratedArray.h
Commit 3a5617c02e38618bd5534491077afbc7178adf3f by Akira
Fix build error
The file was modifiedclang/lib/CodeGen/CGCXXABI.cpp
Commit 16e9ccb2be7a2ebb04e781bbe4a4f9ce93a06c8e by sifontes
Create TestReducer pass

- Create a pass that generates bugs based on trivially defined behavior for the purpose of testing the MLIR Reduce Tool.
- Implement the functionality inside the pass to crash mlir-opt in the presence of an operation with the name "crashOp".
- Register the pass as a test pass in the mlir-opt tool.

Reviewed by: jpienaar

Differential Revision: https://reviews.llvm.org/D83422
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/tools/mlir-opt/CMakeLists.txt
The file was addedmlir/test/mlir-reduce/test-reducer-pass.mlir
The file was addedmlir/test/lib/Reducer/CMakeLists.txt
The file was addedmlir/test/lib/Reducer/MLIRTestReducer.cpp
The file was modifiedmlir/test/lib/CMakeLists.txt