Changes

Summary

  1. [SLP]Fix crash on reordering of ScatterVectorize nodes. (details)
  2. [libc++] Remove temporary workaround for existing CMake caches (details)
  3. [bazel] Introduce "VE" CodeGen in LLVM. (details)
  4. [clang][PR55406] CFG for coroutine (details)
  5. [clang-format] Handle attributes in enum declaration. (details)
  6. [PS5] Allow dllimport/dllexport same as PS4 (details)
  7. [PowerPC][Future] Add an ISA Future to go with mcpu=future. (details)
  8. [SLP] Move canVectorizeLoads implementation to simplify the diff in D105986. NFC. (details)
  9. [libc++] Implement ranges::{all, any, none}_of (details)
  10. [gn build] Port 0e3dc1a52ffe (details)
  11. [OpenCL][Doc] Misc improvements related to SPIR-V support. (details)
  12. [ADT] Explicitly delete copy/move constructors and operator= in IntervalMap (details)
  13. [SCEV] Add test with loop guarded by assume with an AND condition. (details)
  14. [DFAJumpThreading] Relax analysis to handle unpredictable initial values (details)
  15. [SLP]Fix PR55653: emit undefs where required, not poison. (details)
  16. [SLP]Improve compile time, NFC. (details)
  17. [RISCV] Allow compatible VTYPE in AVL Reg Forward cases (details)
  18. [ControlHeightReduction] Use logical and (details)
  19. [libunwind] Factor out sigreturn check condition. NFC (details)
  20. [libunwind] Use process_vm_readv to avoid potential segfaults (details)
  21. Revert "[runtimes] Detect changes to Tests.cmake" (details)
  22. [RISCV] reorganize getFrameIndexReference to reduce code duplication [nfc] (details)
  23. Revert "Replace the custom linked list in LeaderTableEntry with TinyPtrVector." (details)
  24. [OpenMP] Use the align clause value from 'omp allocate' for globals (details)
  25. [ARM] Recognize t2LoopEnd for software pipelining (details)
  26. [SCEV] Collect conditions from assumes same way as for branches. (details)
  27. [UpdateTestChecks] Auto-generate stub bodies for unused prefixes (details)
  28. [Clang][CoverageMapping] Fix switch counter codegen compile time explosion (details)
  29. Defer source path remap tilde expansion until source file use (details)
  30. Check that a FileSpec has a Directory component before using (details)
  31. [Target] use getSubtarget<> instead of static_cast<>(getSubtarget()) (details)
  32. One further tweak for realpathing filepath to match dyld (details)
Commit 9139d484d46a0b63275e00b988895bfb419bbe71 by a.bataev
[SLP]Fix crash on reordering of ScatterVectorize nodes.

ScatterVectorize nodes should be handled same way as gathers in
reorderBottomToTop function, since we can simple reorder the loads in
this node. Because of that need to include such nodes to the list of
gathered nodes to fix compiler crash.

Differential Revision: https://reviews.llvm.org/D126378
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was addedllvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
Commit f8c8bda965dd0f622de1ad3863b728661af6eb72 by Louis Dionne
[libc++] Remove temporary workaround for existing CMake caches

If you are broken by this change, you should remove your CMake cache and
re-run the CMake generation step.
The file was modifiedlibcxx/CMakeLists.txt
Commit 6f434776da0ba2c1dd666470e0ddef7954a21c76 by geek4civic
[bazel] Introduce "VE" CodeGen in LLVM.
The file was modifiedutils/bazel/configure.bzl
The file was modifiedutils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Commit 6b8c6f15fdd8c147dfb7b0beb6f3d6eb98bf5772 by nathan
[clang][PR55406] CFG for coroutine

CoreturnStmt needs to keep the operand value distinct from its use in
any return_value call, so that instantiation may rebuild the latter.
But it also needs to keep the operand value separate in the case of
calling return_void.  Code generation checks the operand value form to
determine whether it is a distincte entity to the promise call.  This
adds the same logic to CFG generation.

Reviewed By: bruno

Differential Revision: https://reviews.llvm.org/D126399
The file was addedclang/test/SemaCXX/thread-safety-coro.cpp
The file was modifiedclang/lib/Analysis/CFG.cpp
Commit 8f70d16c9ab2d7c060f5c92a31a0fc4a82349897 by marek.kurdej+llvm.org
[clang-format] Handle attributes in enum declaration.

Fixes https://github.com/llvm/llvm-project/issues/55457

Ensures that attributes in the enum declaration are interpreted
correctly, for instance:

```
enum class [[nodiscard]] E {
  a,
  b
};
```

Reviewed By: MyDeveloperDay, curdeius

Differential Revision: https://reviews.llvm.org/D125848
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
Commit 634c8ef69a836f3436d027b03965965bad6f3ff0 by paul.robinson
[PS5] Allow dllimport/dllexport same as PS4
The file was modifiedclang/test/SemaCXX/dllexport.cpp
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/test/SemaCXX/dllimport.cpp
The file was modifiedclang/test/CodeGenCXX/ps4-dllstorage-vtable-rtti.cpp
The file was modifiedclang/test/CodeGenCXX/dllexport-vtable-thunks.cpp
The file was modifiedclang/test/CodeGen/ps4-dllimport-dllexport.c
The file was modifiedclang/test/CodeGenCXX/windows-itanium-dllexport.cpp
The file was modifiedclang/test/CodeGenCXX/windows-implicit-dllexport-template-specialization.cpp
The file was modifiedclang/test/Sema/dllimport.c
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedllvm/include/llvm/ADT/Triple.h
Commit 610eb39c685ce75333e2fceb2fefc37bec2201b0 by stefanp
[PowerPC][Future] Add an ISA Future to go with mcpu=future.

On Power PC we have ISA3.0 for Power 9, ISA3.1 for Power 10.
This patchs adds an ISA for mcpu=future. The idea is to have a placeholder ISA
for work that is experimental and may not be supported by existing ISAs.

Reviewed By: lei

Differential Revision: https://reviews.llvm.org/D126075
The file was modifiedllvm/lib/Target/PowerPC/PPCScheduleP9.td
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPC.td
The file was modifiedllvm/lib/Target/PowerPC/PPCScheduleP10.td
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.h
Commit 14258d6fb5f311033def5f11432958315fa63683 by llvm-dev
[SLP] Move canVectorizeLoads implementation to simplify the diff in D105986. NFC.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 0e3dc1a52ffe8a2c7464d6acaeaec23eca21f4f4 by nikolasklauser
[libc++] Implement ranges::{all, any, none}_of

Reviewed By: ldionne, var-const, #libc

Spies: libcxx-commits, mgorny

Differential Revision: https://reviews.llvm.org/D123016
The file was addedlibcxx/include/__algorithm/ranges_all_of.h
The file was addedlibcxx/include/__algorithm/ranges_none_of.h
The file was modifiedlibcxx/test/libcxx/private_headers.verify.cpp
The file was modifiedlibcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
The file was modifiedlibcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
The file was modifiedlibcxx/include/module.modulemap
The file was addedlibcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/ranges.all_of.pass.cpp
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/ranges.any_of.pass.cpp
The file was addedlibcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/ranges.none_of.pass.cpp
The file was addedlibcxx/include/__algorithm/ranges_any_of.h
The file was modifiedlibcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
The file was modifiedlibcxx/docs/Status/RangesAlgorithms.csv
The file was modifiedlibcxx/include/algorithm
Commit ec0ef6809af592cc17c2d67a5e8fae1d4fe65147 by llvmgnsyncbot
[gn build] Port 0e3dc1a52ffe
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 3087afb421bf4ca4450d8981a1410e1a09f3794a by anastasia.stulova
[OpenCL][Doc] Misc improvements related to SPIR-V support.
The file was modifiedclang/docs/OpenCLSupport.rst
The file was modifiedclang/docs/UsersManual.rst
Commit aee6b8efd09c014348c96b81d64961f8e7a4ab6a by kparzysz
[ADT] Explicitly delete copy/move constructors and operator= in IntervalMap

The default implementations will perform a shallow copy instead of a deep
copy, causing some internal data structures to be shared between different
objects. Disable these operations so they don't get accidentally used.

Differential Revision: https://reviews.llvm.org/D126401
The file was modifiedllvm/unittests/ADT/IntervalMapTest.cpp
The file was modifiedllvm/include/llvm/ADT/IntervalMap.h
Commit 9c66ed9b73170519a87310444d4624b519c2983b by flo
[SCEV] Add test with loop guarded by assume with an AND condition.

Show a missed case where the AND is currently blocks applying the
information from the assume.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit 8b0d7634743965948234b666c77393d4dd8535d7 by alex.zhi
[DFAJumpThreading] Relax analysis to handle unpredictable initial values

Responding to a feature request from the Rust community:

https://github.com/rust-lang/rust/issues/80630

    void foo(X) {
      for (...)
switch (X)
  case A
    X = B
  case B
    X = C
    }

Even though the initial switch value is non-constant, the switch
statement can still be threaded: the initial value will hit the switch
statement but the rest of the state changes will proceed by jumping
unconditionally.

The early predictability check is relaxed to allow unpredictable values
anywhere, but later, after the paths through the switch statement have
been enumerated, no non-constant state values are allowed along the
paths. Any state value not along a path will be an initial switch value,
which can be safely ignored.

Differential Revision: https://reviews.llvm.org/D124394
The file was modifiedllvm/test/Transforms/DFAJumpThreading/negative.ll
The file was modifiedllvm/test/Transforms/DFAJumpThreading/dfa-jump-threading-analysis.ll
The file was modifiedllvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
Commit 120d52b0ef8b0d41d5ce5898422d2d2f42047d0b by a.bataev
[SLP]Fix PR55653: emit undefs where required, not poison.

Need to handle a corner case correctly, if all elements are Undefs/Poisons,
need to emit actual values, not just poisons.

Differential Revision: https://reviews.llvm.org/D126298
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-alt-shuffle.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/insert-shuffle.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/partail.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/jumbled-load-used-in-phi.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/SystemZ/pr34619.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder2.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/slp-umax-rdx-matcher-crash.ll
Commit 7b809c30b9261b167cf55ce289eccf88c6000c65 by a.bataev
[SLP]Improve compile time, NFC.

Patch improves compile time. For function calls, which cannot be
vectorized, create a unique group for each such a call instead of
subgroup. It prevents them from being grouped by a subgroups and
attempts for their vectorization.

Also, looks through casts operand to try to check their
groups/subgroups.

Reduces number of vectorization attempts. No changes in the statistics
for SPEC2017/2006/llvm-test-suite.

Differential Revision: https://reviews.llvm.org/D126476
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit afe49934a68afdf44dcd48489d9f5e820bc5424d by listmail
[RISCV] Allow compatible VTYPE in AVL Reg Forward cases

During insertion of VSETVLI, we have two related bits of code which decide whether we can reuse a previous vsetvli result. As was pointed out in the original review, these cases can allow any prior state for which we know that VL is the same for any value of AVL.

This was originally separated out of a desire for separate tests and review. As it turns out, finding a test case for this has been quite challenging. Most of the cases I tried, we manage to already get through other chains of logic. We do have one correct test change, but that only exercises one of the two changes.

Differential Revision: https://reviews.llvm.org/D126400
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Commit c8eb83f2d007dd3279a9ff459f3464a3cd9568b6 by nikita.ppv
[ControlHeightReduction] Use logical and

Use logical instead of bitwise and to combine conditions, to avoid
propagating poison from a later condition if an earlier one is
already false. This avoids introducing branch on poison.

Differential Revision: https://reviews.llvm.org/D125898
The file was modifiedllvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/chr.ll
Commit 3d2b5b7b87857b0cc4c322cfc145c46c42fe2bbf by smeenai
[libunwind] Factor out sigreturn check condition. NFC

Create a macro for this instead of duplicating the architecture checks
everywhere. (It's a little redundant to use it when we're checking for a
specific architecture, but I'm also applying it there for consistency.)

Reviewed By: rprichard, MaskRay, #libunwind

Differential Revision: https://reviews.llvm.org/D126342
The file was modifiedlibunwind/src/UnwindCursor.hpp
Commit 0be0a53df65cb402359c257922d80ab93d86fb40 by smeenai
[libunwind] Use process_vm_readv to avoid potential segfaults

We've observed segfaults in libunwind when attempting to check for the
Linux aarch64 sigreturn frame, presumably because of bad unwind info
leading to an incorrect PC that we attempt to read from. Use
process_vm_readv to read the memory safely instead.

The s390x code path should likely follow suit, but I don't have the
hardware to be able to test that, so I didn't modify it here either.

Reviewed By: MaskRay, rprichard, #libunwind

Differential Revision: https://reviews.llvm.org/D126343
The file was addedlibunwind/test/bad_unwind_info.pass.cpp
The file was modifiedlibunwind/src/UnwindCursor.hpp
Commit a831ce528fc0fd16734d644e62ae956834276c1b by smeenai
Revert "[runtimes] Detect changes to Tests.cmake"

This reverts commit ec10ac750a8ad96983d85263323635f3dabe92fd.

See https://discourse.llvm.org/t/cmake-regeneration-is-broken/62788.
This change caused Ninja's CMake regeneration to depend on the build,
which prevented CMake regeneration from functioning properly and caused
spurious build failures on incremental builds when a CMake change
occurred.
The file was modifiedllvm/runtimes/CMakeLists.txt
The file was modifiedllvm/cmake/modules/LLVMExternalProjectUtils.cmake
Commit d58cc0839ee5935e649dbbc18c898a8e4bcd6724 by listmail
[RISCV] reorganize getFrameIndexReference to reduce code duplication [nfc]

This change reorganizes the majority of frame index resolution into a two strep process.

    Step 1 - Select which base register we're going to use.
    Step 2 - Compute the offset from that base register.

The key point is that this allows us to share the step 2 logic for the SP case. This reduces the code duplication, and (I think) makes the code much easier to follow.

I also went ahead and added assertions into phase 2 to catch errors where we select an illegal base pointer. In general, we can't index from a base register to a stack location if that requires crossing a variable and unknown region. In practice, we have two such cases: dynamic stack realign and var sized objects. Note that crossing the scalable region is fine since while variable, it's a known variability which can be expressed in the offset.

Differential Revision: https://reviews.llvm.org/D126403
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Commit 939a43461ba3cd540a049a62a27dab2732bedd64 by resistor
Revert "Replace the custom linked list in LeaderTableEntry with TinyPtrVector."

This reverts commit 1e9114984490b83d4665f12a11f84c83f50ca8f0.

Pending further discussion.
The file was modifiedllvm/include/llvm/Transforms/Scalar/GVN.h
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
Commit 0a5cfbf7b2e82e7980b66428e88b4e28e814d7bb by michael.p.rice
[OpenMP] Use the align clause value from 'omp allocate' for globals

Refactor the code that handles the align clause of 'omp allocate' so
it can be used with globals as well as local variables.

Differential Revision: https://reviews.llvm.org/D126426
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was addedclang/test/OpenMP/align_clause_global_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit 917dc0749b77467188872c4a0f217cedd874de36 by david.penry
[ARM] Recognize t2LoopEnd for software pipelining

- Add t2LoopEnd to TargetInstrInfo::analyzeBranch and
  related functions.  As there are many side effects of
  analyzing a branch, only do so if software pipelining
  is enabled to maintain previous behavior when pipelining
  is not desired.
- Make sure that t2LoopEndDec is immediately followed by
  a t2B when it is synthesized from a t2LoopEnd. This is
  done because the t2LoopEnd might have acquired a
  fall-through path, but IfConversion assumes that
  fall-through are only possible on analyzable branches.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D126322
The file was addedllvm/test/CodeGen/Thumb2/swp-fixedii-le.mir
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was modifiedllvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
Commit 6af5f5697c8560e09c305d5cfd74a7bda0d4d311 by flo
[SCEV] Collect conditions from assumes same way as for branches.

Also collect conditions from assume up-front in applyLoopGuards.
This allows re-using the logic to handle logical ANDs as assume
conditions.

It should should pave the road for a fix for #55645.
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit f15c60218d5c88c9f32942bce119e7ac25cb6d73 by mtrofin
[UpdateTestChecks] Auto-generate stub bodies for unused prefixes

This is scoped to autogenerated tests.

The goal is to support having each RUN line specify a list of
check-prefixes where one can specify potentially redundant prefixes. For example,
for X86, if one specified prefixes for  both AVX1 and AVX2, and the codegen happened to
match today, one of the prefixes would be used and the onther one not.
If the unused prefix were dropped, and later, codegen differences were
introduced, one would have to go figure out where to add what prefix
(paraphrasing
https://lists.llvm.org/pipermail/llvm-dev/2021-February/148326.html)

To avoid getting errors due to unused prefixes, whole directories can be
opted out (as discussed on that thread), but that means that tests that
aren't autogenerated in such directories could have undetected unused
prefix bugs.

This patch proposes an alternative that both avoids the above, dir-level
optout, and supports the main autogen scenario discussed first. The autogen
tool appends at the end of the test file the list of unused prefixes,
together with a note explaining that is the case. Each prefix is set up
to always pass.

This way, unexpected unused prefixes are easily discoverable, and
expected cases "just work".

Differential Revision: https://reviews.llvm.org/D124306
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/common-label-different-bodies.test
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/common-label-different-bodies-3.ll
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/common-label-different-bodies-1-next.ll
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/redundant-and-unmatched-prefixes.test
The file was modifiedllvm/utils/update_cc_test_checks.py
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll.expected
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/common-label-different-bodies-1.ll
The file was modifiedllvm/utils/update_llc_test_checks.py
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/common-label-different-bodies-2.ll
The file was modifiedllvm/utils/UpdateTestChecks/asm.py
The file was modifiedllvm/utils/UpdateTestChecks/isel.py
The file was modifiedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/prefix-never-matches.test
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/redundant-and-unmatching-prefixes.ll
Commit ce54b22657f01d1c40de4941ceb6e7119848aecf by bruno.cardoso
[Clang][CoverageMapping] Fix switch counter codegen compile time explosion

C++ generated code with huge amount of switch cases chokes badly while emitting
coverage mapping, in our specific testcase (~72k cases), it won't stop after hours.
After this change, the frontend job now finishes in 4.5s and shrinks down `@__covrec_`
by 288k when compared to disabling simplification altogether.

There's probably no good way to create a testcase for this, but it's easy to
reproduce, just add thousands of cases in the below switch, and build with
`-fprofile-instr-generate -fcoverage-mapping`.

```
enum type : int {
FEATURE_INVALID = 0,
FEATURE_A = 1,
...
};

const char *to_string(type e) {
  switch (e) {
  case type::FEATURE_INVALID: return "FEATURE_INVALID";
  case type::FEATURE_A: return "FEATURE_A";}
  ...
  }

```

Differential Revision: https://reviews.llvm.org/D126345
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.cpp
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Commit 8a467284d5608522fdf80cb78056d42d28f5ebb5 by Jason Molenda
Defer source path remap tilde expansion until source file use

When reading source path remappings out of a dSYM, lldb currently
does tilde expansion -- expanding the tilde-username and checking
that the destination pathname exists, for each dSYM with the path
remappings.  This cost happens during lldb's initial process launch
/ load, an especially perf-sensitive time.  Inside Apple, we have
dSYMs with source path remappings pointing to NFS directories where
these extra stats for every dSYM can be very expensive if the network
is slow.

This patch instead keeps the source path mapping in the original
tilde-username terms and does the tilde expansion when we need
to read a specific source file from one of the modules.  We'll
be stat'ing all of those inodes to load the source file anyway,
so the fact that we do the tilde expansion on every source file
we load, it doesn't cost us significantly.

Differential Revision: https://reviews.llvm.org/D126435
rdar://77091379

(cherry picked from commit c274b6e5830ea88d3f55d6dc1d2b99e38cf6595e)
The file was modifiedlldb/source/Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.cpp
The file was modifiedlldb/source/Core/SourceManager.cpp
Commit bd67468645c08a96aec7839c30385956edd88021 by Jason Molenda
Check that a FileSpec has a Directory component before using

A follow on to my patch for https://reviews.llvm.org/D126435
hit by an x86_64 linux bot; I assumed that a FileSpec had a
directory component and checked if the first character was a
'~'.  This was not a valid assumption.
The file was modifiedlldb/source/Core/SourceManager.cpp
Commit ad73ce318ef901545fa82d57a609c71af787e1e1 by minyihh
[Target] use getSubtarget<> instead of static_cast<>(getSubtarget())

Differential Revision: https://reviews.llvm.org/D125391
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsExpandPseudo.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEFrameLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsOptimizePICCall.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMConstantIslandPass.cpp
The file was modifiedllvm/lib/Target/Mips/MicroMipsSizeReduction.cpp
The file was modifiedllvm/lib/Target/X86/X86CallingConv.cpp
The file was modifiedllvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/lib/Target/CSKY/CSKYConstantIslandPass.cpp
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was modifiedllvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Mips/MipsBranchExpansion.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/Thumb2SizeReduction.cpp
The file was modifiedllvm/lib/Target/M68k/M68kCollapseMOVEMPass.cpp
The file was modifiedllvm/lib/Target/M68k/M68kExpandPseudo.cpp
The file was modifiedllvm/lib/Target/ARM/MVEVPTBlockPass.cpp
The file was modifiedllvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
The file was modifiedllvm/lib/Target/Mips/MipsLegalizerInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBlockPlacement.cpp
The file was modifiedllvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
The file was modifiedllvm/lib/Target/Mips/MipsMachineFunction.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
The file was modifiedllvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatternsHVX.td
The file was modifiedllvm/lib/Target/AArch64/AArch64FastISel.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
The file was modifiedllvm/lib/Target/Mips/MipsCallLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
The file was modifiedllvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsConstantIslandPass.cpp
The file was modifiedllvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
The file was modifiedllvm/lib/Target/ARM/ARMFastISel.cpp
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
Commit ea6d0c4b2a1ec9c12aa5513ddf574f3146cf9025 by Jason Molenda
One further tweak for realpathing filepath to match dyld

I missed one place I need to realpath the build artifact path,
to make it match the path we get back from dyld.
The file was modifiedlldb/test/API/commands/platform/sdk/TestPlatformSDK.py