SuccessChanges

Summary

  1. Revert "[NFC, StackSafety] Change type of internal container" (details)
  2. Replace dyn_cast<>() with isa<>() when the result isn't used (NFC) (details)
  3. [AMDGPU] Make SGPR spills exec mask agnostic (details)
  4. Fix build: TableGen uses `is<T>` instead of `isa<T>` as predicate (details)
  5. [lldb/Interpreter] Remove redundant argument (NFC) (details)
  6. [flang] Implemented 2 Semantic checks for DATA statement and fixed a few bugs (details)
  7. [Support] Add file lock/unlock functions (details)
  8. [X86] Add CLWB to Tremont CPU. Remove CLDEMOTE, MOVDIRI, MOVDIR64B, and WAITPKG to match gcc. (details)
  9. [CodeGen] Fix warnings in getPackedVectorTypeFromPredicateType (details)
  10. [NFC][PowerPC] Remove unused node PPCISD::VMADDFP and PPCISD::VNMSUBFP (details)
  11. [Driver] Add negative option for -fkeep-static-consts (details)
  12. [NFC, StackSafety] Change type of internal container (details)
  13. [StackSafety] Skip non-pointer parameters (details)
  14. [clang-tidy] Added MacroDefiniton docs for readability-identifier-naming (details)
  15. Revert "[WebAssembly] Eliminate range checks on br_tables" (details)
  16. [gn build] Port 755a8959152 (details)
  17. [AMDGPU/MemOpsCluster] Code clean-up around accessing of memory operand width (details)
  18. [AMDGPU] Fold llvm.amdgcn.cos and llvm.amdgcn.sin intrinsics (details)
  19. [StackSafety,NFC] Rename internal class (details)
  20. [StackSafety,NFC] Convert to template internal stuff (details)
  21. Revert "[Support] Add file lock/unlock functions" (details)
  22. [AMDGPU] Fold llvm.amdgcn.cos and llvm.amdgcn.sin intrinsics (fix) (details)
  23. Syntax tree: ignore implicit expressions at the top level of statements (details)
  24. Split syntax tree tests into more granular ones (details)
  25. [CSInfo][MIPS][DwarfDebug] Add support for delay slots (details)
  26. [NFC,StackSafety] Fix template arg name (details)
  27. [llvm] Fix unused variable warnings (details)
  28. [mlir][Linalg] NFC - Make markers use Identifier instead of StringRef (details)
  29. TargetFrameLowering.h - remove unnecessary includes. NFC. (details)
  30. Fix MSVC "not all control paths return a value" warning. NFC. (details)
Commit f9bb101d394d62027ba33e132691540f1e63cea8 by joker.eph
Revert "[NFC, StackSafety] Change type of internal container"

This reverts commit f62813e7eae148a6175de28bfa384524a9f2bf94.
GCC 5.3 build is broken.
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit a09bb6d77b39d3f87c76b525b355e158245a63cd by joker.eph
Replace dyn_cast<>() with isa<>() when the result isn't used (NFC)

Fixed warning reported by some GCC version.
The file was modifiedmlir/lib/TableGen/Operator.cpp
Commit da33c96d4762e0e59f1eff16f60d5c1575490331 by carl.ritson
[AMDGPU] Make SGPR spills exec mask agnostic

Explicitly set the exec mask for SGPR spills and reloads.
This fixes a bug where SGPR spills to memory could be incorrect
if the exec mask was 0 (or differed between spill and reload).

Additionally pack scalar subregisters (upto 16/32 per VGPR),
so that the majority of scalar types can be spilt or reloaded
with a simple memory access.  This should amortize some of the
additional overhead of manipulating the exec mask.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D80282
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
The file was addedllvm/test/CodeGen/AMDGPU/sgpr-spill.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-m0.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h
The file was modifiedllvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/si-spill-sgpr-stack.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-wide-sgpr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/partial-sgpr-to-vgpr-spills.ll
Commit 48c800cc1bff13d1f5ae5e457a064cf6627280f1 by joker.eph
Fix build: TableGen uses `is<T>` instead of `isa<T>` as predicate
The file was modifiedmlir/lib/TableGen/Operator.cpp
Commit def72b91950d44a68b8613f25fa1a09926171222 by Jonas Devlieghere
[lldb/Interpreter] Remove redundant argument (NFC)
The file was modifiedlldb/source/Interpreter/CommandReturnObject.cpp
Commit 70f1b4b4122088c1bd7324b519bc449dbfeaf298 by asudhaku
[flang] Implemented 2 Semantic checks for DATA statement and fixed a few bugs

Summary
  - Implemented C876, C877
  - Fixed IsConstantExpr to check C879
  - Fixed bugs in few test cases - data01.f90, block-data01.f90,
  pre-fir-tree02.f90
  - Modified implementation of C8106 to identify all automatic objects
  and modified equivalence01.f90 to reflect the changes

Differential Revision: https://reviews.llvm.org/D78424
The file was addedflang/test/Semantics/data04.f90
The file was modifiedflang/test/Semantics/data03.f90
The file was modifiedflang/test/Semantics/block-data01.f90
The file was modifiedflang/test/Semantics/equivalence01.f90
The file was modifiedflang/include/flang/Semantics/tools.h
The file was modifiedflang/lib/Evaluate/check-expression.cpp
The file was modifiedflang/lib/Semantics/tools.cpp
The file was modifiedflang/lib/Semantics/check-data.cpp
The file was modifiedflang/test/Semantics/data01.f90
The file was modifiedflang/lib/Semantics/resolve-names-utils.cpp
The file was modifiedflang/test/Lower/pre-fir-tree02.f90
Commit f51bc4fb60fbcef26d18eff549fc68307fd46489 by sepavloff
[Support] Add file lock/unlock functions

New functions `lockFile`, `tryLockFile` and `unlockFile` implement
simple file locking. They lock or unlock entire file. This must be
enough to support simulataneous writes to log files in parallel builds.

Differential Revision: https://reviews.llvm.org/D78896
The file was modifiedllvm/unittests/Support/Path.cpp
The file was modifiedllvm/include/llvm/Support/FileSystem.h
The file was modifiedllvm/lib/Support/Unix/Path.inc
The file was modifiedllvm/lib/Support/Windows/Path.inc
Commit bb1d8bf2707bdca89c1f5e719057f1000232ccc3 by craig.topper
[X86] Add CLWB to Tremont CPU. Remove CLDEMOTE, MOVDIRI, MOVDIR64B, and WAITPKG to match gcc.
The file was modifiedllvm/lib/Target/X86/X86.td
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
The file was modifiedclang/lib/Basic/Targets/X86.cpp
Commit e602cd878e308133cbbfdb73df686de2aa890bc1 by david.sherwood
[CodeGen] Fix warnings in getPackedVectorTypeFromPredicateType

Use getVectorElementCount() instead of getVectorNumElements().
The code changed in this patch is covered by an existing test:

  CodeGen/AArch64/sve-intrinsics-contiguous-prefetches.ll

Differential Revision: https://reviews.llvm.org/D80615
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
Commit a462561ceec6aa6daffb5ee01dd029dbdaa6d603 by qshanz
[NFC][PowerPC] Remove unused node PPCISD::VMADDFP and PPCISD::VNMSUBFP

These two nodes were added by 69caef2b781130a7d0eeaf8898eb346b6423ae03 in 2005
and they are not used by PowerPC backend anymore. And the ISD::FMA is a prefer
way for VMADDFP if we really want to create that node. For VNMSUBFP, we will
also add a more generic node FNMSUB in D76585 if we really want it.

Reviewed By: qiucf

Differential Revision: https://reviews.llvm.org/D80429
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
Commit ac47588bc4ff5927a01ed6fcd269ce86aba52a7c by shengchen.kan
[Driver] Add negative option for -fkeep-static-consts
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit e128f01be996f5f9a0e0cf5565d8a0696783b85d by Vitaly Buka
[NFC, StackSafety] Change type of internal container

Summary: Depends on D80771.

Reviewers: eugenis

Reviewed By: eugenis

Subscribers: mehdi_amini, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80847
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit d3b7f90d00fc23f5e5576e28fe4290b5f1dd0a9d by Vitaly Buka
[StackSafety] Skip non-pointer parameters

Summary: Depends on D80908.

Reviewers: eugenis, pcc

Reviewed By: eugenis

Subscribers: hiraditya, steven_wu, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80956
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/memintrin.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/ipa.ll
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/local.ll
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 65fa0a9f7f3e6090e335c14f9edea19358d87613 by n.james93
[clang-tidy] Added MacroDefiniton docs for readability-identifier-naming

Updates the docs to include `MacroDefinition` documentation. The docs are still missing `ObjCIVar` however I don't have a clue about how that looks in code. If someone wants to show the code block needed for the example I'll add that in too.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D80877
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/readability-identifier-naming.rst
Commit 755a89591528b692315ad0325347e2fd4637271b by tlively
Revert "[WebAssembly] Eliminate range checks on br_tables"

This reverts commit f99d5f8c32a822580a732d15a34e8197da55d22b.
The change was causing UBSan and other failures on some bots.
The file was modifiedllvm/test/CodeGen/WebAssembly/cfg-stackify.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/switch.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/indirectbr.ll
The file was removedllvm/test/CodeGen/WebAssembly/switch-unreachable-default.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/stack-insts.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssembly.h
The file was removedllvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp
The file was modifiedllvm/lib/Target/WebAssembly/CMakeLists.txt
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
Commit f2f3a80fd853fba0c7bd763a92c0d445052693a8 by llvmgnsyncbot
[gn build] Port 755a8959152
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
Commit 29c17ed96ed53399279c3358cffde51224178e72 by mahesha.comp
[AMDGPU/MemOpsCluster] Code clean-up around accessing of memory operand width

Summary:
Clean-up the width computing logic given a memory operand, and re-arrange code to avoid
code duplication.

Reviewers: foad, rampitec, arsenm, vpykhtin, javedabsar

Reviewed By: foad

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

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80946
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit c823cfde21b20c60f8cf02e28af234e01964469a by jay.foad
[AMDGPU] Fold llvm.amdgcn.cos and llvm.amdgcn.sin intrinsics

Differential Revision: https://reviews.llvm.org/D80702
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was addedllvm/test/Analysis/ConstantFolding/AMDGPU/cos.ll
The file was addedllvm/test/Analysis/ConstantFolding/AMDGPU/sin.ll
Commit a019579fe56819688a36ba718afc8c7c4f3b04b1 by Vitaly Buka
[StackSafety,NFC] Rename internal class
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 6e51a080f744013eaaff6be2f4864afd0882acfa by Vitaly Buka
[StackSafety,NFC] Convert to template internal stuff

It's going to be usefull for ThinLTO.
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 8577595e03faf740ee0cfae1bbb2d0ff6f4e4516 by sepavloff
Revert "[Support] Add file lock/unlock functions"

This reverts commit f51bc4fb60fbcef26d18eff549fc68307fd46489.
It broke the Solaris buildbots (Builder clang-solaris11-sparcv9 Build #5494
<http://lab.llvm.org:8014/builders/clang-solaris11-sparcv9/builds/54).
The file was modifiedllvm/lib/Support/Windows/Path.inc
The file was modifiedllvm/include/llvm/Support/FileSystem.h
The file was modifiedllvm/unittests/Support/Path.cpp
The file was modifiedllvm/lib/Support/Unix/Path.inc
Commit 7c7941fb4bd884ee7dce96fdfdf657c0fdb608dd by jay.foad
[AMDGPU] Fold llvm.amdgcn.cos and llvm.amdgcn.sin intrinsics (fix)

Try to fix Windows buildbots.
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit b34b7691facd89022e7fee174debdbd2bf7920f3 by gribozavr
Syntax tree: ignore implicit expressions at the top level of statements

Summary:
I changed `markStmtChild` to ignore implicit expressions the same way as
`markExprChild` does it already. The test that I modified crashes
without this change.

Reviewers: hlopko, eduucaldas

Reviewed By: hlopko, eduucaldas

Subscribers: gribozavr2, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81019
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit d7d5dd31fc6f05daf4758e1523c86401aa4e3f2a by gribozavr
Split syntax tree tests into more granular ones

Summary:
Doing so allows us to increase test coverage by removing unnecessary
language restrictions.

Reviewers: hlopko, eduucaldas

Reviewed By: hlopko, eduucaldas

Subscribers: gribozavr2, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81040
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit dd1bc59b729a31d6c0fe3aecc8559b9349363bf9 by djordje.todorovic
[CSInfo][MIPS][DwarfDebug] Add support for delay slots

This adds call site info support for call instructions with delay slot.
Search for instructions inside call delay slot, which load value
into parameter forwarding registers.
Return address of the call points to instruction after call delay slot,
which is not the one, immediately after the call instruction.

Patch by Nikola Tesic

Differential revision: https://reviews.llvm.org/D78107
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was addedllvm/test/DebugInfo/MIR/Mips/dbg-call-site-delay-slot-interpretation.mir
The file was addedllvm/test/DebugInfo/Mips/dbg-call-site-low-pc.ll
The file was addedllvm/test/DebugInfo/MIR/Mips/dbg-call-site-delay-slot-interpretation-64bit.mir
Commit 264d435ee10c699b12562eea695793199ff757f5 by Vitaly Buka
[NFC,StackSafety] Fix template arg name
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit c5468253aa555c2df98bd1f49d1e9d44b0150a2e by kadircet
[llvm] Fix unused variable warnings
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit e349fb70a23f3a39e058605e4e2db66da5e5ea4a by ntv
[mlir][Linalg] NFC - Make markers use Identifier instead of StringRef

Summary: This removes string ownership worries by putting everything into the context and allows more constructing identifiers programmatically.

Reviewers: ftynse

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

Tags: #mlir

Differential Revision: https://reviews.llvm.org/D81027
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
Commit 7a96c181d0f09aae3ebe50c1eea71aa1b11d5789 by llvm-dev
TargetFrameLowering.h - remove unnecessary includes. NFC.

Move TargetFrameLowering.h include to the top of the TargetFrameLoweringImpl.cpp includes (clang-format doesn't do this by default as the filenames don't match).
The file was modifiedllvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
Commit e6ba0a55fd39b600f3f431308f4a7e36e48f91ae by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFC.

Add llvm_unreachable after switch statement for CheckerRegistry::StateFromCmdLine enum
The file was modifiedclang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp