SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. Ensure that CMake tries to find Python3 before processing (details)
  2. [X86] Fix one of the PMADDWD tests to not have dead code. (details)
  3. [llvm][NFC] Remove unused fields in InlineAdvisor (details)
  4. [cmake] Update creation of object library dependencies for LINK_LIBS PUBLIC (v2) (details)
  5. [X86] Add test case for a regression from D76649. NFC (details)
  6. Fix template class debug info for Visual Studio visualizers (details)
  7. [PDB] Switch from LLVM_PACKED to LLVM_PACKED_START/END (details)
  8. Remove unused Debugging variable. (details)
  9. [Attributor] Use AAValueConstantRange to infer dereferencability. (details)
  10. [mlir] Change generate-test-checks.py to `%[[V:.*]]` style (details)
  11. [AMDGPU] Optimized indirect multi-VGPR addressing (details)
  12. [HIP] Do not emit debug info for stub function (details)
  13. [AArch64][SVE] Add patterns for VSELECT of immediate merged with a variable. (details)
  14. Remove an unused variable. (details)
  15. [AArch64] Don't promote constants with float ConstantExpr. (details)
  16. [SVE] Remove usages of VectorType::getNumElements() from AMDGPU (details)
Commit f829ba60dadb71340318d525708e33b08ad61f8b by ctetreau
Ensure that CMake tries to find Python3 before processing

Summary:
It is possible that CMake tries to process debuginfo-tests before any
attempt to find Python3. Ensure that CMake attempts to find it before
complaining that it doesn't exist.

Reviewers: zturner, rnk, jmorse, chandlerc

Reviewed By: rnk

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79795
The file was modifieddebuginfo-tests/CMakeLists.txt
Commit 25f6464b320274df9b7cabd5cf33152b56c0c9f6 by craig.topper
[X86] Fix one of the PMADDWD tests to not have dead code.

There are two reductions in this test. It looks like I intended
to combine them by packing one of them into the upper 32 bits of
the result. But the OR instruction was missing.
The file was modifiedllvm/test/CodeGen/X86/madd.ll
Commit c86f9664391133f8f610443e079fa1b89d2e4e29 by mtrofin
[llvm][NFC] Remove unused fields in InlineAdvisor
The file was modifiedllvm/include/llvm/Analysis/InlineAdvisor.h
Commit 71ddc03a59bf8af02fb670d6c3221c83ad5be3a3 by stephen.neuendorffer
[cmake] Update creation of object library dependencies for LINK_LIBS PUBLIC (v2)

REGEX matching doesn't work here because the problematic library can
sometimes be "-lpthread" and sometimes "pthread".  Let's do the
simplest thing possible and just string compare.

Differential Revision: https://reviews.llvm.org/D79908
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit 3d9511a311a038d83022a31f2a846e76e21d70be by craig.topper
[X86] Add test case for a regression from D76649. NFC

When combineLoopMAdd was moved to IR we got stricter about
ensuring the truncate was free. This prevents us from matching
this sum of squares of byte differences pattern show here.

We used to get this case when it was in SelectionDAG.
The file was modifiedllvm/test/CodeGen/X86/madd.ll
Commit a549c0d00486bf01cb485e343d778fe4a3649a43 by amccarth
Fix template class debug info for Visual Studio visualizers

An earlier change eliminated spaces between the close brackets of nested
template lists.  Unfortunately that prevents the Windows debuggers from
matching some types to their corresponding visualizers (e.g., std::map).

This selects the SeparateTemplateClosers flag when generating CodeView.
Note that we were already making formatting adjustments under similar
circumstances for similar reasons.

This wasn't caught by existing tests because they were using only
-std=c++98.

Differential Revision: https://reviews.llvm.org/D79274
The file was modifiedclang/test/CodeGenCXX/debug-info-codeview-display-name.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 40927427406da6aa021ab80acf5f9944d762fbfd by rnk
[PDB] Switch from LLVM_PACKED to LLVM_PACKED_START/END

Reportedly using the pragma instead of the __attribute__ silences
warnings with some GCC versions.
The file was modifiedllvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
Commit d6e3e55c40a973e233b168c19b1f1718212b41a4 by echristo
Remove unused Debugging variable.
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Inliner.h
Commit e57807769b5c21dd06ee293ed7ebaa13f8914ba2 by johannes
[Attributor] Use AAValueConstantRange to infer dereferencability.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D76208
The file was modifiedllvm/lib/IR/Operator.cpp
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/test/Transforms/Attributor/dereferenceable-1.ll
The file was modifiedllvm/include/llvm/IR/Operator.h
The file was modifiedllvm/include/llvm/IR/Value.h
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/willreturn.ll
Commit 0aa97ad5c8a6153de1479e50fcbe03a6a425e193 by silvasean
[mlir] Change generate-test-checks.py to `%[[V:.*]]` style

Summary:
This style seems to be the preferred style lately as it plays better
with op syntaxes that include `[` and `]`.

Input:
```
module {
  func @f(%arg0 : i32) -> i32 {
    %0 = addi %arg0, %arg0 : i32
    %1 = muli %arg0, %0 : i32
    return %1 : i32
  }
}
```

New output:

```
// NOTE: Assertions have been autogenerated by utils/generate-test-checks.py
// CHECK:       module {

// CHECK-LABEL:   func @f(
// CHECK-SAME:            %[[VAL_0:.*]] : i32) -> i32 {
// CHECK:           %[[VAL_1:.*]] = addi %[[VAL_0]], %[[VAL_0]] : i32
// CHECK:           %[[VAL_2:.*]] = muli %[[VAL_0]], %[[VAL_1]] : i32
// CHECK:           return %[[VAL_2]] : i32
// CHECK:         }
// CHECK:       }
```

Old output:
```
// NOTE: Assertions have been autogenerated by utils/generate-test-checks.py
// CHECK:       module {

// CHECK-LABEL:   func @f(
// CHECK-SAME:            [[VAL_0:%.*]] : i32) -> i32 {
// CHECK:           [[VAL_1:%.*]] = addi [[VAL_0]], [[VAL_0]] : i32
// CHECK:           [[VAL_2:%.*]] = muli [[VAL_0]], [[VAL_1]] : i32
// CHECK:           return [[VAL_2]] : i32
// CHECK:         }
// CHECK:       }
```

Differential Revision: https://reviews.llvm.org/D79836
The file was modifiedmlir/utils/generate-test-checks.py
Commit 591b029f40f7f23b298d2f4718d7552f4f7f7fac by Stanislav.Mekhanoshin
[AMDGPU] Optimized indirect multi-VGPR addressing

SelectMOVRELOffset prevents peeling of a constant from an index
if final base could be negative. isBaseWithConstantOffset() succeeds
if a value is an "add" or "or" operator. In case of "or" it shall
be an add-like "or" which never changes a sign of the sum given a
non-negative offset. I.e. we can safely allow peeling if operator is
an "or".

Differential Revision: https://reviews.llvm.org/D79898
The file was modifiedllvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
Commit 1b7bf1bd75dcc4a362a83e4abc1200aaa75a38be by Yaxun.Liu
[HIP] Do not emit debug info for stub function

The stub function is generated by compiler and its instructions have nothing
to do with the kernel source code.

Currently clang generates debug info for the stub function, which causes
confusion for the HIP debugger. For example, when users set break point
on a line of a kernel, the debugger should break on that line when the kernel is
executed and reaches that line, but instead the debugger breaks in the stub function.

This patch disables debug info for stub function for HIP.

Differential Revision: https://reviews.llvm.org/D79866
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was addedclang/test/CodeGenCUDA/kernel-dbg-info.cu
Commit a52f10b5a382c040e7ad1ce933cda6c07a4b3a8d by efriedma
[AArch64][SVE] Add patterns for VSELECT of immediate merged with a variable.

This covers forms involving "CPY (immediate, merging)".

Differential Revision: https://reviews.llvm.org/D79803
The file was modifiedllvm/test/CodeGen/AArch64/sve-vselect-imm.ll
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
Commit bfa200ebcf3706fde0dde335a3c1fa3fe1b3ba3f by echristo
Remove an unused variable.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 824a8593328cb076e509f9a03e80ac681e52605e by flo
[AArch64] Don't promote constants with float ConstantExpr.

Currently the AsmPrinter cannot emit some floating point constant
expressions in global initializers. Avoid generating them.

Reviewers: dmgreen, t.p.northover, arsenm, efriedma, Gerolf

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D79865
The file was addedllvm/test/CodeGen/AArch64/arm64-promote-const-complex-initializers.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64PromoteConstant.cpp
Commit 3254a001fc23e87c4ba3c544beb860cacddaee12 by ctetreau
[SVE] Remove usages of VectorType::getNumElements() from AMDGPU

Reviewers: efriedma, arsenm, david-arm, fpetrogalli

Reviewed By: efriedma

Subscribers: dmgreen, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, tschuett, hiraditya, rkruppe, psnobl, kerbowa, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79807
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp