SuccessChanges

Summary

  1. [AArch64] Fix swap-compare-operands test names to fix issue reported on D77354 (details)
  2. [cuda][hip] Fix `RegisterVar` function prototype. (details)
  3. [LoopStrengthReduce] Fix test checks to fix issue reported on D77227 (details)
  4. [NFC] Move ARM `opt -indvars` test from Codegen into Transforms (details)
  5. Revert "[SCEV] rewriteLoopExitValues(): even if have hard uses, still rewrite if cheap (PR44668)" (details)
  6. [X86][SSE] lowerShuffleWithPACK - extend to use chained PACKs for larger truncations (details)
  7. [CMAKE] Plumb include_directories() into tablegen() (details)
  8. Revert "[CMAKE] Plumb include_directories() into tablegen()" (details)
  9. [libc++] Remove useless nothing_to_do.pass.cpp tests (details)
  10. [Support/Path] sys::path::replace_path_prefix fix and simplifications (details)
  11. [VectorCombine] try to form a better extractelement (details)
  12. [YAMLParser] Scanner::setError - ensure we use the StringRef::iterator argument (PR45043) (details)
Commit 30053c842ca459aedf418391f612a3de1e6a6109 by llvm-dev
[AArch64] Fix swap-compare-operands test names to fix issue reported on D77354

Load of copy+paste errors in the label checks that needed fixing before the missing ":" could be added
The file was modifiedllvm/test/CodeGen/AArch64/swap-compare-operands.ll (diff)
Commit b952d799cacdb7efd44c1c9468bb11471cc16874 by michael.hliao
[cuda][hip] Fix `RegisterVar` function prototype.

Summary:
- `RegisterVar` has `void` return type and `size_t` in its variable size
  parameter in HIP or CUDA 9.0+.

Reviewers: tra, yaxunl

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77398
The file was modifiedclang/include/clang/Basic/Cuda.h (diff)
The file was modifiedclang/lib/Basic/Cuda.cpp (diff)
The file was modifiedclang/test/CodeGenCUDA/device-stub.cu (diff)
The file was modifiedclang/lib/CodeGen/CGCUDANV.cpp (diff)
Commit 396b1ee0e0b0c80484095a33daed7b53e701b090 by llvm-dev
[LoopStrengthReduce] Fix test checks to fix issue reported on D77227
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/X86/lsr-insns-2.ll (diff)
Commit 8e7b25bb401ada4e1d5d026712150ab43598a79e by lebedev.ri
[NFC] Move ARM `opt -indvars` test from Codegen into Transforms

They are really not codegen tests.
The file was addedllvm/test/Transforms/IndVarSimplify/ARM/indvar-cost.ll
The file was removedllvm/test/CodeGen/ARM/indvar-cost.ll
The file was removedllvm/test/CodeGen/ARM/indvar-unroll-imm-cost.ll
The file was addedllvm/test/Transforms/IndVarSimplify/ARM/indvar-unroll-imm-cost.ll
The file was addedllvm/test/Transforms/IndVarSimplify/ARM/lit.local.cfg
Commit 7d572ef2dd9bf68d56c0fa3152c2dea2f778f147 by lebedev.ri
Revert "[SCEV] rewriteLoopExitValues(): even if have hard uses, still rewrite if cheap (PR44668)"

As discussed in post-commit review in https://reviews.llvm.org/D73501
if the goal of this is to help vectorizer, then we should actually
be teaching vectorizer to do this, because right now this rewrite
is still budget-limited, which isn't what we'd want.

Additionally, while the rest of the patch series was universally profitable,
this particular patch is reportedly (https://reviews.llvm.org/D73501#1905171)
exposing cost-modeling issues on ARM.

So let's just back this particular patch out. Once there's an undo transform,
this could be considered for reintegration.

This reverts commit 44edc6fd2c63b7db43e13cc8caf1fee79bebdb5f.
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp (diff)
The file was addedllvm/test/Transforms/IndVarSimplify/dont-recompute.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/ARM/indvar-cost.ll (diff)
The file was removedllvm/test/Transforms/IndVarSimplify/do-recompute-if-cheap.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/pr39673.ll (diff)
The file was modifiedllvm/test/Transforms/IndVarSimplify/lrev-existing-umin.ll (diff)
The file was modifiedllvm/test/Transforms/IndVarSimplify/elim-extend.ll (diff)
The file was modifiedllvm/test/Transforms/IndVarSimplify/pr28705.ll (diff)
Commit 34a497b7653b2ec24fc25c683b9857424e861553 by llvm-dev
[X86][SSE] lowerShuffleWithPACK - extend to use chained PACKs for larger truncations

Extend lowerShuffleWithPACK/matchShuffleWithPACK/createPackShuffleMask to handle compaction style shuffle masks that can be lowered to chains of PACKSS/PACKUS if their inputs are suitably sign/zero extended.

This helps avoid PSHUFB (and its mask load) for short shuffle chains, shuffle combining will still replace with a PSHUFB if we have enough shuffles as getFauxShuffleMask should recognise the PACKSS/PACKUS chains.
The file was modifiedllvm/test/CodeGen/X86/psubus.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-512-v64.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/avx-fp2int.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc_usat.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-128.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-ssat.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc_ssat.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec_cast2.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/bitcast-and-setcc-512.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-256.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-packus.ll (diff)
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-usat.ll (diff)
Commit ae044c5b0caa095602b6ef4cca40d57efc26a8f6 by stephen.neuendorffer
[CMAKE] Plumb include_directories() into tablegen()

Previously, the tablegen() cmake command, which defines custom
commands for running tablegen, included several hardcoded paths.  This
becomes unwieldy as there are more users for which these paths are
insufficient.  For most targets, cmake uses include_directories() and
the INCLUDE_DIRECTORIES directory property to specify include paths.
This change picks up the INCLUDE_DIRECTORIES property and adds it
to the include path used when running tablegen.  As a side effect, this
allows us to remove several hard coded paths to tablegen that are redundant
with specified include_directories().

I haven't removed the hardcoded path to CMAKE_CURRENT_SOURCE_DIR, which
seems generically useful.  There are several users in clang which apparently
don't have the current directory as an include_directories().  This could
be considered separately.

Differential Revision: https://reviews.llvm.org/D77156
The file was modifiedclang/cmake/modules/AddClang.cmake (diff)
The file was modifiedmlir/cmake/modules/AddMLIR.cmake (diff)
The file was modifiedllvm/cmake/modules/TableGen.cmake (diff)
The file was modifiedmlir/examples/toy/Ch3/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch7/include/toy/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch4/include/toy/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch4/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch6/include/toy/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch5/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch6/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch7/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch5/include/toy/CMakeLists.txt (diff)
Commit f288c216875d6cba6465230cbb0677e839775cd9 by stephen.neuendorffer
Revert "[CMAKE] Plumb include_directories() into tablegen()"

This reverts commit ae044c5b0caa095602b6ef4cca40d57efc26a8f6.

This breaks the buildbots, which use an older version of cmake.
The file was modifiedmlir/examples/toy/Ch4/include/toy/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch3/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch5/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch5/include/toy/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch4/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch6/include/toy/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch7/CMakeLists.txt (diff)
The file was modifiedmlir/examples/toy/Ch7/include/toy/CMakeLists.txt (diff)
The file was modifiedclang/cmake/modules/AddClang.cmake (diff)
The file was modifiedllvm/cmake/modules/TableGen.cmake (diff)
The file was modifiedmlir/examples/toy/Ch6/CMakeLists.txt (diff)
The file was modifiedmlir/cmake/modules/AddMLIR.cmake (diff)
Commit aaaa25e23db7af931b4354700f48027a034444ae by Louis Dionne
[libc++] Remove useless nothing_to_do.pass.cpp tests

The testing script used to test libc++ historically did not like directories
without any testing files, so these tests had been added. Since this is
not necessary anymore, we can now remove these files. This has the benefit
that the total number of tests reflects the real number of tests more
closely, and we also skip some unnecessary work (especially relevant when
running tests over SSH).

However, some nothing_to_do.pass.cpp tests actually serve the purpose of
documenting that an area of the Standard doesn't need to be tested, or is
tested elsewhere. These files are not removed by this commit.

Removal done with:

  import os
  import itertools
  for (dirpath, dirnames, filenames) in itertools.chain(os.walk('./libcxx/test'),
                                                        os.walk('./libcxxabi/test')):
      if len(filenames + dirnames) > 1 and \
         any(p == 'nothing_to_do.pass.cpp' for p in filenames):
          os.remove(os.path.join(dirpath, 'nothing_to_do.pass.cpp'))
The file was removedlibcxx/test/std/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/localization/locales/locale.convenience/conversions/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/diagnostics/syserr/syserr.errcat/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/stream.buffers/streambuf/streambuf.members/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/memory/allocator.uses/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/algorithms/alg.sorting/alg.sort/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/meta/meta.trans/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/strings/string.view/string.view.template/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/localization/locales/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/experimental/func/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/rand/rand.dis/rand.dist.norm/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/iostreams.base/ios.base/ios.types/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/algorithms/alg.modifying.operations/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/containers/container.requirements/associative.reqmts/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/experimental/func/func.searchers/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/depr/depr.function.objects/depr.adaptors/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.modifiers/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/localization/locales/locale/locale.types/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/bit/nothing_to_do.pass.cpp
The file was removedlibcxx/test/support/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/containers/container.adaptors/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/depr/depr.auto.ptr/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/rand/rand.dis/rand.dist.pois/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/iostreams.base/fpos/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/containers/sequences/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/localization/locale.categories/category.numeric/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/intseq/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/numarray/class.slice/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/depr/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/thread/thread.req/thread.req.lockable/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/localization/locale.categories/category.messages/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/file.streams/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/numarray/valarray.nonmembers/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.nonmembers/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/containers/container.requirements/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/containers/container.requirements/unord.req/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/diagnostics/syserr/syserr.syserr/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/meta/meta.unary/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/atomics/atomics.types.operations/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/experimental/memory/memory.polymorphic.allocator.class/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/language.support/support.exception/exception.terminate/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/iterators.general/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/depr/exception.unexpected/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/strings/char.traits/char.traits.specializations/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/containers/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/predef.iterators/move.iterators/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/localization/locale.categories/facet.numpunct/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/localization/locales/locale/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/experimental/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/rand/rand.eng/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/re/re.regex/re.regex.nonmemb/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/thread/thread.mutex/thread.once/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/nothing_to_do.pass.cpp
The file was removedlibcxx/test/libcxx/extensions/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/time/time.traits/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/localization/locale.categories/category.time/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/algorithms/alg.sorting/alg.heap.operations/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/function.objects/bind/func.bind/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/localization/locales/locale.convenience/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/re/re.def/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.dltr/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/iostream.format/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/utility.requirements/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/predef.iterators/insert.iterators/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/strings/char.traits/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/experimental/iterator/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/stream.iterators/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/language.support/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/depr/depr.lib.binders/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/algorithms/alg.sorting/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/predef.iterators/reverse.iterators/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/rand/rand.dis/rand.dist.samp/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/re/nothing_to_do.pass.cpp
The file was removedlibcxx/test/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/algorithms/alg.sorting/alg.set.operations/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/algorithms/alg.nonmodifying/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/re/re.grammar/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/predef.iterators/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/diagnostics/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/iostream.format/input.streams/istream.formatted/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/atomics/atomics.general/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/language.support/support.dynamic/new.delete/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/iterator.requirements/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/memory/util.smartptr/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/iterator.primitives/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/diagnostics/syserr/syserr.errcode/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/language.support/support.limits/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/depr/depr.function.objects/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/localization/locale.categories/category.collate/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/re/re.alg/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/rand/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/rand/rand.req/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/algorithms/alg.sorting/alg.binary.search/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/iostreams.requirements/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/rand/rand.dis/rand.dist.bern/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/function.objects/func.wrap/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/diagnostics/syserr/syserr.errcondition/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/iostreams.base/ios.base/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/iostreams.base/std.ios.manip/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/re/re.iter/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/time/time.cal/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/utility/pairs/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/function.objects/func.search/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/experimental/memory/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/experimental/utilities/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/localization/locale.categories/category.monetary/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/language.support/support.dynamic/alloc.errors/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/strings/basic.string/string.ops/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/re/re.const/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/rand/rand.dis/rand.dist.uni/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/function.objects/bind/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/numarray/class.gslice/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/rand/rand.dis/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/thread/thread.req/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/containers/container.requirements/container.requirements.general/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/memory/specialized.algorithms/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/time/time.clock/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/rand/rand.adapt/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/rand/rand.util/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/smartptr/unique.ptr/nothing_to_do.pass.cpp
Commit e4ae0a2e975137a2596df06158317fcb2d21b86d by sylvain.audi
[Support/Path] sys::path::replace_path_prefix fix and simplifications

Added unit tests for 2 scenarios that were failing.
Made replace_path_prefix back to 3 parameters instead of 5, simplifying the implementation. The other 2 were always used with the default value.

This commit is intended to be the first of 3:
1) simplify/fix replace_path_prefix.
2) use it in the context of -fdebug-prefix-map and -fmacro-prefix-map (see D76869).
3) Make Windows version of replace_path_prefix insensitive to both case and separators (slash vs backslash).

Differential Revision: https://reviews.llvm.org/D77223
The file was modifiedllvm/lib/Support/Path.cpp (diff)
The file was modifiedllvm/include/llvm/Support/Path.h (diff)
The file was modifiedllvm/unittests/Support/Path.cpp (diff)
Commit ce97ce3a5d72163fa217f367b1f8c8cab84c5963 by spatel
[VectorCombine] try to form a better extractelement

Extracting to the same index that we are going to insert back into
allows forming select ("blend") shuffles and enables further transforms.

Admittedly, this is a quick-fix for a more general problem that I'm
hoping to solve by adding transforms for patterns that start with an
insertelement.

But this might resolve some regressions known to be caused by the
extract-extract transform (although I have not gotten more details on
those yet).

In the motivating case from PR34724:
https://bugs.llvm.org/show_bug.cgi?id=34724

The combination of subsequent instcombine and codegen transforms gets us this improvement:

  vmovshdup %xmm0, %xmm2    ## xmm2 = xmm0[1,1,3,3]
  vhaddps %xmm1, %xmm1, %xmm4
  vmovshdup %xmm1, %xmm3    ## xmm3 = xmm1[1,1,3,3]
  vaddps %xmm0, %xmm2, %xmm0
  vaddps %xmm1, %xmm3, %xmm1
  vshufps $200, %xmm4, %xmm0, %xmm0 ## xmm0 = xmm0[0,2],xmm4[0,3]
  vinsertps $177, %xmm1, %xmm0, %xmm0 ## xmm0 = zero,xmm0[1,2],xmm1[2]

  -->

  vmovshdup %xmm0, %xmm2    ## xmm2 = xmm0[1,1,3,3]
  vhaddps %xmm1, %xmm1, %xmm1
  vaddps %xmm0, %xmm2, %xmm0
  vshufps $200, %xmm1, %xmm0, %xmm0 ## xmm0 = xmm0[0,2],xmm1[0,3]

Differential Revision: https://reviews.llvm.org/D76623
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp (diff)
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-cmp.ll (diff)
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-binop.ll (diff)
Commit 22257975679d20dd87cb3f791708d07c82f53142 by llvm-dev
[YAMLParser] Scanner::setError - ensure we use the StringRef::iterator argument (PR45043)

As detailed on PR45043, static analysis was warning that the StringRef::iterator Position argument was being ignored and the function was hardwired to use the Current iterator.

This patch ensures we use the provided iterator and removes the (barely necessary) setError wrapper that always used Current.

Differential Revision: https://reviews.llvm.org/D76512
The file was modifiedllvm/lib/Support/YAMLParser.cpp (diff)