SuccessChanges

Summary

  1. [MLIR][Affine][VectorOps] Utility to vectorize loop nest using strategy (details)
  2. [NewPM] Support -disable-simplify-libcall/-disable-builtin in NPM opt (details)
  3. [EarlyCSE] Handle masked loads and stores (details)
  4. [docs] Update ExtendingLLVM.rst (details)
  5. Add a "Trace" plug-in to LLDB to add process trace support in stages. (details)
  6. NFC: Add whitespace-changing revisions to .git-blame-ignore-revs (details)
  7. [libc++] Fix failures when running the test suite without RTTI (details)
  8. Revert D71539 "Recommit "[SCEV] Look through single value PHIs."" (details)
  9. Fix reporting the lack of global variables in "target var". (details)
  10. [libc++] Fix copy/paste error that broke a test (details)
  11. Include sstream after D85705 (details)
  12. [NewPM] Pin -lazy-branch-prob and -lazy-block-freq tests to legacy PM (details)
  13. [Delinearization][NewPM] Port delinearization to NPM (details)
  14. [UnifyLoopExits] Pin tests with -unify-loop-exits to legacy PM (details)
  15. [lldb] Delete two unneeded <regex> (details)
  16. Implement a new kind of Pass: dynamic pass pipeline (details)
  17. [mlir] Fix -Wunused-variable in -DLLVM_ENABLE_ASSERTIONS=off build after D85869 (details)
  18. [LoopUnswitch] Trivial simplification: remove trivial dead condition after unswitch (details)
Commit 14d0735d3453fb6403da916d7aee6a9f25af4147 by diego.caballero
[MLIR][Affine][VectorOps] Utility to vectorize loop nest using strategy

This patch adds a utility based on SuperVectorizer to vectorize an
affine loop nest using a given vectorization strategy. This strategy allows
targeting specific loops for vectorization instead of relying of the
SuperVectorizer analysis to choose the right loops to vectorize.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D85869
The file was modifiedmlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
The file was modifiedmlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
The file was modifiedmlir/include/mlir/Dialect/Affine/Utils.h
The file was modifiedmlir/test/Dialect/Affine/SuperVectorize/vectorize_2d.mlir
Commit 44b1643d17753fb2f35ef1d42420a4578bb8d55d by aeubanks
[NewPM] Support -disable-simplify-libcall/-disable-builtin in NPM opt

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87932
The file was modifiedllvm/test/Transforms/InstCombine/disable-simplify-libcalls.ll
The file was modifiedllvm/tools/opt/opt.cpp
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedllvm/tools/opt/NewPMDriver.h
Commit ae3f54c1e909743a89d48a8a05e18d2c8fd652ba by kparzysz
[EarlyCSE] Handle masked loads and stores

Extend the handling of memory intrinsics to also include non-
target-specific intrinsics, in particular masked loads and stores.

Invent "isHandledNonTargetIntrinsic" to distinguish between intrin-
sics that should be handled natively from intrinsics that can be
passed to TTI.

Add code that handles masked loads and stores and update the
testcase to reflect the results.

Differential Revision: https://reviews.llvm.org/D87340
The file was modifiedllvm/test/Transforms/EarlyCSE/masked-intrinsics-unequal-masks.ll
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
The file was modifiedllvm/test/Transforms/EarlyCSE/masked-intrinsics.ll
Commit c82c0f99a5c12eabdfc099f6e24c789deff05f94 by ncv
[docs] Update ExtendingLLVM.rst

Updated file paths and function signatures in section
"Adding a new type".

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D88049
The file was modifiedllvm/docs/ExtendingLLVM.rst
Commit 74c93956e1c1f1054dfb040ce26830016e0f3095 by walter erquinigo
Add a "Trace" plug-in to LLDB to add process trace support in stages.

This is the first in a series of patches that will adds a new processor trace plug-in to LLDB.

The idea for this first patch to to add the plug-in interface with simple commands for the trace files that can "load" and "dump" the trace information. We can test the functionality and ensure people are happy with the way things are done and how things are organized before moving on to adding more functionality.

Processor trace information can be view in a few different ways:
- post mortem where a trace is saved off that can be viewed later in the debugger
- gathered while a process is running and allow the user to step back in time (with no variables, memory or registers) to see how each thread arrived at where it is currently stopped.

This patch attempts to start with the first solution of loading a trace file after the fact. The idea is that we will use a JSON file to load the trace information. JSON allows us to specify information about the trace like:
- plug-in name in LLDB
- path to trace file
- shared library load information so we can re-create a target and symbolicate the information in the trace
- any other info that the trace plug-in will need to be able to successfully parse the trace information
  - cpu type
  - version info
  - ???

A new "trace" command was added at the top level of the LLDB commmands:
- "trace load"
- "trace dump"

I did this because if we load trace information we don't need to have a process and we might end up creating a new target for the trace information that will become active. If anyone has any input on where this would be better suited, please let me know. Walter Erquinigo will end up filling in the Intel PT specific plug-in so that it works and is tested once we can agree that the direction of this patch is the correct one, so please feel free to chime in with ideas on comments!

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D85705
The file was addedlldb/test/API/commands/trace/intelpt-trace/trace_bad3.json
The file was addedlldb/source/Target/TraceSettingsParser.cpp
The file was addedlldb/test/API/commands/trace/intelpt-trace/trace_bad.json
The file was addedlldb/test/API/commands/trace/intelpt-trace/a.out
The file was modifiedlldb/include/lldb/lldb-private-interfaces.h
The file was modifiedlldb/source/Target/CMakeLists.txt
The file was addedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
The file was modifiedlldb/include/lldb/Core/PluginManager.h
The file was addedlldb/test/API/commands/trace/intelpt-trace/main.cpp
The file was modifiedlldb/source/Core/PluginManager.cpp
The file was addedlldb/source/Plugins/Trace/CMakeLists.txt
The file was addedlldb/test/API/commands/trace/intelpt-trace/trace.json
The file was modifiedlldb/include/lldb/lldb-forward.h
The file was modifiedlldb/source/Commands/CMakeLists.txt
The file was modifiedlldb/source/Commands/Options.td
The file was modifiedlldb/source/Plugins/CMakeLists.txt
The file was addedlldb/test/API/commands/trace/intelpt-trace/3842849.trace
The file was addedlldb/source/Plugins/Trace/intel-pt/CMakeLists.txt
The file was addedlldb/include/lldb/Target/TraceSettingsParser.h
The file was addedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.cpp
The file was addedlldb/include/lldb/Target/Trace.h
The file was addedlldb/source/Commands/CommandObjectTrace.cpp
The file was addedlldb/source/Commands/CommandObjectTrace.h
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
The file was addedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.h
The file was addedlldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h
The file was addedlldb/source/Target/Trace.cpp
The file was addedlldb/test/API/commands/trace/TestTraceLoad.py
The file was addedlldb/test/API/commands/trace/intelpt-trace/trace_bad2.json
The file was addedlldb/test/API/commands/trace/TestTraceSchema.py
The file was modifiedlldb/source/Utility/StructuredData.cpp
Commit 8e4bb9e2d85794ef3e5e424caf1e16e797b41ea3 by Louis Dionne
NFC: Add whitespace-changing revisions to .git-blame-ignore-revs
The file was modified.git-blame-ignore-revs
Commit bb09ef959811ec4dc68f5a0b4bb6105a090c3919 by Louis Dionne
[libc++] Fix failures when running the test suite without RTTI
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target_type.pass.cpp
The file was modifiedlibcxx/test/std/utilities/type.index/type.index.members/ctor.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.getdeleter/get_deleter.pass.cpp
The file was addedlibcxx/test/support/test.support/test_macros_header.exceptions.pass.cpp
The file was modifiedlibcxx/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp
The file was modifiedlibcxx/test/std/utilities/type.index/type.index.members/name.pass.cpp
The file was modifiedlibcxx/test/support/experimental_any_helpers.h
The file was modifiedlibcxx/test/support/test_macros.h
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp
The file was removedlibcxx/test/support/test.support/test_macros_header_rtti.pass.cpp
The file was modifiedlibcxx/test/std/language.support/support.rtti/type.info/type_info_hash.pass.cpp
The file was modifiedlibcxx/test/std/utilities/type.index/type.index.members/eq.pass.cpp
The file was modifiedlibcxx/include/any
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer_deleter.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_allocator.pass.cpp
The file was modifiedlibcxx/test/support/type_id.h
The file was modifiedlibcxx/test/std/utilities/type.index/type.index.overview/copy_assign.pass.cpp
The file was addedlibcxx/test/support/test.support/test_macros_header.no_exceptions.verify.cpp
The file was modifiedlibcxx/test/std/language.support/support.rtti/type.info/type_info.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter.pass.cpp
The file was modifiedlibcxx/test/std/utilities/type.index/type.index.hash/hash.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/move_reentrant.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter.pass.cpp
The file was modifiedlibcxx/test/std/utilities/type.index/type.index.overview/copy_ctor.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp
The file was removedlibcxx/test/support/demangle.h
The file was removedlibcxx/test/support/test.support/test_macros_header_rtti.fail.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_allocator.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_bool.pass.cpp
The file was modifiedlibcxx/test/std/utilities/type.index/type.index.synopsis/hash_type_index.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp
The file was addedlibcxx/test/support/test.support/test_macros_header.no_rtti.verify.cpp
The file was modifiedlibcxx/test/std/utilities/type.index/type.index.members/hash_code.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer_deleter_allocator.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp
The file was removedlibcxx/test/support/test.support/test_macros_header_exceptions.fail.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/dynamic_pointer_cast.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/utility.inplace/inplace.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp
The file was removedlibcxx/test/support/test.support/test_macros_header_exceptions.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign_reentrant.pass.cpp
The file was addedlibcxx/test/support/test.support/test_macros_header.rtti.pass.cpp
The file was removedlibcxx/test/support/test.support/test_demangle.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_nullptr.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/function.objects/func.blocks.sh.cpp
The file was modifiedlibcxx/test/std/utilities/type.index/type.index.members/lt.pass.cpp
Commit 8fdac7cb7abbeeaed016ef9eb7a087458e41e33f by i
Revert D71539 "Recommit "[SCEV] Look through single value PHIs.""

This reverts commit 11dccf8d3aa5d55210f8b886fb21926c7a8353ca.

A bootstrapped clang crashes (due to ArrayRef::front called on an empty
ArrayRef) when compiling some files.  Very strangely, this only reproduces with
modules.

```
13 0x0000564d3349e968 llvm::ArrayRef<llvm::BasicBlock*>::front() const /proc/self/cwd/llvm/include/llvm/ADT/ArrayRef.h:160:7
14 0x0000564d3349e896 llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::getHeader() const /proc/self/cwd/llvm/include/llvm/Analysis/LoopInfo.h:104:50
15 0x0000564d3349fd9d llvm::LoopBase<llvm::BasicBlock, llvm::Loop>::getLoopLatch() const /proc/self/cwd/llvm/include/llvm/Analysis/LoopInfoImpl.h:210:11
16 0x0000564d33593c8a llvm::ScalarEvolution::computeBackedgeTakenCount(llvm::Loop const*, bool) /proc/self/cwd/llvm/lib/Analysis/ScalarEvolution.cpp:6933:15
17 0x0000564d33592ebc llvm::ScalarEvolution::getBackedgeTakenInfo(llvm::Loop const*) /proc/self/cwd/llvm/lib/Analysis/ScalarEvolution.cpp:0:30
18 0x0000564d33593a54 llvm::ScalarEvolution::getBackedgeTakenCount(llvm::Loop const*, llvm::ScalarEvolution::ExitCountKind) /proc/self/cwd/llvm/lib/Analysis/ScalarEvolution.cpp:6487:36
19 0x0000564d32be2402 llvm::ScalarEvolution::getConstantMaxBackedgeTakenCount(llvm::Loop const*) /proc/self/cwd/llvm/include/llvm/Analysis/ScalarEvolution.h:768:5
20 0x0000564d33590807 llvm::ScalarEvolution::getRangeRef(llvm::SCEV const*, llvm::ScalarEvolution::RangeSignHint) /proc/self/cwd/llvm/lib/Analysis/ScalarEvolution.cpp:5495:19
21 0x0000564d320abab7 llvm::ScalarEvolution::getSignedRange(llvm::SCEV const*) /proc/self/cwd/llvm/include/llvm/Analysis/ScalarEvolution.h:840:12
22 0x0000564d335a03aa llvm::ScalarEvolution::isKnownPredicateViaConstantRanges(llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*) /proc/self/cwd/llvm/lib/Analysis/ScalarEvolution.cpp:9239:60
23 0x0000564d33586a80 llvm::ScalarEvolution::isKnownViaNonRecursiveReasoning(llvm::CmpInst::Predicate, llvm::SCEV const*, llvm::SCEV const*) /proc/self/cwd/llvm/lib/Analysis/ScalarEvolution.cpp:10284:60
```
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/funclet.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/solve-quadratic-overflow.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Analysis/ScalarEvolution/solve-quadratic-i1.ll
Commit 94b0d836a105116220052313df5a58473f706cdf by jingham
Fix reporting the lack of global variables in "target var".

There was a little thinko which meant when stopped in a frame with
debug information but whose CU didn't have any global variables we
report:

no debug info for frame <N>

This patch fixes that error message to say the intended:

no global variables in current compile unit

<rdar://problem/69086361>
The file was addedlldb/test/API/functionalities/target_var/no_vars/TestTargetVarNoVars.py
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
The file was addedlldb/test/API/functionalities/target_var/no_vars/main.c
The file was addedlldb/test/API/functionalities/target_var/no_vars/Makefile
Commit ac65e3d2ce10d6867b62faf107ff2aed05086ecf by Louis Dionne
[libc++] Fix copy/paste error that broke a test
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer_deleter_allocator.pass.cpp
Commit 0b9f9eced9c532ee9bbf320216a2e85b314eb5f0 by i
Include sstream after D85705
The file was modifiedlldb/source/Target/TraceSettingsParser.cpp
Commit 84a8ca1e6ce1400345e693fe7495e5d271fb2dc6 by aeubanks
[NewPM] Pin -lazy-branch-prob and -lazy-block-freq tests to legacy PM

NPM passes just use the normal versions of these analyses instead.
Also pin any tests with -analyze to legacy PM.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87857
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/loop_with_invoke.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/pr22718.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/switch.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/noreturn.ll
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/double_exit.ll
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/irreducible.ll
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/loop_with_branch.ll
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/loops_with_profile_info.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/fcmp.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/deopt-intrinsic.ll
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/bad_input.ll
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/irreducible_pgo.ll
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/basic.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/pr18705.ll
The file was modifiedllvm/test/Transforms/Util/PR37334-break-crit-edges-require-dt.ll
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/double_backedge.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/libfunc_call.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/zero_heuristics.ll
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/irreducible_loop_crash.ll
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/redundant_edges.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/loop.ll
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/extremely-likely-loop-successor.ll
The file was modifiedllvm/test/Analysis/BlockFrequencyInfo/nested_loop_with_branches.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/basic.ll
Commit 9db0c572c1fc07fef5e2ed46203da3772c2d7765 by aeubanks
[Delinearization][NewPM] Port delinearization to NPM

Also make tests in Analysis/Delinearization work under NPM.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87741
The file was modifiedllvm/test/Analysis/Delinearization/constant_functions_multi_dim.ll
The file was modifiedllvm/test/Analysis/Delinearization/iv_times_constant_in_subscript.ll
The file was modifiedllvm/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_3d.ll
The file was modifiedllvm/test/Analysis/Delinearization/a.ll
The file was modifiedllvm/test/Analysis/Delinearization/multidim_ivs_and_parameteric_offsets_3d.ll
The file was modifiedllvm/test/Analysis/Delinearization/multidim_only_ivs_3d.ll
The file was modifiedllvm/test/Analysis/Delinearization/undef.ll
The file was addedllvm/include/llvm/Analysis/Delinearization.h
The file was modifiedllvm/test/Analysis/Delinearization/multidim_only_ivs_2d.ll
The file was modifiedllvm/test/Analysis/Delinearization/divide_by_one.ll
The file was modifiedllvm/lib/Analysis/Delinearization.cpp
The file was modifiedllvm/test/Analysis/Delinearization/terms_with_identity_factor.ll
The file was modifiedllvm/test/Analysis/Delinearization/himeno_2.ll
The file was modifiedllvm/test/Analysis/Delinearization/multidim_two_accesses_different_delinearization.ll
The file was modifiedllvm/test/Analysis/Delinearization/himeno_1.ll
The file was modifiedllvm/test/Analysis/Delinearization/parameter_addrec_product.ll
The file was modifiedllvm/test/Analysis/Delinearization/multidim_only_ivs_3d_cast.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Analysis/Delinearization/gcd_multiply_expr.ll
The file was modifiedllvm/test/Analysis/Delinearization/type_mismatch.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Analysis/Delinearization/multidim_only_ivs_2d_nested.ll
The file was modifiedllvm/test/Analysis/Delinearization/multidim_ivs_and_integer_offsets_nts_3d.ll
Commit 89df0fda1767d9f91cb9bfaf6d0e839bbc04c76f by aeubanks
[UnifyLoopExits] Pin tests with -unify-loop-exits to legacy PM

The pass is not used in tree, so no reason to port it.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D88058
The file was modifiedllvm/test/Transforms/UnifyLoopExits/nested.ll
The file was modifiedllvm/test/Transforms/StructurizeCFG/workarounds/needs-fr-ule.ll
The file was modifiedllvm/test/Transforms/UnifyLoopExits/basic.ll
The file was modifiedllvm/test/Transforms/UnifyLoopExits/restore-ssa.ll
The file was modifiedllvm/test/Transforms/UnifyLoopExits/switch.ll
The file was modifiedllvm/test/Transforms/StructurizeCFG/workarounds/needs-unified-loop-exits.ll
Commit 95bfeb5903c7b75a0a9ddf5c4b53e4308bb05486 by i
[lldb] Delete two unneeded <regex>
The file was modifiedlldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
The file was modifiedlldb/source/Target/Trace.cpp
Commit 385c3f43fceba227be2e4dce84a59075733541c1 by joker.eph
Implement a new kind of Pass: dynamic pass pipeline

Instead of performing a transformation, such pass yields a new pass pipeline
to run on the currently visited operation.
This feature can be used for example to implement a sub-pipeline that
would run only on an operation with specific attributes. Another example
would be to compute a cost model and dynamic schedule a pipeline based
on the result of this analysis.

Discussion: https://llvm.discourse.group/t/rfc-dynamic-pass-pipeline/1637

Reviewed By: silvas

Differential Revision: https://reviews.llvm.org/D86392
The file was addedmlir/test/Pass/dynamic-pipeline-nested.mlir
The file was addedmlir/test/Pass/dynamic-pipeline.mlir
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/include/mlir/Pass/PassManager.h
The file was addedmlir/test/lib/Transforms/TestDynamicPipeline.cpp
The file was modifiedmlir/include/mlir/Pass/Pass.h
The file was modifiedmlir/lib/Pass/Pass.cpp
The file was addedmlir/test/Pass/dynamic-pipeline-fail-on-parent.mlir
Commit 91671e13efbc5dbd17b832d7973401350d0a6ee6 by i
[mlir] Fix -Wunused-variable in -DLLVM_ENABLE_ASSERTIONS=off build after D85869
The file was modifiedmlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
Commit 5502cfa091e0f6b35a6d96435b2ec15a43a324eb by serguei.katkov
[LoopUnswitch] Trivial simplification: remove trivial dead condition after unswitch

Non trivial loop unswitch can keep the dead condition instruction.
CL adds trivial dead code elimination for unused condition.

Reviewers: asbirlea, aqjune, fhahn, DaniilSuchkov, reames
Reviewed By: asbirlea
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D88014
The file was modifiedllvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch.ll
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp