Changes

Summary

  1. [NFC][SCEV] Do not track users of SCEVConstants (details)
  2. [mlir][Linalg] NFC - Reorganize options nesting. (details)
  3. [NFC] Update test/CodeGen/RISCV/select-constant-xor.ll to use RV --check-prefix (details)
  4. [SCEV][NFC] Introduce API for mass forgetMemoizedResults query (details)
  5. [SCEV][NFC] Apply mass forgetMemoizedResults queries where possible (details)
  6. [SCEV][NFC] Win some compile time from mass forgetMemoizedResults (details)
  7. [SCEV] Fix a warning on an unused lambda capture (details)
  8. [NFC][MLIR][OpenMP] Splitting the WsLoop tests. (details)
  9. [SCEVExpander] Minor cleanup in value reuse (NFC) (details)
  10. [lldb/DWARF] Don't create lldb_private::Functions for gc'ed DW_TAG_subprograms (details)
  11. Remove ConstString from DynamicLoader, JITLoader and Instruction plugin names (details)
  12. [AArch64] Remove redundant ORRWrs which is generated by zero-extend (details)
  13. [lldb] Support serial port parity checking (details)
  14. [VPlan] Do not create dummy entry block (NFC). (details)
Commit 1c18ebb2cc7c2fbd0be43d9ceaabe52d7317c19d by mkazantsev
[NFC][SCEV] Do not track users of SCEVConstants

Follow-up from D112295, suggested by Nikita: we can avoid tracking
users of SCEVConstants because dropping their cached info is unlikely
to give any new prospects for fact inference, and it should not introduce
any correctness problems.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 1b702eea94aea194084b52c7696d7d2f5d159aba by nicolas.vasilache
[mlir][Linalg] NFC - Reorganize options nesting.

This removes duplication and makes nesting more clear.
It also reduces the amount of changes necessary for exposing future options.

Differential revision:  https://reviews.llvm.org/D112344
The file was modifiedmlir/include/mlir/Conversion/VectorToSCF/VectorToSCF.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/CodegenStrategy.h
The file was modifiedmlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CodegenStrategy.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgStrategyPasses.cpp
Commit a27ae8aa20f4ca4ce14f13c8bf05a2612994a9bc by shivam98.tkg
[NFC] Update test/CodeGen/RISCV/select-constant-xor.ll to use RV --check-prefix

This is only for consistency with test cases.

Differential Revision: https://reviews.llvm.org/D112364
The file was modifiedllvm/test/CodeGen/RISCV/select-constant-xor.ll
Commit a6096b7f9ed36ccd8e8670fa1e5898b3ef271f1f by mkazantsev
[SCEV][NFC] Introduce API for mass forgetMemoizedResults query

This patch changes signature of forgetMemoizedResults to be able to work with
multiple SCEVs. Usage will come in follow-ups. We also plan to optimize it in the
future to work faster than individual invalidation updates. Should not change
behavior in any sense.

Split-off from D111602.

Differential Revision: https://reviews.llvm.org/D112293
Reviewed By: reames
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
Commit dbab339ea44e812fb4deb669ce70001e99c2d2c9 by mkazantsev
[SCEV][NFC] Apply mass forgetMemoizedResults queries where possible

When forgetting multiple SCEVs, rather than doing this one by one, we can
instead use mass updates. We plan to make them more efficient than they
are now, potentially improving compile time.

Differential Revision: https://reviews.llvm.org/D111602
Reviewed By: reames
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit f8623b078305953c7be85fb385713b6851068940 by mkazantsev
[SCEV][NFC] Win some compile time from mass forgetMemoizedResults

Mass forgetMemoizedResults can be done more efficiently than bunch
of individual invocations of helper because we can traverse maps being
updated just once, rather than doing this for each invidivual SCEV.

Should be NFC and supposedly improves compile time.

Differential Revision: https://reviews.llvm.org/D112294
Reviewed By: reames
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 3729a5abf41d992535508e55c5d975f98c54dba0 by kazu
[SCEV] Fix a warning on an unused lambda capture

This patch fixes:

  llvm/lib/Analysis/ScalarEvolution.cpp:12770:37: error: lambda
  capture 'this' is not used [-Werror,-Wunused-lambda-capture]
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit a81672b31af4f8ac6362e983d4e3cffa4eadd1d1 by Shraiysh.Vaishay
[NFC][MLIR][OpenMP] Splitting the WsLoop tests.

Splitting the WsLoop tests they were getting harder to debug with the offsets over 100 for some of them.

Reviewed By: clementval

Differential Revision: https://reviews.llvm.org/D112407
The file was modifiedmlir/test/Target/LLVMIR/openmp-llvm.mlir
Commit 477551fd0957326d1988dd1a74b39642241bd86c by nikita.ppv
[SCEVExpander] Minor cleanup in value reuse (NFC)

Use dyn_cast_or_null and convert one of the checks into an
assertion. SCEV is a per-function analysis.
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Commit c1055f09190856ae58c9a075b4103d77623228ee by pavel
[lldb/DWARF] Don't create lldb_private::Functions for gc'ed DW_TAG_subprograms

Front-load the first_valid_code_address check, so that we avoid creating
the function object (instead of simply refusing to use it in queries).

Differential Revision: https://reviews.llvm.org/D112310
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Commit 6fa1b4ff4b05b9b9a432f7310802255c160c8f4f by pavel
Remove ConstString from DynamicLoader, JITLoader and Instruction plugin names
The file was modifiedlldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.h
The file was modifiedlldb/source/Core/EmulateInstruction.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.h
The file was modifiedlldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
The file was modifiedlldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h
The file was modifiedlldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.h
The file was modifiedlldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
The file was modifiedlldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.cpp
The file was modifiedlldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h
The file was modifiedlldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
The file was modifiedlldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.h
The file was modifiedlldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
The file was modifiedlldb/source/Plugins/Process/mach-core/ProcessMachCore.h
The file was modifiedlldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/include/lldb/Core/PluginManager.h
The file was modifiedlldb/include/lldb/Target/DynamicLoader.h
The file was modifiedlldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/wasm-DYLD/DynamicLoaderWasmDYLD.h
The file was modifiedlldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.h
The file was modifiedlldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h
The file was modifiedlldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
The file was modifiedlldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.h
The file was modifiedlldb/source/Core/PluginManager.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
The file was modifiedlldb/source/Core/DynamicLoader.cpp
The file was modifiedlldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
The file was modifiedlldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp
The file was modifiedlldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
The file was modifiedlldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
The file was modifiedlldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
The file was modifiedlldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
The file was modifiedlldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h
The file was modifiedlldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
Commit a502436259307f95e9c95437d8a1d2d07294341c by jingu.kang
[AArch64] Remove redundant ORRWrs which is generated by zero-extend

%3:gpr32 = ORRWrs $wzr, %2, 0
%4:gpr64 = SUBREG_TO_REG 0, %3, %subreg.sub_32

If AArch64's 32-bit form of instruction defines the source operand of ORRWrs,
we can remove the ORRWrs because the upper 32 bits of the source operand are
set to zero.

Differential Revision: https://reviews.llvm.org/D110841
The file was modifiedllvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
The file was addedllvm/test/CodeGen/AArch64/redundant-orrwrs-from-zero-extend.mir
The file was modifiedllvm/test/CodeGen/AArch64/arm64-assert-zext-sext.ll
The file was addedllvm/test/CodeGen/AArch64/redundant-mov-from-zero-extend.ll
Commit 21bb808eb4867b35b08fa962c7c25e812fcc8836 by mgorny
[lldb] Support serial port parity checking

Differential Revision: https://reviews.llvm.org/D112365
The file was modifiedlldb/unittests/Host/posix/TerminalTest.cpp
The file was modifiedlldb/include/lldb/Host/Terminal.h
The file was modifiedlldb/source/Host/common/Terminal.cpp
The file was modifiedlldb/include/lldb/Host/File.h
The file was modifiedlldb/source/Host/common/File.cpp
Commit a6c4969f5f451d40a1eef86e75689e2d90aa3a4a by flo
[VPlan] Do not create dummy entry block (NFC).

At the moment a dummy entry block is created at the beginning of VPlan
construction. This dummy block is later removed again.

This means it is not easy to identify the VPlan header block in a
general fashion, because during recipe creation it is the single
successor of the entry block, while later it is the entry block.

To make getting the header easier, just skip creating the dummy block.

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D111299
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp