SuccessChanges

Summary

  1. [InstrProfiling] Use nobits as __llvm_prf_cnts section type in ELF (details)
  2. [libcxx] Make path::format a non-class enum (details)
  3. [libcxx] [test] Call create_directory_symlink when linking directories (details)
  4. [NFC] Refactor PreferMemberInitializerCheck (details)
  5. [mlir] Register the print-op-graph pass using ODS (details)
  6. Update test error string post pass registration change (details)
  7. [lldb] Refine ThreadPlan::ShouldAutoContinue (details)
Commit 6b286d93f7ec8518c685a302269e44b06a0a24f3 by phosek
[InstrProfiling] Use nobits as __llvm_prf_cnts section type in ELF

This can reduce the binary size because counters will no longer occupy
space in the binary, instead they will be allocated by dynamic linker.

Differential Revision: https://reviews.llvm.org/D97110
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was addedllvm/test/Instrumentation/InstrProfiling/X86/nobits.ll
Commit 26005c788b06755ccafe1205de181bbd8b2ed664 by martin
[libcxx] Make path::format a non-class enum

The spec doesn't declare it as an enum class, and being declared
as an enum class breaks referring to the values as e.g.
path::auto_format.

Differential Revision: https://reviews.llvm.org/D97084
The file was modifiedlibcxx/include/filesystem
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
Commit 3d6ca4b8dcee38ce2053fdddaa9576e5aa978bdf by martin
[libcxx] [test] Call create_directory_symlink when linking directories

This makes the symlinks work properly on windows.

A similar round of cleanup was done in
c41bda7f5fc26e4602a029646991d6a5c59cb365, but these tests were
added after that.

Differential Revision: https://reviews.llvm.org/D97089
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
The file was modifiedlibcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
Commit 557d2ade016f3e228e90aab317b94f804e0bc1cd by n.james93
[NFC] Refactor PreferMemberInitializerCheck
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
Commit 02d7b260c697adb20e9a12d36da49ee88eb714a5 by jpienaar
[mlir] Register the print-op-graph pass using ODS

Move over to ODS & use pass options.
The file was addedmlir/test/Transforms/print-op-graph.mlir
The file was modifiedmlir/include/mlir/Transforms/Passes.td
The file was modifiedmlir/lib/Transforms/ViewOpGraph.cpp
Commit fa211f3ce9a9c83b72a524799e4e060e79e92da4 by jpienaar
Update test error string post pass registration change
The file was modifiedmlir/test/Bindings/Python/pass_manager.py
Commit b0186c25c62e79869d37b81ad819c67a3e97b0cd by davelee.com
[lldb] Refine ThreadPlan::ShouldAutoContinue

Adjust `ShouldAutoContinue` to be available to any thread plan previous to the plan that
explains a stop, not limited to the parent to the plan that explains the stop.

Before this change, `Thread::ShouldStop` did the following:

1. find the plan that explains the stop
2. if it's not a master plan, continue processing previous (aka parent) plans
3. first, call `ShouldAutoContinue` on the immediate parent of the explaining plan
4. then loop over previous plans, calling `ShouldStop` and `MischiefManaged`

Of note, the iteration in step 4 does not call `ShouldAutoContinue`, so again only the
plan just prior to the explaining plan is given the opportunity to override whether to
continue or stop.

This commit changes the loop call `ShouldAutoContinue`, giving each plan the opportunity
to override `ShouldStop` of previous plans.

Why? This allows a plan to do the following:

1. mark itself done and be popped off the stack
2. allow parent plans to finish their work, and to also be popped off the stack
3. and finally, have the thread continue, not stop

This is useful for stepping into async functions. A plan will would step far enough
enough to set a breakpoint on the async target, and then use `ShouldAutoContinue` to
unwind the necessary stepping, and then have the calling thread continue.

Differential Revision: https://reviews.llvm.org/D97076
The file was modifiedlldb/source/Target/Thread.cpp
The file was modifiedlldb/include/lldb/Target/ThreadPlan.h