[all-commits] [llvm/llvm-project] 67c02e: [gn build] Port 3b470d1ce992

Shivam via All-commits all-commits at lists.llvm.org
Sat Feb 12 10:38:20 PST 2022


  Branch: refs/heads/arcpatch-D119364
  Home:   https://github.com/llvm/llvm-project
  Commit: 67c02e07c0bbe98651586e95fe5ac5bb47f5a721
      https://github.com/llvm/llvm-project/commit/67c02e07c0bbe98651586e95fe5ac5bb47f5a721
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 3b470d1ce992


  Commit: 9027887e230ddd789c12822a06d627f9b84cd982
      https://github.com/llvm/llvm-project/commit/9027887e230ddd789c12822a06d627f9b84cd982
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable.compile.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
    M libcxx/test/std/strings/string.view/trivially_copyable.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/advance_to.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/arg.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/locale.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/out.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp
    M libcxx/test/std/utilities/utility/utility.intcmp/intcmp.fail.cpp
    M libcxx/test/support/test_macros.h

  Log Message:
  -----------
  [libc++][nfc] Add TEST_HAS_NO_CHAR8_T.

This avoids using an libc++ internal macro in our tests. This version
doesn't depend on the internal macro but redefines it.

Reviewed By: #libc, ldionne

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


  Commit: 827d0c51be93c4b0bcbe43a6cbbcc0e65a8b9f58
      https://github.com/llvm/llvm-project/commit/827d0c51be93c4b0bcbe43a6cbbcc0e65a8b9f58
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combineToExtendBoolVectorInReg - use explicit arguments. NFC.

Replace the *_EXTEND node with the raw operands, this will make it easier to use combineToExtendBoolVectorInReg for any boolvec extension combine.

Cleanup prep for Issue #53760


  Commit: b6d6b8c9d87667816ce299aed24bc33cdfe28cf7
      https://github.com/llvm/llvm-project/commit/b6d6b8c9d87667816ce299aed24bc33cdfe28cf7
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxx/docs/Status/Cxx2bIssues.csv
    M libcxx/include/__format/format_context.h
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/arg.pass.cpp

  Log Message:
  -----------
  [libc++][format] LWG-3654 basic_format_context::arg(size_t) should be noexcept

Reviewed By: #libc, ldionne

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


  Commit: efe5cbaf42da80f7bbe9010d1663fb44af057954
      https://github.com/llvm/llvm-project/commit/efe5cbaf42da80f7bbe9010d1663fb44af057954
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxx/docs/Status/Cxx2bIssues.csv
    M libcxx/include/__format/formatter_bool.h
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_bool.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_tests.h

  Log Message:
  -----------
  [libc++][format] LWG-3648 format should not print bool with 'c'

Reviewed By: #libc, ldionne

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


  Commit: 48e1434a0a77852f58c1617123f228f1069ba775
      https://github.com/llvm/llvm-project/commit/48e1434a0a77852f58c1617123f228f1069ba775
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] Move combineToExtendBoolVectorInReg before the select combines. NFC.

Avoid the need for a forward declaration.

Cleanup prep for Issue #53760


  Commit: ff99f3a5c0b36d49f4be1b990cc7509e897d48c7
      https://github.com/llvm/llvm-project/commit/ff99f3a5c0b36d49f4be1b990cc7509e897d48c7
  Author: Kai Nacke <kai.nacke at de.ibm.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ196.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td

  Log Message:
  -----------
  [SystemZ/z/OS] Add alias for XPLINK return

The XPLINK return `b 2(7)` has size 4 bytes, while the Linux return
`br 7` only has size 2 bytes. Thus a new alias is required to have correct
instruction byte count. It also fixes the conditional return code.

Reviewed By: uweigand

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


  Commit: 088fbc0cb4ffd470a4698780fd15defe9fa9f388
      https://github.com/llvm/llvm-project/commit/088fbc0cb4ffd470a4698780fd15defe9fa9f388
  Author: Geoffrey Martin-Noble <gcmn at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M utils/bazel/README.md

  Log Message:
  -----------
  [Bazel] Document continuous and pre-merge testing


  Commit: f0f70ae674f5b213f3508b774df6f27384fd2046
      https://github.com/llvm/llvm-project/commit/f0f70ae674f5b213f3508b774df6f27384fd2046
  Author: Hongtao Yu <hoy at fb.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
    M llvm/lib/ProfileData/SampleProf.cpp
    M llvm/test/tools/llvm-profdata/cs-sample-nested-profile.test
    M llvm/test/tools/llvm-profgen/cs-preinline.test

  Log Message:
  -----------
  [CSSPGO] Do not recount callee samples when computing profile summary for nested CS profile.

When generating nested CS profile with all calling contexts of a function duplicated into a base profile under `--generate-merged-base-profiles`, do not recount callee samples when computing profile summary. This fixes the profile summary mismatch between flat cs profile and nested cs profile, for both extbinary and text format.

Reviewed By: wenlei

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


  Commit: d1e1a4052793e9fa46db4d0a8bdc5e858903c62b
      https://github.com/llvm/llvm-project/commit/d1e1a4052793e9fa46db4d0a8bdc5e858903c62b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/test/Transforms/ConstraintElimination/wrapping-math.ll

  Log Message:
  -----------
  [ConstraintElimination] Add test for #48253.

Test from https://github.com/llvm/llvm-project/issues/48253.


  Commit: dcb2da13f16ec96291e5927dcd8cb4a8741988c7
      https://github.com/llvm/llvm-project/commit/dcb2da13f16ec96291e5927dcd8cb4a8741988c7
  Author: Julien Pages <Julien.Pages at amd.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/CodeGen/AMDGPU/fail.llvm.fptrunc.round.ll
    A llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
    A llvm/test/Verifier/llvm.fptrunc.round.ll

  Log Message:
  -----------
  [AMDGPU] Add a new intrinsic to control fp_trunc rounding mode

Add a new llvm.fptrunc.round intrinsic to precisely control
the rounding mode when converting from f32 to f16.

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


  Commit: d8f99bb6e0641474b6bc1728295b40a8fa279f9a
      https://github.com/llvm/llvm-project/commit/d8f99bb6e0641474b6bc1728295b40a8fa279f9a
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    R clang/test/CodeGenCUDA/amdgpu-asan-printf.cu
    M clang/test/CodeGenCUDA/amdgpu-asan.cu
    M llvm/lib/Target/AMDGPU/AMDGPUAttributes.def
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
    M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
    M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel-v3.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args-v3.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args.ll
    R llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent-v3.ll
    R llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present-v3-asan.ll
    R llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present-v3.ll
    R llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present.ll
    A llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v3.ll
    A llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v5.ll
    M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
    M mlir/lib/Dialect/GPU/Transforms/SerializeToHsaco.cpp

  Log Message:
  -----------
  [AMDGPU] replace hostcall module flag with function attribute

The module flag to indicate use of hostcall is insufficient to catch
all cases where hostcall might be in use by a kernel. This is now
replaced by a function attribute that gets propagated to top-level
kernel functions via their respective call-graph.

If the attribute "amdgpu-no-hostcall-ptr" is absent on a kernel, the
default behaviour is to emit kernel metadata indicating that the
kernel uses the hostcall buffer pointer passed as an implicit
argument.

The attribute may be placed explicitly by the user, or inferred by the
AMDGPU attributor by examining the call-graph. The attribute is
inferred only if the function is not being sanitized, and the
implictarg_ptr does not result in a load of any byte in the hostcall
pointer argument.

Reviewed By: jdoerfert, arsenm, kpyzhov

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


  Commit: a5d4f82b7392630e657fc8f4a46b62bfc25c7962
      https://github.com/llvm/llvm-project/commit/a5d4f82b7392630e657fc8f4a46b62bfc25c7962
  Author: Sebastian Neubauer <Sebastian.Neubauer at amd.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.gfx.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
    M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
    M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
    M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.private.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-fold-fi.mir
    M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/load-hi16.ll
    M llvm/test/CodeGen/AMDGPU/load-lo16.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-fixed-align.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.ll
    M llvm/test/CodeGen/AMDGPU/multi-dword-vgpr-spill.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill-partial-agpr.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-vgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/scratch-simple.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
    M llvm/test/CodeGen/AMDGPU/spill-to-agpr-partial.mir
    M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
    M llvm/test/CodeGen/AMDGPU/store-hi16.ll
    M llvm/test/CodeGen/AMDGPU/unaligned-load-store.ll
    M llvm/test/CodeGen/AMDGPU/vector-spill-restore-to-other-vector-type.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir

  Log Message:
  -----------
  [AMDGPU] Make enable-flat-scratch a subtarget feature

Use a subtarget feature instead of a command line argument to reduce
global state.
We want to enable flat scratch for graphics in some cases and this
doesn't work well with command line options.

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


  Commit: 36fba521d98704f9b072d9592cd679ca98d27139
      https://github.com/llvm/llvm-project/commit/36fba521d98704f9b072d9592cd679ca98d27139
  Author: Joe Loser <joeloser93 at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxx/include/__algorithm/ranges_swap_ranges.h

  Log Message:
  -----------
  [libc++] Remove unused include from ranges_swap_ranges.h

`ranges_swap_ranges.h` includes `<type_traits>` but does not use anything from
it. So, remove the include.

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


  Commit: b59ad64eadc045f1f69513a9f134de4f35694849
      https://github.com/llvm/llvm-project/commit/b59ad64eadc045f1f69513a9f134de4f35694849
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
    M llvm/utils/TableGen/CodeGenRegisters.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [TableGen][AMDGPU] Allow empty register classes

Remove ARTIFICIAL_VGPR which only existed to make VReg_1 not empty.

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


  Commit: 31f9519d48c26bd542253cc20dc333732c991332
      https://github.com/llvm/llvm-project/commit/31f9519d48c26bd542253cc20dc333732c991332
  Author: Min-Yih Hsu <minyihh at uci.edu>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/Target/Target.td
    A llvm/test/TableGen/VarLenEncoder.td
    M llvm/utils/TableGen/CMakeLists.txt
    M llvm/utils/TableGen/CodeEmitterGen.cpp
    A llvm/utils/TableGen/VarLenCodeEmitterGen.cpp
    A llvm/utils/TableGen/VarLenCodeEmitterGen.h

  Log Message:
  -----------
  [TableGen][CodeEmitter] Introducing the VarLenCodeEmitterGen infrastructure

Full write up:
https://gist.github.com/mshockwave/66e98d099256deefc062633909bb7b5b

The existing CodeEmitterGen infrastructure is unable to generate encoder
function for ISAs with variable-length instructions. This patch
introduces a new infrastructure to support variable-length instruction
encoding, including a new TableGen syntax for writing instruction
encoding directives and a new TableGen backend component,
VarLenCodeEmitterGen, built on top of CodeEmitterGen.

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


  Commit: 08f2b0dcf61fbe037d363c1e6ff20aaee4875dfe
      https://github.com/llvm/llvm-project/commit/08f2b0dcf61fbe037d363c1e6ff20aaee4875dfe
  Author: Min-Yih Hsu <minyihh at uci.edu>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Target/M68k/CMakeLists.txt
    M llvm/lib/Target/M68k/M68kInstrArithmetic.td
    M llvm/lib/Target/M68k/M68kInstrFormats.td
    M llvm/lib/Target/M68k/M68kInstrInfo.td
    M llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
    M llvm/test/CodeGen/M68k/Control/cmp.ll
    M llvm/test/MC/Disassembler/M68k/arithmetic.txt

  Log Message:
  -----------
  [M68k] Adopt the new VarLenCodeEmitterGen for arithmetic instructions

This patch refactors all the existing M68k arithmetic instructions
to use the new VarLenCodeEmitterGen infrastructure.

This patch is tested by the existing MC test cases.

Note that one of the codegen tests needed to be updated because the
ordering of two equivalent instructions were switched.

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


  Commit: ba9a7ae798053d7cf741143739351b5a4ac29d8b
      https://github.com/llvm/llvm-project/commit/ba9a7ae798053d7cf741143739351b5a4ac29d8b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir

  Log Message:
  -----------
  [RISCV] Add test case for a vsetvli insertion bug found after D118667.

We're missing a vsetvli before a vse after a redsum in this test.

This appears to be because the vmv.s.x has a VL of 1, but did not
trigger a vsetvli because it is a scalar move op and any non-zero
VL would work. So it looked at it the predecessors and decided it was
that they all had a non-zero vl. Then the redsum was visited, it
also took the VL from the predecessors since the vmv.s.x and the 4
was found compatible.

Finally we visit the vse and it looks at the BBLocalInfo and sees
that is compatible because it contains a VL of 1 from the vmv.s.x,
the first instruction in the block. BBLocalInfo was not updated
when the vredsum was visited because BBLocalInfo was valid and no
vsetvli was generated.

I think fundamentally the vmv.s.x optimization has the same first
phase and third phase not matching problem that D118667 was trying
to fix for stores.

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


  Commit: f35ac872b8224f771808a9ecd5c4da0fe307ac9c
      https://github.com/llvm/llvm-project/commit/f35ac872b8224f771808a9ecd5c4da0fe307ac9c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir

  Log Message:
  -----------
  Revert "[RISCV] Fix a vsetvli insertion bug involving loads/stores." and "[RISCC] Add missing words to comment. NFC"

This reverts commit f943c58cae2480755cecdac5be832274f238df93.
and commit 7eb781072744b31a60e82b5a5903471032d4845f.

This introduced a new bug that appears to be easier to hit.

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


  Commit: 541c9ba842256023611e5a6c5f01e01c40688044
      https://github.com/llvm/llvm-project/commit/541c9ba842256023611e5a6c5f01e01c40688044
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir

  Log Message:
  -----------
  [RISCV] Insert VSETVLI at the end of a basic block if we didn't produce BlockInfo.Exit.

This is an alternative to D118667 that instead of fixing the store
to match phase 1, it tries to detect the mismatch with the expected
value at the end of the block. This inserts a vsetvli after the vse
to satisfy the requirement of the other basic block.

We still have serious design issues in the pass, that is going to
require some rethinking.

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


  Commit: 9106d35b91caf2f5fd13c3925579eabcd253ffb3
      https://github.com/llvm/llvm-project/commit/9106d35b91caf2f5fd13c3925579eabcd253ffb3
  Author: Matthias Springer <springerm at google.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp

  Log Message:
  -----------
  [mlir][bufferize] Use rewriter instead of replacing all uses directly

This is important for compatibility with DialectConversion.


  Commit: ae0d861cb39a4bbf3d46c5651291f96e722b5098
      https://github.com/llvm/llvm-project/commit/ae0d861cb39a4bbf3d46c5651291f96e722b5098
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 31f9519d48c2


  Commit: 02e7479e6bd36ab1b3124fff76302f125d96b176
      https://github.com/llvm/llvm-project/commit/02e7479e6bd36ab1b3124fff76302f125d96b176
  Author: Krzysztof Parzyszek <kparzysz at quicinc.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td

  Log Message:
  -----------
  [Hexagon] Add patterns for select(i1, Q, Q)


  Commit: 22f4f942565bb8498eea3681f9bff42d4649c198
      https://github.com/llvm/llvm-project/commit/22f4f942565bb8498eea3681f9bff42d4649c198
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp

  Log Message:
  -----------
  [CoroFrame][OpaquePtr] Remove getPointerElementType() call

Get it from the byval type instead.


  Commit: 0bb25b46034aa6790b8b746bd0b8780219534664
      https://github.com/llvm/llvm-project/commit/0bb25b46034aa6790b8b746bd0b8780219534664
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    A llvm/test/Transforms/InferAddressSpaces/AMDGPU/insert-pos-assert.ll

  Log Message:
  -----------
  [InferAddressSpaces] Fix assert on invalid cast ordering

If a cast is needed when replacing uses with newly created values, the
cast must be inserted after the instruction that defines the new value.

Fixes: SWDEV-321215

Reviewed By: arsenm

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


  Commit: 2ba06bed6b1eda41ad2cc9a16392f770f1bf0bcc
      https://github.com/llvm/llvm-project/commit/2ba06bed6b1eda41ad2cc9a16392f770f1bf0bcc
  Author: Tim Northover <t.p.northover at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenCommonISel.cpp
    R llvm/test/CodeGen/AArch64/tailcall-ssp-split-debug.ll

  Log Message:
  -----------
  Revert "StackProtector: ignore debug insts when splitting blocks."

This reverts commit 7605ca85f1a8e4e61e7de98856630d67da11aaae.

It caused an assertion failure in Fuschia.


  Commit: 169a66eac8f9aa0542d00a16896fba4e8e951e0f
      https://github.com/llvm/llvm-project/commit/169a66eac8f9aa0542d00a16896fba4e8e951e0f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__format/format_arg.h
    R libcxx/include/__functional_base
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/bitset
    M libcxx/include/experimental/__memory
    M libcxx/include/iterator
    M libcxx/include/memory
    M libcxx/include/optional
    M libcxx/include/string
    M libcxx/include/system_error
    M libcxx/include/thread
    M libcxx/include/tuple
    M libcxx/include/typeindex
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/member_typedefs.compile.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/minus.pass.cpp
    M libcxx/utils/generate_private_header_tests.py
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

  Log Message:
  -----------
  [libc++] Remove __functional_base

Reviewed By: ldionne, Quuxplusone, #libc

Spies: Mordante, mgorny, libcxx-commits, arichardson, llvm-commits, arphaman

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


  Commit: 82241148917b5beac5a6c6f47ab73b77eecc4a54
      https://github.com/llvm/llvm-project/commit/82241148917b5beac5a6c6f47ab73b77eecc4a54
  Author: Reid Kleckner <rnk at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/test/DebugInfo/COFF/compiler-version-overflow.ll

  Log Message:
  -----------
  [CodeView] Match any backend version in the new test

This makes the test pass for any LLVM_VERSION_MAJOR/MINOR value. Vendors
override these, and they change every six months.


  Commit: d828281e7860b5e812474212bfc49cc57d52dae0
      https://github.com/llvm/llvm-project/commit/d828281e7860b5e812474212bfc49cc57d52dae0
  Author: Dávid Bolvanský <david.bolvansky at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
    M llvm/test/Transforms/Inline/always-inline.ll

  Log Message:
  -----------
  [AlwaysInliner] Respect noinline call site attribute

```
always_inline foo() { }

bar () {

noinline foo();
}
```

We should prefer call site attribute over attribute on decl. This is fix for AlwaysInliner, similar fix is needed for normal Inliner (follow up).

Related to https://reviews.llvm.org/D119061

Reviewed By: aeubanks

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


  Commit: 4072e362c0307f736c3d8095a0a136b46730cffe
      https://github.com/llvm/llvm-project/commit/4072e362c0307f736c3d8095a0a136b46730cffe
  Author: David Green <david.green at arm.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td

  Log Message:
  -----------
  [ISel] Port AArch64 HADD and RHADD to ISel

This ports the aarch64 combines for HADD and RHADD over to DAG combine,
so that they can be used in more architectures (notably MVE in a
followup patch). They are renamed to AVGFLOOR and AVGCEIL in the
process, to avoid confusion with instructions such as X86 hadd. The code
was also rewritten slightly to remove the AArch64 idiosyncrasies.

The general pattern for a AVGFLOORS is
  %xe = sext i8 %x to i32
  %ye = sext i8 %y to i32
  %a = add i32 %xe, %ye
  %r = lshr i32 %a, 1
  %t = trunc i32 %r to i8

An AVGFLOORU is equivalent with zext. Because of the truncate
lshr==ashr, as the top bits are not demanded. An AVGCEIL also includes
an extra rounding, so includes an extra add of 1.

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


  Commit: c7eb84634519e6497be42f5fe323f9a04ed67127
      https://github.com/llvm/llvm-project/commit/c7eb84634519e6497be42f5fe323f9a04ed67127
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUReplaceLDSUseWithPointer.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    R llvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.cpp
    R llvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
    M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt

  Log Message:
  -----------
  [AMDGPU] Merge AMDGPULDSUtils into AMDGPUMemoryUtils

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


  Commit: 20af71f8ec47319d375a871db6fd3889c2487cbd
      https://github.com/llvm/llvm-project/commit/20af71f8ec47319d375a871db6fd3889c2487cbd
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-bo-select.ll

  Log Message:
  -----------
  [X86] combineVSelectToBLENDV - handle vselect(vXi1,A,B) -> blendv(sext(vXi1),A,B)

For pre-AVX512 targets, attempt to sign-extend a vXi1 condition mask to pass to a X86ISD::BLENDV node

Fixes Issue #53760


  Commit: 3e27fb8590591ff963761136d0e6879e8e081471
      https://github.com/llvm/llvm-project/commit/3e27fb8590591ff963761136d0e6879e8e081471
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [PSE] Allow duplicate predicates in debug output

This lets us avoid redundant implication work in the constructor of SCEVUnionPredicate which simplifies an upcoming change.  If we're actually building a predicate via PSE, that goes through addPredicate which does include the implication check.


  Commit: 595d340dceca57756210de34feb478559916af54
      https://github.com/llvm/llvm-project/commit/595d340dceca57756210de34feb478559916af54
  Author: Dmitry Vyukov <dvyukov at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M compiler-rt/lib/asan/asan_poisoning.cpp
    M compiler-rt/lib/asan/asan_report.cpp
    M compiler-rt/lib/asan/asan_rtl.cpp
    M compiler-rt/lib/lsan/lsan.cpp
    M compiler-rt/lib/msan/msan.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_file.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_file.h
    M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
    M compiler-rt/lib/ubsan/ubsan_init.cpp

  Log Message:
  -----------
  sanitizer_common: make internal/external headers compatible

This is a follow up to 4f3f4d672254
("sanitizer_common: fix __sanitizer_get_module_and_offset_for_pc signature mismatch")
which fixes a similar problem for msan build.

I am getting the following error compiling a unit test for code that
uses sanitizer_common headers and googletest transitively includes
sanitizer interface headers:

In file included from third_party/gwp_sanitizers/singlestep_test.cpp:3:
In file included from sanitizer_common/sanitizer_common.h:19:
sanitizer_interface_internal.h:41:5: error: typedef redefinition with different types
('struct __sanitizer_sandbox_arguments' vs 'struct __sanitizer_sandbox_arguments')
  } __sanitizer_sandbox_arguments;
common_interface_defs.h:39:3: note: previous definition is here
} __sanitizer_sandbox_arguments;

Reviewed By: melver

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


  Commit: 87dd3d350c4ce0115b2cdf91d85ddd05ae2661aa
      https://github.com/llvm/llvm-project/commit/87dd3d350c4ce0115b2cdf91d85ddd05ae2661aa
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp

  Log Message:
  -----------
  [clang][OpaquePtr] Remove call to getPointerElementType() in CodeGenModule::GetAddrOfGlobalTemporary()


  Commit: ede248e614bb2c232b7b1815829eb3d5c1aab1e4
      https://github.com/llvm/llvm-project/commit/ede248e614bb2c232b7b1815829eb3d5c1aab1e4
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/barrier_removal.ll

  Log Message:
  -----------
  [OpenMP][FIX] The `llvm.amdgcn.s.barrier` is actually not aligned

If we assume `llvm.amdgcn.s.barrier` is aligned we may remove it and
cause OpenMP GPU applications on the AMD GPU to be stuck or wrongly
synchronized.

Reported by Carlo Bertolli.


  Commit: d2495b69f29d26561181402ca51ee16ab6c96ec2
      https://github.com/llvm/llvm-project/commit/d2495b69f29d26561181402ca51ee16ab6c96ec2
  Author: Paul Robinson <paul.robinson at sony.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/unittests/IR/ConstantsTest.cpp

  Log Message:
  -----------
  [RGT] Exercise both paths through a test

BitcastToGEP had an opaque/typed pointer decision point, make sure it
exercises both sides.

Found by the Rotten Green Tests project.


  Commit: a0ac6a92125cf6e2fb89daf92be293b28d497c38
      https://github.com/llvm/llvm-project/commit/a0ac6a92125cf6e2fb89daf92be293b28d497c38
  Author: Paul Robinson <paul.robinson at sony.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/unittests/Support/CommandLineTest.cpp

  Log Message:
  -----------
  [RGT] Refactor Windows-specific checks into their own test

This allows using GTEST_SKIP() to identify un-executed tests.

Found by the Rotten Green Tests project.


  Commit: ce5588fdf478b6af724977c11a405685cebc3d26
      https://github.com/llvm/llvm-project/commit/ce5588fdf478b6af724977c11a405685cebc3d26
  Author: Paul Robinson <paul.robinson at sony.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/unittests/Support/Host.cpp

  Log Message:
  -----------
  [RGT] Refactor environment-specific checks to use GTEST_SKIP()

This allows using GTEST_SKIP() to identify un-executed tests.

Found by the Rotten Green Tests project.


  Commit: e7356fb3e2136cae2a9ae7dd0f956aa7828c69c6
      https://github.com/llvm/llvm-project/commit/e7356fb3e2136cae2a9ae7dd0f956aa7828c69c6
  Author: Florian Mayer <fmayer at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  [nfc] [hwasan] factor out logic to collect info about stack

this is the first step in unifying some of the logic between hwasan and
mte stack tagging. this only moves around code, changes to converge
different implementations of the same logic follow later.

Reviewed By: eugenis

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


  Commit: d408abf40313b60962c2988fe57c931b60845414
      https://github.com/llvm/llvm-project/commit/d408abf40313b60962c2988fe57c931b60845414
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/Utils/BUILD.gn

  Log Message:
  -----------
  [gn build] Manually port c7eb84634519e6497

Since the bot is broken due to hwasan issues, it's not auto updating the file lists.


  Commit: b3b2538df100ec7f6587b0ee70819a3c8ee2c27e
      https://github.com/llvm/llvm-project/commit/b3b2538df100ec7f6587b0ee70819a3c8ee2c27e
  Author: Peter Kasting <pkasting at chromium.org>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M clang/docs/tools/clang-formatted-files.txt
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    R clang/lib/Driver/ToolChains/MSVCSetupApi.h
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/Options.td
    M lld/COFF/SymbolTable.cpp
    M lld/docs/ReleaseNotes.rst
    A lld/test/COFF/winsysroot.test
    A llvm/include/llvm/Support/MSVCPaths.h
    A llvm/include/llvm/Support/MSVCSetupApi.h
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/MSVCPaths.cpp
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  [lld/coff] Make lld-link work in a non-MSVC shell, add /winsysroot:

Makes lld-link work in a non-MSVC shell by autodetecting MSVC toolchain. Also
adds support for /winsysroot and a few other switches.

All this is done by refactoring to share code with clang-cl's existing support
for the same.

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


  Commit: 1341b5a0f5c39f05883e0f458d60ee4c6f059886
      https://github.com/llvm/llvm-project/commit/1341b5a0f5c39f05883e0f458d60ee4c6f059886
  Author: Peter Steinfeld <psteinfeld at nvidia.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M flang/lib/Evaluate/tools.cpp
    M flang/test/Semantics/assign03.f90
    M flang/test/Semantics/associated.f90

  Log Message:
  -----------
  [flang] Allow mixed association of procedure pointers and targets

Section 10.2.2.4, paragraph 3 states that a procedure pointer with an explicit
interface must have the same characteristics as its target.  Previously, we
interpreted this as disallowing such pointers to point to procedures with
implicit interfaces.  But several other compilers allow this.

We make an exception for the case where the explicit interface cannot be
called via an implicit interface.

This change makes us allow this, also

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


  Commit: 19fdf85f5858fa0aaae5f28f7140fbf12643993c
      https://github.com/llvm/llvm-project/commit/19fdf85f5858fa0aaae5f28f7140fbf12643993c
  Author: Florian Mayer <fmayer at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  [hwasan] keep debug intrinsicts in AllocaInfo.

Reviewed By: eugenis

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


  Commit: f810b40c3b513e3c4e6fcf84255e251ed59226b9
      https://github.com/llvm/llvm-project/commit/f810b40c3b513e3c4e6fcf84255e251ed59226b9
  Author: David Green <david.green at arm.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/test/CodeGen/X86/avg.ll
    M llvm/test/CodeGen/X86/min-legal-vector-width.ll

  Log Message:
  -----------
  [X86] Replace X86ISD::AVG with generic ISD::AVGCEILU

Pulled out of D106237, this replaces the X86ISD::AVG DAG node with the
generic ISD::AVGCEILU. It doesn't remove the detectAVGPattern method,
but the extra generic ISel matching does alter the existing test.

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


  Commit: 93c93fd08f1feecb9b56de75a413c0611967d4fa
      https://github.com/llvm/llvm-project/commit/93c93fd08f1feecb9b56de75a413c0611967d4fa
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/min-max-exprs.ll

  Log Message:
  -----------
  [NFC][SCEV] Add some tests for select->umax recognition

Apparently we didn't have any tests for that codepath?


  Commit: bfce0ca2036d999de2171c4ddc2d7a2dafaf711d
      https://github.com/llvm/llvm-project/commit/bfce0ca2036d999de2171c4ddc2d7a2dafaf711d
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/logical-operations.ll

  Log Message:
  -----------
  [NFC][SCEV] Add test more tests for umin_seq recognition


  Commit: a473c457f6aa7a5d734aef5a325eae30dd9e22e0
      https://github.com/llvm/llvm-project/commit/a473c457f6aa7a5d734aef5a325eae30dd9e22e0
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [NFC][SCEV] `createNodeForSelectOrPHIInstWithICmpInstCond()`: dedup eq/ne pred handling


  Commit: 4d0c0e6cc250e0637548f8a8519a95f15b6fab2e
      https://github.com/llvm/llvm-project/commit/4d0c0e6cc250e0637548f8a8519a95f15b6fab2e
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/logical-operations.ll
    M llvm/test/Analysis/ScalarEvolution/min-max-exprs.ll
    M polly/test/ForwardOpTree/changed-kind.ll

  Log Message:
  -----------
  [SCEV] `createNodeForSelectOrPHIInstWithICmpInstCond()`: generalize eq handling

The current logic was: https://alive2.llvm.org/ce/z/j8muXk
but in reality the offset to the Y in the 'true' hand
does not need to exist: https://alive2.llvm.org/ce/z/MNQ7DZ
https://alive2.llvm.org/ce/z/S2pMQD

To catch that, instead of computing the Y's in both
hands and checking their equality, compute Y and C,
and check that C is 0 or 1.


  Commit: 281421693bc1fb44c98ff719c5e3d2efb9c88830
      https://github.com/llvm/llvm-project/commit/281421693bc1fb44c98ff719c5e3d2efb9c88830
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/logical-operations.ll

  Log Message:
  -----------
  [SCEV] Recognize `x == 0 ? 0 : umin(..., x, ...)  ->  umin_seq(x, umin(...))`

That is the canonical expansion for umin_seq,
so we really should roundtrip it.


  Commit: c234809ff855b6d850e1133b2c8414fe67de3c18
      https://github.com/llvm/llvm-project/commit/c234809ff855b6d850e1133b2c8414fe67de3c18
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/logical-operations.ll

  Log Message:
  -----------
  [SCEV] Recognize `x == 0 ? 0 : umin_seq(..., x, ...)  ->  umin_seq(x, umin_seq(...))`


  Commit: 65715ac72aedd2219e06815983e20d60986c9c48
      https://github.com/llvm/llvm-project/commit/65715ac72aedd2219e06815983e20d60986c9c48
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/logical-operations.ll

  Log Message:
  -----------
  [SCEV] Generalize umin_seq matching

Since we don't greedily flatten `umin_seq(a, umin(b, c))` into `umin_seq(a, b, c)`,
just looking at the operands of the outer-level `umin` is not sufficient,
and we need to recurse into all same-typed `umin`'s.


  Commit: 97484f46eb7e8b90c42103925199caf93cc4aafd
      https://github.com/llvm/llvm-project/commit/97484f46eb7e8b90c42103925199caf93cc4aafd
  Author: Roman Lebedev <lebedev.ri at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [NFCI][SCEV] `SCEVTraversal`: if search terminated, don't push further ops of nary

Even if the search is marked as terminated after only looking at
the first operand, we'd still look at the remaining operands
before actually ending the search.

This seems pointless and wasteful, let's not do that.


  Commit: 8f0e5b4e26a54a3ec347d6499cbb43b15ad6352c
      https://github.com/llvm/llvm-project/commit/8f0e5b4e26a54a3ec347d6499cbb43b15ad6352c
  Author: Florian Mayer <fmayer at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  [NFC] [MTE] Use helpers for stack tagging.

Reviewed By: eugenis

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


  Commit: c45bd4b9e58ec6359ec07993eff81bd163a2d6ac
      https://github.com/llvm/llvm-project/commit/c45bd4b9e58ec6359ec07993eff81bd163a2d6ac
  Author: Eric Schweitz <eschweitz at nvidia.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    A flang/test/Fir/alloc.fir
    M flang/test/Fir/convert-to-llvm.fir

  Log Message:
  -----------
  [flang] Upstream fix to allocmem codegen to deal with missing dimensions
for sequence of character types.

Upstream type test. Upstream test. Fix tests.

Do not run on windows, as that is not an implemented target.

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


  Commit: c0281c7607b1a8c060f3aeba4bbfc07b54f54832
      https://github.com/llvm/llvm-project/commit/c0281c7607b1a8c060f3aeba4bbfc07b54f54832
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp

  Log Message:
  -----------
  [OpaquePtr][SPARC] Remove getPointerElementType() call in SparcISelLowering

Requires keeping better track of sret types.


  Commit: c02deae18cb26bb6d2d8c8a2fa1dd8b7e0dfda44
      https://github.com/llvm/llvm-project/commit/c02deae18cb26bb6d2d8c8a2fa1dd8b7e0dfda44
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [SCEVPredicate] Remove getExpr mechanism [NFC]

This mechanism was used for a couple of purposes, but the primary one was keeping track of which predicates in a union might apply to an expression.  As these sets are small and agressively deduped, this has little value.


  Commit: 70fdbf35de1c37a22a5321ed7d7d2c190d788549
      https://github.com/llvm/llvm-project/commit/70fdbf35de1c37a22a5321ed7d7d2c190d788549
  Author: YASHASVI KHATAVKAR <yashasvi.khatavkar at intel.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/docs/SourceLevelDebugging.rst
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp

  Log Message:
  -----------
  Adding DiBuilder interface for assumed length strings


  Commit: 54e96ac835f2b9771cb849511add079b39548920
      https://github.com/llvm/llvm-project/commit/54e96ac835f2b9771cb849511add079b39548920
  Author: Dmitry Vyukov <dvyukov at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan.cpp

  Log Message:
  -----------
  hwasan: fix up includes

Fix up includes after 595d340dceca
("sanitizer_common: make internal/external headers compatible").

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


  Commit: 11b0506c08897a132b1b810be4ca71c3d605c7e9
      https://github.com/llvm/llvm-project/commit/11b0506c08897a132b1b810be4ca71c3d605c7e9
  Author: Florian Mayer <fmayer at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M compiler-rt/lib/memprof/memprof_rtl.cpp

  Log Message:
  -----------
  [Sanitizers] Fix build broken by missing import.


  Commit: b59a40223727dae91ed7c13c5c905c5a46fdb9a2
      https://github.com/llvm/llvm-project/commit/b59a40223727dae91ed7c13c5c905c5a46fdb9a2
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp

  Log Message:
  -----------
  [MSan][OpaquePtr] Use inline asm elementtype instead of getPointerElementType()


  Commit: 10953974ed6b61247fd4b070b3a6e390e02d0edb
      https://github.com/llvm/llvm-project/commit/10953974ed6b61247fd4b070b3a6e390e02d0edb
  Author: Konstantin Varlamov <varconst at apple.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxx/cmake/caches/Generic-asan.cmake

  Log Message:
  -----------
  [libc++][NFC] Work around false positive ODR violations from ASan.

This works around a known issue in ASan. ASan doesn't instrument weak
symbols. Because instrumentation increases object size, the binary can
end up with two versions of the same object, one instrumented and one
not instrumented, with different sizes, which ASan will report as an ODR
violation. In libc++, this affects typeinfo for `std::bad_function_call`
which is emitted as a weak symbol in the test executable and as a strong
symbol in the shared library.

The main open issue for ASan appears to be
https://github.com/google/sanitizers/issues/1017.

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


  Commit: bce7f942bc4cfa1bacca678451ddd5c65be011e7
      https://github.com/llvm/llvm-project/commit/bce7f942bc4cfa1bacca678451ddd5c65be011e7
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/test/CodeGen/X86/merge-consecutive-stores-nt.ll

  Log Message:
  -----------
  [x86] scrub less memory ops in test; NFC

The addresses matter - we want to verify the splitting
and order of the memops.


  Commit: 99ed84242f7e2cef8091e686538a710c614c19e2
      https://github.com/llvm/llvm-project/commit/99ed84242f7e2cef8091e686538a710c614c19e2
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/test/CodeGen/X86/extractelement-load.ll

  Log Message:
  -----------
  [x86] add test for load ordering; NFC

This is reduced from a test that failed with D118376.
The C source is posted in issue #53695


  Commit: 8a0a706f096bf380d81b615c67ab1e1af1c377d3
      https://github.com/llvm/llvm-project/commit/8a0a706f096bf380d81b615c67ab1e1af1c377d3
  Author: Martin Storsjö <martin at martin.st>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxx/include/__algorithm/in_in_out_result.h
    M libcxx/include/__algorithm/in_in_result.h
    M libcxx/include/__algorithm/in_out_out_result.h
    M libcxx/include/__algorithm/in_out_result.h
    M libcxx/include/__config
    M libcxx/include/__iterator/counted_iterator.h
    M libcxx/include/__ranges/copyable_box.h
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/join_view.h
    M libcxx/include/__ranges/reverse_view.h
    M libcxx/include/__ranges/subrange.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/transform_view.h

  Log Message:
  -----------
  [libcxx] Wrap [[no_unique_address]] in a macro, for clang-cl

This should silence all remaining clang-cl build warnings.

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


  Commit: f9f78a2c408ab8c22b9b241d1fc3f3fbbd6cd4f5
      https://github.com/llvm/llvm-project/commit/f9f78a2c408ab8c22b9b241d1fc3f3fbbd6cd4f5
  Author: YASHASVI KHATAVKAR <yashasvi.khatavkar at intel.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/docs/SourceLevelDebugging.rst

  Log Message:
  -----------
  Fix build broken by missing empty line in SourceLevelDebugging.rst


  Commit: 66400fc2ddbd88d68e1715e67d1bddf6887a7793
      https://github.com/llvm/llvm-project/commit/66400fc2ddbd88d68e1715e67d1bddf6887a7793
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/wrapping-math.ll

  Log Message:
  -----------
  [ConstraintElimination] Support add with precondition.

If we can prove that an addition without wrap flags won't wrap, decompse
the operation.

Issue #48253


  Commit: 73382278825d2612bbcd59b5627a82189fa4ae11
      https://github.com/llvm/llvm-project/commit/73382278825d2612bbcd59b5627a82189fa4ae11
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxx/include/module.modulemap
    M libcxx/utils/libcxx/test/params.py

  Log Message:
  -----------
  [libc++] Disable local submodule visibility in the modules build

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


  Commit: c74b1924048251f65d5bd9ca3df78ce1e490a5ed
      https://github.com/llvm/llvm-project/commit/c74b1924048251f65d5bd9ca3df78ce1e490a5ed
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxx/include/__threading_support

  Log Message:
  -----------
  [libc++] Revert the addition of _LIBCPP_HIDE_FROM_ABI and inline in __threading_support

This reverts commit 2722ac65. As explained in D115906, this was actually
unnecessary and it broke the external threading configuration.

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


  Commit: d49aaaf44f508c8731672dcacaa62dd947acd414
      https://github.com/llvm/llvm-project/commit/d49aaaf44f508c8731672dcacaa62dd947acd414
  Author: Florian Mayer <fmayer at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M compiler-rt/lib/asan/asan_rtl.cpp
    M compiler-rt/lib/memprof/memprof_rtl.cpp

  Log Message:
  -----------
  [memprof] Fix UB.

An infinite loop without any effects is illegal C++ and can be optimized
away by the compiler.

Reviewed By: vitalybuka

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


  Commit: d5c314cdf43aeab2e7eda2b8a40afae4d01b030f
      https://github.com/llvm/llvm-project/commit/d5c314cdf43aeab2e7eda2b8a40afae4d01b030f
  Author: Weverything <rtrieu at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp

  Log Message:
  -----------
  [Clang][OpaquePtr] Remove deprecated Address constructor calls

Remove most calls to deprcated Address constructor in CGExpr.cpp

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


  Commit: baac665adf324672802dcc7037a25468e9569c95
      https://github.com/llvm/llvm-project/commit/baac665adf324672802dcc7037a25468e9569c95
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M clang/docs/tools/clang-formatted-files.txt
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    A clang/lib/Driver/ToolChains/MSVCSetupApi.h
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/Options.td
    M lld/COFF/SymbolTable.cpp
    M lld/docs/ReleaseNotes.rst
    R lld/test/COFF/winsysroot.test
    R llvm/include/llvm/Support/MSVCPaths.h
    R llvm/include/llvm/Support/MSVCSetupApi.h
    M llvm/lib/Support/CMakeLists.txt
    R llvm/lib/Support/MSVCPaths.cpp
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  Revert "[lld/coff] Make lld-link work in a non-MSVC shell, add /winsysroot:"

This reverts commit b3b2538df100ec7f6587b0ee70819a3c8ee2c27e,
it introduced a cycklic module depenency that broke the -DLLVM_ENABLE_MODULES=1 build.


  Commit: a9f1a9c00af3badc991028b313fcc701599c8ac2
      https://github.com/llvm/llvm-project/commit/a9f1a9c00af3badc991028b313fcc701599c8ac2
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake

  Log Message:
  -----------
  [compiler-rt] Force ABI to libcxxabi when building cxustom libc++

Follow-up to 458ead66dc37, which replaced the bespoke CMakeLists.txt
file for building a custom instrumented libc++ with an invocation of the
runtimes build.

In the the bespoke CMakeLists.txt, the LIBCXX_CXX_ABI setting was forced
to libcxxabi, but this was not done for the CMake invocation for the
runtimes build. This would cause CMake configuration issues on platforms
where the default LIBCXX_CXX_ABI setting is not libcxxabi, such as
FreeBSD.

Add `-DLIBCXX_CXX_ABI=libcxxabi` to that invocation, to make sure the
custom instrumented libc++ always uses the expected ABI.

Reviewed By: phosek

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


  Commit: 6f1147f825d087f8486a685024078fe08dba755c
      https://github.com/llvm/llvm-project/commit/6f1147f825d087f8486a685024078fe08dba755c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/cl-options.c

  Log Message:
  -----------
  [clang] Expose -fprofile-use in clang-cl

Less typing than `-fprofile-instr-use`, and means the same thing.

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


  Commit: ccc740353d7d7ec221994612d1f27184f186e17c
      https://github.com/llvm/llvm-project/commit/ccc740353d7d7ec221994612d1f27184f186e17c
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxx/test/std/strings/basic.string/string.ops/string.accessors/c_str.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string.accessors/data.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string.accessors/get_allocator.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/pointer.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_T_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/string.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/string_view.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.not.of/char_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.not.of/pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.not.of/pointer_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.not.of/string_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.not.of/string_view_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.of/char_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.of/pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.of/pointer_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.of/string_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.of/string_view_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.not.of/char_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.not.of/pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.not.of/pointer_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.not.of/string_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.not.of/string_view_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.of/char_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.of/pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.of/pointer_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.of/string_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.of/string_view_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find/char_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find/pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find/pointer_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find/string_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find/string_view_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_rfind/char_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_rfind/pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_rfind/pointer_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_rfind/string_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_rfind/string_view_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp

  Log Message:
  -----------
  [libc++] Prepare string.ops for constexpr

Reviewed By: ldionne, #libc

Spies: libcxx-commits

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


  Commit: 9aab0db13fb6d21d1b70247a9b5e4cf916ee1c3a
      https://github.com/llvm/llvm-project/commit/9aab0db13fb6d21d1b70247a9b5e4cf916ee1c3a
  Author: Björn Schäpers <bjoern at hazardy.de>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Improve require and concept handling

- Added an option where to put the requires clauses.
- Renamed IndentRequires to IndentRequiresClause.
- Changed BreakBeforeConceptDeclaration from bool to an enum.

Fixes https://llvm.org/PR32165, and https://llvm.org/PR52401.

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


  Commit: a3fa1d5071d50ccb499bf015aa61a69f67b63fa8
      https://github.com/llvm/llvm-project/commit/a3fa1d5071d50ccb499bf015aa61a69f67b63fa8
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/IR/InstrTypes.h

  Log Message:
  -----------
  [NFC] Remove check for callee parameter elementtype

elementtype is only allowed on caller arguments.


  Commit: 7a045261171e5a92e5f8f219c7cba0dc529194ee
      https://github.com/llvm/llvm-project/commit/7a045261171e5a92e5f8f219c7cba0dc529194ee
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/test/Transforms/LoopDistribute/symbolic-stride.ll
    M llvm/test/Transforms/LoopLoadElim/symbolic-stride.ll

  Log Message:
  -----------
  Autogen a couple of predicated SCEV tests


  Commit: 45bddf54e240ea13f2bf4c5870b260feefbaf801
      https://github.com/llvm/llvm-project/commit/45bddf54e240ea13f2bf4c5870b260feefbaf801
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp

  Log Message:
  -----------
  [sanitizers] Add missing header to fix Fuchsia builds

Adds missing header to fix sanitizer builds for Fuchsia.

Reviewed By: abrachet

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


  Commit: d76da6c7e445478b547a75f81eb1ac9ee93d652b
      https://github.com/llvm/llvm-project/commit/d76da6c7e445478b547a75f81eb1ac9ee93d652b
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/Swift.def
    M llvm/test/tools/dsymutil/Inputs/reflection_metadata.yaml
    M llvm/test/tools/dsymutil/X86/reflection-dump.test

  Log Message:
  -----------
  Add support for the swift5 reflection section acfuncs

With bc013b3e4e862da8d0c2d91cf99dcbebf124e4ac a new section called accessible functions was added to swift/include/swift/ABI/ObjectFile.h so this change adds support for dumping it out into the dSYM bundle

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


  Commit: 73e585e44d68cf77e2e3274e98c9615156a7d909
      https://github.com/llvm/llvm-project/commit/73e585e44d68cf77e2e3274e98c9615156a7d909
  Author: Nico Weber <thakis at chromium.org>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M clang/docs/tools/clang-formatted-files.txt
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    R clang/lib/Driver/ToolChains/MSVCSetupApi.h
    M lld/COFF/CMakeLists.txt
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/Options.td
    M lld/COFF/SymbolTable.cpp
    M lld/docs/ReleaseNotes.rst
    A lld/test/COFF/winsysroot.test
    A llvm/include/llvm/WindowsDriver/MSVCPaths.h
    A llvm/include/llvm/WindowsDriver/MSVCSetupApi.h
    M llvm/lib/CMakeLists.txt
    A llvm/lib/WindowsDriver/CMakeLists.txt
    A llvm/lib/WindowsDriver/MSVCPaths.cpp
    M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
    M llvm/utils/gn/secondary/lld/COFF/BUILD.gn
    A llvm/utils/gn/secondary/llvm/lib/WindowsDriver/BUILD.gn

  Log Message:
  -----------
  Reland "[lld/coff] Make lld-link work in a non-MSVC shell, add /winsysroot:"

This relands commit b3b2538df100ec, except that the new files in Support
are instead in a new library WindowsDriver.


  Commit: 43a1756a5d533bbf29bc39f49f04fc76f5c30ce9
      https://github.com/llvm/llvm-project/commit/43a1756a5d533bbf29bc39f49f04fc76f5c30ce9
  Author: Annika <annika0uwu at gmail.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.h
    M llvm/lib/Target/M68k/M68kRegisterInfo.h
    M llvm/test/CodeGen/M68k/Arith/bitwise.ll

  Log Message:
  -----------
  m68k: Support bit shifts on 64-bit integers

As per https://bugs.llvm.org/show_bug.cgi?id=52119.

Reviewed By: myhsu

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


  Commit: fc5bf040d810fbad424e609cda1ad56fc15cc403
      https://github.com/llvm/llvm-project/commit/fc5bf040d810fbad424e609cda1ad56fc15cc403
  Author: Conrad Poelman <poelmanc at reviews.llvm.org>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    A test/.gitattributes

  Log Message:
  -----------
  fix check-clang-tools tests that fail due to Windows CRLF line endings

Running check-clang-tools on Windows produces 5 test failures:

Failed Tests (5):
  Clang Tools :: clang-apply-replacements/ClangRenameClassReplacements.cpp
  Clang Tools :: clang-apply-replacements/basic.cpp
  Clang Tools :: clang-apply-replacements/format.cpp
  Clang Tools :: clang-move/move-used-helper-decls.cpp
  Clang Tools :: clang-tidy/infrastructure/export-diagnostics.cpp

Four of these failures are simply due to fixed character position
offsets differing on Windows versus Linux, since Windows line endings
take up two characters instead of one:

clang-apply-replacements/ClangRenameClassReplacements.cpp runs clang-rename -offset=254
clang-apply-replacements/Inputs/basic/file[12].yaml specify e.g.  FileOffset: 148 and Offset: 298
clang-apply-replacements/Inputs/format/{no,yes}.yaml specify e.g.  FileOffset: 94 and Offset: 94
clang-tidy/infrastructure/export-diagnostics.cpp specifies e.g.  CHECK-YAML-NEXT: FileOffset: 30

(The move-used-helper-decls.cpp failure seems more complex; clang-move
adds a blank line after void HelperFun1() {} when
clang-move/Inputs/helper_decls_test.cpp has LF line endings, but does
not add a blank line when the input files has CRLF line endings. That
difference in behavior seems like it may be an actual bug, but I have
yet to track it down.)

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


  Commit: 633e797d59a636c137f6a2629cca1eff1cd763d5
      https://github.com/llvm/llvm-project/commit/633e797d59a636c137f6a2629cca1eff1cd763d5
  Author: Fangrui Song <i at maskray.me>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [Bazel] Add WindowsDriver after 73e585e44d68cf77e2e3274e98c9615156a7d909


  Commit: b1bd64aeee30773560a0cfa22db8d998aa4348d4
      https://github.com/llvm/llvm-project/commit/b1bd64aeee30773560a0cfa22db8d998aa4348d4
  Author: Florian Mayer <fmayer at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  Revert "[NFC] [MTE] Use helpers for stack tagging."

This reverts commit 8f0e5b4e26a54a3ec347d6499cbb43b15ad6352c.


  Commit: 26dbc47468233158e5ba270432b8b93dbd743ae3
      https://github.com/llvm/llvm-project/commit/26dbc47468233158e5ba270432b8b93dbd743ae3
  Author: Florian Mayer <fmayer at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  Revert "[hwasan] keep debug intrinsicts in AllocaInfo."

This reverts commit 19fdf85f5858fa0aaae5f28f7140fbf12643993c.


  Commit: 415d6762964eebf2592d0a07baac828a4a56184a
      https://github.com/llvm/llvm-project/commit/415d6762964eebf2592d0a07baac828a4a56184a
  Author: Martin Storsjö <martin at martin.st>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M libcxx/include/__algorithm/in_fun_result.h

  Log Message:
  -----------
  [libcxx] Fix a missed instance of _LIBCPP_NO_UNIQUE_ADDRESS

This was missed in 8a0a706f096bf380d81b615c67ab1e1af1c377d3 (added
after that patch was made originally).


  Commit: d75a5650dbdc595f836db4711f2a480f87243593
      https://github.com/llvm/llvm-project/commit/d75a5650dbdc595f836db4711f2a480f87243593
  Author: Michael Forney <mforney at mforney.org>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M compiler-rt/lib/asan/asan_linux.cpp

  Log Message:
  -----------
  [asan] Always skip first object from dl_iterate_phdr

All platforms return the main executable as the first dl_phdr_info.
FreeBSD, NetBSD, Solaris, and Linux-musl place the executable name
in the dlpi_name field of this entry. It appears that only Linux-glibc
uses the empty string.

To make this work generically on all platforms, unconditionally skip the first
object (like is currently done for FreeBSD and NetBSD). This fixes first DSO
detection on Linux-musl with clang -shared-libsan/-shared-libasan and GCC's
default. It also would likely fix detection on Solaris/Illumos if it were to
gain PIE support (since dlpi_addr would not be NULL).

Additionally, only skip the Linux VDSO on linux.

Finally, use the empty string as the "seen first dl_phdr_info"
marker rather than (char *)-1. If there was no other object, we
would try to dereference it for a string comparison.

Reviewed By: MaskRay, vitalybuka

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


  Commit: 7eb5cb7f9e35bb1545804ce989baccd46748a374
      https://github.com/llvm/llvm-project/commit/7eb5cb7f9e35bb1545804ce989baccd46748a374
  Author: Michael Jones <michaelrj at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/stdlib/CMakeLists.txt
    M libc/test/utils/CPP/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix allocator inclusion

Previously, allocator functions were only available if they were included
from scudo or by using the system libc headers (i.e. by turning off the
full build). This patch changes the logic to include the prototypes for
the allocator functitons in all cases, which allows the linker to link
in the system's allocator.

Reviewed By: sivachandra, abrachet

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


  Commit: a730b6a41ad7e57a015c4a310850b14513ecb70c
      https://github.com/llvm/llvm-project/commit/a730b6a41ad7e57a015c4a310850b14513ecb70c
  Author: Evgenii Stepanov <eugenis at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M clang/lib/CodeGen/CGClass.cpp

  Log Message:
  -----------
  [NFC] clang-format one function.

fix code formatting

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


  Commit: 0d9b91524ea4db3760791bba15773c386a26d8ec
      https://github.com/llvm/llvm-project/commit/0d9b91524ea4db3760791bba15773c386a26d8ec
  Author: Alex Lorenz <arphaman at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M clang/include/clang/Lex/MacroInfo.h
    M clang/lib/Lex/MacroInfo.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/unittests/Lex/CMakeLists.txt
    A clang/unittests/Lex/PPMemoryAllocationsTest.cpp

  Log Message:
  -----------
  [Preprocessor] Reduce the memory overhead of `#define` directives

Recently we observed high memory pressure caused by clang during some parallel builds.
We discovered that we have several projects that have a large number of #define directives
in their TUs (on the order of millions), which caused huge memory consumption in clang due
to a lot of allocations for MacroInfo. We would like to reduce the memory overhead of
clang for a single #define to reduce the memory overhead for these files, to allow us to
reduce the memory pressure on the system during highly parallel builds. This change achieves
that by removing the SmallVector in MacroInfo and instead storing the tokens in an array
allocated using the bump pointer allocator, after all tokens are lexed.

The added unit test with 1000000 #define directives illustrates the problem. Prior to this
change, on arm64 macOS, clang's PP bump pointer allocator allocated 272007616 bytes, and
used roughly 272 bytes per #define. After this change, clang's PP bump pointer allocator
allocates 120002016 bytes, and uses only roughly 120 bytes per #define.

For an example test file that we have internally with 7.8 million #define directives, this
change produces the following improvement on arm64 macOS: Persistent allocation footprint for
this test case file as it's being compiled to LLVM IR went down 22% from 5.28 GB to 4.07 GB
and the total allocations went down 14% from 8.26 GB to 7.05 GB. Furthermore, this change
reduced the total number of allocations made by the system for this clang invocation from
1454853 to 133663, an order of magnitude improvement.

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


  Commit: e5739368b36693a8932c466f1c5b1b66f1faf744
      https://github.com/llvm/llvm-project/commit/e5739368b36693a8932c466f1c5b1b66f1faf744
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp

  Log Message:
  -----------
  [sanitizers] Fix missing header for mac builds

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


  Commit: 0574b5fc657451c9d13d3f6d8fe14ea15c23a681
      https://github.com/llvm/llvm-project/commit/0574b5fc657451c9d13d3f6d8fe14ea15c23a681
  Author: Nico Weber <thakis at chromium.org>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/WindowsDriver/MSVCPaths.cpp

  Log Message:
  -----------
  try to fix windows build after 73e585e44d


  Commit: 19279ffc77b8d224c447d4eb0ee0c727ab64babf
      https://github.com/llvm/llvm-project/commit/19279ffc77b8d224c447d4eb0ee0c727ab64babf
  Author: Michael Gottesman <mgottesman at apple.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    A llvm/test/Transforms/Coroutines/coro-debug-dbg.addr-swift.ll
    A llvm/test/Transforms/Coroutines/coro-debug-dbg.addr.ll

  Log Message:
  -----------
  [debug-info] If one sees a spill with a dbg.addr use, salvageDebugInfo upon it and don't hoist it.

This ensures that if we have a dbg.addr in a coroutine funclet that is on one of
our function arguments, that the dbg.addr is not mapped to undef and also that
later it isn't hoisted to the front of the basic block. Instead it remains at
its original cloned location.

rdar://83957028

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


  Commit: e1e17a648962d3dd014fd8397e6d9d0d3259686e
      https://github.com/llvm/llvm-project/commit/e1e17a648962d3dd014fd8397e6d9d0d3259686e
  Author: Konstantin Varlamov <varconst at apple.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxx/include/__ranges/access.h
    M libcxx/test/std/ranges/range.access/begin.pass.cpp
    M libcxx/test/std/ranges/range.access/end.pass.cpp

  Log Message:
  -----------
  [libc++][ranges][NFC] Refactor tests for `ranges::{begin,end}`.

- add some test cases for `cbegin`/`cend`;
- make class definitions generally follow the order in which they are
  used;
- add a missing include.

Reviewed By: philnik

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


  Commit: da2a16f702efe3307d407d5c6db6c8c18ef6bd9b
      https://github.com/llvm/llvm-project/commit/da2a16f702efe3307d407d5c6db6c8c18ef6bd9b
  Author: Fangrui Song <i at maskray.me>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp

  Log Message:
  -----------
  [tsan] Make __fxstat code path glibc only

This fixes Linux musl build after D118423.


  Commit: af969141fa285157044e34fb6b27963c3278241b
      https://github.com/llvm/llvm-project/commit/af969141fa285157044e34fb6b27963c3278241b
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp

  Log Message:
  -----------
  [lldb] Pin the shared cache when iterating over its images

Use the dyld_shared_cache_(un)pin_mapping SPI to map the whole shared
cache in memory (if possible) to avoid repeated calls to mmap.

rdar://81189015


  Commit: 8f0b2ac140c36f37597deef66bea8a7739c18a7b
      https://github.com/llvm/llvm-project/commit/8f0b2ac140c36f37597deef66bea8a7739c18a7b
  Author: Joe Loser <joeloser93 at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M libcxx/include/__ranges/join_view.h

  Log Message:
  -----------
  [libc++] Use _LIBCPP_NO_UNIQUE_ADDRESS for base in join_view

Despite the comment saying `[[no_unique_address]]` on the `__base_` data member
makes clang crash, this does not seem to be true on CI. So, mark `__base_` with
`_LIBCPP_NO_UNIQUE_ADDRESS`.

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


  Commit: bdf573652138fee827e18e636d92975171b566af
      https://github.com/llvm/llvm-project/commit/bdf573652138fee827e18e636d92975171b566af
  Author: Peter Steinfeld <psteinfeld at nvidia.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M flang/runtime/transformational.cpp
    M flang/test/Semantics/reshape.f90

  Log Message:
  -----------
  [flang] Change internal errors in RESHAPE runtime routine to user errors

There are several checks in the runtime routine for the RESHAPE
intrinsic.  Some checks verify things that should have been checked at
compile time while others represent user errors.

This update changes the checks for user errors into calls to "Crash"
which include information about the failing check.  This identifies them
as user errors rather than compiler errors.

I also verified that the checks that remain as internal errors are also
checked by the front end.  I added a test to the front end's RESHAPE
test to complete the checks.

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


  Commit: 3f05192c4c40bc79b1db431a7a36baaa9491eebb
      https://github.com/llvm/llvm-project/commit/3f05192c4c40bc79b1db431a7a36baaa9491eebb
  Author: Alex Lorenz <arphaman at gmail.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M clang/include/clang/Lex/MacroInfo.h
    M clang/lib/Lex/MacroInfo.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/unittests/Lex/CMakeLists.txt
    R clang/unittests/Lex/PPMemoryAllocationsTest.cpp

  Log Message:
  -----------
  Revert "[Preprocessor] Reduce the memory overhead of `#define` directives"

This reverts commit 0d9b91524ea4db3760791bba15773c386a26d8ec.

This change broke LLDB's build. I will need to recommit after fixing LLDB.


  Commit: 7fbabe6ee4213d172c7552becd9b074e18a24c6f
      https://github.com/llvm/llvm-project/commit/7fbabe6ee4213d172c7552becd9b074e18a24c6f
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/resolve69.f90

  Log Message:
  -----------
  [flang] Avoid bogus error for specification expression

When a scope's symbol has characteriztics whose specification
expressions depend on other non-constant symbols in the same scope,
f18 rightfully emits an error.  However, in the case of usage in
specification expressions involving host association, the program is not
invalid.  This can arise, for example, in the case of an internal
function whose result's attributes use host-associated variables.

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


  Commit: cb1bee4725c475bd32df3f4ce9ba2ebe30dcf9de
      https://github.com/llvm/llvm-project/commit/cb1bee4725c475bd32df3f4ce9ba2ebe30dcf9de
  Author: AndreyChurbanov <andrey.churbanov at intel.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M openmp/runtime/src/kmp_settings.cpp
    A openmp/runtime/test/tasking/hidden_helper_task/single_helper_thread.c

  Log Message:
  -----------
  [OpenMP] libomp: fix UB when LIBOMP_NUM_HIDDEN_HELPER_THREADS=1.

The __kmp_hidden_helper_threads_num set to N+1 if user requested N threads.
Thus number of worker hidden helper threads corresponds to user request,
main thread of helper team excluded as it does not participate in actual work.
This also fixes divide-by-0 issue in the code.

Fixes #48656

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


  Commit: bf2f72fa10e3469b4f1bc6a85129c7074c65cfb2
      https://github.com/llvm/llvm-project/commit/bf2f72fa10e3469b4f1bc6a85129c7074c65cfb2
  Author: Florian Mayer <fmayer at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  [hwasan] keep debug intrinsicts in AllocaInfo.

Reviewed By: eugenis

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


  Commit: 6759cdd82918e186ded1eda1a86b47e13469a811
      https://github.com/llvm/llvm-project/commit/6759cdd82918e186ded1eda1a86b47e13469a811
  Author: Florian Mayer <fmayer at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  [NFC] [MTE] Use helpers for stack tagging.

Reviewed By: eugenis

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


  Commit: 4f2c46c35ccd17ef726c4b4e8e9500d7972e757a
      https://github.com/llvm/llvm-project/commit/4f2c46c35ccd17ef726c4b4e8e9500d7972e757a
  Author: Roger Kim <rgr at fb.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M lld/MachO/MapFile.cpp
    M lld/test/MachO/map-file.s

  Log Message:
  -----------
  Print C-string literals in mapfile

This diff has the C-string literals printed into the mapfile in the symbol table like how ld64 does.

Here is what ld64's mapfile looks like with C-string literals:
```
# Path: out
# Arch: x86_64
# Object files:
[  0] linker synthesized
[  1] foo.o
# Sections:
# Address       Size            Segment Section
0x100003F7D     0x0000001D      __TEXT  __text
0x100003F9A     0x0000001E      __TEXT  __cstring
0x100003FB8     0x00000048      __TEXT  __unwind_info
# Symbols:
# Address       Size            File  Name
0x100003F7D     0x0000001D      [  1] _main
0x100003F9A     0x0000000E      [  1] literal string: Hello world!\n
0x100003FA8     0x00000010      [  1] literal string: Hello, it's me\n
0x100003FB8     0x00000048      [  0] compact unwind info
```

Here is what the new lld's Mach-O mapfile looks like:
```
# Path: /Users/rgr/local/llvm-project/build/Debug/tools/lld/test/MachO/Output/map-file.s.tmp/c-string-liter
al-out
# Arch: x86_64
# Object files:
[  0] linker synthesized
[  1] /Users/rgr/local/llvm-project/build/Debug/tools/lld/test/MachO/Output/map-file.s.tmp/c-string-literal
.o
# Sections:
# Address       Size            Segment Section
0x1000002E0     0x0000001D      __TEXT  __text
0x1000002FD     0x0000001D      __TEXT  __cstring
# Symbols:
# Address           File  Name
0x1000002E0     [  1] _main
0x1000002FD     [  1] literal string: Hello world!\n
0x10000030B     [  1] literal string: Hello, it's me\n
```

Reviewed By: #lld-macho, int3

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


  Commit: dafe4c0b5cd07fa97c1954e0cf21aa90d558578f
      https://github.com/llvm/llvm-project/commit/dafe4c0b5cd07fa97c1954e0cf21aa90d558578f
  Author: Roger Kim <rgr at fb.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M lld/test/MachO/map-file.s

  Log Message:
  -----------
  [Mach-O][NFC] Reorder map file tests

We are just grouping the files and the tests together.

Reviewed By: int3, #lld-macho

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


  Commit: fc510998f7c287df2bc1304673e0cd8452d50b31
      https://github.com/llvm/llvm-project/commit/fc510998f7c287df2bc1304673e0cd8452d50b31
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M flang/lib/Semantics/program-tree.cpp
    M flang/lib/Semantics/program-tree.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/resolve18.f90

  Log Message:
  -----------
  [flang] Fix edge case in USE-associated generics

It is generally an error when a USE-associated name clashes
with a name defined locally, but not in all cases; a generic
interface can be both USE-associated and locally defined.
This works, but not when there is also a local subprogram
with the same name, which is valid when that subprogram is
a specific of the local generic.  A bogus error issues at
the point of the USE because name resolution will have already
defined a symbol for the local subprogram.

The solution is to collect the names of local generics when
creating the program tree, and then create their symbols as
well if their names are also local subprograms, prior to any
USE association processing.

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


  Commit: bfc6fbfb65f6d490e6a1ba4eb6c734d2b4494dd1
      https://github.com/llvm/llvm-project/commit/bfc6fbfb65f6d490e6a1ba4eb6c734d2b4494dd1
  Author: Florian Mayer <fmayer at google.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    A llvm/test/Instrumentation/HWAddressSanitizer/alloca-uninteresting.ll

  Log Message:
  -----------
  [HWASAN] regression test we do not instrument dynamic allocas

Reviewed By: browneee

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


  Commit: 9e975e558ba44b39b55302666957855aa8f009be
      https://github.com/llvm/llvm-project/commit/9e975e558ba44b39b55302666957855aa8f009be
  Author: Chenbing.Zheng <Chenbing.Zheng at streamcomputing.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td

  Log Message:
  -----------
  [RISCV][NFC] Move some combine patterns to DAG combine.

Move some combine patterns to DAG combine,and
it dealt with fixme left in RISCVInstrInfoZb.td.

Reviewed By: craig.topper

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


  Commit: af45d0fd94b21620b61c8c4900b81486fd85aeb7
      https://github.com/llvm/llvm-project/commit/af45d0fd94b21620b61c8c4900b81486fd85aeb7
  Author: Micah Weston <micahsweston at gmail.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/test/CodeGen/AArch64/addsub.ll
    M llvm/test/CodeGen/AArch64/arm64-instruction-mix-remarks.ll

  Log Message:
  -----------
  [AArch64] Adds SUBS and ADDS instructions to the MIPeepholeOpt.

Implements ADDS/SUBS 24-bit immediate optimization using the
MIPeepholeOpt pass. This follows the pattern:

Optimize ([adds|subs] r, imm) -> ([ADDS|SUBS] ([ADD|SUB] r, #imm0, lsl #12), #imm1),
if imm == (imm0<<12)+imm1. and both imm0 and imm1 are non-zero 12-bit unsigned
integers.

Optimize ([adds|subs] r, imm) -> ([SUBS|ADDS] ([SUB|ADD] r, #imm0, lsl #12), #imm1),
if imm == -(imm0<<12)-imm1, and both imm0 and imm1 are non-zero 12-bit unsigned
integers.

The SplitAndOpcFunc type had to change the return type to an Opcode pair so that
the first add/sub is the regular instruction and the second is the flag setting
instruction. This required updating the code in the AND case.

Testing:

I ran a two stage bootstrap with this code.
Using the second stage compiler, I verified that the negation of an ADDS to SUBS
or vice versa is a valid optimization. Example V == -0x111111.

Reviewed By: dmgreen

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


  Commit: 103e1d934a353ba233f854d992e5429106d3fbac
      https://github.com/llvm/llvm-project/commit/103e1d934a353ba233f854d992e5429106d3fbac
  Author: Jez Ng <jezng at fb.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/LTO.cpp
    M lld/test/MachO/lto-internalize.ll

  Log Message:
  -----------
  [lld-macho] Unset ExportDynamic where possible for LTO

By unsetting this property, we are now able to internalize more symbols
during LTO. I compared the output of `-save-temps` for both LLD and
ld64, and we now match ld64's behavior as far as `lto-internalize.ll` is
concerned.

(Thanks @smeenai for working on an initial version of this diff!)

Fixes https://github.com/llvm/llvm-project/issues/50574.

Reviewed By: #lld-macho, thakis

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


  Commit: 2a7ed8fcee4f9c34f034f5a9e4f27c16463563da
      https://github.com/llvm/llvm-project/commit/2a7ed8fcee4f9c34f034f5a9e4f27c16463563da
  Author: Siva Chandra Reddy <sivachandra at google.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M libc/test/src/__support/CMakeLists.txt
    A libc/test/src/__support/CPP/CMakeLists.txt
    A libc/test/src/__support/CPP/arrayref_test.cpp
    A libc/test/src/__support/CPP/bitset_test.cpp
    A libc/test/src/__support/CPP/limits_test.cpp
    A libc/test/src/__support/CPP/stringview_test.cpp
    A libc/test/src/__support/CPP/vector_test.cpp
    M libc/test/utils/CMakeLists.txt
    R libc/test/utils/CPP/CMakeLists.txt
    R libc/test/utils/CPP/arrayref_test.cpp
    R libc/test/utils/CPP/bitset_test.cpp
    R libc/test/utils/CPP/limits_test.cpp
    R libc/test/utils/CPP/stringview_test.cpp
    R libc/test/utils/CPP/vector_test.cpp

  Log Message:
  -----------
  [libc][Obvious][NFC] Move CPP tests to the correct nested directory.


  Commit: 2e57156fead3c27136aa2f66caad9e4b5c890ca1
      https://github.com/llvm/llvm-project/commit/2e57156fead3c27136aa2f66caad9e4b5c890ca1
  Author: Haocong.Lu <Haocong.Lu at streamcomputing.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    A llvm/test/CodeGen/RISCV/unroll-loop-cse.ll

  Log Message:
  -----------
  [RISCV][test] Precommit a test of CSE within an unroll loop

Reviewed By: asb, frasercrmck

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


  Commit: 23a50736004e94704a2393aa36a905d737f2b20f
      https://github.com/llvm/llvm-project/commit/23a50736004e94704a2393aa36a905d737f2b20f
  Author: Haocong.Lu <Haocong.Lu at streamcomputing.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/test/CodeGen/RISCV/unroll-loop-cse.ll

  Log Message:
  -----------
  [RISCV] LUI used for address computation should not isAsCheapAsAMove

A LUI instruction with flag RISCVII::MO_HI is usually used in conjunction
with ADDI, and jointly complete address computation. To bind the cost
evaluation of address computation, the LUI should not be regarded as a cheap
 move separately, which is consistent with ADDI.

In this test case, it improves the unroll-loop code that the rematerialization
of array's base address miss MachineCSE with Heuristics #1 at isProfitableToCSE.

Reviewed By: asb, frasercrmck

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


  Commit: 437d4e01fe4c057509dff30efd560049ad07bc99
      https://github.com/llvm/llvm-project/commit/437d4e01fe4c057509dff30efd560049ad07bc99
  Author: Douglas Yung <douglas.yung at sony.com>
  Date:   2022-02-11 (Fri, 11 Feb 2022)

  Changed paths:
    M clang/docs/tools/clang-formatted-files.txt
    M clang/lib/Driver/CMakeLists.txt
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    A clang/lib/Driver/ToolChains/MSVCSetupApi.h
    M lld/COFF/CMakeLists.txt
    M lld/COFF/Driver.cpp
    M lld/COFF/Driver.h
    M lld/COFF/Options.td
    M lld/COFF/SymbolTable.cpp
    M lld/docs/ReleaseNotes.rst
    R lld/test/COFF/winsysroot.test
    R llvm/include/llvm/WindowsDriver/MSVCPaths.h
    R llvm/include/llvm/WindowsDriver/MSVCSetupApi.h
    M llvm/lib/CMakeLists.txt
    R llvm/lib/WindowsDriver/CMakeLists.txt
    R llvm/lib/WindowsDriver/MSVCPaths.cpp
    M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
    M llvm/utils/gn/secondary/lld/COFF/BUILD.gn
    R llvm/utils/gn/secondary/llvm/lib/WindowsDriver/BUILD.gn

  Log Message:
  -----------
  Revert "try to fix windows build after 73e585e44d" and
Revert "Reland "[lld/coff] Make lld-link work in a non-MSVC shell, add /winsysroot:""

This reverts commit 0574b5fc657451c9d13d3f6d8fe14ea15c23a681 and 73e585e44d68cf77e2e3274e98c9615156a7d909.

This change is causing the test Driver/cl-options.c to fail on Windows buildbots.
https://lab.llvm.org/staging/#/builders/204/builds/1343


  Commit: 389bee71ea71bf5a36e3786d3f60d3aa62e30be3
      https://github.com/llvm/llvm-project/commit/389bee71ea71bf5a36e3786d3f60d3aa62e30be3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp

  Log Message:
  -----------
  [clang-tidy] checkOverridingFunctionReturnType - use castAs<> instead of getAs<> to avoid dereference of nullptr

The pointers are referenced immediately, so assert the cast is correct instead of returning nullptr


  Commit: 5bc13f9d9471adc81c8bf2b62775b6e2fd72f8e6
      https://github.com/llvm/llvm-project/commit/5bc13f9d9471adc81c8bf2b62775b6e2fd72f8e6
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp

  Log Message:
  -----------
  [clang-tidy] ProBoundsConstantArrayIndexCheck::check - use cast<> instead of dyn_cast<> to avoid dereference of nullptr

The pointer is referenced immediately, so assert the cast is correct instead of returning nullptr


  Commit: 003e0382647fa311e1bd48bc5298a3182d6f2552
      https://github.com/llvm/llvm-project/commit/003e0382647fa311e1bd48bc5298a3182d6f2552
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp

  Log Message:
  -----------
  [clang-tidy] getOutermostNamespace - remove redundant nullptr check

The pointer is always dereferenced


  Commit: 99acc0dc6434373dc391ac4c89f6ae6b72ec7208
      https://github.com/llvm/llvm-project/commit/99acc0dc6434373dc391ac4c89f6ae6b72ec7208
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseNoexceptCheck.cpp

  Log Message:
  -----------
  [clang-tidy] UseNoexceptCheck::check - use cast<> instead of dyn_cast<> to avoid dereference of nullptr

The pointer is referenced immediately, so assert the cast is correct instead of returning nullptr


  Commit: ed5d659038362d6ccfebad3d9b7e10e73e681196
      https://github.com/llvm/llvm-project/commit/ed5d659038362d6ccfebad3d9b7e10e73e681196
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp

  Log Message:
  -----------
  [clang-tidy] NoexceptMoveConstructorCheck::check - use castAs<> instead of getAs<> to avoid dereference of nullptr

The pointer is referenced immediately, so assert the cast is correct instead of returning nullptr


  Commit: 9acba5206a91d735bc56ba41f18eabfc81db0513
      https://github.com/llvm/llvm-project/commit/9acba5206a91d735bc56ba41f18eabfc81db0513
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp

  Log Message:
  -----------
  [clang-tidy] FunctionASTVisitor::TraverseStmt - use cast<> instead of dyn_cast<> to avoid dereference of nullptr

The pointer is referenced immediately, so assert the cast is correct instead of returning nullptr


  Commit: 869c066ca8a4231b950b5367f90758de0c6768a3
      https://github.com/llvm/llvm-project/commit/869c066ca8a4231b950b5367f90758de0c6768a3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.cpp

  Log Message:
  -----------
  [clang-tidy] RedundantControlFlowCheck::issueDiagnostic - use cast<> instead of dyn_cast<> to avoid dereference of nullptr

The pointer is referenced immediately, so assert the cast is correct instead of returning nullptr


  Commit: 5e27487fc992cece0d703f0bd83480381764b77b
      https://github.com/llvm/llvm-project/commit/5e27487fc992cece0d703f0bd83480381764b77b
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang/lib/Sema/SemaCast.cpp

  Log Message:
  -----------
  [clang][sema] TryStaticCast - use castAs<> instead of getAs<> to avoid dereference of nullptr

The pointer is referenced immediately, so assert the cast is correct instead of returning nullptr


  Commit: f0f4452ed488bc7d9c3b9693dc110f1107921a08
      https://github.com/llvm/llvm-project/commit/f0f4452ed488bc7d9c3b9693dc110f1107921a08
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang/lib/Sema/SemaChecking.cpp

  Log Message:
  -----------
  [clang][sema] Sema::CheckFreeArguments - use cast<> instead of dyn_cast<> to avoid dereference of nullptr

The pointer is referenced immediately, so assert the cast is correct instead of returning nullptr


  Commit: fbe0ca576d2b96c523182200529b5afbf709506f
      https://github.com/llvm/llvm-project/commit/fbe0ca576d2b96c523182200529b5afbf709506f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang/lib/Sema/SemaCoroutine.cpp

  Log Message:
  -----------
  [clang][sema] checkNoThrow - use cast<> instead of dyn_cast<> to avoid dereference of nullptr

The pointer is referenced immediately, so assert the cast is correct instead of returning nullptr


  Commit: 2188e61691ad89e27583fd3a4197322be830df59
      https://github.com/llvm/llvm-project/commit/2188e61691ad89e27583fd3a4197322be830df59
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang-tools-extra/clang-doc/Serialize.cpp

  Log Message:
  -----------
  [clang-doc] populateParentNamespaces - use cast<> instead of dyn_cast<> to avoid dereference of nullptr

The pointer is referenced immediately, so assert the cast is correct instead of returning nullptr

It's only later iterations of the loop where the getParent() call might return nullptr


  Commit: 7ad94bd74bb5e2c984f541bc1921a9eda73ed973
      https://github.com/llvm/llvm-project/commit/7ad94bd74bb5e2c984f541bc1921a9eda73ed973
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp

  Log Message:
  -----------
  [clang-tidy] ContainerSizeEmptyCheck::check - simplify isa<> and dyn_cast<> repeated calls

Just use dyn_cast<> to determine literal + container values from the binop


  Commit: 0dd49a5628bbe01cecf6516017da59ae44863ab3
      https://github.com/llvm/llvm-project/commit/0dd49a5628bbe01cecf6516017da59ae44863ab3
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M clang/test/Analysis/CFContainers-invalid.c
    M clang/test/Analysis/CGColorSpace.c
    M clang/test/Analysis/Checkers/RunLoopAutoreleaseLeakChecker.m
    M clang/test/Analysis/DeallocUseAfterFreeErrors.m
    M clang/test/Analysis/Inputs/ctu-other.c
    M clang/test/Analysis/NSContainers.m
    M clang/test/Analysis/NSString.m
    M clang/test/Analysis/NSWindow.m
    M clang/test/Analysis/NoReturn.m
    M clang/test/Analysis/OSAtomic_mac.c
    M clang/test/Analysis/UserNullabilityAnnotations.m
    M clang/test/Analysis/_Bool-increment-decrement.c
    M clang/test/Analysis/analyzer-display-progress.m
    M clang/test/Analysis/analyzer-stats.c
    M clang/test/Analysis/arc-zero-init.m
    M clang/test/Analysis/array-struct-region.c
    M clang/test/Analysis/array-struct-region.cpp
    M clang/test/Analysis/array-struct.c
    M clang/test/Analysis/assume-controlled-environment.c
    M clang/test/Analysis/blocks-no-inline.c
    M clang/test/Analysis/blocks-nrvo.c
    M clang/test/Analysis/blocks.m
    M clang/test/Analysis/bsd-string.c
    M clang/test/Analysis/bstring.c
    M clang/test/Analysis/bug_hash_test.m
    M clang/test/Analysis/c11lock.c
    M clang/test/Analysis/call-and-message.c
    M clang/test/Analysis/call-and-message.m
    M clang/test/Analysis/casts.c
    M clang/test/Analysis/casts.m
    M clang/test/Analysis/cert/env34-c.c
    M clang/test/Analysis/cfg.c
    M clang/test/Analysis/class-object-state-dump.m
    M clang/test/Analysis/compound-literals.c
    M clang/test/Analysis/concrete-address.c
    M clang/test/Analysis/constant-folding.c
    M clang/test/Analysis/constraint-assignor.c
    M clang/test/Analysis/conversion-tracking-notes.c
    M clang/test/Analysis/conversion.c
    M clang/test/Analysis/copypaste/generic.c
    M clang/test/Analysis/coverage.c
    M clang/test/Analysis/crash-trace.c
    M clang/test/Analysis/cstring-plist.c
    M clang/test/Analysis/cstring-ranges.c
    M clang/test/Analysis/cstring-syntax-weird2.c
    M clang/test/Analysis/ctu-main.c
    M clang/test/Analysis/dead-stores.c
    M clang/test/Analysis/dead-stores.m
    M clang/test/Analysis/debug-exprinspection-istainted.c
    M clang/test/Analysis/default-analyze.m
    M clang/test/Analysis/default-diagnostic-visitors.c
    M clang/test/Analysis/designated-initializer-values.c
    M clang/test/Analysis/designated-initializer.c
    M clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif
    M clang/test/Analysis/diagnostics/deref-track-symbolic-region.c
    M clang/test/Analysis/diagnostics/false-positive-suppression.c
    M clang/test/Analysis/diagnostics/find_last_store.c
    M clang/test/Analysis/diagnostics/macro-null-return-suppression.cpp
    M clang/test/Analysis/diagnostics/no-prune-paths.c
    M clang/test/Analysis/diagnostics/no-store-func-path-notes.c
    M clang/test/Analysis/diagnostics/no-store-func-path-notes.m
    M clang/test/Analysis/diagnostics/plist-multi-file.c
    M clang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c
    M clang/test/Analysis/diagnostics/shortest-path-suppression.c
    M clang/test/Analysis/diagnostics/text-diagnostics.c
    M clang/test/Analysis/diagnostics/undef-value-callee.h
    M clang/test/Analysis/diagnostics/undef-value-param.c
    M clang/test/Analysis/disable-all-checks.c
    M clang/test/Analysis/dispatch-once.m
    M clang/test/Analysis/domtest.c
    M clang/test/Analysis/double-ranges-bug.c
    M clang/test/Analysis/dump_egraph.c
    M clang/test/Analysis/elementtype.c
    M clang/test/Analysis/enum-cast-out-of-range.c
    M clang/test/Analysis/equality_tracking.c
    M clang/test/Analysis/exercise-ps.c
    M clang/test/Analysis/explain-svals.m
    M clang/test/PCH/decl-in-prototype.c
    M clang/test/PCH/designated-init.c.h
    M clang/test/PCH/different-diagnostic-level.c
    M clang/test/PCH/different-linker-version.c
    M clang/test/PCH/emit-dependencies.c
    M clang/test/PCH/enum.c
    M clang/test/PCH/exprs.c
    M clang/test/PCH/externally-retained.m
    M clang/test/PCH/field-designator.c
    M clang/test/PCH/format-strings.c
    M clang/test/PCH/multiple-include-pch.c
    M clang/test/PCH/nonvisible-external-defs.h
    M clang/test/PCH/objc_container.h
    M clang/test/PCH/objc_import.m
    M clang/test/PCH/objc_literals.m
    M clang/test/PCH/objc_methods.m
    M clang/test/PCH/objc_property.m
    M clang/test/PCH/pch-dir.c
    M clang/test/PCH/pragma-diag.c
    M clang/test/PCH/pragma-optimize.c
    M clang/test/PCH/rdar8852495.c
    M clang/test/PCH/struct.c
    M clang/test/PCH/subscripting-literals.m
    M clang/test/PCH/typo.m
    M clang/test/PCH/undefined-internal.c
    M clang/test/Preprocessor/extension-warning.c
    M clang/test/Preprocessor/macro_raw_string.cpp
    M clang/test/Preprocessor/pragma_assume_nonnull.c
    M clang/test/Preprocessor/pragma_microsoft.c
    M clang/test/Preprocessor/user_defined_system_framework.c
    M clang/test/Profile/c-captured.c
    M clang/test/Profile/c-collision.c
    M clang/test/Profile/c-general.c
    M clang/test/Profile/c-outdated-data.c
    M clang/test/Profile/c-unreachable-after-switch.c
    M clang/test/Profile/coverage-prefix-map.c
    M clang/test/Profile/gcc-flag-compatibility-aix.c
    M clang/test/Profile/gcc-flag-compatibility.c
    M clang/test/Refactor/Extract/ExtractionSemicolonPolicy.m
    M clang/test/Rewriter/blockstruct.m
    M clang/test/Rewriter/crash.m
    M clang/test/Rewriter/finally.m
    M clang/test/Rewriter/objc-synchronized-1.m
    M clang/test/Rewriter/rewrite-captured-nested-bvar.c
    M clang/test/Rewriter/rewrite-foreach-1.m
    M clang/test/Rewriter/rewrite-foreach-2.m
    M clang/test/Rewriter/rewrite-foreach-3.m
    M clang/test/Rewriter/rewrite-foreach-4.m
    M clang/test/Rewriter/rewrite-foreach-7.m
    M clang/test/Rewriter/rewrite-modern-synchronized.m
    M clang/test/Rewriter/rewrite-modern-throw.m
    M clang/test/Rewriter/rewrite-modern-try-catch-finally.m
    M clang/test/Rewriter/rewrite-modern-try-finally.m
    M clang/test/Rewriter/rewrite-try-catch.m
    M clang/test/Rewriter/rewrite-weak-attr.m
    M clang/test/Rewriter/undef-field-reference-1.m
    M clang/test/Rewriter/weak_byref_objects.m
    M clang/test/VFS/framework-import.m
    M clang/test/VFS/implicit-include.c
    M clang/test/VFS/include-mixed-real-and-virtual.c
    M clang/test/VFS/include-real-from-virtual.c
    M clang/test/VFS/include-virtual-from-real.c
    M clang/test/VFS/include.c
    M clang/test/VFS/module-import.m
    M clang/test/VFS/relative-path.c
    M clang/test/VFS/vfsroot-with-overlay.c
    M clang/test/utils/update_cc_test_checks/Inputs/check-globals.c
    M clang/test/utils/update_cc_test_checks/Inputs/def-and-decl.c
    M clang/test/utils/update_cc_test_checks/Inputs/def-and-decl.c.expected
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs-regex.c
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs-regex.c.expected
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.expected
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.expected
    M clang/test/utils/update_cc_test_checks/Inputs/global-hex-value-regex.c
    M clang/test/utils/update_cc_test_checks/Inputs/global-hex-value-regex.c.expected
    M clang/test/utils/update_cc_test_checks/Inputs/global-value-regex.c
    M clang/test/utils/update_cc_test_checks/Inputs/global-value-regex.c.expected
    M clang/test/utils/update_cc_test_checks/Inputs/on_the_fly_arg_change.c
    M clang/test/utils/update_cc_test_checks/Inputs/on_the_fly_arg_change.c.expected
    M clang/test/utils/update_cc_test_checks/check-globals.test

  Log Message:
  -----------
  Use functions with prototypes when appropriate; NFC

A significant number of our tests in C accidentally use functions
without prototypes. This patch converts the function signatures to have
a prototype for the situations where the test is not specific to K&R C
declarations. e.g.,

  void func();

becomes

  void func(void);

This is the eighth batch of tests being updated (there are a
significant number of other tests left to be updated).


  Commit: 919dba9248f63d50e679ad5741d99ed8a8047227
      https://github.com/llvm/llvm-project/commit/919dba9248f63d50e679ad5741d99ed8a8047227
  Author: Michał Górny <mgorny at moritz.systems>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/cmake/config-ix.cmake

  Log Message:
  -----------
  [llvm] [cmake] Fix finding modern ounit2

Apparently modern versions of ounit2 can only be found as "ounit2"
rather than "oUnit" version 2.  Update the CMake check to support both
variants.  This makes the OCaml tests run again with ounit2-2.2.4.

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


  Commit: a9dcbcfe9feff14364b9ea6f5c8d48df41890f8b
      https://github.com/llvm/llvm-project/commit/a9dcbcfe9feff14364b9ea6f5c8d48df41890f8b
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/IR/AffineMap.cpp

  Log Message:
  -----------
  Use AffineMap::getSliceMap where applicable. NFCI.


  Commit: 37cf7275cdba85c105352b11e6e427f6a8275518
      https://github.com/llvm/llvm-project/commit/37cf7275cdba85c105352b11e6e427f6a8275518
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avg.ll

  Log Message:
  -----------
  [X86] Enable vector splitting of ISD::AVGCEILU nodes on AVX1 and non-BWI targets


  Commit: 50673f784692e6502ff3ec2b6efbcdd189c49a4f
      https://github.com/llvm/llvm-project/commit/50673f784692e6502ff3ec2b6efbcdd189c49a4f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/test/CodeGen/X86/combine-pavg.ll

  Log Message:
  -----------
  [X86] Regenerate AVG combines with separate AVX1/AVX2 check prefixes


  Commit: 935a5f67d1d5f8f1bd95150f389680e4db0b3a59
      https://github.com/llvm/llvm-project/commit/935a5f67d1d5f8f1bd95150f389680e4db0b3a59
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M mlir/lib/IR/AffineMap.cpp
    M mlir/lib/IR/AffineMapDetail.h

  Log Message:
  -----------
  [AffineMap] Move result exprs into trailing storage. NFCI.


  Commit: 1e1b60138c2b48b9212c4101de7b684f6652fdd5
      https://github.com/llvm/llvm-project/commit/1e1b60138c2b48b9212c4101de7b684f6652fdd5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-rotates.ll
    M llvm/test/CodeGen/X86/min-legal-vector-width.ll
    M llvm/test/CodeGen/X86/vector-fshl-128.ll
    M llvm/test/CodeGen/X86/vector-fshl-256.ll
    M llvm/test/CodeGen/X86/vector-fshl-512.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-512.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
    M llvm/test/CodeGen/X86/vector-fshr-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-512.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-512.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
    M llvm/test/CodeGen/X86/vector-rotate-128.ll
    M llvm/test/CodeGen/X86/vector-rotate-256.ll
    M llvm/test/CodeGen/X86/vector-rotate-512.ll

  Log Message:
  -----------
  [X86] Improve uniform funnelshift/rotation amount handling

To find uniform shift/rotation amounts, we currently use SelectionDAG::getSplatValue which creates a node that extracts the scalar value from the source vector, this makes it more difficult for later combines to remove the extraction and stay on the SIMD unit, and can be a problem when the scalar type is illegal (i.e. i64 vs v2i64 on 32-bit targets).

This patch begins to use SelectionDAG::getSplatSourceVector (which SelectionDAG::getSplatValue uses internally) and adds a new variant of getTargetVShiftNode that takes the source vector and the splat index, and adjusts the vector in place to create the zero-extended value suitable for the SSE PSLL/PSRL/PSRA uniform instructions.

I'm still addressing a number of regressions when used for normal vector shifts, so I've just handled the funnelshift/rotation lowering for this first patch. I can then focus on the yak shaving (SimplifyDemandedBits/Elts in particular) necessary to always use SelectionDAG::getSplatSourceVector.

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


  Commit: 429f10f5f26802c6fb2debd5403ddc568794b134
      https://github.com/llvm/llvm-project/commit/429f10f5f26802c6fb2debd5403ddc568794b134
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  [SDAG] reduce code duplication and fix formatting; NFC


  Commit: dcf465731d88ec323edb435df953bf6935c216e4
      https://github.com/llvm/llvm-project/commit/dcf465731d88ec323edb435df953bf6935c216e4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/psubus.ll

  Log Message:
  -----------
  [X86] combineAnd - add SimplifyMultipleUseDemandedBits handling to masked vector element analysis

Extend the existing fold to use SimplifyMultipleUseDemandedBits as well as SimplifyDemandedVectorElts/SimplifyDemandedBits when attempting to simplify based off known zero vector elements.


  Commit: 6320c3e77ca7148d76e7be04542cf15600bfff7e
      https://github.com/llvm/llvm-project/commit/6320c3e77ca7148d76e7be04542cf15600bfff7e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combineAndnp - pull out repeated operands. NFC.


  Commit: 1f43367377d517a9da3b7fbfb457d92ad68146a1
      https://github.com/llvm/llvm-project/commit/1f43367377d517a9da3b7fbfb457d92ad68146a1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] getTargetVShiftNode - Fix Wparentheses gcc warning.


  Commit: 96b7e0b5a0c6bd5742af783ed83cc41c299e9472
      https://github.com/llvm/llvm-project/commit/96b7e0b5a0c6bd5742af783ed83cc41c299e9472
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  [SDAG] clean up scalarizing load transform

I have not found a way to expose a difference for this patch in a test
because it only triggers for a one-use load, but this is the code that
was adapted into D118376 and caused miscompiles. The new code pattern
is the same as what we do in narrowExtractedVectorLoad() (reduces load
width for a subvector extract).

This removes seemingly unnecessary manual worklist management and fixes
the chain updating via "SelectionDAG::makeEquivalentMemoryOrdering()".

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


  Commit: 22e69afa3b1dd9e6c77d3a75a77f6f4094e77a26
      https://github.com/llvm/llvm-project/commit/22e69afa3b1dd9e6c77d3a75a77f6f4094e77a26
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h

  Log Message:
  -----------
  [MachineRegisterInfo] Simplify code so it matches the description


  Commit: bee4531bee0c1d9ce64ee80ce26ddd92c23b9ade
      https://github.com/llvm/llvm-project/commit/bee4531bee0c1d9ce64ee80ce26ddd92c23b9ade
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/CodeGen/MachineSink.cpp

  Log Message:
  -----------
  [MachineSink] Inline getRegUnits

Reg unit sets are uniqued, so no need to wrap it in a set.


  Commit: a4ed0c2f03e113aff988e21cf3cd75cabe0aaa0d
      https://github.com/llvm/llvm-project/commit/a4ed0c2f03e113aff988e21cf3cd75cabe0aaa0d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/avx512-insert-extract.ll
    M llvm/test/CodeGen/X86/combine-udiv.ll
    M llvm/test/CodeGen/X86/oddshuffles.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll

  Log Message:
  -----------
  [X86] combineAndnp - if an input has a zero (after inversion for Op0) in a vector element, then we don't demand that bit/element in the other input

Similar to what we already perform in combineAnd


  Commit: 9c55b0e1219eb6781d2344e08608ee4f63674836
      https://github.com/llvm/llvm-project/commit/9c55b0e1219eb6781d2344e08608ee4f63674836
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-fshl-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll

  Log Message:
  -----------
  [X86] LowerFunnelShift - enable v16i16 support


  Commit: 7af3d4ab3d5da07256e1a7a0438e7308e14b9fd5
      https://github.com/llvm/llvm-project/commit/7af3d4ab3d5da07256e1a7a0438e7308e14b9fd5
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
    M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/frame-info.ll
    M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/rv64zbb.ll
    M llvm/test/CodeGen/RISCV/shrinkwrap.ll

  Log Message:
  -----------
  Revert "[RISCV] Enable shrink wrap by default"

This reverts commit 5ebdb07e7eb366c20fa2d914e07a4d380975f266.

Enabling shrink wrap by default can cause assertions or crashes, and
these should first be investigated and fixed. For now, reverting the
change so it can be cherry-picked into 14.0.0 is the safest choice.


  Commit: 84bb14599f14b590edb2c1e45b5548af3554e551
      https://github.com/llvm/llvm-project/commit/84bb14599f14b590edb2c1e45b5548af3554e551
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2022-02-12 (Sat, 12 Feb 2022)

  Changed paths:
    M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.pass.cpp
    M libcxx/test/std/atomics/types.pass.cpp
    M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp
    M libcxx/test/std/concepts/concepts.object/movable.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/types.compile.pass.cpp
    M libcxx/test/support/test_macros.h

  Log Message:
  -----------
  [libc++][nfc] Add TEST_HAS_NO_THREADS.

This avoids using an libc++ internal macro in our tests.

Reviewed By: #libc, philnik, ldionne

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


  Commit: 038a71a62bf3f5d7428a7b70d02035ba997b0404
      https://github.com/llvm/llvm-project/commit/038a71a62bf3f5d7428a7b70d02035ba997b0404
  Author: phyBrackets <singh.shivamsingh2003 at gmail.com>
  Date:   2022-02-13 (Sun, 13 Feb 2022)

  Changed paths:
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsConstantArrayIndexCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNoexceptCheck.cpp
    M clang-tools-extra/clang-tidy/performance/NoexceptMoveConstructorCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
    M clang-tools-extra/clang-tidy/readability/FunctionCognitiveComplexityCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantControlFlowCheck.cpp
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Format/Format.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/test/Analysis/CFContainers-invalid.c
    M clang/test/Analysis/CGColorSpace.c
    M clang/test/Analysis/Checkers/RunLoopAutoreleaseLeakChecker.m
    M clang/test/Analysis/DeallocUseAfterFreeErrors.m
    M clang/test/Analysis/Inputs/ctu-other.c
    M clang/test/Analysis/NSContainers.m
    M clang/test/Analysis/NSString.m
    M clang/test/Analysis/NSWindow.m
    M clang/test/Analysis/NoReturn.m
    M clang/test/Analysis/OSAtomic_mac.c
    M clang/test/Analysis/UserNullabilityAnnotations.m
    M clang/test/Analysis/_Bool-increment-decrement.c
    M clang/test/Analysis/analyzer-display-progress.m
    M clang/test/Analysis/analyzer-stats.c
    M clang/test/Analysis/arc-zero-init.m
    M clang/test/Analysis/array-struct-region.c
    M clang/test/Analysis/array-struct-region.cpp
    M clang/test/Analysis/array-struct.c
    M clang/test/Analysis/assume-controlled-environment.c
    M clang/test/Analysis/blocks-no-inline.c
    M clang/test/Analysis/blocks-nrvo.c
    M clang/test/Analysis/blocks.m
    M clang/test/Analysis/bsd-string.c
    M clang/test/Analysis/bstring.c
    M clang/test/Analysis/bug_hash_test.m
    M clang/test/Analysis/c11lock.c
    M clang/test/Analysis/call-and-message.c
    M clang/test/Analysis/call-and-message.m
    M clang/test/Analysis/casts.c
    M clang/test/Analysis/casts.m
    M clang/test/Analysis/cert/env34-c.c
    M clang/test/Analysis/cfg.c
    M clang/test/Analysis/class-object-state-dump.m
    M clang/test/Analysis/compound-literals.c
    M clang/test/Analysis/concrete-address.c
    M clang/test/Analysis/constant-folding.c
    M clang/test/Analysis/constraint-assignor.c
    M clang/test/Analysis/conversion-tracking-notes.c
    M clang/test/Analysis/conversion.c
    M clang/test/Analysis/copypaste/generic.c
    M clang/test/Analysis/coverage.c
    M clang/test/Analysis/crash-trace.c
    M clang/test/Analysis/cstring-plist.c
    M clang/test/Analysis/cstring-ranges.c
    M clang/test/Analysis/cstring-syntax-weird2.c
    M clang/test/Analysis/ctu-main.c
    M clang/test/Analysis/dead-stores.c
    M clang/test/Analysis/dead-stores.m
    M clang/test/Analysis/debug-exprinspection-istainted.c
    M clang/test/Analysis/default-analyze.m
    M clang/test/Analysis/default-diagnostic-visitors.c
    M clang/test/Analysis/designated-initializer-values.c
    M clang/test/Analysis/designated-initializer.c
    M clang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif
    M clang/test/Analysis/diagnostics/deref-track-symbolic-region.c
    M clang/test/Analysis/diagnostics/false-positive-suppression.c
    M clang/test/Analysis/diagnostics/find_last_store.c
    M clang/test/Analysis/diagnostics/macro-null-return-suppression.cpp
    M clang/test/Analysis/diagnostics/no-prune-paths.c
    M clang/test/Analysis/diagnostics/no-store-func-path-notes.c
    M clang/test/Analysis/diagnostics/no-store-func-path-notes.m
    M clang/test/Analysis/diagnostics/plist-multi-file.c
    M clang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c
    M clang/test/Analysis/diagnostics/shortest-path-suppression.c
    M clang/test/Analysis/diagnostics/text-diagnostics.c
    M clang/test/Analysis/diagnostics/undef-value-callee.h
    M clang/test/Analysis/diagnostics/undef-value-param.c
    M clang/test/Analysis/disable-all-checks.c
    M clang/test/Analysis/dispatch-once.m
    M clang/test/Analysis/domtest.c
    M clang/test/Analysis/double-ranges-bug.c
    M clang/test/Analysis/dump_egraph.c
    M clang/test/Analysis/elementtype.c
    M clang/test/Analysis/enum-cast-out-of-range.c
    M clang/test/Analysis/equality_tracking.c
    M clang/test/Analysis/exercise-ps.c
    M clang/test/Analysis/explain-svals.m
    R clang/test/CodeGenCUDA/amdgpu-asan-printf.cu
    M clang/test/CodeGenCUDA/amdgpu-asan.cu
    M clang/test/Driver/cl-options.c
    M clang/test/PCH/decl-in-prototype.c
    M clang/test/PCH/designated-init.c.h
    M clang/test/PCH/different-diagnostic-level.c
    M clang/test/PCH/different-linker-version.c
    M clang/test/PCH/emit-dependencies.c
    M clang/test/PCH/enum.c
    M clang/test/PCH/exprs.c
    M clang/test/PCH/externally-retained.m
    M clang/test/PCH/field-designator.c
    M clang/test/PCH/format-strings.c
    M clang/test/PCH/multiple-include-pch.c
    M clang/test/PCH/nonvisible-external-defs.h
    M clang/test/PCH/objc_container.h
    M clang/test/PCH/objc_import.m
    M clang/test/PCH/objc_literals.m
    M clang/test/PCH/objc_methods.m
    M clang/test/PCH/objc_property.m
    M clang/test/PCH/pch-dir.c
    M clang/test/PCH/pragma-diag.c
    M clang/test/PCH/pragma-optimize.c
    M clang/test/PCH/rdar8852495.c
    M clang/test/PCH/struct.c
    M clang/test/PCH/subscripting-literals.m
    M clang/test/PCH/typo.m
    M clang/test/PCH/undefined-internal.c
    M clang/test/Preprocessor/extension-warning.c
    M clang/test/Preprocessor/macro_raw_string.cpp
    M clang/test/Preprocessor/pragma_assume_nonnull.c
    M clang/test/Preprocessor/pragma_microsoft.c
    M clang/test/Preprocessor/user_defined_system_framework.c
    M clang/test/Profile/c-captured.c
    M clang/test/Profile/c-collision.c
    M clang/test/Profile/c-general.c
    M clang/test/Profile/c-outdated-data.c
    M clang/test/Profile/c-unreachable-after-switch.c
    M clang/test/Profile/coverage-prefix-map.c
    M clang/test/Profile/gcc-flag-compatibility-aix.c
    M clang/test/Profile/gcc-flag-compatibility.c
    M clang/test/Refactor/Extract/ExtractionSemicolonPolicy.m
    M clang/test/Rewriter/blockstruct.m
    M clang/test/Rewriter/crash.m
    M clang/test/Rewriter/finally.m
    M clang/test/Rewriter/objc-synchronized-1.m
    M clang/test/Rewriter/rewrite-captured-nested-bvar.c
    M clang/test/Rewriter/rewrite-foreach-1.m
    M clang/test/Rewriter/rewrite-foreach-2.m
    M clang/test/Rewriter/rewrite-foreach-3.m
    M clang/test/Rewriter/rewrite-foreach-4.m
    M clang/test/Rewriter/rewrite-foreach-7.m
    M clang/test/Rewriter/rewrite-modern-synchronized.m
    M clang/test/Rewriter/rewrite-modern-throw.m
    M clang/test/Rewriter/rewrite-modern-try-catch-finally.m
    M clang/test/Rewriter/rewrite-modern-try-finally.m
    M clang/test/Rewriter/rewrite-try-catch.m
    M clang/test/Rewriter/rewrite-weak-attr.m
    M clang/test/Rewriter/undef-field-reference-1.m
    M clang/test/Rewriter/weak_byref_objects.m
    M clang/test/VFS/framework-import.m
    M clang/test/VFS/implicit-include.c
    M clang/test/VFS/include-mixed-real-and-virtual.c
    M clang/test/VFS/include-real-from-virtual.c
    M clang/test/VFS/include-virtual-from-real.c
    M clang/test/VFS/include.c
    M clang/test/VFS/module-import.m
    M clang/test/VFS/relative-path.c
    M clang/test/VFS/vfsroot-with-overlay.c
    M clang/test/utils/update_cc_test_checks/Inputs/check-globals.c
    M clang/test/utils/update_cc_test_checks/Inputs/def-and-decl.c
    M clang/test/utils/update_cc_test_checks/Inputs/def-and-decl.c.expected
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs-regex.c
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs-regex.c.expected
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.generated.expected
    M clang/test/utils/update_cc_test_checks/Inputs/generated-funcs.c.no-generated.expected
    M clang/test/utils/update_cc_test_checks/Inputs/global-hex-value-regex.c
    M clang/test/utils/update_cc_test_checks/Inputs/global-hex-value-regex.c.expected
    M clang/test/utils/update_cc_test_checks/Inputs/global-value-regex.c
    M clang/test/utils/update_cc_test_checks/Inputs/global-value-regex.c.expected
    M clang/test/utils/update_cc_test_checks/Inputs/on_the_fly_arg_change.c
    M clang/test/utils/update_cc_test_checks/Inputs/on_the_fly_arg_change.c.expected
    M clang/test/utils/update_cc_test_checks/check-globals.test
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/lib/asan/asan_linux.cpp
    M compiler-rt/lib/asan/asan_poisoning.cpp
    M compiler-rt/lib/asan/asan_report.cpp
    M compiler-rt/lib/asan/asan_rtl.cpp
    M compiler-rt/lib/hwasan/hwasan.cpp
    M compiler-rt/lib/lsan/lsan.cpp
    M compiler-rt/lib/memprof/memprof_rtl.cpp
    M compiler-rt/lib/msan/msan.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_common.h
    M compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_file.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_file.h
    M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_win.cpp
    M compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cpp
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
    M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
    M compiler-rt/lib/ubsan/ubsan_init.cpp
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/program-tree.cpp
    M flang/lib/Semantics/program-tree.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/runtime/transformational.cpp
    A flang/test/Fir/alloc.fir
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Semantics/assign03.f90
    M flang/test/Semantics/associated.f90
    M flang/test/Semantics/reshape.f90
    M flang/test/Semantics/resolve18.f90
    M flang/test/Semantics/resolve69.f90
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/stdlib/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    A libc/test/src/__support/CPP/CMakeLists.txt
    A libc/test/src/__support/CPP/arrayref_test.cpp
    A libc/test/src/__support/CPP/bitset_test.cpp
    A libc/test/src/__support/CPP/limits_test.cpp
    A libc/test/src/__support/CPP/stringview_test.cpp
    A libc/test/src/__support/CPP/vector_test.cpp
    M libc/test/utils/CMakeLists.txt
    R libc/test/utils/CPP/CMakeLists.txt
    R libc/test/utils/CPP/arrayref_test.cpp
    R libc/test/utils/CPP/bitset_test.cpp
    R libc/test/utils/CPP/limits_test.cpp
    R libc/test/utils/CPP/stringview_test.cpp
    R libc/test/utils/CPP/vector_test.cpp
    M libcxx/cmake/caches/Generic-asan.cmake
    M libcxx/docs/Status/Cxx2bIssues.csv
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__algorithm/in_fun_result.h
    M libcxx/include/__algorithm/in_in_out_result.h
    M libcxx/include/__algorithm/in_in_result.h
    M libcxx/include/__algorithm/in_out_out_result.h
    M libcxx/include/__algorithm/in_out_result.h
    M libcxx/include/__algorithm/ranges_swap_ranges.h
    M libcxx/include/__config
    M libcxx/include/__format/format_arg.h
    M libcxx/include/__format/format_context.h
    M libcxx/include/__format/formatter_bool.h
    R libcxx/include/__functional_base
    M libcxx/include/__iterator/counted_iterator.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__ranges/access.h
    M libcxx/include/__ranges/copyable_box.h
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/join_view.h
    M libcxx/include/__ranges/reverse_view.h
    M libcxx/include/__ranges/subrange.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/transform_view.h
    M libcxx/include/__threading_support
    M libcxx/include/bitset
    M libcxx/include/experimental/__memory
    M libcxx/include/iterator
    M libcxx/include/memory
    M libcxx/include/module.modulemap
    M libcxx/include/optional
    M libcxx/include/string
    M libcxx/include/system_error
    M libcxx/include/thread
    M libcxx/include/tuple
    M libcxx/include/typeindex
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/test/libcxx/utilities/format/format.string/format.string.std/std_format_spec_bool.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.pass.cpp
    M libcxx/test/std/atomics/types.pass.cpp
    M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp
    M libcxx/test/std/concepts/concepts.object/movable.compile.pass.cpp
    M libcxx/test/std/language.support/cmp/cmp.concept/three_way_comparable.compile.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp
    M libcxx/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
    M libcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
    M libcxx/test/std/ranges/range.access/begin.pass.cpp
    M libcxx/test/std/ranges/range.access/end.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/member_typedefs.compile.pass.cpp
    M libcxx/test/std/ranges/range.factories/range.iota.view/iterator/minus.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string.accessors/c_str.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string.accessors/data.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string.accessors/get_allocator.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/pointer.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_T_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/size_size_string_view.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/string.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_compare/string_view.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.not.of/char_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.not.of/pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.not.of/pointer_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.not.of/string_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.not.of/string_view_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.of/char_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.of/pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.of/pointer_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.of/string_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.first.of/string_view_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.not.of/char_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.not.of/pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.not.of/pointer_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.not.of/string_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.not.of/string_view_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.of/char_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.of/pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.of/pointer_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.of/string_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find.last.of/string_view_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find/char_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find/pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find/pointer_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find/string_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_find/string_view_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_rfind/char_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_rfind/pointer_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_rfind/pointer_size_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_rfind/string_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_rfind/string_view_size.pass.cpp
    M libcxx/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp
    M libcxx/test/std/strings/string.view/trivially_copyable.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.arguments/format.arg/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/advance_to.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/arg.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/locale.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.context/format.context/out.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/types.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/format_tests.h
    M libcxx/test/std/utilities/utility/utility.intcmp/intcmp.fail.cpp
    M libcxx/test/support/test_macros.h
    M libcxx/utils/generate_private_header_tests.py
    M libcxx/utils/libcxx/test/params.py
    M lld/MachO/Driver.cpp
    M lld/MachO/LTO.cpp
    M lld/MachO/MapFile.cpp
    M lld/test/MachO/lto-internalize.ll
    M lld/test/MachO/map-file.s
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M llvm/cmake/config-ix.cmake
    M llvm/docs/LangRef.rst
    M llvm/docs/SourceLevelDebugging.rst
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
    M llvm/include/llvm/BinaryFormat/Swift.def
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/ProfileData/SampleProf.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Target/Target.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/CodeGen/CodeGenCommonISel.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
    M llvm/lib/ProfileData/SampleProf.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAttributes.def
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUReplaceLDSUseWithPointer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/SIModeRegister.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    R llvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.cpp
    R llvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUMemoryUtils.h
    M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt
    M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
    M llvm/lib/Target/M68k/CMakeLists.txt
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.h
    M llvm/lib/Target/M68k/M68kInstrArithmetic.td
    M llvm/lib/Target/M68k/M68kInstrFormats.td
    M llvm/lib/Target/M68k/M68kInstrInfo.td
    M llvm/lib/Target/M68k/M68kRegisterInfo.h
    M llvm/lib/Target/M68k/MCTargetDesc/M68kMCCodeEmitter.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZ196.td
    M llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
    M llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/test/Analysis/ScalarEvolution/logical-operations.ll
    M llvm/test/Analysis/ScalarEvolution/min-max-exprs.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/addsub.ll
    M llvm/test/CodeGen/AArch64/arm64-instruction-mix-remarks.ll
    R llvm/test/CodeGen/AArch64/tailcall-ssp-split-debug.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.gfx.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
    M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
    M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
    M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
    M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
    M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
    A llvm/test/CodeGen/AMDGPU/fail.llvm.fptrunc.round.ll
    M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.private.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-fold-fi.mir
    M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
    M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel-v3.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args-v3.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args-v5.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args.ll
    R llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent-v3.ll
    R llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent.ll
    M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present-v3-asan.ll
    R llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present-v3.ll
    R llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present.ll
    A llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v3.ll
    A llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-v5.ll
    A llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
    M llvm/test/CodeGen/AMDGPU/load-hi16.ll
    M llvm/test/CodeGen/AMDGPU/load-lo16.ll
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-fixed-align.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.ll
    M llvm/test/CodeGen/AMDGPU/multi-dword-vgpr-spill.ll
    M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
    M llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill-partial-agpr.mir
    M llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
    M llvm/test/CodeGen/AMDGPU/pei-scavenge-vgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/propagate-flat-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/scratch-simple.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
    M llvm/test/CodeGen/AMDGPU/spill-to-agpr-partial.mir
    M llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
    M llvm/test/CodeGen/AMDGPU/store-hi16.ll
    M llvm/test/CodeGen/AMDGPU/unaligned-load-store.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
    M llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
    M llvm/test/CodeGen/AMDGPU/vector-spill-restore-to-other-vector-type.mir
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir
    M llvm/test/CodeGen/M68k/Arith/bitwise.ll
    M llvm/test/CodeGen/M68k/Control/cmp.ll
    M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
    M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
    M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/frame-info.ll
    M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
    M llvm/test/CodeGen/RISCV/rv32zbb.ll
    M llvm/test/CodeGen/RISCV/rv64zbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
    M llvm/test/CodeGen/RISCV/shrinkwrap.ll
    A llvm/test/CodeGen/RISCV/unroll-loop-cse.ll
    M llvm/test/CodeGen/X86/avg.ll
    M llvm/test/CodeGen/X86/avx512-insert-extract.ll
    M llvm/test/CodeGen/X86/combine-pavg.ll
    M llvm/test/CodeGen/X86/combine-rotates.ll
    M llvm/test/CodeGen/X86/combine-udiv.ll
    M llvm/test/CodeGen/X86/extractelement-load.ll
    M llvm/test/CodeGen/X86/merge-consecutive-stores-nt.ll
    M llvm/test/CodeGen/X86/min-legal-vector-width.ll
    M llvm/test/CodeGen/X86/oddshuffles.ll
    M llvm/test/CodeGen/X86/psubus.ll
    M llvm/test/CodeGen/X86/vector-bo-select.ll
    M llvm/test/CodeGen/X86/vector-fshl-128.ll
    M llvm/test/CodeGen/X86/vector-fshl-256.ll
    M llvm/test/CodeGen/X86/vector-fshl-512.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-512.ll
    M llvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
    M llvm/test/CodeGen/X86/vector-fshr-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-512.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-512.ll
    M llvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
    M llvm/test/CodeGen/X86/vector-rotate-128.ll
    M llvm/test/CodeGen/X86/vector-rotate-256.ll
    M llvm/test/CodeGen/X86/vector-rotate-512.ll
    M llvm/test/DebugInfo/COFF/compiler-version-overflow.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/alloca-uninteresting.ll
    M llvm/test/MC/Disassembler/M68k/arithmetic.txt
    A llvm/test/TableGen/VarLenEncoder.td
    M llvm/test/Transforms/ConstraintElimination/wrapping-math.ll
    A llvm/test/Transforms/Coroutines/coro-debug-dbg.addr-swift.ll
    A llvm/test/Transforms/Coroutines/coro-debug-dbg.addr.ll
    A llvm/test/Transforms/InferAddressSpaces/AMDGPU/insert-pos-assert.ll
    M llvm/test/Transforms/Inline/always-inline.ll
    M llvm/test/Transforms/LoopDistribute/symbolic-stride.ll
    M llvm/test/Transforms/LoopLoadElim/symbolic-stride.ll
    M llvm/test/Transforms/OpenMP/barrier_removal.ll
    A llvm/test/Verifier/llvm.fptrunc.round.ll
    M llvm/test/tools/dsymutil/Inputs/reflection_metadata.yaml
    M llvm/test/tools/dsymutil/X86/reflection-dump.test
    M llvm/test/tools/llvm-profdata/cs-sample-nested-profile.test
    M llvm/test/tools/llvm-profgen/cs-preinline.test
    M llvm/unittests/IR/ConstantsTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/Support/CommandLineTest.cpp
    M llvm/unittests/Support/Host.cpp
    M llvm/utils/TableGen/CMakeLists.txt
    M llvm/utils/TableGen/CodeEmitterGen.cpp
    M llvm/utils/TableGen/CodeGenRegisters.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    A llvm/utils/TableGen/VarLenCodeEmitterGen.cpp
    A llvm/utils/TableGen/VarLenCodeEmitterGen.h
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/Utils/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/GPU/Transforms/SerializeToHsaco.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/IR/AffineMap.cpp
    M mlir/lib/IR/AffineMapDetail.h
    M openmp/runtime/src/kmp_settings.cpp
    A openmp/runtime/test/tasking/hidden_helper_task/single_helper_thread.c
    M polly/test/ForwardOpTree/changed-kind.ll
    A test/.gitattributes
    M utils/bazel/README.md
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' of https://github.com/llvm/llvm-project into arcpatch-D119364


Compare: https://github.com/llvm/llvm-project/compare/4f72fbab3d14...038a71a62bf3


More information about the All-commits mailing list