FailedChanges

Summary

  1. moved deployment to kubernetes files (details)
Commit 2446cff06dffdbfaad3d058ec529f1269c251ff2 by kuhnel
moved deployment to kubernetes files

Summary:
Terraform does not support deployments on GCP using a GPU at the moment.
So we need to deploy such cases using plain Kubernetes configuration files.
The buildbot mlir-nvidia is configured in `deployment-mlir-nvidia.yaml` in this
folder.

Reviewers: tra

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

Differential Revision: https://reviews.llvm.org/D82434
The file was addedbuildbot/google/terraform/deployment-mlir-nvidia.yaml
The file was modifiedbuildbot/google/terraform/README.md (diff)
The file was modifiedbuildbot/google/terraform/main.tf (diff)

Summary

  1. [MLIR][Shape] Add `shape.rank` operation (details)
  2. [lldb][PDB] Constexpr static member values as AST literals (details)
  3. [MLIR][Shape] Add constant folding to `shape.rank` (details)
  4. Reland "[clang][Driver] Correct tool search path priority" (details)
  5. [AMDGPU] Select s_cselect (details)
  6. [MLIR][Shape] Add canonicalization pattern for `shape.rank` (details)
  7. [PowerPC] add popcount CodeGen test; NFC (details)
  8. [MLIR][Shape] Lower `shape.rank` (details)
  9. [MLIR][Shape] Lower `shape_of` for unranked tensors (details)
  10. [docs][GlobalISel] Fix the warnings during docs-llvm-html build (details)
  11. [docs][llvm-dwarfdump] Fix the warnings during docs-llvm-html buil (details)
  12. Use concrete natural type alignment for masked load/store operations instead of 0. (details)
  13. [analyzer] SATest: Add initial docker infrastructure (details)
  14. [analyzer] SATest: Add convenience 'docker' command (details)
  15. [analyzer] SATest: Add a set of initial projects for testing (details)
  16. [analyzer] SATest: Make docker interfaces transparent (details)
  17. [analyzer] SATest: Make main script Python2 compatible (details)
  18. [analyzer] SATest: Do not re-run CMake in Docker if not needed (details)
  19. [analyzer] SATest: Add an easy option to connect to docker for debugging (details)
  20. [analyzer] SATest: Add 5 more projects for testing (details)
  21. [analyzer] SATest: Fix package versions for test dependencies (details)
  22. [analyzer] SATest: Use logger in single-threaded mode as well (details)
  23. [MLIR][Shape] Fix ambiguous symbol (details)
  24. Ensure that CompilerInvocationTest normalizes default target triples (details)
  25. [libclang] Get rid of relience on SourceManager member signature (details)
  26. [AST] Fix a crash on accessing a class without definition in constexpr function context. (details)
  27. MachineScheduler.h - reduce AliasAnalysis.h include to forward declaration. NFC. (details)
  28. FPEnv.h - reduce includes to forward declarations. NFC. (details)
  29. [Matrix] Group matrix diagnostics together (NFC). (details)
  30. [ARM] Allow tail predication on sadd_sat and uadd_sat intrinsics (details)
  31. [Matrix] Use 1st/2nd instead of first/second in matrix diags. (details)
  32. [NFC] update test to make diff of the following commit clear (details)
  33. [AssumeBundles] Use operand bundles to encode alignment assumptions (details)
  34. Repair various issues with modernize-avoid-bind (details)
  35. [llvm-readelf] - Report a warning instead of an error when dumping a broken section header. (details)
  36. [MLIR][Shape] Canonicalize subsequent `index_to_size` and `size_to_index` (details)
  37. [ARM] Split cast cost tests, and add masked load/store tests. NFC (details)
  38. [OPENMP]Dynamic globalization for parallel target regions. (details)
  39. [MLIR][Shape] Canonicalize subsequent `size_to_index` and `index_to_size` (details)
  40. Fix a crash with [[clang::acquire_handle]] when written as a type (details)
  41. [DSE,MSSA] Check if Def is removable only wen we try to remove it. (details)
  42. [openmp] Use Directive_enumSize instead of OMPD_unknown position (details)
  43. [Alignment][NFC] Use Align for TargetCallingConv::OrigAlign (details)
  44. Fix typos in CodeGenPrepare::splitLargeGEPOffsets comments. (details)
  45. CodeGenPrepare.cpp - remove unused IntrinsicsX86.h header. NFC. (details)
  46. IRBuilder.cpp - fix include sorting order. NFC. (details)
  47. Attributes.cpp - fix include sorting order. NFC. (details)
  48. LiveIntervals.h.h - reduce AliasAnalysis.h include to forward declaration. NFC. (details)
  49. [Alignment][NFC] Conform X86, ARM and AArch64 TargetTransformInfo backends to the public API (details)
  50. [lldb] Rewrite Scalar::GetBytes (details)
  51. [PhaseOrdering] delete test for vectorization; NFC (details)
  52. [NFC][PPC][AIX] Add stack frame layout diagram to PPCISelLowering.cpp (details)
  53. [ObjectYAML][DWARF] Format codes. NFC. (details)
  54. [MC] Fix PR45805: infinite recursion in assembler (details)
  55. [AArch64] Emit warning when disassembling unpredictable LDRAA and LDRAB (details)
  56. [ARM] MVE VCVT lowering for f32->f16 truncs (details)
  57. LoopAccessAnalysis.h - reduce AliasAnalysis.h include to forward declaration. NFC. (details)
  58. GlobalsModRef.h - reduce CallGraph.h include to forward declarations. NFC. (details)
  59. Remove orphan TypeBasedAAResult::PathAliases declaration. NFC. (details)
  60. Remove orphan AMDGPUAAResult::Aliases and AMDGPUAAResult::PathAliases declarations. NFC. (details)
  61. [mlir][EDSC] Add divis and diviu and vector.extractelement (details)
  62. [ARM] Fixup for signed comparison warning. NFC (details)
  63. [InstCombine] fold fmul/fdiv with fabs operands (details)
  64. Add `BoolLiteralExpression` to SyntaxTree (details)
  65. [FPEnv] PowerPC-specific builtin constrained FP enablement (details)
  66. [Clang] Add support for -Wno-inline-namespace-reopened-noninline (details)
  67. [NewPM] Separate out alias analysis passes in opt (details)
  68. GVN.h - reduce AliasAnalysis.h include to forward declaration. NFC. (details)
  69. [libc++abi] Allow specifying custom Lit config files (details)
  70. [libunwind] Allow specifying custom Lit config files (details)
  71. Change while to do-while (details)
  72. [sve][acle] Add some C intrinsics for brain float types. (details)
  73. [FileCheck][NFC] Remove redundant DumpInputDefault (details)
  74. [lldb/ScriptInterpreter] Extract IO redirection logic (details)
  75. [analyzer] Enable constructor support in evalCall event. (details)
  76. Ensure that default value for -triple is correctly normalizedvalues (details)
  77. [llvm-readobj][COFF] add .llvm.call-graph-profile section dump (details)
  78. [lldb/ScriptInterpreter] Let the IORedirect factory handle IO being disabled. (details)
  79. [lldb/Lua] Redirect Lua stdout/stderr to the CommandReturnObject (details)
  80. [Clang][SourceManager] optimize getFileIDLocal() (details)
  81. [NewPM] Move debugging log printing after PassInstrumentation before-pass-callbacks (details)
  82. Add `CharLiteral` to SyntaxTree (details)
  83. Add StringLiteral to SyntaxTree (details)
  84. Add `FloatingLiteral` to SyntaxTree (details)
  85. [lldb][NFC] Use expect_expr in TestDollarInVariable (details)
  86. [PGO] Extend the value profile buckets for mem op sizes. (details)
  87. [Coroutines] Special handle __builtin_coro_resume for final_suspend nothrow check (details)
  88. [lldb/Docs] Add more details to the issues with custom Python installs on macOS (details)
  89. [Sema][CodeComplete][ObjC] Don't split the first selector fragment (details)
  90. [gn build] Port 63a89693f09 (details)
  91. [InlineCost] GetElementPtr with constant operands (details)
  92. Revert "[PGO] Extend the value profile buckets for mem op sizes." (details)
  93. [gn build] Port 9878996c708 (details)
  94. [X86] Don't imply -mprfchw when -m3dnow is specified. Enable prefetchw in the backend with 3dnow feature. (details)
  95. [Coroutines] Handle dependent promise types for final_suspend non-throw check (details)
  96. [ARM] Add FP_ROUND handling to splitting MVE stores (details)
  97. Revert "[X86] Don't imply -mprfchw when -m3dnow is specified. Enable prefetchw in the backend with 3dnow feature." (details)
  98. [libc++abi] NFCI: Minor refactoring of abort_message() (details)
  99. [flang] Replace ATTRIBUTE_UNUSED with LLVM_ATTRIBUTE_UNUSED (details)
  100. [openmp] Use config.test_extra_flags in archer and multiplex tests (details)
  101. [HIP] Improve check patterns to avoid test failures in case string "opt", etc. happens to be in the command path. (details)
  102. [lldb/ScriptInterpreter] Fix missing include on Windows (details)
  103. [builtins] Move more float128-related helpers to GENERIC_TF_SOURCES list (details)
  104. [libc++] Fix some typos in the comment header for <regex> (details)
  105. [Support][AIX] Add declaration of wait4 to fix build (details)
  106. [NFC][Support] Make Unix/Program.inc separately compilable (details)
  107. [NFC][Support] Add unit of measure to comment for PeakMemory (details)
  108. [X86] Don't imply -mprfchw when -m3dnow is specified. Enable prefetchw in the backend with 3dnow feature. (details)
  109. [ARM] MVE VCVT lowering for f16->f32 extends (details)
  110. Migrate a couple of codegen tests to gc-live format (details)
  111. [x86] add vector test for merged condition branching; NFC (details)
  112. [libc++] Remove deprecated _LIBCPP_ALTERNATE_STRING_LAYOUT macro (details)
  113. [ARM] Split FPExt loads (details)
  114. [clangd] Config: Fragments and parsing from YAML (details)
  115. [gn build] Port e9fb1506b83 (details)
  116. Migrate a couple of codegen tests to gc-live format (details)
  117. [MVT] Add missing floating point types for 1024/2048-bit vectors. (details)
  118. [AArch64][GlobalISel] Port buildvector -> dup pattern from AArch64ISelLowering (details)
  119. [libc++] Remove unnecessary LLVM_INCLUDE_BENCHMARKS option in the Apple build (details)
  120. Fix polly build after 8c2082e1dc9505da21806b707dfb3eae3f0550ff (details)
  121. [WebAssembly] Adding 64-bit versions of __stack_pointer and other globals (details)
Commit 2c061998b55707b1b6f3a587ccc155fbbebd0a4e by frgossen
[MLIR][Shape] Add `shape.rank` operation

Add `shape.rank` operation to the shape dialect.

Differential Revision: https://reviews.llvm.org/D82028
The file was modifiedmlir/test/Dialect/Shape/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Commit 895529cfd8756e2b4dc609f5af92e0d8ae280ed8 by aleksandr.urakov
[lldb][PDB] Constexpr static member values as AST literals

Summary:
When evaluating an expression referencing a constexpr static member variable, an
error is issued because the PDB does not specify a symbol with an address that
can be relocated against.

Rather than attempt to resolve the variable's value within the IR execution, the
values of all constants can be looked up and incorporated into the AST of the
record type as a literal, mirroring the original compiler AST.

This change applies to DIA and native PDB loaders.

Patch By: jackoalan

Reviewers: aleksandr.urakov, jasonmolenda, zturner, jdoerfert, teemperor

Reviewed By: aleksandr.urakov

Subscribers: sstefan1, lldb-commits, llvm-commits, #lldb

Tags: #lldb, #llvm

Differential Revision: https://reviews.llvm.org/D82160
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
The file was modifiedlldb/test/Shell/SymbolFile/PDB/ast-restore.test
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
The file was modifiedlldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
The file was modifiedlldb/test/Shell/SymbolFile/PDB/Inputs/AstRestoreTest.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
The file was modifiedllvm/include/llvm/DebugInfo/PDB/PDBTypes.h
Commit 81469527ec99a3452c867d997d259ea70f81dda5 by frgossen
[MLIR][Shape] Add constant folding to `shape.rank`

Add constant folding for the `shape.rank` operation of the shape dialect.

Differential Revision: https://reviews.llvm.org/D82076
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
Commit d6efc9811646edbfe13f06c2676fb469f1c155b1 by david.spickett
Reland "[clang][Driver] Correct tool search path priority"

This reverts commit f570d5810485fa6fb2e1009f795a899d79bd429f.

The test was failing on MacOS if you set
LLVM_DEFAULT_TARGET_TRIPLE. For example if you set it to
"x86_64-apple-darwin" clang actually uses
"x86_64-apple-darwin<version>".

To fix this get default triple from clang itself during the
test instead of substituting it in via lit.
The file was modifiedclang/lib/Driver/Driver.cpp
The file was addedclang/test/Driver/program-path-priority.c
Commit 0045786f146e78afee49eee053dc29ebc842fee1 by Piotr Sobczak
[AMDGPU] Select s_cselect

Summary:
Add patterns to select s_cselect in the isel.

Handle more cases of implicit SCC accesses in si-fix-sgpr-copies
to allow new patterns to work.

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

Tags: #llvm

Re-commit D81925 with a bugfix D82370.

Differential Revision: https://reviews.llvm.org/D81925
Differential Revision: https://reviews.llvm.org/D82370
The file was modifiedllvm/test/CodeGen/AMDGPU/fix-sgpr-copies.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/mad_uint24.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fceil64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/udiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/select-vectors.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/trunc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/32-bit-local-address-space.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/dagcombine-select.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/extractelt-to-trunc.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/srem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/select-i1.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/select64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv.ll
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/fshr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vselect.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
The file was modifiedllvm/test/CodeGen/AMDGPU/sdiv64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/addrspacecast.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/select-opt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/urem64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fshl.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ctlz.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sad.ll
Commit 7bca97d960ab9451185a997208057a89355b406a by frgossen
[MLIR][Shape] Add canonicalization pattern for `shape.rank`

Replace any `rank(shape_of(tensor))` that relies on a ranked tensor with the
corresponding constant `const_size`.

Differential Revision: https://reviews.llvm.org/D82077
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
Commit de9f842c55676a68453cc4160f316b1c1eea865b by shawn
[PowerPC] add popcount CodeGen test; NFC
The file was addedllvm/test/CodeGen/PowerPC/popcount.ll
Commit 24debf5a76e03cfeab6df2530151e3061eb110f2 by frgossen
[MLIR][Shape] Lower `shape.rank`

Lower `shape.rank` to standard dialect.
A shape's size is the same as the extent of the first and only dimension of the
`tensor<?xindex>` it is represented by.

Differential Revision: https://reviews.llvm.org/D82080
The file was modifiedmlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
The file was modifiedmlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
Commit e34b88309e7dfd86d298d01b7ab36e5858f1b62f by frgossen
[MLIR][Shape] Lower `shape_of` for unranked tensors

Lower `shape_of` for unranked tensors.
Materializes shape in stack-allocated memory.

Differential Revision: https://reviews.llvm.org/D82196
The file was modifiedmlir/test/Conversion/ShapeToSCF/shape-to-scf.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Conversion/ShapeToSCF/ShapeToSCF.cpp
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
Commit 019d7a32febc1ac0a87a96911656235aaab1103b by djordje.todorovic
[docs][GlobalISel] Fix the warnings during docs-llvm-html build

Before the fix the build of docs-llvm-html would fail.
The rG8bc03d216824 introduced a reference to an undefined label,
so we have warning as:

  llvm-project/llvm/docs/GlobalISel/GenericOpcode.rst:295:\
  undefined label: i_intr_llvm_ptrmask (if the link has no\
  caption the label must precede a section header)
The file was modifiedllvm/docs/GlobalISel/GenericOpcode.rst
Commit 95435117addb472bc2fddeceedaa7cf44db0eabb by djordje.todorovic
[docs][llvm-dwarfdump] Fix the warnings during docs-llvm-html buil

Before the fix the build of docs-llvm-html would fail.
The D80959 introduced options that are not recognized, so we have
warning as:

  llvm-project/llvm/docs/CommandGuide/llvm-dwarfdump.rst:40\
  :unknown option: --debug-info

Differential Revision: https://reviews.llvm.org/D82460
The file was modifiedllvm/docs/CommandGuide/llvm-dwarfdump.rst
Commit 067c660ac99b3d8cfe86264c16aad7d75c512793 by gchatelet
Use concrete natural type alignment for masked load/store operations instead of 0.

Summary: Alignment needs to be resolved at this point so we replace the
0 value with the ABI Type Alignment.
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
Commit e010d1432fa15cff7a6d369f5e372d995e2eba5d by vsavchenko
[analyzer] SATest: Add initial docker infrastructure

Summary:
Static analysis is very sensitive to environment.
OS and libraries installed can affect the results.  This fact makes
it extremely hard to have a regression testing system that will
produce stable results.

For this very reason, this commit introduces a new dockerized testing
environment, so that every analyzer developer can check their changes
against previous analysis results.

Differential Revision: https://reviews.llvm.org/D81571
The file was addedclang/utils/analyzer/Dockerfile
The file was addedclang/utils/analyzer/entrypoint.py
Commit 3770f5c9b98c5bae2f099f5c24e05eb4a0cca1d0 by vsavchenko
[analyzer] SATest: Add convenience 'docker' command

Summary:
It provides a simpler interface for testing within docker.
This way the user is not required to no how to use `docker run` and
its options.

Differential Revision: https://reviews.llvm.org/D81572
The file was modifiedclang/utils/analyzer/SATest.py
Commit 8dc2802773ce3910f21689240c53839f1c7de0ad by vsavchenko
[analyzer] SATest: Add a set of initial projects for testing

Differential Revision: https://reviews.llvm.org/D81592
The file was addedclang/utils/analyzer/projects/libsoundio/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/projects/oatpp/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/.dockerignore
The file was addedclang/utils/analyzer/projects/box2d/cleanup_run_static_analyzer.sh
The file was addedclang/utils/analyzer/projects/tinyexpr/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/projects/symengine/cleanup_run_static_analyzer.sh
The file was addedclang/utils/analyzer/projects/cxxopts/cleanup_run_static_analyzer.sh
The file was addedclang/utils/analyzer/projects/zstd/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/projects/tinyspline/cleanup_run_static_analyzer.sh
The file was addedclang/utils/analyzer/projects/termbox/cleanup_run_static_analyzer.sh
The file was addedclang/utils/analyzer/projects/tinyspline/run_static_analyzer.cmd
The file was modified.gitignore
The file was addedclang/utils/analyzer/projects/tinyvm/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/projects/cxxopts/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/projects/tinyexpr/cleanup_run_static_analyzer.sh
The file was addedclang/utils/analyzer/projects/zstd/cleanup_run_static_analyzer.sh
The file was addedclang/utils/analyzer/projects/oatpp/cleanup_run_static_analyzer.sh
The file was addedclang/utils/analyzer/projects/libsoundio/cleanup_run_static_analyzer.sh
The file was addedclang/utils/analyzer/projects/termbox/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/projects/tinyvm/cleanup_run_static_analyzer.sh
The file was addedclang/utils/analyzer/projects/symengine/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/projects/box2d/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/projects/projects.json
Commit e30706af2e145bbed81fca19c951695b2d598b77 by vsavchenko
[analyzer] SATest: Make docker interfaces transparent

Summary:
Forward results of every command executed in docker.  The actual commands
and their error codes are more informative than python stacktraces.

Differential Revision: https://reviews.llvm.org/D81593
The file was modifiedclang/utils/analyzer/entrypoint.py
The file was modifiedclang/utils/analyzer/SATest.py
Commit 94f0eb83a2e573f27d4d3e60ea1477a47b8847b9 by vsavchenko
[analyzer] SATest: Make main script Python2 compatible

Summary:
If the user has only python2 installed and wants to use
the dockerized testing system, it is now totally OK.

Differential Revision: https://reviews.llvm.org/D81595
The file was modifiedclang/utils/analyzer/SATest.py
Commit 061b5bf914c6395fbd1b52aad7542289b8adb072 by vsavchenko
[analyzer] SATest: Do not re-run CMake in Docker if not needed

Differential Revision: https://reviews.llvm.org/D81596
The file was modifiedclang/utils/analyzer/entrypoint.py
Commit 11f287826fb38be2a089d88b55c6b681d128ed02 by vsavchenko
[analyzer] SATest: Add an easy option to connect to docker for debugging

Summary:
Docker on its own has a pretty convenient way to run shell.
This method, however, requires target container to be currently running,
which is not a usual scenario for the test system.  For this purpose,
it is better to have a simple way to run the container, shell it, and
clean up at the end of it all.  New option `--shell` does exactly this.

Differential Revision: https://reviews.llvm.org/D81598
The file was modifiedclang/utils/analyzer/entrypoint.py
The file was modifiedclang/utils/analyzer/SATest.py
Commit 6f55355c16b60dfb325fb92015444310e07c0b75 by vsavchenko
[analyzer] SATest: Add 5 more projects for testing

Differential Revision: https://reviews.llvm.org/D81599
The file was addedclang/utils/analyzer/projects/duckdb/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/projects/drogon/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/projects/simbody/cleanup_run_static_analyzer.sh
The file was addedclang/utils/analyzer/projects/drogon/cleanup_run_static_analyzer.sh
The file was modifiedclang/utils/analyzer/SATestBuild.py
The file was addedclang/utils/analyzer/projects/fmt/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/projects/simbody/run_static_analyzer.cmd
The file was addedclang/utils/analyzer/projects/re2/run_static_analyzer.cmd
The file was modifiedclang/utils/analyzer/Dockerfile
The file was addedclang/utils/analyzer/projects/duckdb/cleanup_run_static_analyzer.sh
The file was addedclang/utils/analyzer/projects/fmt/cleanup_run_static_analyzer.sh
The file was modifiedclang/utils/analyzer/projects/projects.json
The file was addedclang/utils/analyzer/projects/re2/cleanup_run_static_analyzer.sh
Commit 7a84ab9f9bdbc14d8d068f680a511cd26471d906 by vsavchenko
[analyzer] SATest: Fix package versions for test dependencies

Summary:
Another possible difference between various users of the
testing system might be a change in dependencies installed on the
container.  This commit tries to prevent any problem related to
different versions of the libraries/headers used and fixes them to
currently installed versions.

Differential Revision: https://reviews.llvm.org/D81600
The file was modifiedclang/utils/analyzer/Dockerfile
Commit 495fd64041909d07fe9ba57cbf4274a9db1a9ea3 by vsavchenko
[analyzer] SATest: Use logger in single-threaded mode as well

Summary:
It generalizes the way the output looks across any -jN.
Additionally it solves the buffering problems.

Differential Revision: https://reviews.llvm.org/D81601
The file was modifiedclang/utils/analyzer/SATestBuild.py
Commit 5a7cd5db3cbab6bae86316e436790d8cf6b5ca64 by frgossen
[MLIR][Shape] Fix ambiguous symbol
The file was modifiedmlir/lib/Conversion/ShapeToSCF/ShapeToSCF.cpp
Commit e4e2d8e4c2d2d61a5baf7eeab69a3f539343eca6 by dany.grumberg
Ensure that CompilerInvocationTest normalizes default target triples

This fixes a build failure. More details at http://lab.llvm.org:8011/builders/llvm-clang-win-x-armv7l/builds/78/steps/test-check-clang/logs/FAIL%3A%20Clang-Unit%3A%3ACC1CommandLineGenerationTest.CanGenerateCC1CommandLineSeparateRequiredAbsent
The file was modifiedclang/unittests/Frontend/CompilerInvocationTest.cpp
Commit b5d3abea228bf17a009a007061c82d14461766c7 by kadircet
[libclang] Get rid of relience on SourceManager member signature

Summary:
Libclang was enforcing a singature on SourceManager::getLocalSLocEntry
which isn't possible to satisfy as pointed out in
https://reviews.llvm.org/D80681#inline-751438.

This patch updates the libclang, hopefully without breaking API stability, to
not rely on member signature. To enable changing the signature in D82498.

Reviewers: sammccall, bkramer

Subscribers: arphaman, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82532
The file was modifiedclang/tools/libclang/CIndexInclusionStack.cpp
Commit 9fb7e98db5aaef617878a127b663efa4d01aa834 by hokein.wu
[AST] Fix a crash on accessing a class without definition in constexpr function context.

Reviewed By: rsmith

Differential Revision: https://reviews.llvm.org/D80981
The file was addedclang/test/SemaCXX/constexpr-default-init-value-crash.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit bc7eb9010f4163973571871b14a943c377d1b4f3 by llvm-dev
MachineScheduler.h - reduce AliasAnalysis.h include to forward declaration. NFC.

Replace legacy AliasAnalysis typedef with AAResults where necessary.
The file was modifiedllvm/include/llvm/CodeGen/MachineScheduler.h
Commit e367c0081cbe7f0ea2bffb5122d3f1d8dd1fb177 by llvm-dev
FPEnv.h - reduce includes to forward declarations. NFC.

Ensure FPEnv.cpp includes FPEnv.h first to check for hidden dependencies.
The file was modifiedllvm/lib/IR/FPEnv.cpp
The file was modifiedllvm/include/llvm/IR/FPEnv.h
Commit 22f02db625dd3ffd7d041edb6ef5af371f4fa474 by flo
[Matrix] Group matrix diagnostics together (NFC).
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit 187f627a5057e55e140b2cf8237c69deb87c0193 by samuel.tebbs
[ARM] Allow tail predication on sadd_sat and uadd_sat intrinsics

This patch stops the sadd_sat and uadd_sat intrinsics from blocking tail predication.

Differential revision: https://reviews.llvm.org/D82377
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-intrinsic-add-sat.ll
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
Commit 043b608399559969f563eaa52e11a7ffe37137d9 by flo
[Matrix] Use 1st/2nd instead of first/second in matrix diags.

This was suggested in D72782 and brings the diagnostics more in line
with how argument references are handled elsewhere.

Reviewers: rjmccall, jfb, Bigcheese

Reviewed By: rjmccall

Differential Revision: https://reviews.llvm.org/D82473
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/Sema/matrix-type-builtins.c
The file was modifiedclang/test/SemaObjC/matrix-type-builtins.m
The file was modifiedclang/test/SemaCXX/matrix-type-builtins.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit 8938a6c9ede29a2d738357c44d66a017d74fcc7e by tyker
[NFC] update test to make diff of the following commit clear
The file was modifiedllvm/test/Transforms/AlignmentFromAssumptions/simple32.ll
The file was modifiedclang/test/CodeGen/align_value.cpp
The file was modifiedllvm/test/Transforms/Inline/align.ll
The file was modifiedclang/test/CodeGen/alloc-align-attr.c
The file was modifiedclang/test/CodeGen/builtin-align.c
The file was modifiedclang/test/CodeGen/builtin-assume-aligned.c
Commit c95ffadb2474a4d8c4f598d94d35a9f31d9606cb by tyker
[AssumeBundles] Use operand bundles to encode alignment assumptions

Summary:
NOTE: There is a mailing list discussion on this: http://lists.llvm.org/pipermail/llvm-dev/2019-December/137632.html

Complemantary to the assumption outliner prototype in D71692, this patch
shows how we could simplify the code emitted for an alignemnt
assumption. The generated code is smaller, less fragile, and it makes it
easier to recognize the additional use as a "assumption use".

As mentioned in D71692 and on the mailing list, we could adopt this
scheme, and similar schemes for other patterns, without adopting the
assumption outlining.

Reviewers: hfinkel, xbolva00, lebedev.ri, nikic, rjmccall, spatel, jdoerfert, sstefan1

Reviewed By: jdoerfert

Subscribers: yamauchi, kuter, fhahn, merge_guards_bot, hiraditya, bollu, rkruppe, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D71739
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
The file was modifiedclang/test/OpenMP/simd_metadata.c
The file was modifiedllvm/test/Transforms/AlignmentFromAssumptions/simple.ll
The file was modifiedllvm/test/Verifier/assume-bundles.ll
The file was modifiedclang/test/CodeGen/align_value.cpp
The file was modifiedllvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
The file was modifiedllvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
The file was modifiedclang/test/CodeGen/assume-aligned-and-alloc-align-attributes.c
The file was modifiedllvm/test/Transforms/AlignmentFromAssumptions/simple32.ll
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
The file was modifiedclang/test/CodeGen/builtin-align.c
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
The file was modifiedllvm/test/Transforms/InstCombine/assume.ll
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
The file was modifiedllvm/test/Transforms/PhaseOrdering/inlining-alignment-assumptions.ll
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
The file was modifiedllvm/lib/Analysis/AssumeBundleQueries.cpp
The file was modifiedllvm/test/Transforms/Inline/align.ll
The file was modifiedclang/test/CodeGen/alloc-align-attr.c
The file was modifiedclang/test/CodeGen/builtin-assume-aligned.c
The file was modifiedclang/test/CodeGen/non-power-of-2-alignment-assumptions.c
The file was modifiedclang/test/OpenMP/simd_codegen.cpp
The file was modifiedclang/test/CodeGen/catch-alignment-assumption-openmp.cpp
The file was modifiedclang/test/CodeGen/builtin-align-array.c
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
Commit 95a3550dc89a0d424d90e2c0ad30d9ecfa9422cf by aaron
Repair various issues with modernize-avoid-bind

In the process of running this check on a large codebase I found a
number of limitations, and thought I would pass on my fixes for
possible integration upstream:

* Templated function call operators are not supported
* Function object constructors are always used directly in the lambda
  body, even if their arguments are not captured
* Placeholders with namespace qualifiers (std::placeholders::_1) are
  not detected
* Lambda arguments should be forwarded to the stored function
* Data members from other classes still get captured with this
* Expressions (as opposed to variables) inside std::ref are not captured
  properly
* Function object templates sometimes have their template arguments
  replaced with concrete types

This patch resolves all those issues and adds suitable unit tests.
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-avoid-bind.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-avoid-bind-permissive-parameter-list.cpp
The file was modifiedclang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
Commit 03b902752e377e18f0cb10742df249bc855e00ec by grimar
[llvm-readelf] - Report a warning instead of an error when dumping a broken section header.

There is no reason to report an error in `printSectionHeaders()`, we can report
a warning and continue dumping. This is what the patch does.

Differential revision: https://reviews.llvm.org/D82462
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/many-sections.s
The file was modifiedllvm/test/tools/llvm-readobj/ELF/invalid-shstrndx.test
Commit bf2a4f3b3a0b31ce6cb5a031e696d3061e1e1160 by frgossen
[MLIR][Shape] Canonicalize subsequent `index_to_size` and `size_to_index`

Eliminate the subsequent applications of `index_to_size` and `size_to_index`.

Differential Revision: https://reviews.llvm.org/D82082
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/lib/Dialect/Shape/IR/ShapeCanonicalization.td
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
Commit f14457f5d8befc275f288ba7b7c093f09f79536c by david.green
[ARM] Split cast cost tests, and add masked load/store tests. NFC

This file has grown quite large and could do with being split up. This
splits away the load/store + cast tests into a separate file. Some
masked load/store + cast tests have been added too, along with some
extra load/store + fpcast tests.
The file was addedllvm/test/Analysis/CostModel/ARM/cast_ldst.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast.ll
Commit 32ea3397bec820f98f0b77ca37244142ce700207 by a.bataev
[OPENMP]Dynamic globalization for parallel target regions.

Summary:
Added support for dynamic memory allocation for globalized variables in
case if execution of target regions in parallel is required.

Reviewers: jdoerfert

Subscribers: jholewinski, yaxunl, guansong, sstefan1, cfe-commits, caomhin

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82324
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modifiedclang/test/OpenMP/nvptx_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_data_sharing.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 66e0f66d8ffb9d889ccb3a411c2d1e04a5e0ec41 by frgossen
[MLIR][Shape] Canonicalize subsequent `size_to_index` and `index_to_size`

Eliminate the subsequent applications of `size_to_index` and `index_to_size`.

Differential Revision: https://reviews.llvm.org/D82083
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/lib/Dialect/Shape/IR/Shape.cpp
The file was modifiedmlir/lib/Dialect/Shape/IR/ShapeCanonicalization.td
The file was modifiedmlir/test/Dialect/Shape/canonicalize.mlir
Commit 37657991d17a274b1ac9c6ee63697a0138eab317 by aaron
Fix a crash with [[clang::acquire_handle]] when written as a type
attribute with no arguments provided.
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/test/Sema/attr-handles.cpp
Commit 4837daf8836c66b7b28f58d412173dd7a51f0fdd by flo
[DSE,MSSA] Check if Def is removable only wen we try to remove it.

Non-removable MemoryDefs can still eliminate other defs. Update the
isRemovable checks to only candidates for removal.
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/simple.ll
Commit 5b9ce07a761f7d62ad793f9827750243de597215 by clementval
[openmp] Use Directive_enumSize instead of OMPD_unknown position

Summary:
Previously OMPD_unknown was last item in the Directive enumeration and its position was
used in various comparison and assertion. With the new Directive enumeration, this should be
change with  llvm::omp::Directive_enumSize. This patch fix two place where it was not done in
D81736.

Reviewers: vdmitrie, jdoerfert, jdenny

Reviewed By: jdoerfert

Subscribers: yaxunl, guansong, sstefan1, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82518
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
Commit 2e7bba693ef8fc5b3e6338fe4f45bf239fa6cca9 by gchatelet
[Alignment][NFC] Use Align for TargetCallingConv::OrigAlign

This patch replaces D69249.

This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D82307
The file was modifiedllvm/lib/Target/ARM/ARMCallingConv.td
The file was modifiedllvm/lib/Target/ARM/ARMCallingConv.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.td
The file was modifiedllvm/include/llvm/CodeGen/TargetCallingConv.h
Commit 172c36a100db518c7e09594bd5a5535a10dc4dd5 by llvm-dev
Fix typos in CodeGenPrepare::splitLargeGEPOffsets comments.
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit 792e4a8c971f974fdec880cd4dfe417932bc2882 by llvm-dev
CodeGenPrepare.cpp - remove unused IntrinsicsX86.h header. NFC.
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit c941b643e682168733297aaf1fae252b87808d35 by llvm-dev
IRBuilder.cpp - fix include sorting order. NFC.
The file was modifiedllvm/lib/IR/IRBuilder.cpp
Commit 1020a661e59d11b6fc23fb994417e6d3c9eb3004 by llvm-dev
Attributes.cpp - fix include sorting order. NFC.
The file was modifiedllvm/lib/IR/Attributes.cpp
Commit 1815b77c3ef06a02f661dea0bca69147b8e1c2c3 by llvm-dev
LiveIntervals.h.h - reduce AliasAnalysis.h include to forward declaration. NFC.

Fix implicit include dependencies in source files and replace legacy AliasAnalysis typedef with AAResults where necessary.
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/ScheduleDAGInstrs.cpp
The file was modifiedllvm/lib/CodeGen/SplitKit.cpp
The file was modifiedllvm/lib/CodeGen/SplitKit.h
The file was modifiedllvm/include/llvm/CodeGen/LiveIntervals.h
The file was modifiedllvm/lib/CodeGen/ModuloSchedule.cpp
Commit 324cda2073d1eba1758ab7529af3f3880d6f18c6 by gchatelet
[Alignment][NFC] Conform X86, ARM and AArch64 TargetTransformInfo backends to the public API

The main interface has been migrated to Align already but a few backends where broadening the type from Align to MaybeAlign.
This patch makes sure all implementations conform to the public API.

Differential Revision: https://reviews.llvm.org/D82465
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
Commit d0fa52cc3797fd8805d24a04e6b8198154cd7b53 by pavel
[lldb] Rewrite Scalar::GetBytes

This function was modifying and returning pointers to static storage,
which meant that any two accesses to different Scalar objects could
potentially race (depending on which types the objects were storing and
the host endianness).

In the new version the user is responsible for providing a buffer into
which this method will store its binary representation. The main caller
(RegisterValue::GetBytes) already has one such buffer handy, so this did
not require any major rewrites.

To make that work, I've needed to mark the RegisterValue value buffer
mutable -- not an ideal solution, but definitely better than modifying
global storage. This could be further improved by changing
RegisterValue::GetBytes to take a buffer too.
The file was modifiedlldb/source/Utility/RegisterValue.cpp
The file was modifiedlldb/unittests/Utility/ScalarTest.cpp
The file was modifiedlldb/include/lldb/Utility/Scalar.h
The file was modifiedlldb/source/Utility/Scalar.cpp
The file was modifiedlldb/include/lldb/Utility/RegisterValue.h
Commit c336f21af50a7d493fc521c624e4cbc1eea2849f by spatel
[PhaseOrdering] delete test for vectorization; NFC

As requested in D81416, I'm deleting the file that I added with:
rGdf79443
The file was removedllvm/test/Transforms/PhaseOrdering/interleave-vectorization.ll
Commit e504a23b634dda6565e0bb58fb8ec6bd09c8d023 by zarko
[NFC][PPC][AIX] Add stack frame layout diagram to PPCISelLowering.cpp

Summary:
This NFC patch adds a diagram of the AIX ABI stack frame layout.

Based on https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/assembler/idalangref_runtime_process.html

Reviewers: sfertile, cebowleratibm, hubert.reinterpretcast, Xiangling_L

Reviewed By: sfertile

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

Tags: #powerpc, #llvm

Differential Revision: https://reviews.llvm.org/D82408
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
Commit 17326ebbd6cc519e0009fef2df0f7f60b89b9831 by Xing
[ObjectYAML][DWARF] Format codes. NFC.
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
Commit 6c67ee0f58323fe39db84635ef8cea629c2214b4 by thomasp
[MC] Fix PR45805: infinite recursion in assembler

Give up folding an expression if the fragment of one of the operands
would require laying out a fragment already being laid out. This
prevents hitting an infinite recursion when a fill size expression
refers to a later fragment since computing the offset of that fragment
would require laying out the fill fragment and thus computing its size
expression.

Reviewed By: echristo

Differential Revision: https://reviews.llvm.org/D79570
The file was addedllvm/test/MC/AsmParser/layout-interdependency.s
The file was modifiedllvm/lib/MC/MCAssembler.cpp
The file was modifiedllvm/lib/MC/MCFragment.cpp
The file was modifiedllvm/lib/MC/MCExpr.cpp
The file was modifiedllvm/include/llvm/MC/MCFragment.h
The file was modifiedllvm/include/llvm/MC/MCAsmLayout.h
Commit da852b03b009141b1deda8c4bda83149d64e7666 by victor.campos
[AArch64] Emit warning when disassembling unpredictable LDRAA and LDRAB

Summary:
LDRAA and LDRAB in their writeback variant should softfail when the same
register is used as result and base.

This patch adds a custom decoder that catches such case and emits a
warning when it occurs.

Differential Revision: https://reviews.llvm.org/D82541
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrFormats.td
The file was modifiedllvm/test/MC/Disassembler/AArch64/armv8.3a-signed-pointer.txt
The file was modifiedllvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
Commit 3cb2190b0ba3f54d6b540ba8ba44f5c26c6e898f by david.green
[ARM] MVE VCVT lowering for f32->f16 truncs

This adds code to lower f32 to f16 fp_trunc's using a pair of MVE VCVT
instructions. Due to v4f16 not being legal, fp_round are often split up
fairly early. So this reconstructs the vcvt's from a buildvector of
fp_rounds from two vector inputs. Something like:

BUILDVECTOR(FP_ROUND(EXTRACT_ELT(X, 0),
            FP_ROUND(EXTRACT_ELT(Y, 0),
            FP_ROUND(EXTRACT_ELT(X, 1),
            FP_ROUND(EXTRACT_ELT(Y, 1), ...)

It adds a VCVTN node to handle this, which like VMOVN or VQMOVN lowers
into the top/bottom lanes of an MVE instruction.

Differential Revision: https://reviews.llvm.org/D81139
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt16.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fp16convertloops.ll
Commit db69b1740900946175f6bfcb4e5e7a59e8c2f3d6 by llvm-dev
LoopAccessAnalysis.h - reduce AliasAnalysis.h include to forward declaration. NFC.

Fix implicit include dependencies in source files and replace legacy AliasAnalysis typedef with AAResults where necessary.
The file was modifiedllvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
The file was modifiedllvm/include/llvm/Analysis/LoopAccessAnalysis.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
Commit 8c2082e1dc9505da21806b707dfb3eae3f0550ff by llvm-dev
GlobalsModRef.h - reduce CallGraph.h include to forward declarations. NFC.

Fix implicit include dependencies in source files.
The file was modifiedllvm/unittests/Analysis/GlobalsModRefTest.cpp
The file was modifiedllvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
The file was modifiedllvm/lib/Analysis/GlobalsModRef.cpp
The file was modifiedllvm/include/llvm/Analysis/GlobalsModRef.h
Commit 894cb22cd2205dffdd25def426bfa908f98f66b0 by llvm-dev
Remove orphan TypeBasedAAResult::PathAliases declaration. NFC.
The file was modifiedllvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h
Commit 1472e2a792fc2c167e61b8f966237f22d52f87d5 by llvm-dev
Remove orphan AMDGPUAAResult::Aliases and AMDGPUAAResult::PathAliases declarations. NFC.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.h
Commit a72887831a222d6b2ccf614368d3ddf3780a63a7 by diego.caballero
[mlir][EDSC] Add divis and diviu and vector.extractelement

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D82515
The file was modifiedmlir/include/mlir/Dialect/Vector/EDSC/Intrinsics.h
The file was modifiedmlir/include/mlir/Dialect/StandardOps/EDSC/Intrinsics.h
The file was modifiedmlir/test/EDSC/builder-api-test.cpp
Commit b044a8227078823c83c213765f220e502b2346ed by david.green
[ARM] Fixup for signed comparison warning. NFC
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
Commit c9e8c9e3ea2681dc18dd3a2d43d6aa8f37252649 by spatel
[InstCombine] fold fmul/fdiv with fabs operands

fabs(X) * fabs(Y) --> fabs(X * Y)
fabs(X) / fabs(Y) --> fabs(X / Y)

If both operands of fmul/fdiv are positive, then the result must be positive.

There's a NAN corner-case that prevents removing the more specific fold just
above this one:
fabs(X) * fabs(X) -> X * X
That fold works even with NAN because the sign-bit result of the multiply is
not specified if X is NAN.

We can't remove that and use the more general fold that is proposed here
because once we convert to this:
fabs (X * X)
...it is not legal to simplify the 'fabs' out of that expression when X is NAN.
That's because fabs() guarantees that the sign-bit is always cleared - even
for NAN values.

So this patch has the potential to lose information, but it seems unlikely if
we do the more specific fold ahead of this one.

Differential Revision: https://reviews.llvm.org/D82277
The file was modifiedllvm/test/Transforms/InstCombine/fmul.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h
The file was modifiedllvm/test/Transforms/InstCombine/fdiv.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Commit 7f7f8564808b51aa62744edf75c07c0df102056a by ecaldas
Add `BoolLiteralExpression` to SyntaxTree

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82310
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit 15edd7aaa7142e5db2a6cf9b81e4514967431824 by kevin.neal
[FPEnv] PowerPC-specific builtin constrained FP enablement

This change enables PowerPC compiler builtins to generate constrained
floating point operations when clang is indicated to do so.

A couple of possibly unexpected backend divergences between constrained
floating point and regular behavior are highlighted under the test tag
FIXME-CHECK. This may be something for those on the PPC backend to look
at.

Patch by: Drew Wock <drew.wock@sas.com>

Differential Revision: https://reviews.llvm.org/D82020
The file was addedclang/test/CodeGen/builtins-ppc-fpconstrained.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
Commit 16501782c8d849bc1812d527dc8466574700663d by andreybokhanko
[Clang] Add support for -Wno-inline-namespace-reopened-noninline

This patch adds the option for disabling warn_inline_namespace_reopened_noninline
warning described here: https://bugs.llvm.org/show_bug.cgi?id=46106

Patch by Elvina Yakubova

Differential Revision: https://reviews.llvm.org/D81825
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/test/Misc/warning-flags.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was addedclang/test/SemaCXX/warn-inline-namespace-reopened-noninline-disable.cpp
Commit 85ff5b524e4935b9aa0838d72107f1f505684088 by aeubanks
[NewPM] Separate out alias analysis passes in opt

Summary:
This somewhat matches the --aa-pipeline option, which separates out any
AA analyses to make sure they run before other passes.

Makes check-llvm failures under new PM go from 2356 -> 2303.

AA passes are not handled by PassBuilder::parsePassPipeline() but rather
PassBuilder::parseAAPipeline(), which is why this fixes some failures.

Reviewers: asbirlea, hans, ychen, leonardchan

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82488
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
Commit f6329a6875e21bdcfe4791ce46a50bcafca2f007 by llvm-dev
GVN.h - reduce AliasAnalysis.h include to forward declaration. NFC.

Cleanup MemoryDependenceAnalysis.h as well - GVN.h was also implicitly including AliasAnalysis.h via this.

Fix implicit include dependencies in source files and replace legacy AliasAnalysis typedef with AAResults where necessary.
The file was modifiedllvm/include/llvm/Transforms/Scalar/GVN.h
The file was modifiedllvm/lib/Analysis/MemDepPrinter.cpp
The file was modifiedllvm/include/llvm/Analysis/MemoryDependenceAnalysis.h
Commit 33c9c10d183371edc95fa936705bef56f55ab611 by Louis Dionne
[libc++abi] Allow specifying custom Lit config files

This is the libc++abi counterpart of 0c66af970c80.
The file was modifiedlibcxxabi/CMakeLists.txt
The file was modifiedlibcxx/CMakeLists.txt
The file was addedlibcxxabi/test/lit.cfg.py
The file was removedlibcxxabi/test/lit.cfg
The file was modifiedlibcxxabi/test/CMakeLists.txt
The file was modifiedlibcxxabi/test/lit.site.cfg.in
Commit c55051eea5d3cd57abfd9727f519b670517704d9 by Louis Dionne
[libunwind] Allow specifying custom Lit config files

This is the libunwind counterpart of 0c66af970c80.
The file was modifiedlibunwind/CMakeLists.txt
The file was modifiedlibunwind/test/CMakeLists.txt
The file was addedlibunwind/test/lit.cfg.py
The file was removedlibunwind/test/lit.cfg
The file was modifiedlibunwind/test/lit.site.cfg.in
Commit 772f4826465de80d8c7f11b2fb35b92f9fe58f45 by maskray
Change while to do-while

Differential Revision: https://reviews.llvm.org/D70603
The file was modifiedclang/lib/Analysis/ReachableCode.cpp
Commit 7200fa38a912d0d9ec407ccdd7c4d924979da160 by francesco.petrogalli
[sve][acle] Add some C intrinsics for brain float types.

Summary:
The following intrinsics has been added:

svuint16_t svcnt[_bf16]_m(svuint16_t inactive, svbool_t pg, svbfloat16_t op)
svuint16_t svcnt[_bf16]_x(svbool_t pg, svbfloat16_t op)
svuint16_t svcnt[_bf16]_z(svbool_t pg, svbfloat16_t op)

svbfloat16_t svtbl[_bf16](svbfloat16_t data, svuint16_t indices)

svbfloat16_t svtbl2[_bf16](svbfloat16x2_t data, svuint16_t indices)

svbfloat16_t svtbx[_bf16](svbfloat16_t fallback, svbfloat16_t data, svuint16_t indices)

Reviewers: c-rhodes, kmclaughlin, efriedma, sdesmalen, ctetreau

Subscribers: tschuett, hiraditya, rkruppe, psnobl, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D82429
The file was addedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbl2-bfloat.c
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_tbl-bfloat.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was addedclang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnt-bfloat.c
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-counting-bits.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve2-intrinsics-perm-tb.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-perm-select.ll
The file was modifiedclang/include/clang/Basic/arm_sve.td
The file was addedclang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_tbx-bfloat.c
Commit 3b83501c29588ab65e7118fe404adf383789dedd by jdenny.ornl
[FileCheck][NFC] Remove redundant DumpInputDefault

Reviewed By: mehdi_amini, jhenderson

Differential Revision: https://reviews.llvm.org/D82480
The file was modifiedllvm/utils/FileCheck/FileCheck.cpp
Commit d79273c941d58486d09c020eb7767a5246a9c24d by Jonas Devlieghere
[lldb/ScriptInterpreter] Extract IO redirection logic

This patch takes the IO redirection logic from ScriptInterpreterPython
and moves it into the interpreter library so that it can be used by
other script interpreters. I've turned it into a RAII object so that we
don't have to worry about cleaning up in the calling code.

Differential revision: https://reviews.llvm.org/D82396
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was modifiedlldb/include/lldb/Interpreter/ScriptInterpreter.h
The file was modifiedlldb/source/Interpreter/ScriptInterpreter.cpp
Commit 37c1bf21d1da85c164638efc32e8c7cfbf713ac5 by Artem Dergachev
[analyzer] Enable constructor support in evalCall event.

Pass EvalCallOptions via runCheckersForEvalCall into defaultEvalCall.
Update the AnalysisOrderChecker to support evalCall for testing.

Differential Revision: https://reviews.llvm.org/D82256
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/CheckerManager.h
The file was modifiedclang/test/Analysis/new-ctor-conservative.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
The file was addedclang/test/Analysis/cxxctr-evalcall-analysis-order.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/Checkers.td
The file was modifiedclang/lib/StaticAnalyzer/Core/CallEvent.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
The file was modifiedclang/test/Analysis/analyzer-config.c
The file was modifiedclang/lib/StaticAnalyzer/Core/CheckerManager.cpp
Commit f79a66ba69628db471d559f0f182f476bf49ac90 by dany.grumberg
Ensure that default value for -triple is correctly normalizedvalues

This fixes the build failure at http://lab.llvm.org:8011/builders/llvm-clang-win-x-aarch64/builds/240/steps/test-check-clang/logs/FAIL%3A%20Clang-Unit%3A%3ACC1CommandLineGenerationTest.CanGenerateCC1CommandLineSeparateRequiredAbsent
The file was modifiedclang/include/clang/Driver/CC1Options.td
Commit 79d7e9c7d07a7ba4a65f4579bf3a8756c757e634 by zequanwu
[llvm-readobj][COFF] add .llvm.call-graph-profile section dump

Summary: Dumping contents of `.llvm.call-graph-profile` section of COFF in the same format as ELF.

Reviewers: jhenderson, MaskRay, hans

Reviewed By: jhenderson

Subscribers: grimar, rupprecht, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81894
The file was addedllvm/test/tools/llvm-readobj/COFF/call-graph-profile-err.s
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
The file was addedllvm/test/tools/llvm-readobj/COFF/call-graph-profile.s
The file was modifiedllvm/tools/llvm-readobj/COFFDumper.cpp
Commit 842283652eb89e7c207ecfdac5e546472332f02b by Jonas Devlieghere
[lldb/ScriptInterpreter] Let the IORedirect factory handle IO being disabled.

Have one factory method that decides how to initialize the
ScriptInterpreterIORedirect object based on whether IO is enabled or
disabled.
The file was modifiedlldb/include/lldb/Interpreter/ScriptInterpreter.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was modifiedlldb/source/Interpreter/ScriptInterpreter.cpp
Commit ed8184b7814df4310dbad065a9a1c3bb8f3bfa86 by Jonas Devlieghere
[lldb/Lua] Redirect Lua stdout/stderr to the CommandReturnObject

Redirect the output of stdout and stderr to the CommandReturnObject for
one line commands.

Differential revision: https://reviews.llvm.org/D82412
The file was modifiedlldb/test/Shell/ScriptInterpreter/Lua/io.test
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
Commit 408efffbe4a52bae05f1677a47eb3ccfd5cdc1d3 by ndesaulniers
[Clang][SourceManager] optimize getFileIDLocal()

Summary:
A recent Linux kernel commit exposed a performance cliff in Clang. Calls
to SourceManager::getFileIDLocal() when there's a cache miss against
LastFileIDLookup can be relatively expensive, as getFileIDLocal() tries
a few linear probes, then falls back to binary search.  The use of
SourceManager::isOffsetInFileID() is also relatively expensive (both
isOffsetInFileID and getFileIDLocal dominated a trace of the performance
cliff case).

As a FIXME notes (and as @kadircet helpfully noted in review of D80681),
there's a few optimizations we can do here since we've already
identified that an offset is local (as opposed to "loaded").

This patch was forked off of D80681, which additionally did this and
modified some caching behavior, as we expect this change to be less
controversial.

In terms of optimizations, we've already determined that the SLocOffset
parameter to SourceManager::getFileIDLocal() is local in the caller
SourceManager::getFileIDSlow(). Also, there's an early continue in the
binary search loop in getFileIDLocal() that are duplicated in
isOffsetInFileID() as pointed out by @kadircet.

Take advantage of these to optimize the binary search patch, and remove
the FIXME.

Reviewers: kadircet

Reviewed By: kadircet

Subscribers: cfe-commits, kadircet, srhines

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82497
The file was modifiedclang/lib/Basic/SourceManager.cpp
Commit c4b1daed1d6adfa726682ab4576f0f4a07ccdeac by Yuanfang Chen
[NewPM] Move debugging log printing after PassInstrumentation before-pass-callbacks

For passes got skipped, this is confusing because the log said it is `running pass`
but it is skipped later.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D82511
The file was modifiedllvm/lib/Transforms/Scalar/LoopPassManager.cpp
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp
The file was modifiedllvm/include/llvm/IR/PassManager.h
Commit 221d7bbe49cceb0e408f0f46d9f8371e6c9fee2c by ecaldas
Add `CharLiteral` to SyntaxTree

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82312
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit 466e8b7ea6e162d48cac42ccda210bdeb11080e3 by ecaldas
Add StringLiteral to SyntaxTree

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82360
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
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit 7b404b6d003181e990f53d27866ee98d5151c4f3 by ecaldas
Add `FloatingLiteral` to SyntaxTree

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82318
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
Commit 4df7d852afc04844184f0a02d3a3ca4449bbbc5f by Raphael Isemann
[lldb][NFC] Use expect_expr in TestDollarInVariable
The file was modifiedlldb/test/API/commands/expression/dollar-in-variable/main.c
Commit 63a89693f09f6b24ce4f2350d828150bd9c4f3e8 by yamauchi
[PGO] Extend the value profile buckets for mem op sizes.

Extend the memop value profile buckets to be more flexible (could accommodate a
mix of individual values and ranges) and to cover more value ranges (from 11 to
22 buckets).

Disabled behind a flag (to be enabled separately) and the existing code to be
removed later.

Differential Revision: https://reviews.llvm.org/D81682
The file was modifiedllvm/include/llvm/ProfileData/InstrProf.h
The file was modifiedllvm/include/llvm/ProfileData/InstrProfData.inc
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h
The file was modifiedllvm/lib/ProfileData/InstrProf.cpp
The file was addedllvm/unittests/ProfileData/InstrProfDataTest.cpp
The file was modifiedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedllvm/test/Transforms/PGOProfile/memop_profile_funclet.ll
The file was modifiedllvm/unittests/ProfileData/CMakeLists.txt
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
The file was modifiedcompiler-rt/lib/profile/InstrProfilingValue.c
The file was modifiedllvm/test/Transforms/PGOProfile/memcpy.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
Commit 366159566df3a980d3e34f3ec9609e77cdb4df8b by xun
[Coroutines] Special handle __builtin_coro_resume for final_suspend nothrow check

Summary:
In https://reviews.llvm.org/D82029 we added the conformance check that the expression co_await promise.final_suspend() should not potentially throw.
As part of this expression, in cases when the await_suspend() method of the final suspend awaiter returns a handle, __builtin_coro_resume could be called on the handle to immediately resume that coroutine.
__builtin_coro_resume is not declared with noexcept and it shouldn't. We need to special check this case here.

Reviewers: modocache, lewissbaker, junparser

Reviewed By: lewissbaker

Subscribers: modocache, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82415
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
Commit 2bdd41b8c0b4cc8d13ca6c3d255a642a8a9c0969 by Jonas Devlieghere
[lldb/Docs] Add more details to the issues with custom Python installs on macOS

Although this issue is not specific to macOS, Python (in)compatibility
comes up quite often and we've been linking users to this page. This
just adds more details for this particular scenario.

Differential revision: https://reviews.llvm.org/D82507
The file was modifiedlldb/docs/resources/caveats.rst
Commit c61ef1f25c7fe774e68d20beb956a3b12a353b95 by davg
[Sema][CodeComplete][ObjC] Don't split the first selector fragment

Summary:
Standardize the formatting of selector fragments to include the ':',
e.g. for `- (void)foobar:(int)foobar;`, report `{foobar:}` instead of
`{foobar}{:}`. This was normally the case except for a couple of places
where it was split.

This also improves integration with clangd since it relies upon the `:`
to identify ObjC selectors.

NOTE: It is possible to have selector fragments that are just `:` with
no text, we now handle this properly for the first fragment.

Reviewers: sammccall, doug.gregor

Subscribers: ilya-biryukov, dexonsmith, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82306
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
The file was modifiedclang/test/Index/complete-parameterized-classes.m
The file was modifiedclang/test/Index/complete-method-decls.m
Commit dbf7603be63957232814bb780de842a1ba84a363 by llvmgnsyncbot
[gn build] Port 63a89693f09
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn
Commit d48c7859fbb911045b34ecd7f816186b9357d894 by knaumov
[InlineCost] GetElementPtr with constant operands

If the GEP instruction contanins only constants as its arguments,
then it should be recognized as a constant. For now, there was
also added a flag to turn off this simplification if it causes
any regressions ("disable-gep-const-evaluation") which is off
by default. Once I gather needed data of the effectiveness of
this simplification, the flag will be deleted.

Reviewers: apilipenko, davidxl, mtrofin

Reviewed By: mtrofin

Differential Revision: https://reviews.llvm.org/D81026
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
The file was addedllvm/test/Transforms/Inline/gep_from_constant.ll
Commit 9878996c7089355afe3e2e23ceb093940345e8b0 by yamauchi
Revert "[PGO] Extend the value profile buckets for mem op sizes."

This reverts commit 63a89693f09f6b24ce4f2350d828150bd9c4f3e8.

Due to a build failure like http://lab.llvm.org:8011/builders/sanitizer-windows/builds/65386/steps/annotate/logs/stdio
The file was modifiedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedllvm/include/llvm/ProfileData/InstrProfData.inc
The file was modifiedllvm/lib/ProfileData/InstrProf.cpp
The file was modifiedllvm/unittests/ProfileData/CMakeLists.txt
The file was modifiedllvm/test/Transforms/PGOProfile/memop_profile_funclet.ll
The file was removedllvm/unittests/ProfileData/InstrProfDataTest.cpp
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/InstrProfiling.h
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
The file was modifiedllvm/include/llvm/ProfileData/InstrProf.h
The file was modifiedllvm/test/Transforms/PGOProfile/memcpy.ll
The file was modifiedcompiler-rt/lib/profile/InstrProfilingValue.c
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
Commit 821271ea27e312cd3252457a1bac891bc36880b9 by llvmgnsyncbot
[gn build] Port 9878996c708
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ProfileData/BUILD.gn
Commit 636d31a5c341ff2ca5eefd6075ff059eb60b5a80 by craig.topper
[X86] Don't imply -mprfchw when -m3dnow is specified. Enable prefetchw in the backend with 3dnow feature.

The PREFETCHW instruction was originally part of the 3DNow. But
it was given its own CPUID bit on later CPUs just before 3DNow
was deprecated.

We were setting the -mprfchw flag if -m3dnow was passed or the CPU
supported 3dnow unless -mno-prfchw was passed. But -march=native
on a CPU without the PRFCHW CPUID bit set will pass -mno-prfchw.
So -march=k8 will behave differently than -march=native on a K8
for example.

So remove this implicit setting from the frontend and instead
enable the backend to use PREFETCHW if 3dnow OR prfchw is enabled.

Also enable PRFCHW flag on amdfam10/barcelona which seems to be
where this CPUID bit was introduced. That CPU also supported
3dnow.
The file was modifiedllvm/lib/Target/X86/X86.td
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/test/CodeGen/X86/prefetch.ll
The file was modifiedclang/lib/Basic/Targets/X86.cpp
Commit c25acec84594ca15748553341969f8e579290e27 by xun
[Coroutines] Handle dependent promise types for final_suspend non-throw check

Summary:
Check that the co_await promise.final_suspend() does not potentially throw again after we have resolved dependent types.
This takes care of the cases where promises types are templated.
Added test cases for this scenario and confirmed that the checks happen now.
Also run libcxx tests locally to make sure all tests pass.

Reviewers: Benabik, lewissbaker, junparser, modocache

Reviewed By: modocache

Subscribers: modocache, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82332
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/Sema/SemaCoroutine.cpp
Commit 0bfb4c250684df2f00f1ccb76fdecac9678657d0 by david.green
[ARM] Add FP_ROUND handling to splitting MVE stores

This splits MVE vector stores of a fp_trunc in the same way that we do
for standard trunc's. It extends PerformSplittingToNarrowingStores to
handle fp_round, splitting the store into pieces and adding a VCVTNb to
perform the actual fp_round. The actual store is then converted to an
integer store so that it can truncate bottom lanes of the result.

Differential Revision: https://reviews.llvm.org/D81141
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fp16convertloops.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt16.ll
Commit 01c18f9199ace4cb15a7c82a4163c9ef84972342 by craig.topper
Revert "[X86] Don't imply -mprfchw when -m3dnow is specified. Enable prefetchw in the backend with 3dnow feature."

This is failing on the bots.

This reverts commit 636d31a5c341ff2ca5eefd6075ff059eb60b5a80.
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
The file was modifiedllvm/test/CodeGen/X86/prefetch.ll
The file was modifiedllvm/lib/Target/X86/X86.td
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
Commit b68904d954b79e0382bdfa852758adcbd5350748 by Louis Dionne
[libc++abi] NFCI: Minor refactoring of abort_message()

Remove small code duplication and add comments explaining why we do things
in a given order.
The file was modifiedlibcxxabi/src/abort_message.cpp
Commit 4198874630be5c6126d78944f8a2d89dea90c7c4 by richard.barton
[flang] Replace ATTRIBUTE_UNUSED with LLVM_ATTRIBUTE_UNUSED

ATTRIBUTE_UNUSED wasn't defined with MSVC.

Patch by: Mehdi Chinoune <chinoune.mehdi@hotmail.com>

Differential Revision: https://reviews.llvm.org/D78356
The file was modifiedflang/include/flang/Common/idioms.h
Commit 1eaebe192f08934527e741ba65d29c933d685680 by aktoon
[openmp] Use config.test_extra_flags in archer and multiplex tests

Summary:
`config.test_extra_flags` is passed in from `lit.site.cfg.in` files, but they're not used in the LIT configs. This variable can be useful for distros which don't have the standard c/c++ headers in the default search paths. Since the tests run clang on c/c++ source code, we rely on `test_extra_flags` to pass in the necessary header files.

This is a similar setup that's also done in litomptarget https://github.com/llvm/llvm-project/blob/master/openmp/libomptarget/test/lit.cfg#L42 and openmp/runtime.

Reviewers: jdoerfert, jdenny, protze.joachim

Reviewed By: jdoerfert

Subscribers: yaxunl, guansong, sstefan1, openmp-commits

Tags: #openmp

Differential Revision: https://reviews.llvm.org/D82516
The file was modifiedopenmp/tools/archer/tests/lit.cfg
The file was modifiedopenmp/tools/multiplex/tests/lit.cfg
Commit 9da93f590414ae3b7be20061d8a97695b263482e by yamauchi
[HIP] Improve check patterns to avoid test failures in case string "opt", etc. happens to be in the command path.

Similarly to D82046.

Differential Revision: https://reviews.llvm.org/D82586
The file was modifiedclang/test/Driver/hip-link-save-temps.hip
Commit 11f2ef4d9e78fd51cc9813d4ff0d8913c4ae70e1 by Jonas Devlieghere
[lldb/ScriptInterpreter] Fix missing include on Windows
The file was modifiedlldb/source/Interpreter/ScriptInterpreter.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Commit a931ec7ca0ee45d72f398a89ce015ce0eaaac819 by anton
[builtins] Move more float128-related helpers to GENERIC_TF_SOURCES list

There are two different _generic_ lists of source files in the compiler-rt/lib/builtins/CMakeLists.txt. Now there is no simple way to not use the tf-variants of helpers at all.

Since there exists a separate `GENERIC_TF_SOURCES` list, it seems quite natural to move all float128-related helpers there. If it is not possible for some reason, it would be useful to have an explanation of that reason somewhere near the `GENERIC_TF_SOURCES` definition.

Differential Revision: https://reviews.llvm.org/D81282
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
Commit d8e3e55857b27dc812626ac638c13dd9a2f6a027 by Louis Dionne
[libc++] Fix some typos in the comment header for <regex>

No functional change because all the changed "code" is actually inside
comments.

Differential Revision: https://reviews.llvm.org/D82589
The file was modifiedlibcxx/include/regex
Commit 7b2eb7a6212f210401bb73686455809b548c0021 by hubert.reinterpretcast
[Support][AIX] Add declaration of wait4 to fix build

While `wait4` is not documented for AIX, it is available; however, even
on systems where it is available, the system headers do not always
provide a declaration of the function. This patch provides a declaration
of `wait4` for AIX.

Reviewed By: daltenty

Differential Revision: https://reviews.llvm.org/D82282
The file was modifiedllvm/lib/Support/Unix/Program.inc
Commit 0d0dbd617064965fff1993403751ac7cbc4bb695 by hubert.reinterpretcast
[NFC][Support] Make Unix/Program.inc separately compilable

To improve CI checks, make `Unix/Program.inc` separately compilable.
The file was modifiedllvm/lib/Support/Unix/Program.inc
Commit c498780526ebc07f6ba589067a65ce86a4eb2207 by hubert.reinterpretcast
[NFC][Support] Add unit of measure to comment for PeakMemory
The file was modifiedllvm/include/llvm/Support/Program.h
Commit 6673d69226d86f4906dca4b627d6e0582486d072 by craig.topper
[X86] Don't imply -mprfchw when -m3dnow is specified. Enable prefetchw in the backend with 3dnow feature.

The PREFETCHW instruction was originally part of the 3DNow. But
it was given its own CPUID bit on later CPUs just before 3DNow
was deprecated.

We were setting the -mprfchw flag if -m3dnow was passed or the CPU
supported 3dnow unless -mno-prfchw was passed. But -march=native
on a CPU without the PRFCHW CPUID bit set will pass -mno-prfchw.
So -march=k8 will behave differently than -march=native on a K8
for example.

So remove this implicit setting from the frontend and instead
enable the backend to use PREFETCHW if 3dnow OR prfchw is enabled.

Also enable PRFCHW flag on amdfam10/barcelona which seems to be
where this CPUID bit was introduced. That CPU also supported
3dnow.
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedclang/lib/Basic/Targets/X86.cpp
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
The file was modifiedllvm/test/CodeGen/X86/prefetch.ll
The file was modifiedclang/test/Preprocessor/x86_target_features.c
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedllvm/lib/Target/X86/X86.td
Commit 8532b2ee8920adadf556cb6b63d82f9092eb8cd3 by david.green
[ARM] MVE VCVT lowering for f16->f32 extends

This adds code to lower f16 to f32 fp_exts's using an MVE VCVT
instructions, similar to a recent similar patch for fp_trunc. Again it
goes through the lowering of a BUILD_VECTOR, but is slightly simpler
only having to deal with interleaved indices. It adds a VCVTL node to
lower to, similar to VCVTN.

Differential Revision: https://reviews.llvm.org/D81339
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fp16convertloops.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shuffleext.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt16.ll
Commit b5769a777f1c146e5457200fe52fa2041e182da4 by listmail
Migrate a couple of codegen tests to gc-live format
The file was modifiedllvm/test/CodeGen/X86/statepoint-gctransition-call-lowering.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-no-realign-stack.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-forward.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-no-extra-const.ll
Commit 723129583090e7f7b5f4626a0ab06a0b64ad6fdf by spatel
[x86] add vector test for merged condition branching; NFC
The file was modifiedllvm/test/CodeGen/X86/setcc-logic.ll
Commit 06be4bb5e6cc703f9a45c2b63c6a749a73e9be65 by Louis Dionne
[libc++] Remove deprecated _LIBCPP_ALTERNATE_STRING_LAYOUT macro

We use the _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT macro for that now instead.
I did leave a check behind to make sure that nobody was still using the old
macro name. I'll remove it a couple of months down the road.
The file was modifiedlibcxx/include/__config
Commit d79b57b8bbba8d9f7e91417fdccf70e74150fd4a by david.green
[ARM] Split FPExt loads

This extends PerformSplittingToWideningLoad to also handle FP_Ext, as
well as sign and zero extends. It uses an integer extending load
followed by a VCVTL on the bottom lanes to efficiently perform an fpext
on a smaller than legal type.

The existing code had to be rewritten a little to not just split the
node in two and let legalization handle it from there, but to actually
split into legal chunks.

Differential Revision: https://reviews.llvm.org/D81340
The file was modifiedllvm/test/CodeGen/Thumb2/mve-widen-narrow.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-fp16convertloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcvt16.ll
Commit e9fb1506b83d001082dc535af12acf45050a527c by sam.mccall
[clangd] Config: Fragments and parsing from YAML

Summary:
This is a piece from the design in https://tinyurl.com/clangd-config
https://reviews.llvm.org/D82335 is a draft with all the bits linked together.
It doesn't do anything yet, it's just a library + tests.

It deliberately implements a minimal set of actual configuration options.

Reviewers: kadircet, adamcz

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

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82386
The file was modifiedclang-tools-extra/clangd/CMakeLists.txt
The file was addedclang-tools-extra/clangd/ConfigFragment.h
The file was addedclang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
The file was addedclang-tools-extra/clangd/ConfigYAML.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CMakeLists.txt
Commit ed87d774a3792340ddcb8167fce9a07d84dc8132 by llvmgnsyncbot
[gn build] Port e9fb1506b83
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
Commit 5d65529e506c0aa5b9f97217c3e968eab2507908 by listmail
Migrate a couple of codegen tests to gc-live format
The file was modifiedllvm/test/CodeGen/X86/statepoint-vector.ll
The file was modifiedllvm/test/CodeGen/X86/statepoint-vector-bad-spill.ll
Commit 2c09e910545950f966d282a5d567ae85c8976252 by paul.walker
[MVT] Add missing floating point types for 1024/2048-bit vectors.

Summary:
This patch adds entries for:
  v64f16
  v128f16
  v64bf16
  v128bf16
  v32f64

Subscribers: dschuff, hiraditya, aheejin, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82466
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.td
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp
The file was modifiedllvm/include/llvm/Support/MachineValueType.h
The file was modifiedllvm/utils/TableGen/CodeGenTarget.cpp
Commit 7fb84dff69572b59dc730f9616fea918bedc7384 by Jessica Paquette
[AArch64][GlobalISel] Port buildvector -> dup pattern from AArch64ISelLowering

Given this:

```
%x:_(<n x sK>) = G_BUILD_VECTOR %lane, ...
...
%y:_(<n x sK>) = G_SHUFFLE_VECTOR %x(<n x sK>), %foo, shufflemask(0, 0, ...)
```

We can produce:

```
%y:_(<n x sK) = G_DUP %lane(sK)
```

Doesn't seem to be too common, but AArch64ISelLowering attempts to do this
before trying to produce a DUPLANE. Might as well port it.

Also make it so that when the splat has an undef mask, we try setting it to
0. SDAG does this, and it makes sure that when we get the build vector operand,
we actually get a source operand.

Differential Revision: https://reviews.llvm.org/D81979
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-shuffle-splat.mir
Commit 7014b44c0af6c1befb804be5aa8c9de4888f378c by Louis Dionne
[libc++] Remove unnecessary LLVM_INCLUDE_BENCHMARKS option in the Apple build

Since we're using an empty top-level CMakeLists.txt instead of the CMakeLists.txt
inside llvm/, we don't need to specify LLVM_INCLUDE_BENCHMARKS anymore.
The file was modifiedlibcxx/utils/ci/apple-install-libcxx.sh
Commit 6e11ed52057ffc39941cb2de6d93cae522db4782 by maskray
Fix polly build after 8c2082e1dc9505da21806b707dfb3eae3f0550ff
The file was modifiedpolly/lib/Transform/ScopInliner.cpp
Commit b9a539c01084a572e406579c326a0da1e22e286f by aardappel
[WebAssembly] Adding 64-bit versions of __stack_pointer and other globals

We have 6 globals, all of which except for __table_base are 64-bit under wasm64.

Differential Revision: https://reviews.llvm.org/D82130
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
The file was modifiedllvm/test/MC/WebAssembly/wasm64.s
The file was modifiedlld/wasm/InputChunks.cpp
The file was modifiedclang/lib/Driver/ToolChains/WebAssembly.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
The file was modifiedlld/wasm/Driver.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
The file was modifiedllvm/test/MC/WebAssembly/stack-ptr.ll
The file was modifiedllvm/test/CodeGen/WebAssembly/stack-alignment.ll
The file was modifiedllvm/include/llvm/BinaryFormat/Wasm.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modifiedlld/wasm/Options.td
The file was modifiedllvm/test/CodeGen/WebAssembly/userstack.ll
The file was modifiedlld/wasm/Config.h