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


  1. [CodeGenPrepare] Remove a superflouos variable. NFC. (details)
  2. [NativeSession] Implement NativeSession::findSymbolByAddress. (details)
  3. [libc] Call mtx_init in mtx_test. (details)
  4. [mlir][Linalg] Fix missing template keyword. (details)
  5. [mlir] Change dialect namespace loop->scf (details)
  6. OpenMPOpt Remarks Support (details)
  7. [lld][WebAssembly] Fix for --relocatable and signature mismatches (details)
  8. NFC: Avoid redundant checks for vector-function-abi-variant attribute (details)
  9. [clang-format] Fix AlignConsecutive on PP blocks (details)
  10. [clang-format] : Fix additional pointer alignment for overloaded operators (details)
  11. [MLIR] refactor cmake specification of tablegen'd interfaces. (details)
  12. [MLIR] Discourage people from copying the toy examples (details)
  13. [mlir][vulkan-runner] Avoid dependency on LLVM libraries (details)
  14. [InstCombine] Add vector tests for the or(shl(zext(x),32)|zext(y)) concat combines (details)
  15. [Clang] Restore replace_path_prefix instead of startswith (details)
  16. [Statepoint] Mark FixupStatepointCallerSaved as preserving the CFG (details)
  17. [analyzer][StreamChecker] Don't make StreamTestChecker depend on StreamChecker for the time being (details)
  18. [SROA] Clean up some uses of MaybeAlign in SROA. (details)
Commit a8bf2deae4f1e96857c8869f9931f5adb469e929 by benny.kra
[CodeGenPrepare] Remove a superflouos variable. NFC.

Fixes a -Wunused-variable warning in Release builds.
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit 641ae73f2eba1a4c52d8ddeefad44f26cc7530f3 by akhuang
[NativeSession] Implement NativeSession::findSymbolByAddress.

Summary: This implements searching for function symbols and public symbols by address.

More specifically,
-Implements NativeSession::findSymbolByAddress for function symbols and
public symbols. I think data symbols are also searched for, but isn't
implemented in this patch.
-Adds classes for NativeFunctionSymbol and NativePublicSymbol
-Adds a '-use-native-pdb-reader' option to llvm-symbolizer, for testing

Reviewers: rnk, amccarth, labath

Subscribers: mgorny, hiraditya, MaskRay, rupprecht, llvm-commits

Tags: #llvm

Differential Revision:
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/SymbolCache.h
The file was modifiedllvm/unittests/DebugInfo/PDB/PDBApiTest.cpp
The file was modifiedllvm/include/llvm/DebugInfo/PDB/IPDBSession.h
The file was modifiedllvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h
The file was addedllvm/include/llvm/DebugInfo/PDB/Native/NativePublicSymbol.h
The file was modifiedllvm/lib/DebugInfo/PDB/DIA/DIASession.cpp
The file was modifiedllvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
The file was addedllvm/lib/DebugInfo/PDB/Native/NativeFunctionSymbol.cpp
The file was modifiedllvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
The file was addedllvm/lib/DebugInfo/PDB/Native/NativePublicSymbol.cpp
The file was modifiedllvm/lib/DebugInfo/PDB/CMakeLists.txt
The file was addedllvm/test/tools/llvm-symbolizer/pdb/pdb-native.test
The file was modifiedllvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
The file was modifiedllvm/utils/gn/secondary/llvm/lib/DebugInfo/PDB/
The file was modifiedllvm/unittests/DebugInfo/PDB/NativeSessionTest.cpp
The file was addedllvm/include/llvm/DebugInfo/PDB/Native/NativeFunctionSymbol.h
The file was modifiedllvm/lib/DebugInfo/Symbolize/Symbolize.cpp
Commit b7afa92e75ddea744c9bafbb2119b63ea564e122 by sivachandra
[libc] Call mtx_init in mtx_test.

A typo which was caught has also been fixed.

Reviewers: abrachet

Differential Revision:
The file was modifiedlibc/test/src/threads/mtx_test.cpp
The file was modifiedlibc/src/threads/mtx_init.h
Commit 902777ded5c0e049d21f9c2bea195b57dcf3d34f by ravishankarm
[mlir][Linalg] Fix missing template keyword.

Differential Revision:
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Commit 60f443bb3b3df8ee1cb391544ad80417c9bb8293 by zinenko
[mlir] Change dialect namespace loop->scf

All ops of the SCF dialect now use the `scf.` prefix instead of `loop.`. This
is a part of dialect renaming.

Differential Revision:
The file was modifiedmlir/test/Dialect/Linalg/parallel_loops.mlir
The file was modifiedmlir/test/mlir-cpu-runner/bare_ptr_call_conv.mlir
The file was modifiedmlir/include/mlir/Dialect/SCF/Transforms.h
The file was modifiedmlir/test/Transforms/canonicalize.mlir
The file was modifiedmlir/test/Transforms/parallel-loop-collapsing.mlir
The file was modifiedmlir/test/Dialect/GPU/mapping.mlir
The file was modifiedmlir/test/Conversion/VectorToLoops/vector-to-loops.mlir
The file was modifiedmlir/test/Transforms/parametric-tiling.mlir
The file was modifiedmlir/include/mlir/Dialect/SCF/CMakeLists.txt
The file was modifiedmlir/test/Conversion/LoopsToGPU/parallel_loop.mlir
The file was modifiedmlir/test/Dialect/Linalg/promote.mlir
The file was modifiedmlir/test/Dialect/SCF/parallel-loop-fusion.mlir
The file was modifiedmlir/test/Dialect/Linalg/loops.mlir
The file was modifiedmlir/test/Analysis/test-liveness.mlir
The file was modifiedmlir/test/Dialect/Linalg/fusion-2-level.mlir
The file was modifiedmlir/test/Analysis/test-dominance.mlir
The file was modifiedmlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
The file was modifiedmlir/lib/Conversion/LoopToStandard/LoopToStandard.cpp
The file was modifiedmlir/test/Dialect/SCF/ops.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile.mlir
The file was modifiedmlir/include/mlir/Conversion/
The file was modifiedmlir/test/Transforms/canonicalize-block-merge.mlir
The file was modifiedmlir/test/Transforms/single-parallel-loop-collapsing.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/EDSC/Builders.h
The file was modifiedmlir/test/Conversion/LoopsToGPU/perfect_1D_setlaunch.mlir
The file was modifiedmlir/test/Dialect/Linalg/llvm.mlir
The file was modifiedmlir/test/Conversion/LoopsToGPU/imperfect_3D.mlir
The file was modifiedmlir/test/Dialect/Affine/unroll.mlir
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns.mlir
The file was modifiedmlir/test/Transforms/loop-fusion.mlir
The file was modifiedmlir/test/Dialect/SCF/invalid.mlir
The file was modifiedmlir/test/Dialect/SCF/parallel-loop-specialization.mlir
The file was modifiedmlir/test/Transforms/loop-invariant-code-motion.mlir
The file was modifiedmlir/test/Dialect/Affine/slicing-utils.mlir
The file was modifiedmlir/include/mlir/Conversion/LoopsToGPU/LoopsToGPUPass.h
The file was modifiedmlir/include/mlir/Conversion/LoopsToGPU/LoopsToGPU.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/
The file was modifiedmlir/docs/
The file was modifiedmlir/test/Transforms/memref-dependence-check.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile_conv_padding.mlir
The file was modifiedmlir/test/Conversion/GPUToSPIRV/loop.mlir
The file was modifiedmlir/test/lib/Transforms/TestLoopMapping.cpp
The file was modifiedmlir/include/mlir/Dialect/GPU/ParallelLoopMapper.h
The file was modifiedmlir/test/Dialect/Linalg/tile_indexed_generic.mlir
The file was modifiedmlir/test/Conversion/GPUToSPIRV/if.mlir
The file was modifiedmlir/test/Dialect/GPU/promotion.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.h
The file was modifiedmlir/include/mlir/Dialect/GPU/
The file was modifiedmlir/include/mlir/Transforms/LoopUtils.h
The file was modifiedmlir/test/mlir-opt/commandline.mlir
The file was modifiedmlir/test/Dialect/Linalg/fusion_indexed_generic.mlir
The file was modifiedmlir/test/Transforms/loop-fusion-slice-computation.mlir
The file was modifiedmlir/test/Transforms/loop-coalescing.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile_parallel.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
The file was modifiedmlir/test/Transforms/parametric-mapping.mlir
The file was modifiedmlir/lib/Dialect/SCF/Transforms/ParallelLoopSpecialization.cpp
The file was modifiedmlir/test/EDSC/builder-api-test.cpp
The file was modifiedmlir/test/Conversion/LoopsToGPU/linalg_to_gpu.mlir
The file was modifiedmlir/test/Conversion/convert-to-cfg.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/include/mlir/Dialect/SCF/SCF.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/include/mlir/Dialect/SCF/EDSC/Builders.h
The file was modifiedmlir/test/Dialect/Affine/dma-generate.mlir
The file was modifiedmlir/test/Conversion/LoopsToGPU/imperfect_2D.mlir
The file was modifiedmlir/test/Conversion/LoopsToGPU/imperfect_linalg.mlir
The file was modifiedmlir/test/Dialect/Linalg/fusion.mlir
The file was modifiedmlir/lib/Dialect/SCF/Transforms/ParallelLoopTiling.cpp
The file was modifiedmlir/test/Conversion/LoopsToGPU/imperfect_4D.mlir
The file was modifiedmlir/lib/Conversion/VectorToLoops/ConvertVectorToLoops.cpp
The file was modifiedmlir/test/Conversion/LoopsToGPU/step_one.mlir
The file was modifiedmlir/test/Dialect/SCF/parallel-loop-tiling.mlir
The file was modifiedmlir/test/Transforms/sccp-structured.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile_conv.mlir
The file was modifiedmlir/test/Dialect/SCF/loop-unroll.mlir
The file was modifiedmlir/lib/Conversion/LoopsToGPU/LoopsToGPU.cpp
The file was modifiedmlir/include/mlir/Conversion/LoopToStandard/ConvertLoopToStandard.h
The file was modifiedmlir/include/mlir/Dialect/SCF/
Commit 4d4ea9ac59cd541b1d5e38ab87a70a38d3bc09bb by johannes
OpenMPOpt Remarks Support

Reviewed By: jdoerfert

Differential Revision:
The file was addedllvm/test/Transforms/OpenMP/deduplication_remarks.ll
The file was addedllvm/test/Transforms/OpenMP/parallel_deletion_remarks.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 064e9907ba069392427887405481d5e7abc1f662 by sbc
[lld][WebAssembly] Fix for --relocatable and signature mismatches

This is a followup to

When signatures mismatch we create set of variant symbols.  Some of
the fields in these symbols were not be initialized correct.
Specifically we were seeing isUsedInRegularObj not being set correctly,
leading to the symbol not getting included in the symbol table
and a crash writing relections in --reloctable mode.

There is larger refactor due here, but this is a minimal change the
fixes the bug at hand.

Differential Revision:
The file was addedlld/test/wasm/Inputs/sig_mismatch.s
The file was modifiedlld/wasm/SymbolTable.cpp
The file was addedlld/test/wasm/signature-mismatch-relocatable.s
Commit 0ab3ba230e928e8e1261e36c805de87b5d44e20d by anna
NFC: Avoid redundant checks for vector-function-abi-variant attribute

Updated the comments on the code as well to reflect what the
preconditions on VFABI::getVectorVariantNames are.
The file was modifiedllvm/include/llvm/Analysis/VectorUtils.h
Commit b2eb439317576ce718193763c12bff9fccdfc166 by mydeveloperday
[clang-format] Fix AlignConsecutive on PP blocks

Currently the 'AlignConsecutive*' options incorrectly align across
elif and else statements, even if they are very far away and across
unrelated preprocessor macros.

This failed since on preprocessor run 2+, there is not enough context
about the #ifdefs to actually differentiate one block from another,
causing them to align across different blocks or even large sections of
the file.

Eg, with AlignConsecutiveAssignments:

\#if FOO      // Run 1
\#else        // Run 1
int a   = 1;  // Run 2, wrong
\#endif       // Run 1

\#if FOO      // Run 1
\#else        // Run 1
int bar = 1;  // Run 2
\#endif       // Run 1

is read as

int a   = 1;  // Run 2, wrong
int bar = 1;  // Run 2

The approach taken to fix this was to add a new flag to Token that
forces breaking alignment across groups of lines (MustBreakAlignBefore)
in a similar manner to the existing flag that forces a line break
(MustBreakBefore). This flag is set for the first Token after a
preprocessor statement or diff conflict marker.

Fixes #25167,#31281

Patch By: JakeMerdichAMD

Reviewed By: MyDeveloperDay

Tags: #clang, #clang-format

Differential Revision:
The file was modifiedclang/lib/Format/FormatToken.h
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
The file was modifiedclang/lib/Format/WhitespaceManager.cpp
The file was modifiedclang/unittests/Format/FormatTestComments.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit c82243d0675bad130d22a9301d3dc1e7cfb05c2f by mydeveloperday
[clang-format] : Fix additional pointer alignment for overloaded operators

Follow on from {D78879} to handle the more obscure to prevent spaces between operators

operator void *&();
operator void *&&();
operator void &*();
operator void &&*();

Reviewers: sylvestre.ledru, sammccall, krasimir, Abpostelnicu

Reviewed By: sammccall, Abpostelnicu

Subscribers: cfe-commits

Tags: #clang, #clang-format

Differential Revision:
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
Commit ce3bbeb9159b30d6880fa5f71c0910007d0a6792 by stephen.neuendorffer
[MLIR] refactor cmake specification of tablegen'd interfaces.

Introduce add_mlir_interface to avoid lots of boilerplate

Differential Revision:
The file was modifiedmlir/include/mlir/Interfaces/CMakeLists.txt
The file was modifiedmlir/lib/Interfaces/CMakeLists.txt
The file was modifiedmlir/cmake/modules/AddMLIR.cmake
Commit d02fce2d149eaad90fd5bcc0579de868fa86526d by stephen.neuendorffer
[MLIR] Discourage people from copying the toy examples

The CMake structure of the toy example is non-standard.  encourage people to
copy the standalone example instead.

Differential Revision:
The file was modifiedmlir/examples/toy/Ch2/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch3/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch5/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch4/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch6/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch4/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch5/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch7/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch7/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch6/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch1/CMakeLists.txt
Commit a4441fcd12a6c097cca1f8cff6515b9ea9ae3cee by antiagainst
[mlir][vulkan-runner] Avoid dependency on LLVM libraries

The Vulkan runtime wrapper will be compiled to a shared library
that are loaded by the JIT runner. Depending on LLVM libraries
means that LLVM symbols will be compiled into the shared library.
That can cause problems if we are using it with other shared
libraries depending on LLVM, notably Mesa, the open-source graphics
driver framework. The Vulkan API wrappers invoked by the JIT runner
links to the system If it's Mesa providing the
implementation, Mesa will normally try to load the system
for its shader compilation. That causes issues because the JIT runner
already loaded the Vulkan runtime wrapper which has LLVM sybmols
compiled in. So system linker will instruct Mesa to use those symbols

Differential Revision:
The file was modifiedmlir/tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp
The file was modifiedmlir/tools/mlir-vulkan-runner/VulkanRuntime.cpp
The file was modifiedmlir/tools/mlir-vulkan-runner/CMakeLists.txt
The file was modifiedmlir/tools/mlir-vulkan-runner/VulkanRuntime.h
Commit 33d96bf7b9b2add1c45bf1c60195dc7ca961393e by llvm-dev
[InstCombine] Add vector tests for the or(shl(zext(x),32)|zext(y)) concat combines
The file was modifiedllvm/test/Transforms/InstCombine/or-concat.ll
Commit 7a8edcb2124b60941ef6ea4bb4b38a9eb0d70137 by
[Clang] Restore replace_path_prefix instead of startswith

In D49466, sys::path::replace_path_prefix was used instead startswith for -f[macro/debug/file]-prefix-map options.
However those were reverted later (commit rG3bb24bf25767ef5bbcef958b484e7a06d8689204) due to broken Windows tests.

This patch restores those replace_path_prefix calls.
It also modifies the prefix matching to be case-insensitive under Windows.

Differential Revision :
The file was addedclang/test/Preprocessor/file_test_windows.c
The file was modifiedllvm/unittests/Support/Path.cpp
The file was modifiedclang/test/Preprocessor/file_test.c
The file was modifiedllvm/lib/MC/MCContext.cpp
The file was modifiedclang/lib/Lex/PPMacroExpansion.cpp
The file was modifiedllvm/lib/DWARFLinker/DWARFLinker.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was removedclang/test/Preprocessor/file_test.h
The file was addedclang/test/Preprocessor/Inputs/include-file-test/file_test.h
The file was modifiedllvm/lib/Support/Path.cpp
The file was modifiedllvm/include/llvm/Support/Path.h
Commit de92dc2850c17259090ccf644b2f2375ab8e1664 by craig.topper
[Statepoint] Mark FixupStatepointCallerSaved as preserving the CFG

I'm hoping this will restore some compile time lost by D75936 and D75937.

Differential Revision:
The file was modifiedllvm/test/CodeGen/X86/O3-pipeline.ll
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
Commit 2a12acda4c9fad4d69dce7a43e99690df357648c by dkszelethus
[analyzer][StreamChecker] Don't make StreamTestChecker depend on StreamChecker for the time being

The comment in explains whats going on. As StreamChecker grows,
expect a need to have smaller checkers out of it, but let that be a worry for

Differential Revision:
The file was modifiedclang/test/Analysis/stream-error.c
The file was modifiedclang/include/clang/StaticAnalyzer/Checkers/
Commit fcfb3170a776f89dde4de8ee105c99e10660f455 by efriedma
[SROA] Clean up some uses of MaybeAlign in SROA.

Use Align instead of using MaybeAlign; all the operations in question
have known alignment.

For getSliceAlign() in particular, in the cases where we used to return
None, it would be converted back to an Align by IRBuilder, so there's no
functional change there.

Split off from D77454.

Differential Revision:
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp