1. PowerPC Flang+MLIR buildbot cmake fix (details)
Commit 2e57006f2b776c937abb3cdb8ff70d4e27982589 by zrselk
PowerPC Flang+MLIR buildbot cmake fix

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

Resolving issue of double quoting cmake flag changing $ cmake '-DLLVM_TARGETS_TO_BUILD="PowerPC"'
to $ cmake '-DLLVM_TARGETS_TO_BUILD=PowerPC'
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)


  1. [ConstProp] Handle insertelement constants (details)
  2. [X86][ELF] Prefer lowering MC_GlobalAddress operands to .Lfoo$local for STV_DEFAULT only (details)
  3. [NewPM][CodeGen] Add machine code verification callback (details)
  4. hwasan: Emit the globals note even when globals are uninstrumented. (details)
  5. [WebAssembly] Add missing lit.local.cfg (details)
  6. [mlir] [VectorOps] Canonicalization of 1-D memory operations (details)
  7. [NFC] Remove unused function. (details)
  8. Revert "[SLC] sprintf(dst, "%s", str) -> strcpy(dst, str)" (details)
  9. [DebugInfo] Avoid an infinite loop with a truncated pre-v5 .debug_str_offsets.dwo. (details)
  10. [NFCI][SimpleLoopUnswitch] Adjust CostKind query (details)
  11. [SVE] Fix bug in SVEIntrinsicOpts::optimizePTest (details)
  12. [AMDGPU] Enable .rodata for amdpal os (details)
  13. [lldb] Fix a crash when tab-completion an empty line in a function with only one local variable (details)
  14. [SyntaxTree] Split `TreeTestBase` into header and source (details)
  15. [gn build] Port 2e4a20fd706 (details)
  16. [CGAtomic] Mark atomic libcall functions `nounwind` (details)
Commit 41f49736a9a06650d9d4f1ada21d051585ab7bbe by aeubanks
[ConstProp] Handle insertelement constants

Previously ConstantFoldExtractElementInstruction() would only work with
insertelement instructions, not contants. This properly handles
insertelement constants as well.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D85865
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/vscale.ll
Commit 4cb016cd2d8467c572b2e5c5d34f376ee79e4ac1 by Ben.Dunbobbin
[X86][ELF] Prefer lowering MC_GlobalAddress operands to .Lfoo$local for STV_DEFAULT only

This patch restricts the behaviour of referencing via .Lfoo$local
local aliases, introduced in https://reviews.llvm.org/D73230, to
STV_DEFAULT globals only.

Hidden symbols via --fvisiblity=hidden (https://gcc.gnu.org/wiki/Visibility)
is an important scenario.


- Improves the size of object files by using fewer STT_SECTION symbols.

- The code reads a bit better (it was not obvious to me without going
  back to the code reviews why the canBenefitFromLocalAlias function
  currently doesn't consider visibility).

- There is also a side benefit in restoring the effectiveness of the
  --wrap linker option and making the behavior of --wrap consistent
  between LTO and normal builds for references within a translation-unit.
  Note: this --wrap behavior (which is specific to LLD) should not be
  considered reliable. See comments on https://reviews.llvm.org/D73230
  for more.

Differential Revision: https://reviews.llvm.org/D85782
The file was modifiedllvm/test/CodeGen/X86/tailcallpic1.ll
The file was modifiedllvm/test/CodeGen/X86/linux-preemption.ll
The file was modifiedllvm/lib/IR/Globals.cpp
The file was modifiedllvm/test/CodeGen/X86/2008-03-12-ThreadLocalAlias.ll
The file was modifiedllvm/test/CodeGen/X86/tailccpic1.ll
The file was modifiedllvm/test/CodeGen/AArch64/emutls.ll
The file was modifiedllvm/test/CodeGen/X86/semantic-interposition-comdat.ll
The file was modifiedllvm/test/CodeGen/X86/tailcallpic3.ll
The file was modifiedllvm/test/CodeGen/ARM/emutls.ll
Commit a5ed20b549782bf284162c712af4673f7cd75222 by Yuanfang Chen
[NewPM][CodeGen] Add machine code verification callback

D83608 need this.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D85916
The file was modifiedllvm/lib/CodeGen/MachinePassManager.cpp
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachinePassManager.h
The file was modifiedllvm/include/llvm/CodeGen/MachineFunction.h
Commit c201f27225857a6d0ba85df6ef7d5cbcc2c04e44 by peter
hwasan: Emit the globals note even when globals are uninstrumented.

This lets us support the scenario where a binary is linked from a mix
of object files with both instrumented and non-instrumented globals.
This is likely to occur on Android where the decision of whether to use
instrumented globals is based on the API level, which is user-facing.

Previously, in this scenario, it was possible for the comdat from
one of the object files with non-instrumented globals to be selected,
and since this comdat did not contain the note it would mean that the
note would be missing in the linked binary and the globals' shadow
memory would be left uninitialized, leading to a tag mismatch failure
at runtime when accessing one of the instrumented globals.

It is harmless to include the note when targeting a runtime that does
not support instrumenting globals because it will just be ignored.

Differential Revision: https://reviews.llvm.org/D85871
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was modifiedllvm/test/Instrumentation/HWAddressSanitizer/globals.ll
Commit b182ccfc2d6a59d0fad0685746b48f462ebf6052 by tlively
[WebAssembly] Add missing lit.local.cfg
The file was addedllvm/test/Transforms/Inline/WebAssembly/lit.local.cfg
Commit 6b66f21446b982ec698830d0ea8469cee0b208ac by ajcbik
[mlir] [VectorOps] Canonicalization of 1-D memory operations

Masked loading/storing in various forms can be optimized
into simpler memory operations when the mask is all true
or all false. Note that the backend does similar optimizations
but doing this early may expose more opportunities for further
optimizations. This further prepares progressively lowering
transfer read and write into 1-D memory operations.

Reviewed By: ThomasRaoux

Differential Revision: https://reviews.llvm.org/D85769
The file was addedmlir/test/Dialect/Vector/vector-mem-transforms.mlir
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
Commit 800f0eda5b15eb36339336947a601b942d8735a4 by hubert.reinterpretcast
[NFC] Remove unused function.

Differential Revision: https://reviews.llvm.org/D85944
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform_posix.cpp
Commit 48cd5b72b13c1283eedb0f3fac7c14167da7fc2f by aeubanks
Revert "[SLC] sprintf(dst, "%s", str) -> strcpy(dst, str)"

This reverts commit ab9fc8bae805c785066779e76e7846aabad5609e.

Incorrect transformation if the result is used.
Causes breakages, e.g.
The file was modifiedllvm/test/Transforms/InstCombine/sprintf-1.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll
Commit 95fad44e34c3c20263961a715571d798d90921f6 by ikudrin
[DebugInfo] Avoid an infinite loop with a truncated pre-v5 .debug_str_offsets.dwo.

dumpStringOffsetsSection() expects the size of a contribution to be
correctly aligned. The patch adds the corresponding verifications for
pre-v5 cases.

Differential Revision: https://reviews.llvm.org/D85739
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
The file was addedllvm/test/DebugInfo/X86/dwarfdump-str-offsets-v4-invalid.s
Commit 725400f9933fe58273d4500d8d6a77a438c43798 by sam.parker
[NFCI][SimpleLoopUnswitch] Adjust CostKind query

When getUserCost was transitioned to use an explicit CostKind,
TCK_CodeSize was used even though the original kind was implicitly
SizeAndLatency so restore this behaviour. We now only query for
CodeSize when optimising for minsize.

I expect this to not change anything as, I think all, targets will
currently return the same value for CodeSize and SizeLatency. Indeed
I see no changes in the test suite for Arm, AArch64 and X86.

Differential Revision: https://reviews.llvm.org/D85829
The file was addedllvm/test/Transforms/SimpleLoopUnswitch/ARM/lit.local.cfg
The file was addedllvm/test/Transforms/SimpleLoopUnswitch/ARM/nontrivial-unswitch-cost.ll
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
Commit 6c7957c9901714b7ad0a8d2743a8c431b57fd0c9 by david.sherwood
[SVE] Fix bug in SVEIntrinsicOpts::optimizePTest

The code wasn't taking into account that the two operands
passed to ptest could be identical and was trying to erase
them twice.

Differential Revision: https://reviews.llvm.org/D85892
The file was modifiedllvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsic-opts-ptest.ll
Commit 9aa0ff77bdc762b70123192d7f0bd3e95bc83788 by sebastian.neubauer
[AMDGPU] Enable .rodata for amdpal os

PAL recently got support for multiple ELF sections and relocations,
therefore we can now use .rodata sections instead of forcing constants
into .text.

Differential Revision: https://reviews.llvm.org/D85895
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/global-value.ll
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/global-constant.ll
Commit bbe3c479a6adf0abfe5d111e9ba206daa5a1eb2b by Raphael Isemann
[lldb] Fix a crash when tab-completion an empty line in a function with only one local variable

When LLDB sees only one possible completion for an input, it will add a trailing
space to the completion to signal that to the user. If the current argument is
quoted, that also means LLDB needs to add the trailing quote to finish the
current argument first.

In case the user is in a function with only one local variable and is currently
editing an empty line in the multiline expression editor, then we are in the
unique situation where we can have a unique completion for an empty input line.
(In a normal LLDB session this would never occur as empty input would just list
all the possible commands).

In this special situation our check if the current argument needs to receive a
trailing quote will crash LLDB as there is no current argument and the
completion code just unconditionally tries to access the current argument. This
just adds the missing check if we even have a current argument before we check
if we need to add a terminating quote character.

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D85903
The file was modifiedlldb/test/API/commands/expression/multiline-completion/TestMultilineCompletion.py
The file was modifiedlldb/test/API/commands/expression/multiline-completion/main.c
The file was modifiedlldb/source/Host/common/Editline.cpp
Commit 2e4a20fd7062f65c06b438953de3d340df00b7a7 by ecaldas
[SyntaxTree] Split `TreeTestBase` into header and source

* Switch to using directive on source files.
* Remove unused `SyntaxTreeTest::addFile`

Differential Revision: https://reviews.llvm.org/D85913
The file was modifiedclang/unittests/Tooling/Syntax/CMakeLists.txt
The file was modifiedclang/unittests/Tooling/Syntax/MutationsTest.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTestBase.h
The file was addedclang/unittests/Tooling/Syntax/TreeTestBase.cpp
The file was modifiedclang/unittests/Tooling/Syntax/BuildTreeTest.cpp
Commit d795f968d92ddc517d2f56725bc12fd096ac5537 by llvmgnsyncbot
[gn build] Port 2e4a20fd706
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Tooling/Syntax/BUILD.gn
Commit 909a851dbffeb3637c19268e12e10fdf3dae2add by guiand
[CGAtomic] Mark atomic libcall functions `nounwind`

These functions won't ever unwind. This is useful for MemorySanitizer
as it simplifies handling __atomic_load in particular.

Differential Revision: https://reviews.llvm.org/D85573
The file was modifiedclang/lib/CodeGen/CGAtomic.cpp
The file was modifiedclang/test/CodeGen/atomic_ops.c


  1. PowerPC Flang+MLIR buildbot cmake fix (details)
Commit 2e57006f2b776c937abb3cdb8ff70d4e27982589 by zrselk
PowerPC Flang+MLIR buildbot cmake fix

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

Resolving issue of double quoting cmake flag changing $ cmake '-DLLVM_TARGETS_TO_BUILD="PowerPC"'
to $ cmake '-DLLVM_TARGETS_TO_BUILD=PowerPC'
The file was modifiedbuildbot/osuosl/master/config/builders.py