SuccessChanges

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

Summary

  1. [mlir][gpu] Refactor ConvertGpuLaunchFuncToCudaCalls pass. (details)
  2. [StringRef] Use some trickery to avoid initializing the std::string returned by upper()/lower() (details)
  3. [BitcodeReader] Simplify code. NFCI. (details)
  4. [mlir][rocdl] Exposing buffer load/store intrinsic (details)
  5. GenericDomTree.h - remove unused PointerIntPair.h include. NFC. (details)
  6. [x86] NFC: Fix typo in command line option description (details)
  7. Fix DeferredDiagnosticsEmitter for bug#45987 (details)
  8. [ModuloSchedule] Trivial fix for instruction with more than one destination in modulo peeler. (details)
  9. [SLP][NFC] PR45269 getVectorElementSize() is slow (details)
  10. [llvm][test] Add COM: directives before colon-less non-CHECKs in comments. NFC (details)
  11. [llvm][test] Add missing FileCheck colons. NFC (details)
  12. Revert "[YAMLTraits] Add trait for char" (details)
  13. [ADT] NFC: Fix typos in header comments (details)
  14. [AMDGPU] Tune threshold for cmp/select vector lowering (details)
  15. [libFuzzer] Fix leak in unit test. (details)
  16. [ProfileSummary] Add the PartialProfileRatio field in ProfileSummary metadata. (details)
  17. [ADT][Analysis] NFC: Fix some more typos (details)
  18. [ImmutableSet] Use IntrusiveRefCntPtr to eliminate some manual refcounting (details)
  19. Revert "Revert "[YAMLTraits] Add trait for char"" (details)
  20. Disable ptr_ref tests under ASAN (details)
  21. Disable malloc stepping test under ASAN. The output is different and I'm not sure how stable it is. (details)
  22. Move decorator to the correct function. (details)
  23. [mips] Reorganize check directives in the test. NFC (details)
  24. [dsymutil] Add reproducers to dsymutil (details)
  25. [dsymutil] Fix include-style (details)
  26. [gn build] Port 92fd3971e0d (details)
  27. [lld][WebAssembly] Do not emit initialization for .bss segments (details)
  28. [IR] Make Module::setProfileSummary to replace an existing ProfileSummary flag. (details)
  29. [dsymutil] Fix conversion between unique_ptr and Expected (details)
  30. [libc++] Link back-deployment tests against the latest libc++ and libc++abi (details)
  31. [Analyzer][WebKit] RefCntblBaseVirtualDtorChecker (details)
  32. [mlir][spirv] Add remaining cooperative matrix instructions (details)
  33. [AMDGPU] Added opt pipeline test. NFC. (details)
  34. [mlir][spirv] Enable composite instructions for cooperative matrix type. (details)
  35. [dsymutil] Add llvm_unreachable to silence warning (details)
  36. Revert "[Analyzer][WebKit] RefCntblBaseVirtualDtorChecker" (details)
  37. Reland [libc++] [LWG3321] Mark "year_month_day_last::day() specification does not cover !ok() values" issue as "Nothing to do", but add assertion. (details)
  38. [SelectionDAG] Add the option of disabling generic combines. (details)
  39. [libTooling][NFC]Fix typo in comment in RangeSelectors (details)
  40. [ModuloSchedule] Add missing comma. (details)
  41. [MsgPack] MsgPackDocument::readFromBlob now merges (details)
  42. [AArch64][SVE] Fill out missing unpredicated load/store patterns. (details)
  43. [NFC] Make assertion more informative. (details)
  44. [AMDGPU] Promote alloca to vector in opt (details)
  45. [CodeGen] Add support for multiple memory operands in MachineInstr::mayAlias (details)
  46. [MsgPack] Added convenience assignment to MsgPackDocument (details)
  47. [AMDGPU] Fixed incorrect PAL metadata register naming (details)
  48. Set traversal explicitly where needed in clang-tidy (details)
  49. Set traversal explicitly where needed in tests (details)
  50. Make the ExprMutationAnalyzer explicit about how it traverses the AST (details)
  51. llvm-diff: Avoid crash with complex expressions (details)
  52. [PS4] Enable relaxed relocations by default (details)
  53. [docs] Fix buildbot failures (details)
  54. Don't jump to landing pads in Control Flow Optimizer (details)
  55. [Target] Use Align in TargetLoweringObjectFile::getSectionForConstant. (details)
  56. Add nomerge function attribute to clang (details)
  57. [AARCH64][NEON] Allow to sink operands of aarch64_neon_pmull64. (details)
  58. [Instruction] Set metadata uses to undef on deletion (details)
  59. Revert "Add nomerge function attribute to clang" (details)
  60. Rename FunctionOptimizationWarning to the more generic FrameSelectedCallback (NFC) (details)
  61. Reland "[Analyzer][WebKit] RefCntblBaseVirtualDtorChecker" (details)
  62. [gn build] Port 54e91a3c701 (details)
  63. [lldb/Reproducers] Skip lldb-vscode category when lldb-run-with-repro is set. (details)
  64. [clang] Add nomerge function attribute to clang (details)
  65. [WebAssembly] Warn on exception spec only when Wasm EH is used (details)
  66. [lldb/Test] Cleanup TestSymbolContext.py (details)
  67. [AMDGPU] Correct formatting typos in documentation (details)
  68. Handle the case where a thread exits while we are running a function on it. (details)
  69. [llvm-extract] Fix basic block extraction by delaying search until the function is materialized (details)
  70. This very simple .c file is failing on the Debian bot wit the error (details)
  71. Maybe I need ENABLE_THREADS in the Makefile. (details)
  72. [libc] Make clang-tidy use host compiler's resource dir. (details)
  73. [AArch64][GlobalISel] Add a post-legalizer combiner with a very simple combine. (details)
Commit 2cbbc266ec1e489175ee988794c3880075c13d00 by whchung
[mlir][gpu] Refactor ConvertGpuLaunchFuncToCudaCalls pass.

Due to similar APIs between CUDA and ROCm (HIP),
ConvertGpuLaunchFuncToCudaCalls pass could be used on both platforms with some
refactoring.

In this commit:

- Migrate ConvertLaunchFuncToCudaCalls from GPUToCUDA to GPUCommon, and rename.
- Rename runtime wrapper APIs be platform-neutral.
- Let GPU binary annotation attribute be specifiable as a PassOption.
- Naming changes within the implementation and tests.

Subsequent patches would introduce ROCm-specific tests and runtime wrapper
APIs.

Differential Revision: https://reviews.llvm.org/D80167
The file was removedmlir/lib/Conversion/GPUToCUDA/ConvertLaunchFuncToCudaCalls.cpp
The file was removedmlir/test/Conversion/GPUToCUDA/lower-launch-func-to-cuda.mlir
The file was modifiedmlir/include/mlir/InitAllPasses.h
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/tools/mlir-cuda-runner/cuda-runtime-wrappers.cpp
The file was modifiedmlir/lib/Conversion/GPUToCUDA/CMakeLists.txt
The file was addedmlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
The file was addedmlir/lib/Conversion/GPUCommon/CMakeLists.txt
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp
The file was addedmlir/test/Conversion/GPUCommon/lower-launch-func-to-gpu-runtime-calls.mlir
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was addedmlir/lib/Conversion/GPUCommon/ConvertLaunchFuncToRuntimeCalls.cpp
The file was modifiedmlir/include/mlir/Conversion/GPUToCUDA/GPUToCUDAPass.h
Commit 8f9d3b937ca7084fcdb9f1b6b4fa93aa1327c628 by benny.kra
[StringRef] Use some trickery to avoid initializing the std::string returned by upper()/lower()
The file was modifiedllvm/lib/Support/StringRef.cpp
Commit c476abfd37c0578224c14fd90522fb825a0316fb by benny.kra
[BitcodeReader] Simplify code. NFCI.
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
Commit 9c53ac08de7c5bfefab6e6c80127e6774070411c by zhuoryin
[mlir][rocdl] Exposing buffer load/store intrinsic

Summary:
* Updated ROCDLOps tablegen
* Added parsing and printing function for new intrinsic
* Added unit tests

Reviewers: ftynse

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80233
The file was modifiedmlir/lib/Target/LLVMIR/ConvertToROCDLIR.cpp
The file was modifiedmlir/test/Dialect/LLVMIR/rocdl.mlir
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
The file was modifiedmlir/test/Target/rocdl.mlir
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
Commit 1a2e8b3f71748d9866431fc964becd31cc902bef by llvm-dev
GenericDomTree.h - remove unused PointerIntPair.h include. NFC.
The file was modifiedllvm/include/llvm/Support/GenericDomTree.h
Commit 439c8b2884a098bdbf5313b1a56db90b19e988c7 by jean-michel.gorius
[x86] NFC: Fix typo in command line option description
The file was modifiedllvm/lib/Target/X86/X86DiscriminateMemOps.cpp
Commit 3ef11346f391e6e3da0cfa25f9f7dac22771438e by Yaxun.Liu
Fix DeferredDiagnosticsEmitter for bug#45987

InOMPDeviceContext may be greater than 1. It needs to be clamp to 0 and 1
to be used as index for DoneMap.
The file was addedclang/test/OpenMP/deferred-diags.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
Commit 20c0527af7449d7c22261f9bc88b0ee391bdbad8 by thomasraoux
[ModuloSchedule] Trivial fix for instruction with more than one destination in modulo peeler.

When moving an instruction into a block where it was referenced by a phi when peeling,
refer to the phi's register number and assert that the instruction has it in its destinations.
This way, it also covers instructions with more than one destination.

Patch by Hendrik Greving!

Differential Revision: https://reviews.llvm.org/D80027
The file was modifiedllvm/lib/CodeGen/ModuloSchedule.cpp
Commit df3b95bc0ae0f9de0a54db897ed37ffb6ba44226 by dtemirbulatov
[SLP][NFC] PR45269 getVectorElementSize() is slow

The algorithm inside getVectorElementSize() is almost O(x^2) complexity and
when, for example, we compile MultiSource/Applications/ClamAV/shared_sha256.c
with 1k instructions inside sha256_transform() function that resulted in almost
~800k iterations. The following change improves the algorithm with the map to
a liner complexity.

Differential Revision: https://reviews.llvm.org/D80241
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 183d6af081899973f00fc24aeafcfc32de732f02 by jroelofs
[llvm][test] Add COM: directives before colon-less non-CHECKs in comments. NFC

Differential Revision: https://reviews.llvm.org/D79963
The file was modifiedllvm/test/tools/llvm-readobj/ELF/symbol-binding.test
The file was modifiedllvm/test/Transforms/InstCombine/double-float-shrink-2.ll
The file was modifiedllvm/test/CodeGen/X86/fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/Mips/cconv/return-hard-fp128.ll
The file was modifiedllvm/test/Transforms/LoopFusion/cannot_fuse.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/unhandled-loop-condition-assertion.ll
The file was modifiedllvm/test/MC/Mips/relocation.s
The file was modifiedllvm/test/CodeGen/Mips/inlineasm-operand-code.ll
The file was modifiedllvm/test/MC/RISCV/rv64b-aliases-valid.s
The file was modifiedllvm/test/CodeGen/Mips/cconv/arguments-hard-float.ll
The file was modifiedllvm/test/CodeGen/Mips/dynamic-stack-realignment.ll
The file was modifiedllvm/test/CodeGen/Mips/divrem.ll
The file was modifiedllvm/test/MC/AsmParser/expr-shr.s
The file was modifiedllvm/test/CodeGen/Mips/cconv/arguments-float.ll
The file was modifiedllvm/test/CodeGen/Mips/countleading.ll
The file was modifiedllvm/test/DebugInfo/COFF/vframe-fpo.ll
The file was modifiedllvm/test/tools/llvm-objdump/ELF/dynamic-section-machine-specific.test
The file was modifiedllvm/test/CodeGen/ARM/select-imm.ll
The file was modifiedllvm/test/CodeGen/ARM/float-helpers.s
The file was modifiedllvm/test/CodeGen/X86/sse-scalar-fp-arith.ll
The file was modifiedllvm/test/DebugInfo/X86/debug-info-static-member.ll
The file was modifiedllvm/test/MC/RISCV/compressed-relocations.s
The file was modifiedllvm/test/CodeGen/Mips/cconv/return-hard-struct-f128.ll
The file was modifiedllvm/test/tools/llvm-readobj/ELF/section-types.test
The file was modifiedllvm/test/CodeGen/AMDGPU/fp_to_uint.ll
The file was modifiedllvm/test/MC/RISCV/rv32b-aliases-valid.s
The file was modifiedllvm/test/CodeGen/ARM/struct_byval_arm_t1_t2.ll
The file was modifiedllvm/test/FileCheck/dump-input-annotations.txt
The file was modifiedllvm/test/CodeGen/PowerPC/ppc64-crsave.mir
The file was modifiedllvm/test/CodeGen/Mips/mips64muldiv.ll
The file was modifiedllvm/test/CodeGen/X86/avx-cast.ll
The file was modifiedllvm/test/tools/llvm-readobj/ELF/RISCV/section-types.test
The file was modifiedllvm/test/CodeGen/AMDGPU/merge-tbuffer.mir
The file was modifiedllvm/test/CodeGen/X86/vector-compare-combines.ll
The file was modifiedllvm/test/CodeGen/X86/vector-narrow-binop.ll
The file was modifiedllvm/test/CodeGen/ARM/build-attributes.ll
The file was modifiedllvm/test/CodeGen/X86/splat-for-size.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/smrd.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/smrd.ll
The file was modifiedllvm/test/CodeGen/Mips/cconv/arguments.ll
The file was modifiedllvm/test/MC/RISCV/rva-aliases-valid.s
The file was modifiedllvm/test/CodeGen/Mips/cconv/arguments-varargs.ll
The file was modifiedllvm/test/CodeGen/Mips/cconv/arguments-hard-float-varargs.ll
The file was modifiedllvm/test/FileCheck/var-scope.txt
The file was modifiedllvm/test/CodeGen/AMDGPU/global-constant.ll
The file was modifiedllvm/test/MC/RISCV/rvi-aliases-valid.s
The file was modifiedllvm/test/MC/Mips/relocation-n64.s
The file was modifiedllvm/test/MC/RISCV/relocations.s
The file was modifiedllvm/test/CodeGen/X86/vec_shift6.ll
Commit 5fb979dd0697c1a88131bc8709a0928ef4990195 by jroelofs
[llvm][test] Add missing FileCheck colons. NFC
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-matmul-fp32.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-matmul-fp64.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-matmul-int8.ll
Commit c4169a3efebd1bf5710b2c280857686942dc254a by ro
Revert "[YAMLTraits] Add trait for char"

This reverts commit fab08bf4899e40d02d8bf394a63499ac679ac61c.  It has left
the Solaris buildbots broken for a week and a half as reported
in https://reviews.llvm.org/D79745.
The file was modifiedllvm/include/llvm/Support/YAMLTraits.h
The file was modifiedllvm/lib/Support/YAMLTraits.cpp
The file was modifiedllvm/unittests/Support/YAMLIOTest.cpp
Commit cb2a8be8842a39ed9b657fa9928733f8d70079f0 by jean-michel.gorius
[ADT] NFC: Fix typos in header comments
The file was modifiedllvm/include/llvm/ADT/FoldingSet.h
The file was modifiedllvm/include/llvm/ADT/DenseMap.h
The file was modifiedllvm/include/llvm/ADT/APFloat.h
The file was modifiedllvm/include/llvm/ADT/DeltaAlgorithm.h
The file was modifiedllvm/include/llvm/ADT/DAGDeltaAlgorithm.h
The file was modifiedllvm/include/llvm/ADT/ImmutableSet.h
The file was modifiedllvm/include/llvm/ADT/Waymarking.h
The file was modifiedllvm/include/llvm/ADT/SmallVector.h
The file was modifiedllvm/include/llvm/ADT/SmallPtrSet.h
The file was modifiedllvm/include/llvm/ADT/FloatingPointMode.h
The file was modifiedllvm/include/llvm/ADT/PointerUnion.h
The file was modifiedllvm/include/llvm/ADT/SparseSet.h
The file was modifiedllvm/include/llvm/ADT/PointerSumType.h
The file was modifiedllvm/include/llvm/ADT/IntervalMap.h
The file was modifiedllvm/include/llvm/ADT/fallible_iterator.h
Commit 1dfd1b3e4b2b4ba73416bf9fb5cc8fa837116ce3 by Stanislav.Mekhanoshin
[AMDGPU] Tune threshold for cmp/select vector lowering

It was set in total vector size while the idea was to limit
a number of instructions. Now it started to work with doubles
and thresholds needs to be updated.

Differential Revision: https://reviews.llvm.org/D80322
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
Commit 353e5aa42dfee3f119fd1790509ea35a280295f7 by mascasa
[libFuzzer] Fix leak in unit test.
The file was modifiedcompiler-rt/lib/fuzzer/tests/FuzzerUnittest.cpp
Commit b5c59d77c3a0aad21d7dccfa2c3989e627e9f1bd by yamauchi
[ProfileSummary] Add the PartialProfileRatio field in ProfileSummary metadata.

Summary:
PartialProfileRatio approximately represents the ratio of the number of profile
counters of the program being built to the number of profile counters in the
partial sample profile. It is used to scale the working set size under the
partial sample profile to reflect the size of the program being built and to
improve the working set size heuristics.

This is a split from D79831.

Reviewers: davidxl

Subscribers: eraman, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79951
The file was modifiedllvm/test/Transforms/PGOProfile/unreachable_bb.ll
The file was modifiedllvm/include/llvm/IR/ProfileSummary.h
The file was modifiedllvm/unittests/ProfileData/SampleProfTest.cpp
The file was modifiedllvm/lib/IR/ProfileSummary.cpp
Commit b6917a86fbb511955915d67c7d02789892c0f342 by jean-michel.gorius
[ADT][Analysis] NFC: Fix some more typos
The file was modifiedllvm/include/llvm/ADT/SetVector.h
The file was modifiedllvm/include/llvm/ADT/STLExtras.h
The file was modifiedllvm/include/llvm/Analysis/DivergenceAnalysis.h
The file was modifiedllvm/include/llvm/Analysis/VectorUtils.h
The file was modifiedllvm/include/llvm/Analysis/CaptureTracking.h
Commit 753a21928413f8a7e76978cb1354e09150e114e0 by benny.kra
[ImmutableSet] Use IntrusiveRefCntPtr to eliminate some manual refcounting

Still not ideal as the refcounting leaks to users, but better than
before. NFCI.
The file was modifiedllvm/include/llvm/ADT/ImmutableSet.h
The file was modifiedllvm/include/llvm/ADT/ImmutableMap.h
Commit f6cc1c08f172a7937e948cfbc2198059c0c703fb by Jonas Devlieghere
Revert "Revert "[YAMLTraits] Add trait for char""

Reverting this to unblock all the LLDB bots while we try to figure out a
solution for Solaris in https://reviews.llvm.org/D79745.
The file was modifiedllvm/include/llvm/Support/YAMLTraits.h
The file was modifiedllvm/lib/Support/YAMLTraits.cpp
The file was modifiedllvm/unittests/Support/YAMLIOTest.cpp
Commit 2af2bc33d36f97b43bbad33286d6ec81e6d7afad by Adrian Prantl
Disable ptr_ref tests under ASAN
The file was modifiedlldb/test/API/functionalities/ptr_refs/TestPtrRefs.py
The file was modifiedlldb/test/API/lang/objc/ptr_refs/TestPtrRefsObjC.py
Commit a62a5200445abddd5a559a4dee2db0cc545eab5b by Adrian Prantl
Disable malloc stepping test under ASAN. The output is different and I'm not sure how stable it is.
The file was modifiedlldb/test/API/python_api/thread/TestThreadAPI.py
Commit 60dff35fd435e5c5b434091019a78183260552be by Adrian Prantl
Move decorator to the correct function.
The file was modifiedlldb/test/API/python_api/thread/TestThreadAPI.py
Commit c7923e7705d0dad0bf2babd619ae211bebc2c5fa by simon
[mips] Reorganize check directives in the test. NFC
The file was modifiedllvm/test/DebugInfo/Mips/eh_frame.ll
Commit 92fd3971e0db1d9faf2dbbcceb2b79b3192fd79d by Jonas Devlieghere
[dsymutil] Add reproducers to dsymutil

Add support for generating a dsymutil reproducer. The result is a folder
containing all the object files for linking.

When --gen-reproducer is passed, dsymutil uses a FileCollectorFileSystem
which keeps track of all the files used by dsymutil. These files are
copied into a temporary directory when dsymutil exists.

When this path is passed to --use-reproducer, dsymutil uses a
RedirectingFileSystem that will use the files from the reproducer
directory instead of the actual paths. This means you don't need to mess
with the OSO path prefix.

Differential revision: https://reviews.llvm.org/D79398
The file was addedllvm/test/tools/dsymutil/X86/reproducer.test
The file was addedllvm/tools/dsymutil/Reproducer.h
The file was modifiedllvm/docs/CommandGuide/dsymutil.rst
The file was modifiedllvm/tools/dsymutil/CMakeLists.txt
The file was modifiedllvm/tools/dsymutil/dsymutil.cpp
The file was modifiedllvm/tools/dsymutil/Options.td
The file was addedllvm/tools/dsymutil/Reproducer.cpp
The file was modifiedllvm/test/tools/dsymutil/cmdline.test
Commit d395eacca579858972fd4f79f4c9637db7666392 by Jonas Devlieghere
[dsymutil] Fix include-style
The file was modifiedllvm/tools/dsymutil/Reproducer.cpp
Commit abf4957204f55f435a5655260be13982a224fc3b by llvmgnsyncbot
[gn build] Port 92fd3971e0d
The file was modifiedllvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
Commit d851fce4cb238d5fe85ce71002721dfc2330fa46 by tlively
[lld][WebAssembly] Do not emit initialization for .bss segments

Summary:
This patch fixes a bug where initialization code for .bss segments was
emitted in the memory initialization function even though the .bss
segments were discounted in the datacount section and omitted in the
data section. This was producing invalid binaries due to out-of-bounds
segment indices on the memory.init and data.drop instructions that
were trying to operate on the nonexistent .bss segments.

Reviewers: sbc100

Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80354
The file was modifiedlld/test/wasm/data-segments.ll
The file was modifiedlld/wasm/Writer.cpp
The file was modifiedlld/wasm/SyntheticSections.h
The file was modifiedlld/wasm/SyntheticSections.cpp
Commit 01909b4e850846bb4cf5226072ccc608c68c9466 by yamauchi
[IR] Make Module::setProfileSummary to replace an existing ProfileSummary flag.

Summary:
Module::setProfileSummary currently calls addModuelFlag. This prevents from
updating the ProfileSummary metadata in the module and results in a second
ProfileSummary added instead of replacing an existing one. I don't think this is
the expected behavior. It prevents updating the ProfileSummary and it does not
make sense to have more than one. To address this, add Module::setModuleFlag and
use it from setProfileSummary.

Reviewers: davidxl

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79902
The file was modifiedllvm/lib/IR/Module.cpp
The file was modifiedllvm/unittests/IR/ModuleTest.cpp
The file was modifiedllvm/include/llvm/IR/Module.h
Commit 07ffcef469cb7f6a97bc0227fb0966264ca902ce by Jonas Devlieghere
[dsymutil] Fix conversion between unique_ptr and Expected

Reproducer.cpp:70:12: error: could not convert ‘Repro’ from
‘std::unique_ptr<llvm::dsymutil::ReproducerGenerate,
std::default_delete<llvm::dsymutil::ReproducerGenerate> >’ to
‘llvm::Expected<std::unique_ptr<llvm::dsymutil::Reproducer> >’
The file was modifiedllvm/tools/dsymutil/Reproducer.cpp
Commit 8f555780ef3502021a0237a6ace100f728fd0f5b by Louis Dionne
[libc++] Link back-deployment tests against the latest libc++ and libc++abi

Instead of linking the tests against a library in some version of the
SDK, always link against the latest library, but still run against the
specified back-deployment target dylib.

This makes more sense since what we're really trying to test is that
the current library can be used to produce binaries that run on some
deployment target -- not that linking against the library in some
previous SDK makes that possible.

This solves an additional issue that when linking against a system dylib,
the -rpath argument given to the tests is ignored because the install_name
of the system library we link against is absolute.

rdar://63241847
The file was modifiedlibcxx/utils/ci/macos-backdeployment.sh
Commit f7c7e8a523f56b0ed1b14c0756ba4e5d1ccb48d2 by Jan Korous
[Analyzer][WebKit] RefCntblBaseVirtualDtorChecker

Differential Revision: https://reviews.llvm.org/D77177
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/DiagOutputUtils.h
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
The file was addedclang/test/Analysis/Checkers/WebKit/mock-types.h
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
The file was addedclang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor.cpp
The file was addedclang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
The file was modifiedclang/docs/analyzer/checkers.rst
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
Commit 15389cdc5b721fc1e10dc5818390fa3fa939a92e by thomasraoux
[mlir][spirv] Add remaining cooperative matrix instructions

Adds support for cooperative matrix support for arithmetic and cast
instructions. It also adds cooperative matrix store, muladd and matrixlength
instructions which are part of the extension.

Differential Revision: https://reviews.llvm.org/D80181
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/cooperative-matrix.mlir
The file was modifiedmlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
The file was modifiedmlir/test/Dialect/SPIRV/ops.mlir
The file was modifiedmlir/test/Dialect/SPIRV/cooperative-matrix.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVCooperativeMatrixOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVArithmeticOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVCastOps.td
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
Commit 71bbe5d7999ac3506a18c0ba1f5bffe6d788cd6c by Stanislav.Mekhanoshin
[AMDGPU] Added opt pipeline test. NFC.
The file was addedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
Commit 0712eac76616a088f1f1183399049560e69c3506 by thomasraoux
[mlir][spirv] Enable composite instructions for cooperative matrix type.

Enable inset/extract/construct composite ops as well as access chain for
cooperative matrix. ConstantComposite requires more change and will be done in
a separate patch. Also fix the getNumElements function for coopMatrix per
feedback from Jeff Bolz. The number of element is implementation dependent so
it cannot be known at compile time.

Differential Revision: https://reviews.llvm.org/D80321
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
The file was modifiedmlir/test/Dialect/SPIRV/composite-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVTypes.h
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/cooperative-matrix.mlir
The file was modifiedmlir/test/Dialect/SPIRV/cooperative-matrix.mlir
Commit f8b4412b997b5f92d01d80eabbe587d51c8ed2c3 by Jonas Devlieghere
[dsymutil] Add llvm_unreachable to silence warning

Fixes warning: control reaches end of non-void function [-Wreturn-type]
The file was modifiedllvm/tools/dsymutil/Reproducer.cpp
Commit 1108f5c737dbdab0277874a7e5b237491839c43a by thakis
Revert "[Analyzer][WebKit] RefCntblBaseVirtualDtorChecker"

This reverts commit f7c7e8a523f56b0ed1b14c0756ba4e5d1ccb48d2.
Breaks build everywhere.
The file was modifiedclang/docs/analyzer/checkers.rst
The file was removedclang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
The file was removedclang/test/Analysis/Checkers/WebKit/mock-types.h
The file was removedclang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
The file was removedclang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was removedclang/lib/StaticAnalyzer/Checkers/WebKit/DiagOutputUtils.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
The file was removedclang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
The file was removedclang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
The file was removedclang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
Commit 0c148430cf612762ca243aafe23b3fb9670d2797 by marek
Reland [libc++] [LWG3321] Mark "year_month_day_last::day() specification does not cover !ok() values" issue as "Nothing to do", but add assertion.

Summary:
This LWG issue states that the result of `year_month_day_last::day()` is implementation defined if `ok()` is `false`.
However, from user perspective, calling `day()` in this situation will lead to a (possibly difficult to find) crash.
Hence, I have added an assertion to warn user at least when assertions are enabled.

Reviewed By: ldionne, #libc

Differential Revision: https://reviews.llvm.org/D70346
The file was modifiedlibcxx/test/libcxx/algorithms/debug_less.pass.cpp
The file was modifiedlibcxx/include/chrono
The file was modifiedlibcxx/www/cxx2a_status.html
Commit dbaed589ab85769b684fb49bc5bb71d26907490d by hayarms
[SelectionDAG] Add the option of disabling generic combines.

Summary:
For some targets generic combines don't really do much and they
consume a disproportionate amount of time.
There's not really a mechanism in SDISel to tactically disable
combines, but we can have a switch to disable all of them and
let the targets just implement what they specifically need.

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79112
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
Commit 396bbae41604637008bd5102e1d02d4543f1c3c9 by yitzhakm
[libTooling][NFC]Fix typo in comment in RangeSelectors
Fixes transposed names in comment.
The file was modifiedclang/include/clang/Tooling/Transformer/RangeSelector.h
Commit 8a6a2c4cb66d2c3202c9bb0d532ffbb265c4f3f1 by hgreving
[ModuloSchedule] Add missing comma.

This is a test commit as per Chris to verify commit access.

Thanks!
The file was modifiedllvm/lib/CodeGen/ModuloSchedule.cpp
Commit e79d002309cb52b12f9bf4e205ffc9805e2223d7 by tpr.ll
[MsgPack] MsgPackDocument::readFromBlob now merges

The readFromBlob method can now be used to read MsgPack into a Document
that already contains something, merging the two. There is a new Merger
argument to readFromBlob, a callback function to resolve conflicts.

Differential Revision: https://reviews.llvm.org/D79671

Change-Id: Icf3e959217fe33cd907a41516c0386aef2847c0c
The file was modifiedllvm/unittests/BinaryFormat/MsgPackDocumentTest.cpp
The file was modifiedllvm/lib/BinaryFormat/MsgPackDocument.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/MsgPackReader.h
The file was modifiedllvm/include/llvm/BinaryFormat/MsgPackDocument.h
Commit f09d220c71f5c9b738af0f65b1d909dcb8290b16 by efriedma
[AArch64][SVE] Fill out missing unpredicated load/store patterns.

The set of patterns for unpredicated load/store was incomplete: it only
included non-extending stores.  Fill out the remaining patterns for
extending stores, and add the corresponding support to frame offset
lowering.

Differential Revision: https://reviews.llvm.org/D80349
The file was modifiedllvm/test/CodeGen/AArch64/spillfill-sve.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
Commit be88ba09d59112b2df25a35f906e55026fa93128 by silvasean
[NFC] Make assertion more informative.

This assert just caught me, and this improved message would have saved
me some time.
The file was modifiedmlir/include/mlir/IR/Matchers.h
Commit 689e616ed0b1210517dda65dc3528f8fdb9a5959 by Stanislav.Mekhanoshin
[AMDGPU] Promote alloca to vector in opt

Promote alloca to vector before SROA and loop unroll. If we manage
to eliminate allocas before unroll we may choose to unroll less.

Differential Revision: https://reviews.llvm.org/D80386
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPU.h
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
The file was addedllvm/lib/Target/AMDGPU/sroa-before-unroll.ll
Commit 7019cea26dfef5882c96f278c32d0f9c49a5e516 by jean-michel.gorius
[CodeGen] Add support for multiple memory operands in MachineInstr::mayAlias

Summary:
To support all targets, the mayAlias member function needs to support instructions with multiple operands.

This revision also changes the order of the emitted instructions in some test cases.

Reviewers: efriedma, hfinkel, craig.topper, dmgreen

Reviewed By: efriedma

Subscribers: MatzeB, dmgreen, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80161
The file was modifiedllvm/test/CodeGen/Thumb2/mve-phireg.ll
The file was modifiedllvm/test/CodeGen/Thumb2/umulo-128-legalisation-lowering.ll
The file was modifiedllvm/test/CodeGen/ARM/cortex-a57-misched-vldm-wrback.ll
The file was modifiedllvm/test/CodeGen/AArch64/merge-store-dependency.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vst3.ll
The file was modifiedllvm/lib/CodeGen/MachineInstr.cpp
The file was modifiedllvm/test/CodeGen/ARM/cortex-a57-misched-vstm.ll
The file was addedllvm/test/CodeGen/X86/instr-sched-multiple-memops.mir
The file was modifiedllvm/lib/CodeGen/ScheduleDAGInstrs.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-float32regloops.ll
The file was modifiedllvm/test/CodeGen/ARM/cortex-a57-misched-vstm-wrback.ll
The file was modifiedllvm/test/CodeGen/X86/store_op_load_fold2.ll
The file was modifiedllvm/test/CodeGen/ARM/big-endian-neon-fp16-bitconv.ll
Commit db16eb33ce43792e0758edf958bbb175eb6a60e2 by tpr.ll
[MsgPack] Added convenience assignment to MsgPackDocument

This commit increases the convenience of using the MsgPackDocument API,
especially when creating a document for writing out.

It adds direct assignment of bool, integer and string types to a
DocNode, as long as that DocNode is already inside a document, e.g. the
result of a map lookup. It also adds map lookup given an integer type
(it already had that for string).

So, to assign a string to a map element whose key is an int, you can
now write
  MyMap[42] = "towel";
instead of
  MyMap[MyMap.getDocument()->getNode(42)] =
      MyMap.getDocument()->getNode("towel");

Also added MapDocNode::erase methods.

Differential Revision: https://reviews.llvm.org/D80121

Change-Id: I17301fa15bb9802231c52542798af5b54beb583e
The file was modifiedllvm/lib/BinaryFormat/MsgPackDocument.cpp
The file was modifiedllvm/unittests/BinaryFormat/MsgPackDocumentTest.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/MsgPackDocument.h
Commit d13a50882006f45f760c214d167a7f037a666b0b by tpr.ll
[AMDGPU] Fixed incorrect PAL metadata register naming

This only affects assembly and -filetype=asm codegen of PAL metadata.

Differential Revision: https://reviews.llvm.org/D78860

Change-Id: I7b822e1917bf7b403486820d31afc483be207652
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
The file was addedllvm/test/CodeGen/AMDGPU/pal-userdata-regs.ll
Commit a72307c3a6f15badc2efb4614b212e6c5fee1ee9 by steveire
Set traversal explicitly where needed in clang-tidy

Reviewers: aaron.ballman

Subscribers: nemanjai, kbarton, arphaman, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D72530
The file was modifiedclang-tools-extra/clang-tidy/cert/MutatingCopyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cert/ProperlySeededRandomGeneratorCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/IntegerDivisionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/objc/NSInvocationArgumentLifetimeCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/llvm/PreferRegisterOverUnsignedCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SignedCharMisuseCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/DeleteNullPointerCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/NoAutomaticMoveCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/InterfacesGlobalInitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SuspiciousStringCompareCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/DanglingHandleCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cert/ThrownExceptionTypeCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/ExprSequence.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ShrinkToFitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/MoveConstructorInitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/PassByValueCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/InefficientAlgorithmCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/MagicNumbersCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/MisplacedArrayIndexCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cert/StaticObjectExceptionCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/abseil/FasterStrsplitDelimiterCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/SuspiciousMissingCommaCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/MisplacedWideningCastCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ParentVirtualCallCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReplaceRandomShuffleCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/ReturnBracedInitListCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
Commit a30d411629d5425dedb0dadd616d0faabb611798 by steveire
Set traversal explicitly where needed in tests

Reviewers: aaron.ballman, shafik

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D72531
The file was modifiedclang/unittests/Tooling/RangeSelectorTest.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/unittests/Tooling/StencilTest.cpp
The file was modifiedclang/unittests/Tooling/RefactoringCallbacksTest.cpp
The file was modifiedclang/unittests/AST/StmtPrinterTest.cpp
The file was modifiedclang/unittests/AST/SourceLocationTest.cpp
The file was modifiedclang/unittests/ASTMatchers/Dynamic/RegistryTest.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modifiedclang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Commit f85aedc167cde76bdb47b7814f873cfb40ad3ed8 by steveire
Make the ExprMutationAnalyzer explicit about how it traverses the AST

Reviewers: aaron.ballman

Subscribers: baloghadamsoftware, a.sidorin, Szelethus, donat.nagy, dkrupp, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D72532
The file was modifiedclang/lib/Analysis/ExprMutationAnalyzer.cpp
Commit 31984063678ef523b940160ac9d49fcb87c1e2ac by d.c.ddcc
llvm-diff: Avoid crash with complex expressions

Summary: With complex IR, the difference engine can enter an inconsistent state where the instruction and block difference engines return different results. Prevent a crash by refusing to pop beyond the end of the vector.

Reviewers: rjmccall

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80351
The file was modifiedllvm/tools/llvm-diff/DifferenceEngine.cpp
Commit 9d23b5025d5f6614a2b2b1b6fc19997f0fb69138 by Ben_Dunbobbin
[PS4] Enable relaxed relocations by default

PS4 supports these relocations types; so, we want to enable them by default.

Differential Revision: https://reviews.llvm.org/D79980
The file was addedclang/test/Driver/ps4-relax-relocations.c
The file was modifiedclang/lib/Driver/ToolChains/PS4CPU.h
Commit 628f008b201021198f49cd71826fd7f89b28cc26 by Jinsong Ji
[docs] Fix buildbot failures

Buildbot has been failing since
http://lab.llvm.org:8011/builders/llvm-sphinx-docs/builds/44711

This patch fix the minor issues that cause warnings.
The file was modifiedllvm/docs/BitCodeFormat.rst
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit fc937806efd71eb3803b35d0920bb7d76bc3040b by aeubanks
Don't jump to landing pads in Control Flow Optimizer

Summary: Likely fixes https://bugs.llvm.org/show_bug.cgi?id=45858.

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80047
The file was modifiedllvm/lib/CodeGen/BranchFolding.cpp
The file was addedllvm/test/CodeGen/X86/branchfolding-ehpad.mir
Commit f96a7706d9f0afe33ee4a1f55ba7daec926e4ffe by craig.topper
[Target] Use Align in TargetLoweringObjectFile::getSectionForConstant.

Differential Revision: https://reviews.llvm.org/D80363
The file was modifiedllvm/lib/Target/TargetLoweringObjectFile.cpp
The file was modifiedllvm/lib/Target/XCore/XCoreTargetObjectFile.cpp
The file was modifiedllvm/lib/Target/XCore/XCoreTargetObjectFile.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetObjectFile.h
The file was modifiedllvm/lib/Target/Mips/MipsTargetObjectFile.h
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/lib/Target/Lanai/LanaiTargetObjectFile.cpp
The file was modifiedllvm/lib/Target/Mips/MipsTargetObjectFile.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetObjectFile.h
The file was modifiedllvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
The file was modifiedllvm/lib/Target/Lanai/LanaiTargetObjectFile.h
The file was modifiedllvm/include/llvm/Target/TargetLoweringObjectFile.h
Commit 307e85395485e1eff9533b2d7952b16f33ceae38 by zequanwu
Add nomerge function attribute to clang
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was addedclang/test/CodeGen/attr-nomerge.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaStmtAttr.cpp
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was addedclang/test/Sema/attr-nomerge.cpp
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
Commit bf242c067eaf8041a3505e115e0a827f28e4451a by a.v.lapshin
[AARCH64][NEON] Allow to sink operands of aarch64_neon_pmull64.

Summary:
This patch fixes a problem when pmull2 instruction is not
generated for vmull_high_p64 intrinsic.

ISel has a pattern for int_aarch64_neon_pmull64 intrinsic to generate
PMULL2 instruction. That pattern assumes that extraction operations
are located in the same basic block. We need to sink them
if they are not. Handle operands of int_aarch64_neon_pmull64
into AArch64TargetLowering::shouldSinkOperands.

Reviewed by: efriedma

Differential Revision: https://reviews.llvm.org/D80320
The file was addedllvm/test/CodeGen/AArch64/neon-vmull-high-p64.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit 77ffce6954470018de1748d33f9ac6aa66121e9f by Vedant Kumar
[Instruction] Set metadata uses to undef on deletion

Summary:
Replace any extant metadata uses of a dying instruction with undef to
preserve debug info accuracy. Some alternatives include:

- Treat Instruction like any other Value, and point its extant metadata
  uses to an empty ValueAsMetadata node. This makes extant dbg.value uses
  trivially dead (i.e. fair game for deletion in many passes), leading to
  stale dbg.values being in effect for too long.

- Call salvageDebugInfoOrMarkUndef. Not needed to make instruction removal
  correct. OTOH results in wasted work in some common cases (e.g. when all
  instructions in a BasicBlock are deleted).

This came up while discussing some basic cases in
https://reviews.llvm.org/D80052.

Reviewers: jmorse, TWeaver, aprantl, dexonsmith, jdoerfert

Subscribers: jholewinski, qcolombet, hiraditya, jfb, sstefan1, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80264
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-info.ll
The file was modifiedllvm/test/Transforms/SafeStack/X86/debug-loc2.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/spillcost-di.ll
The file was modifiedllvm/lib/IR/Instruction.cpp
The file was modifiedllvm/unittests/IR/DebugInfoTest.cpp
The file was modifiedllvm/test/DebugInfo/NVPTX/debug-addr-class.ll
Commit b0a0f01bc175b4c444052f871a89421889f8b5ce by zequanwu
Revert "Add nomerge function attribute to clang"

This reverts commit 307e85395485e1eff9533b2d7952b16f33ceae38.
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was removedclang/test/CodeGen/attr-nomerge.cpp
The file was modifiedclang/lib/Sema/SemaStmtAttr.cpp
The file was removedclang/test/Sema/attr-nomerge.cpp
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
Commit e6b613254d8b62cdd64ee9d8376f2bdda1bcc359 by Adrian Prantl
Rename FunctionOptimizationWarning to the more generic FrameSelectedCallback (NFC)
The file was modifiedlldb/include/lldb/Target/Thread.h
The file was modifiedlldb/source/Target/Thread.cpp
Commit 54e91a3c701040d9d2e467bd483c197073b2c5e4 by Jan Korous
Reland "[Analyzer][WebKit] RefCntblBaseVirtualDtorChecker"

This reverts commit 1108f5c737dbdab0277874a7e5b237491839c43a.
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
The file was modifiedclang/docs/analyzer/checkers.rst
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
The file was addedclang/test/Analysis/Checkers/WebKit/mock-types.h
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/DiagOutputUtils.h
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
The file was addedclang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
The file was addedclang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
The file was addedclang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor.cpp
Commit bb7fb6d7b2ff1af5fbcacf4fdf9f5878c033c9e0 by llvmgnsyncbot
[gn build] Port 54e91a3c701
The file was modifiedllvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Commit 1d64d69ab701d9524ee6871e93a2a2f8195fa798 by Jonas Devlieghere
[lldb/Reproducers] Skip lldb-vscode category when lldb-run-with-repro is set.

This skips all the lldb-vscode tests when running the test suite with
reproducers.
The file was modifiedlldb/test/API/lit.cfg.py
Commit e36076ee3a2ebc6013372d9b71e6bb09e8612366 by zequanwu
[clang] Add nomerge function attribute to clang
Differential Revision: https://reviews.llvm.org/D79121
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/Sema/SemaStmtAttr.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was addedclang/test/CodeGen/attr-nomerge.cpp
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/include/clang/Basic/Attr.td
The file was addedclang/test/Sema/attr-nomerge.cpp
Commit 48acac36293805cef10b448d49d336da7db7bfa9 by aheejin
[WebAssembly] Warn on exception spec only when Wasm EH is used

Summary:
In D80061 we added warning for exception specifications with types (such
as `throw(int)`), but it was enabled every time the target was wasm,
which means it warned (and ignored) exception specifications even if
wasm EH was not used. This fixes it and we only have the warning when we
enable `-fwasm-exceptions`.

Reviewers: dschuff

Subscribers: sbc100, jgravelle-google, sunfish, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80362
The file was modifiedclang/test/CodeGenCXX/wasm-eh.cpp
The file was modifiedclang/lib/CodeGen/CGException.cpp
Commit 9e391d4faa839c6aedf8729bb027adf5e2cd7735 by Jonas Devlieghere
[lldb/Test] Cleanup TestSymbolContext.py

Remove commented out code, fix the indentation and always use the full
path to the executable. The latter is necessary for the test to pass
from reproducer replay.
The file was modifiedlldb/test/API/python_api/symbol-context/TestSymbolContext.py
Commit e36be90c82c44f2631d1e2d1148af3f8a8c5b772 by Tony.Tye
[AMDGPU] Correct formatting typos in documentation

Summary:
- Correct missing space in some "note" and "TODO" directives in
  AMDGPUUsage.rst
- Correct warning for heading underline being too short in
  BitCodeFormat.rst

Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80407
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit dbbed971e3a282f44242297b75a527256eb862dc by jingham
Handle the case where a thread exits while we are running a function on it.
The file was addedlldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
The file was modifiedlldb/source/Expression/LLVMUserExpression.cpp
The file was addedlldb/test/API/functionalities/thread/exit_during_expression/Makefile
The file was addedlldb/test/API/functionalities/thread/exit_during_expression/main.c
The file was modifiedlldb/source/Expression/FunctionCaller.cpp
The file was modifiedlldb/include/lldb/lldb-enumerations.h
The file was modifiedlldb/source/Target/Process.cpp
Commit abf02d978854a06f60ab8fcfb9b5528d25db6a94 by d.c.ddcc
[llvm-extract] Fix basic block extraction by delaying search until the function is materialized

Summary: When I try to extract a basic block using llvm-extract, it erroneously reports that the named basic block doesn't exist. After digging into the code, it appears to be iterating over an unmaterialized function, which will fail to match any basic blocks.

Reviewers: volkan, qcolombet

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80346
The file was modifiedllvm/tools/llvm-extract/llvm-extract.cpp
Commit 1583766ed23b707898e872728783f054ede47ca8 by jingham
This very simple .c file is failing on the Debian bot wit the error

undefined reference to pthread_create

I skipped the test till I can figure out why this didn't build.
The file was modifiedlldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
Commit 54c2c2add7ad42ce1910a276cd1cd2912af4cddd by jingham
Maybe I need ENABLE_THREADS in the Makefile.
The file was modifiedlldb/test/API/functionalities/thread/exit_during_expression/Makefile
The file was modifiedlldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
Commit 2a4c30985ded329d64357f5535d2ff2a3f955c81 by paulatoth
[libc] Make clang-tidy use host compiler's resource dir.

Summary: When building llvm-libc with linting enabled, clang-tidy would use the resource dir of the monorepo rather then the host compiler's resource dir. This presented issues when including headers from the host compiler e.g. for sanitizers. Therefore this patch explicitly tells clang-tidy to use the host compiler's resource dir.

Reviewers: sivachandra

Reviewed By: sivachandra

Subscribers: mgorny, tschuett, ecnelises, libc-commits

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D80265
The file was modifiedlibc/cmake/modules/LLVMLibCObjectRules.cmake
The file was modifiedlibc/cmake/modules/LLVMLibCHeaderRules.cmake
The file was modifiedlibc/CMakeLists.txt
Commit 49a4f3f7d88f61a81279de3d4e1c734ab0363228 by Amara Emerson
[AArch64][GlobalISel] Add a post-legalizer combiner with a very simple combine.

(This patch is by Jessica, I'm just committing it on her behalf because I need
a post-legalizer combiner for something else).

This supersedes D77250, which did equivalent work in the selector. This can be
done pre-legalization or post-legalization. Post-legalization is more likely to
hit, since G_IMPLICIT_DEFs tend to appear during legalization. There's no reason
to not do it pre-legalization though-- if it can be caught earlier, great.

(I also think that it might be worth reimplementing D78769 using a
target-specific post-legalization combine too after thinking about it for a
while.)

Differential Revision: https://reviews.llvm.org/D78852
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was modifiedllvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td
The file was modifiedllvm/lib/Target/AArch64/CMakeLists.txt
The file was modifiedllvm/lib/Target/AArch64/AArch64.h
The file was addedllvm/lib/Target/AArch64/AArch64PostLegalizerCombiner.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-store-undef.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp