Changes

Summary

  1. [flang] GET_COMMAND_ARGUMENT(LENGTH) runtime implementation (details)
  2. [flang] GET_COMMAND_ARGUMENT(VALUE) runtime implementation (details)
  3. [flang] GET_COMMAND_ARGUMENT(ERRMSG) runtime implementation (details)
  4. [fir] Update fir.insert_on_range op (details)
  5. [DebugInfo] Emit DW_TAG_namelist and DW_TAG_namelist_item (details)
  6. Recommit "[SCEV] Look through single value PHIs." (take 2) (details)
  7. [fir] Add fir.save_result op (details)
  8. Investigate D110386 failures even further (details)
  9. [LiveIntervals] Fix another asan debug build failure (details)
  10. [clang-format][docs] mark new clang-format configuration options based on which version they would GA (details)
  11. Fix documentation typos; NFC (details)
  12. [AArch64] Split bitmask immediate of bitwise AND operation (details)
  13. [gn build] Port 864b206796ae (details)
Commit af63d1791b102ed8bdd8b836ce8ab773c019d1a1 by diana.picus
[flang] GET_COMMAND_ARGUMENT(LENGTH) runtime implementation

Implement the ArgumentLength entry point of GET_COMMAND_ARGUMENT. Also
introduce a fixture for the tests.

Note that this also changes the interface for ArgumentLength from
returning a 4-byte integer to returning an 8-byte integer.

Differential Revision: https://reviews.llvm.org/D109227
The file was modifiedflang/unittests/Runtime/CommandTest.cpp
The file was modifiedflang/test/Runtime/no-cpp-dep.c
The file was modifiedflang/include/flang/Runtime/command.h
The file was modifiedflang/runtime/command.cpp
Commit df6302311f88d0fbc666b6277d029aa371039945 by diana.picus
[flang] GET_COMMAND_ARGUMENT(VALUE) runtime implementation

Partial implementation for the second entry point for
GET_COMMAND_ARGUMENT. It handles the VALUE and STATUS arguments, and
doesn't touch ERRMSG.

Differential Revision: https://reviews.llvm.org/D109813
The file was modifiedflang/test/Runtime/no-cpp-dep.c
The file was modifiedflang/runtime/command.cpp
The file was modifiedflang/unittests/Runtime/CommandTest.cpp
Commit 0446f1299f6be9fd35bc5f458c78b34dca3105f6 by diana.picus
[flang] GET_COMMAND_ARGUMENT(ERRMSG) runtime implementation

Implement the final part of GET_COMMAND_ARGUMENT, i.e. the handling of
ERRMSG. This uses some of the infrastructure in stat.h and gets rid of
the magic numbers that we were using for return codes.

Differential Revision: https://reviews.llvm.org/D109814
The file was modifiedflang/runtime/command.cpp
The file was modifiedflang/runtime/stat.cpp
The file was modifiedflang/include/flang/Runtime/magic-numbers.h
The file was modifiedflang/unittests/Runtime/CommandTest.cpp
The file was modifiedflang/runtime/stat.h
Commit bd2623b9c22d02a87ebed7b770e0312799ea0a04 by clementval
[fir] Update fir.insert_on_range op

Update the fir.insert_on_range operation. Add a better description,
builder and verifier.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: jeanPerier

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

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
Co-authored-by: Valentin Clement <clementval@gmail.com>
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
The file was modifiedflang/test/Fir/invalid.fir
The file was modifiedflang/test/Fir/fir-ops.fir
Commit 62eeacce17598b9b55f3aea54a25eb38c303d3b6 by Bhuvanendra.KumarN
[DebugInfo] Emit DW_TAG_namelist and DW_TAG_namelist_item

This patch emits DW_TAG_namelist and DW_TAG_namelist_item for fortran
namelist variables. DICompositeType is extended to support this fortran
feature.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D108553
The file was addedllvm/test/DebugInfo/X86/namelist2.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was addedllvm/test/DebugInfo/X86/namelist1.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
Commit 764d9aa97905f202385b4f25f8d234630b4feef3 by flo
Recommit "[SCEV] Look through single value PHIs." (take 2)

This reverts commit 8fdac7cb7abbeeaed016ef9eb7a087458e41e33f.

The issue causing the revert has been fixed a while ago in 60b852092c98.

Original message:

    Now that SCEVExpander can preserve LCSSA form,
    we do not have to worry about LCSSA form when
    trying to look through PHIs. SCEVExpander will take
    care of inserting LCSSA PHI nodes as required.

    This increases precision of the analysis in some cases.

    Reviewed By: mkazantsev, bmahjour

    Differential Revision: https://reviews.llvm.org/D71539
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/incorrect-exit-count.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/funclet.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/pr45259.ll
The file was modifiedllvm/test/Analysis/DependenceAnalysis/lcssa.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll
Commit 5b5ef2e26558ee9d5da4ba4af69737732da49858 by clementval
[fir] Add fir.save_result op

Add the fir.save_result operation. It is use to save an
array, box, or record function result SSA-value to a memory location

Reviewed By: jeanPerier

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

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Valentin Clement <clementval@gmail.com>
The file was modifiedflang/lib/Optimizer/Dialect/FIROps.cpp
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was modifiedflang/test/Fir/invalid.fir
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRTypes.td
The file was modifiedflang/test/Fir/fir-ops.fir
Commit d1c6e54930f200c40820868c086e114cee1ec693 by kbobyrev
Investigate D110386 failures even further
The file was modifiedclang-tools-extra/clangd/Headers.h
Commit 845b93e692b6a83685b8c0943562ab7ccc5f3b94 by jay.foad
[LiveIntervals] Fix another asan debug build failure

Call RemoveMachineInstrFromMaps before erasing instrs.
repairIntervalsInRange will do this for you after erasing the
instruction, but it's not safe to rely on it because assertions in
SlotIndexes::removeMachineInstrFromMaps refer to fields in the erased
instruction.

This fixes asan buildbot failures caused by D110335.
The file was modifiedllvm/lib/CodeGen/TwoAddressInstructionPass.cpp
Commit 23a5090c6ac7a207f49a11bf868a7c3fae2aeea2 by mydeveloperday
[clang-format][docs] mark new clang-format configuration options based on which version they would GA

Sometimes I see people unsure about which options they can use in specific versions of clang-format because
https://clang.llvm.org/docs/ClangFormatStyleOptions.html points to the latest and greatest versions.

The reality is this says its version 13.0, but actually anything we add now, will not be in 13.0 GA but
instead 14.0 GA (as 13.0 has already been branched).

How about we introduce some nomenclature to the Format.h so that we can mark which options in the
documentation were introduced for which version?

Reviewed By: HazardyKnusperkeks

Differential Revision: https://reviews.llvm.org/D110432
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/include/clang/Tooling/Inclusions/IncludeStyle.h
The file was modifiedclang/docs/tools/dump_format_style.py
Commit 4f01a02d738b033c10bfed5b47014fc197509a4f by aaron
Fix documentation typos; NFC

Fixes bugprone-virtual-near-miss & performance-type-promotion-in-math-fn.
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/bugprone-virtual-near-miss.rst
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/performance-type-promotion-in-math-fn.rst
Commit 864b206796ae8aa7f35f830655337751dbd9176c by jingu.kang
[AArch64] Split bitmask immediate of bitwise AND operation

MOVi32imm + ANDWrr ==> ANDWri + ANDWri
MOVi64imm + ANDXrr ==> ANDXri + ANDXri

The mov pseudo instruction could be expanded to multiple mov instructions later.
In this case, try to split the constant operand of mov instruction into two
bitmask immediates. It makes only two AND instructions intead of multiple
mov + and instructions.

Added a peephole optimization pass on MIR level to implement it.

Differential Revision: https://reviews.llvm.org/D109963
The file was modifiedllvm/test/CodeGen/AArch64/O3-pipeline.ll
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h
The file was modifiedllvm/test/CodeGen/AArch64/unfold-masked-merge-scalar-constmask-innerouter.ll
The file was modifiedllvm/lib/Target/AArch64/CMakeLists.txt
The file was addedllvm/test/CodeGen/AArch64/aarch64-split-and-bitmask-immediate.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64.h
The file was addedllvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
Commit 5aa4c74c9a2ee3c4e6e87adfa2ef218c5aeed1d6 by llvmgnsyncbot
[gn build] Port 864b206796ae
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn