SuccessChanges

Summary

  1. [AMDGPU] gfx1032 target (details)
  2. [MTE] Pin the tagged base pointer to one of the stack slots. (details)
  3. [AArch64] Stack frame reordering. (details)
  4. [gn bulid] Remove phantom WebAssembly tablegen() calls (details)
  5. [NFC][SCEV] Autogenerate check lines in tests being affected by upcoming patch (details)
  6. [NFC][LSR] Autogenerate check lines in tests being affected by upcoming patch (details)
  7. [NFC][IndVars] Autogenerate check lines in tests being affected by upcoming patch (details)
  8. [AMDGPU] SILowerControlFlow::removeMBBifRedundant should not try to change MBB layout if it can fallthrough (details)
  9. [libc] Use entrypoints.txt as the single source of list of functions for a platform. (details)
  10. PR47864: Fix assertion in pointer-to-member emission if there are (details)
  11. [libTooling] Change `after` range-selector to operate only on source ranges (details)
  12. [LoopVersion] Unify SCEVChecks and alias check handling (NFC). (details)
  13. fix symbol printing on windows (details)
  14. [WebAssembly] Prototype i8x16.popcnt (details)
  15. Revert "[clang] Add -fc++-abi= flag for specifying which C++ ABI to use" (details)
  16. Revert "[HIP] Change default --gpu-max-threads-per-block value to 1024" (details)
  17. [VE] Support fabs/fcos/fsin/fsqrt math functions (details)
  18. [VE] Add VGT/VSC/PFCHV instructions (details)
  19. Add an SB API to get the SBTarget from an SBBreakpoint (details)
Commit d1beb95d1241ec50bdf19db351d273374a146a4a by Stanislav.Mekhanoshin
[AMDGPU] gfx1032 target

Differential Revision: https://reviews.llvm.org/D89487
The file was modifiedclang/include/clang/Basic/Cuda.h
The file was modifiedclang/test/CodeGenOpenCL/amdgpu-features.cl
The file was modifiedllvm/test/MC/Disassembler/AMDGPU/gfx1030_dasm_new.txt
The file was modifiedclang/lib/Basic/Targets/AMDGPU.cpp
The file was modifiedllvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/GCNProcessors.td
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
The file was modifiedclang/test/Driver/amdgpu-mcpu.cl
The file was modifiedllvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/hsa-note-no-func.ll
The file was modifiedclang/test/Driver/amdgpu-macros.cl
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_err.s
The file was modifiedllvm/lib/Support/TargetParser.cpp
The file was modifiedllvm/include/llvm/Support/TargetParser.h
The file was modifiedclang/lib/Basic/Targets/NVPTX.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_new.s
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit 2f63e57fa59e7fbfe5999ec1e6e60fa7a2ba70bb by eugenis
[MTE] Pin the tagged base pointer to one of the stack slots.

Summary:
Pin the tagged base pointer to one of the stack slots, and (if
necessary) rewrite tag offsets so that an object that occupies that
slot has both address and tag offsets of 0. This allows ADDG
instructions for that object to be eliminated and their uses replaced
with the tagged base pointer itself.

This optimization must be done in machine instructions and not in the IR
instrumentation pass, because referring to a stack slot through an IRG
pointer would confuse the stack coloring pass.

The optimization makes a (pretty naive) attempt to find the slot that
would benefit the most by counting the uses of stack slots in the
function.

Reviewers: ostannard, pcc

Subscribers: merge_guards_bot, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D72365
The file was modifiedllvm/test/CodeGen/AArch64/irg_sp_tagp.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Commit 2e794a46b58c5878c5ab71c8517c5417f791860e by eugenis
[AArch64] Stack frame reordering.

Implement stack frame reordering in the AArch64 backend.

Unlike the X86 implementation, AArch64 does not seem to benefit from
"access density" based frame reordering, mainly because it has a much
smaller variety of addressing modes, and the fact that all instructions
are 4 bytes so each frame object is either in range of an instruction
(and then the access is "free") or not (and that has a code size cost
of 4 bytes).

This change improves Memory Tagging codegen by
* Placing an object that has been chosen as the base tagged pointer of
the function at SP + 0. This saves one instruction to setup the pointer
(IRG does not have an offset immediate), and more because that object
can now be referenced without materializing its tagged address in a
scratch register.
* Placing objects that go out of scope simultaneously together. This
exposes opportunities for instruction merging in tryMergeAdjacentSTG.

Differential Revision: https://reviews.llvm.org/D72366
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.h
The file was addedllvm/test/CodeGen/AArch64/settag-merge-order.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/settag-merge.ll
Commit 6601dfb0b8c78cdd5de0e50fb3549f9b8f947eb3 by thakis
[gn bulid] Remove phantom WebAssembly tablegen() calls

Apparenlty I added these in https://reviews.llvm.org/rL350628 but
I'm not sure why. They never existed in the CMake build, and now
they're causing trouble.
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
Commit b3d2df42f7ac60ff7645cf944a93f0fde144a195 by lebedev.ri
[NFC][SCEV] Autogenerate check lines in tests being affected by upcoming patch
The file was modifiedllvm/test/Analysis/ScalarEvolution/no-wrap-add-exprs.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/load.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/scalable-vector.ll
Commit dfdfcdc8d3c99cfe9fdef7c604ecc3b165e79572 by lebedev.ri
[NFC][LSR] Autogenerate check lines in tests being affected by upcoming patch
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/post-inc-icmpzero.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/2011-10-03-CritEdgeMerge.ll
Commit 2008dacf6ed3fbb862769c6936fd615c4ae05434 by lebedev.ri
[NFC][IndVars] Autogenerate check lines in tests being affected by upcoming patch
The file was modifiedllvm/test/Transforms/IndVarSimplify/2011-11-01-lftrptr.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/widen-i32-i8ptr.ll
Commit 42ed3881200801651a2af47505dc7c59c0a5c959 by Alexander Timofeev
[AMDGPU] SILowerControlFlow::removeMBBifRedundant should not try to change MBB layout if it can fallthrough

removeMBBifRedundant normally tries to keep predecessors fallthrough when removing redundant MBB.
         It has to change MBBs layout to keep the new successor to immediately follow the predecessor of removed MBB.
         It only may be allowed in case the new successor itself has no successors to which it fall through.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D89397
The file was modifiedllvm/test/CodeGen/AMDGPU/collapse-endcf.mir
The file was modifiedllvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
Commit f6bf2823c44eb81be6c74d909c17d77e811b3bbc by michaelrj
[libc] Use entrypoints.txt as the single source of list of functions for a platform.

The function listings in api.td are removed. The same lists are now deduced using the information
in entrypoints.txt.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D89267
The file was modifiedlibc/cmake/modules/LLVMLibCHeaderRules.cmake
The file was modifiedlibc/utils/HdrGen/Generator.h
The file was modifiedlibc/utils/HdrGen/PublicAPICommand.h
The file was modifiedlibc/utils/HdrGen/Generator.cpp
The file was modifiedlibc/config/linux/api.td
The file was modifiedlibc/utils/HdrGen/PublicAPICommand.cpp
The file was modifiedlibc/CMakeLists.txt
The file was modifiedlibc/utils/HdrGen/Main.cpp
Commit 68f116aa23434b577743307c487b2edf037fca4c by richard
PR47864: Fix assertion in pointer-to-member emission if there are
multiple declarations of the same base class.
The file was modifiedclang/test/CodeGenCXX/pointers-to-data-members.cpp
The file was modifiedclang/include/clang/AST/RecordLayout.h
Commit 65cb4fdd69f43b6c39a8e4ca27b509284b11d807 by yitzhakm
[libTooling] Change `after` range-selector to operate only on source ranges

Currently, `after` fails when applied to locations in macro arguments.  This
change projects the subrange into a file source range and then applies `after`.

Differential Revision: https://reviews.llvm.org/D89468
The file was modifiedclang/lib/Tooling/Transformer/RangeSelector.cpp
The file was modifiedclang/unittests/Tooling/RangeSelectorTest.cpp
Commit 89c0124273339076b25bf860f6c2ee765ab96db3 by flo
[LoopVersion] Unify SCEVChecks and alias check handling (NFC).

This is an initial cleanup of the way LoopVersioning interacts with LAA.

Currently LoopVersioning has 2 ways of initializing things:

1. Passing LAI and passing UseLAIChecks = true
2. Passing UseLAIChecks = false, followed by calling setSCEVChecks and
   setAliasChecks.

Both ways of initializing lead to the same result and the duplication
seems more complicated than necessary.

This patch removes the UseLAIChecks flag from the constructor and the
setSCEVChecks & setAliasChecks helpers and move initialization
exclusively to the constructor.

This simplifies things, by providing a single way to initialize
LoopVersioning and reducing duplication.

Reviewed By: Meinersbur, lebedev.ri

Differential Revision: https://reviews.llvm.org/D84406
The file was modifiedllvm/include/llvm/Transforms/Utils/LoopVersioning.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopDistribute.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopVersioning.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp
Commit 122d92dfc31f27263f281244756f576147cec1f6 by vtjnash
fix symbol printing on windows

Similar to MCSymbol::print in 3d6c8ebb584375d01b1acead4c2056b3f0c501fc
(llvm-svn: 81682, PR4966), these symbols may need to be quoted to be handled by
the linker correctly.

Reviewed By: compnerd

Differential Revision: https://reviews.llvm.org/D87099
The file was modifiedllvm/lib/IR/Mangler.cpp
The file was modifiedllvm/test/CodeGen/X86/dllexport.ll
Commit 1992e30c2d751f6f1f6ad5190f84e37dece04f7f by tlively
[WebAssembly] Prototype i8x16.popcnt

As proposed at https://github.com/WebAssembly/simd/pull/379. Use a target
builtin and intrinsic rather than normal codegen patterns to make the
instruction opt-in until it is merged to the proposal and stabilized in engines.

Differential Revision: https://reviews.llvm.org/D89446
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-intrinsics.ll
The file was modifiedclang/test/CodeGen/builtins-wasm.c
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicsWebAssembly.td
The file was modifiedclang/include/clang/Basic/BuiltinsWebAssembly.def
The file was modifiedllvm/test/MC/WebAssembly/simd-encodings.s
Commit 79829a47040512fe54001db839ac59146ca55aec by leonardchan
Revert "[clang] Add -fc++-abi= flag for specifying which C++ ABI to use"

This reverts commits 683b308c07bf827255fe1403056413f790e03729 and
8487bfd4e9ae186f9f588ef989d27a96cc2438c9.

We will go for a more restricted approach that does not give freedom to
everyone to change ABIs on whichever platform.

See the discussion on https://reviews.llvm.org/D85802.
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedclang/include/clang/Basic/TargetCXXABI.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was removedclang/include/clang/Basic/TargetCXXABI.def
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was removedclang/test/Frontend/invalid-cxx-abi.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit e384e94fbe7c1d5c89fcdde33ffda04e9802c2ce by Yaxun.Liu
Revert "[HIP] Change default --gpu-max-threads-per-block value to 1024"

This reverts commit 187658b8a6112446d9e7797d495bc7542ac83905 due to
AMDGPU backend issues.
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
The file was modifiedclang/test/CodeGenCUDA/kernel-amdgcn.cu
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
Commit 410e5b17cf11691de7775315dbf9d5e94f5c4808 by marukawa
[VE] Support fabs/fcos/fsin/fsqrt math functions

VE doesn't have instruction for fabs/fcos/fsin/fsqrt, so expand them.
Add regression tests also.  Update fcopysign regression test, also.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D89457
The file was addedllvm/test/CodeGen/VE/fcopysign.ll
The file was addedllvm/test/CodeGen/VE/fsqrt.ll
The file was addedllvm/test/CodeGen/VE/fabs.ll
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
The file was addedllvm/test/CodeGen/VE/fcos.ll
The file was addedllvm/test/CodeGen/VE/fsin.ll
The file was removedllvm/test/CodeGen/VE/fp_copysign.ll
Commit a91dd3d37d3f10831e544c5a797b3837b7e5744a by marukawa
[VE] Add VGT/VSC/PFCHV instructions

Add VGT/VSC/PFCHV vector instructions and regression tests.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D89471
The file was addedllvm/test/MC/VE/PFCHV.s
The file was modifiedllvm/lib/Target/VE/VEInstrVec.td
The file was addedllvm/test/MC/VE/VSC.s
The file was addedllvm/test/MC/VE/VGT.s
Commit 6754caa9bf21a759c4080a797f23e2b7a77a71e1 by jingham
Add an SB API to get the SBTarget from an SBBreakpoint

Differential Revision: https://reviews.llvm.org/D89358
The file was modifiedlldb/test/API/python_api/breakpoint/TestBreakpointAPI.py
The file was modifiedlldb/bindings/interface/SBBreakpoint.i
The file was modifiedlldb/source/API/SBBreakpoint.cpp
The file was modifiedlldb/include/lldb/API/SBBreakpoint.h