FailedChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [libc++] Add an alternative Lit test format (details)
  2. [X86] Remove defunct section checks from emulated TLS tests to fix issue reported on D77354 (details)
  3. [ELF] Allow invalid sh_size%sh_entsize!=0 for non-SHF_MERGE sections (details)
  4. InstCombine: Reduce minnum/maxnum if inputs are casted (details)
  5. [PowerPC] Regenerate f128 test to fix issue reported on D77354 (details)
  6. [LoopRotate] Cleanup test checks to fix issue reported on D77354 (details)
  7. [lldb/Symbol] Reimplement Symbols::FindSymbolFileInBundle to use the VFS (details)
  8. [lldb/Support] Treat empty FileSpec as an invalid file. (details)
  9. [InstSimplify] Regenerate compares tests to fix issue reported on D77354 (details)
  10. Run update_llc_test on test/CodeGen/ARM/vmov.ll (details)
  11. [ARM] Avoid pointless vrev of element-wise vmov (details)
  12. [ARM] Fix incorrect handling of big-endian vmov.i64 (details)
  13. [PhaseOrdering] add shuffle tests based on D40633; NFC (details)
  14. [AArch64] Fix swap-compare-operands test names to fix issue reported on D77354 (details)
  15. [cuda][hip] Fix `RegisterVar` function prototype. (details)
  16. [LoopStrengthReduce] Fix test checks to fix issue reported on D77227 (details)
  17. [NFC] Move ARM `opt -indvars` test from Codegen into Transforms (details)
  18. Revert "[SCEV] rewriteLoopExitValues(): even if have hard uses, still rewrite if cheap (PR44668)" (details)
  19. [X86][SSE] lowerShuffleWithPACK - extend to use chained PACKs for larger truncations (details)
  20. [CMAKE] Plumb include_directories() into tablegen() (details)
  21. Revert "[CMAKE] Plumb include_directories() into tablegen()" (details)
  22. [libc++] Remove useless nothing_to_do.pass.cpp tests (details)
  23. [Support/Path] sys::path::replace_path_prefix fix and simplifications (details)
  24. [VectorCombine] try to form a better extractelement (details)
  25. [YAMLParser] Scanner::setError - ensure we use the StringRef::iterator argument (PR45043) (details)
  26. [libc++] Remove support for specifying LIBCXX_CXX_ABI_SYSTEM manually (details)
  27. [AMDGPU] Propagate AGPR RC from PHI to its PHI operands (details)
  28. [CMAKE] Plumb include_directories() into tablegen() (details)
  29. Clean up usages of asserting vector getters in Type (details)
  30. [mlir] DialectConversion: support block creation in ConversionPatternRewriter (details)
  31. [AMDGPU] Added label to test. NFC. (details)
  32. [clang-tidy] Address false positive in modernize-use-default-member-init (details)
  33. [libc++] NFC: Remove unused CMake option (details)
  34. AMDGPU: Remove redundant virtual (details)
  35. AMDGPU: Use Register in more places (details)
  36. CodeGen: Convert some TII hooks to use Register (details)
  37. Support: Add specializations for reverseBits to use builtin (details)
  38. [compiler-rt] Build with correct ABI (PR38025) (details)
  39. [PowerPC] Replace subtract-from-zero float in version with fneg in PowerPC special fma compiler builtins (details)
  40. [X86] Add RET-hardening Support to mitigate Load Value Injection (LVI) (details)
  41. [GraphDiff] Extend GraphDiff to track a list of updates. (details)
  42. Fix typo in test. (details)
  43. [ORC] Improve documention of memory ownership in the new Orc C bindings. (details)
  44. Test had incorrect check for nonzero count (details)
  45. Don't use relpaths in lit cfg if build/source dir are on different drives. (details)
  46. Revert "[PowerPC] Replace subtract-from-zero float in version with fneg in PowerPC special fma compiler builtins" (details)
  47. [gn build] Port f95a67d8b8a (details)
  48. [nfc] [lldb] Unindent code - obvious part (details)
  49. [X86] Add a Pass that builds a Condensed CFG for Load Value Injection (LVI) Gadgets (details)
  50. [lit] Cleanly exit on user keyboard interrupt (details)
  51. [gn build] Port c74dd640fd7 (details)
  52. [mlir][Linalg] Employ finer-grained control of C interface emission (details)
  53. [OpenMP][NFC] Remove the need to include `OpenMPClause.h` (details)
  54. [X86] Add Support for Load Hardening to Mitigate Load Value Injection (LVI) (details)
  55. [test] preformat test with update_llc_test_checks.py NFC (details)
  56. Fix standalone clang builds after fb80b6b2d58. (details)
  57. [InstCombine] add tests for freelyNegateValue with 'not'; NFC (details)
  58. [mlir] LoopToStandard conversion: support "if/else" with results (details)
  59. [libc++] Lit: Add default values for most arguments of test executors (details)
  60. Make ThreadPlans use TID and Process, rather than Thread *. (details)
  61. Make ThreadPlanTracers use TID & Process rather than Thread *. (details)
  62. Move thread plan stacks into the Process, indexed by TID. (details)
  63. Allow the ThreadPlanStackMap to hold the thread plans for threads (details)
  64. [libc] Add strlen implementation. (details)
  65. [lldb] Findtypes -gmodules fix for too many matches (details)
  66. [libc] Fix memcpy to adhere to qualified calls. (details)
  67. [Driver] Handle all optimization-record options for Darwin LTO (details)
  68. [ObjC generics] Fix not inheriting type bounds in categories/extensions. (details)
  69. Avoid using std::max_align_t in pre-C++11 mode (details)
  70. [MS] Fix assert handling enum forward decls in hasVisibleDefinition (details)
  71. Revert "[X86] Add Support for Load Hardening to Mitigate Load Value Injection (LVI)" (details)
  72. Revert "[X86] Add a Pass that builds a Condensed CFG for Load Value Injection (LVI) Gadgets" (details)
  73. [gn build] Port 1d42c0db9a2 (details)
  74. Disable two new tests on Windows.  They are failing but the logs are not helpful. (details)
  75. [intel-mpx] Delete an unnecessary license header (details)
  76. Fix unused variable, format, and format string warnings. (details)
  77. [llvm-stress][opaque pointers] Remove use of deprecated constructor (details)
  78. [clang codegen][opaque pointers] Remove use of deprecated constructor (details)
  79. [polly][opaque pointers] Remove use of deprecated APIs. (details)
  80. [clang][opaque pointers] Fix up a bunch of "getType()->getElementType()" (details)
  81. This test is failing on the Ubuntu bot but the bot log doesn't (details)
  82. PR45402: Make the restrictions on constant evaluation of memcmp and (details)
  83. [NFC][PowerPC] Pre-commit a test case for D77448 (details)
  84. [mlir] Change the default of `mlir-print-op-on-diagnostic` to true (details)
  85. [source maps] Fix remove, insert-after and replace (details)
  86. [mlir][DeclarativeParser] Emit an error if a `:` follows an attribute with a non-constant type. (details)
  87. Fix LLDB debug builds (details)
  88. The thread plan list test is failing at least on Ubuntu Linux. (details)
  89. [OpenMP] NFC: Fix trivial typo (details)
  90. Fix typos in toy tutorial (details)
  91. Don't treat a CXXScopeSpec with a nested name specifier but no location (details)
  92. Add mention of advantages of `arc` in the Phabricator doc. (details)
  93. AMDGPU: Fix a few more tests with old denormal subtarget features (details)
  94. [MLIR] Fix shape inference in toy tutorial (details)
Commit 80a2ddf65ccd9837a7cdd0dfb96bb57863dd57d5 by Louis Dionne
[libc++] Add an alternative Lit test format

This new test format is simpler and more flexible. It creates Lit ShTests
on the fly that reuse existing substitutions (like %{cxx}) instead of
having complex logic in Python to run the tests. This has the benefit
that virtually no coding is required to customize how the test suite is
run -- one can achieve pretty much anything by defining the appropriate
substitutions in a simple lit.cfg file.

For example, in order to run the tests on an embedded device after
building with a specific SDK, one can set the %{cxx} and %{compile_flags}
substitutions to use that SDK, and the %{exec} substitution to the ssh.py
script currently used for .sh.cpp tests with a remote executor. Dealing with
the SSHExecutor becomes unnecessary, since all tests are treated like ShTests.

As a side effect of this design, configuration files for the test
suite can be as simple as:

config.substitutions.append(('%{cxx}', '<path-to-compiler>'))
config.substitutions.append(('%{compile_flags}', '<flags>'))
config.substitutions.append(('%{link_flags}', '<flags>'))
config.substitutions.append(('%{exec}', '<script-to-execute>'))

This should allow storing lit.cfg files for various configurations
directly in the repository instead of relying on complicated logic
in config.py to set up the right flags. I've found numerous problems
in that logic in the past years, and it seems like having simple and
explicit configuration files for the configurations we support is
going to solve most of these problems. Specifically, I am hoping to
store configuration files for testing other Standard Libraries in
the repository.

Improving the interaction with the test suite configuration is still a
work in progress, so for now this test format reuses the substitutions and
available features that are set up by the current config.py.

This new test format should support pretty much everything that the current
test format supports, however it will not be enabled by default at first to
make sure we're satisfied with it. For a short period of time, the new format
will require `--param=use_new_format=True` to be enabled, however it is a very
short term goal to replace the current testing format entirely and to simplify
the configuration accordingly.

Differential Revision: https://reviews.llvm.org/D77338
The file was addedlibcxx/test/libcxx/selftest/newformat/compile.fail.cpp/wrong-expected.compile.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/fail.mm/compile-error-with-verify.fail.mm
The file was addedlibcxx/test/libcxx/selftest/newformat/link.fail.cpp/link-success.link.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/pass.cpp/run-error.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/file_dependencies/substitute-in-dependencies.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/lit.local.cfg
The file was addedlibcxx/test/libcxx/selftest/newformat/fail.mm/compile-success.fail.mm
The file was addedlibcxx/test/libcxx/selftest/newformat/fail.cpp/wrong-expected.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/pass.mm/no-arc.pass.mm
The file was modifiedlibcxx/test/lit.cfg
The file was addedlibcxx/test/libcxx/selftest/newformat/compile.pass.cpp/compile-success.compile.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/pass.mm/run-success.pass.mm
The file was addedlibcxx/test/libcxx/selftest/newformat/link.pass.cpp/link-error.link.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/compile.pass.cpp/link-error.compile.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/file_dependencies/substitute-in-run.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/compile.fail.cpp/compile-success.compile.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/run.fail.cpp/run-success.run.fail.cpp
The file was addedlibcxx/utils/libcxx/test/newformat.py
The file was addedlibcxx/test/libcxx/selftest/newformat/additional_compile_flags/substitutes-in-compile-flags.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/sh.cpp/remote-substitutions.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/file_dependencies/no-dependencies.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/pass.mm/use-objective-cxx.pass.mm
The file was addedlibcxx/test/libcxx/selftest/newformat/additional_compile_flags/substitutes-in-run.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/run.fail.cpp/run-error.run.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/sh.cpp/run-success.sh.cpp
The file was modifiedlibcxxabi/test/lit.cfg
The file was modifiedlibcxx/test/libcxx/selftest/test.pass.mm
The file was addedlibcxx/test/libcxx/selftest/newformat/sh.cpp/substitutions.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/link.pass.cpp/compile-error.link.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/fail.cpp/compile-error-without-verify.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/compile.fail.cpp/compile-error.compile.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/pass.mm/link-error.pass.mm
The file was addedlibcxx/test/libcxx/selftest/newformat/pass.mm/compile-error.pass.mm
The file was addedlibcxx/test/libcxx/selftest/newformat/link.fail.cpp/compile-error.link.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/link.pass.cpp/link-success.link.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/compile.pass.cpp/compile-error.compile.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/fail.cpp/compile-error-with-verify.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/link.pass.cpp/run-error.link.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/sh.cpp/empty.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/fail.cpp/compile-success.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/pass.cpp/run-success.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/fail.mm/wrong-expected.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/fail.mm/compile-error-without-verify.fail.mm
The file was addedlibcxx/test/libcxx/selftest/newformat/run.fail.cpp/link-error.run.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/pass.mm/run-error.pass.mm
The file was addedlibcxx/test/libcxx/selftest/newformat/pass.cpp/compile-error.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/link.fail.cpp/link-error.link.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/pass.cpp/link-error.pass.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/sh.cpp/run-error.sh.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/run.fail.cpp/compile-error.run.fail.cpp
The file was addedlibcxx/test/libcxx/selftest/newformat/compile.pass.cpp/run-error.compile.pass.cpp
Commit 80d4df5be66149fc02620961b094d1a4301e82e6 by llvm-dev
[X86] Remove defunct section checks from emulated TLS tests to fix issue reported on D77354
The file was modifiedllvm/test/CodeGen/X86/emutls.ll
Commit 56decd982dc03a74d1796d9d4dbd7d9e0cea98dc by maskray
[ELF] Allow invalid sh_size%sh_entsize!=0 for non-SHF_MERGE sections

Fixes https://bugs.llvm.org/show_bug.cgi?id=45370
Fixes https://github.com/Clozure/ccl/issues/273

.stab holds a table of 12-byte entries. GNU as before 2.35 incorrectly
sets sh_entsize(.stab) to 20 on 64-bit architectures:
https://sourceware.org/bugzilla/show_bug.cgi?id=25768

We should not emit the confusing error:
"SHF_MERGE section size (...) must be a multiple of sh_entsize (20)

Reviewed By: grimar, psmith

Differential Revision: https://reviews.llvm.org/D77368
The file was addedlld/test/ELF/invalid/entsize.yaml
The file was modifiedlld/ELF/InputFiles.cpp
Commit 57a55313c3dcea2f3208d9d16463908d8eb41603 by arsenm2
InstCombine: Reduce minnum/maxnum if inputs are casted
The file was modifiedllvm/test/Transforms/InstCombine/double-float-shrink-1.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/minimum.ll
The file was modifiedllvm/test/Transforms/InstCombine/minnum.ll
The file was modifiedllvm/test/Transforms/InstCombine/maximum.ll
The file was modifiedllvm/test/Transforms/InstCombine/maxnum.ll
Commit 5f47f613de50b17e0e5bb1ca26b6d9785846782e by llvm-dev
[PowerPC] Regenerate f128 test to fix issue reported on D77354

I had to manually edit the file as the update script won't strip checks that don't have the ":" immediately after the prefix
The file was modifiedllvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll
Commit 43d2fc7ed74ec13f3c60ff606522402c9dd9e153 by llvm-dev
[LoopRotate] Cleanup test checks to fix issue reported on D77354
The file was modifiedllvm/test/Transforms/LoopRotate/pr35210.ll
Commit 63bfb3a81ba2aef8d0444b58aafc868af38a623c by Jonas Devlieghere
[lldb/Symbol] Reimplement Symbols::FindSymbolFileInBundle to use the VFS

This reimplements Symbols::FindSymbolFileInBundle to use the VFS-aware
recursive directory iterator. This is needed for reproducer replay.

Differential revision: https://reviews.llvm.org/D77337
The file was modifiedlldb/source/Symbol/LocateSymbolFileMacOSX.cpp
Commit d144087c963d8189bb4aeaa7800dcb9f93ac84db by Jonas Devlieghere
[lldb/Support] Treat empty FileSpec as an invalid file.

LLDB relies on empty FileSpecs being invalid files, for example, they
don't exists. Currently this assumption does not always hold during
reproducer replay, because we pass the result of GetPath to the VFS.
This is an empty string, which the VFS converts to an absolute directory
by prepending the current working directory, before looking it up in the
YAML mapping. This means that an empty FileSpec will exist when the
current working directory does. This breaks at least one test
(TestAddDsymCommand.py) when ran from replay.

This patch special cases empty FileSpecs and returns a sensible result
before calling GetPath and forwarding the call.

Differential revision: https://reviews.llvm.org/D77351
The file was modifiedlldb/source/Host/common/FileSystem.cpp
The file was modifiedlldb/unittests/Host/FileSystemTest.cpp
Commit 6d24dd7ed1198192fadd092f66717017ae895cdc by llvm-dev
[InstSimplify] Regenerate compares tests to fix issue reported on D77354
The file was modifiedllvm/test/Transforms/InstSimplify/compare.ll
Commit 966ae762229f9d77e6d9f0ab4220e4c2bf5f4fc4 by john.brawn
Run update_llc_test on test/CodeGen/ARM/vmov.ll

This is in preparation for D76514
The file was modifiedllvm/test/CodeGen/ARM/vmov.ll
Commit cd58fb632533e9bb87d401b734fcfec62012276d by john.brawn
[ARM] Avoid pointless vrev of element-wise vmov

If we have an element-wise vmov immediate instruction then a subsequent vrev
with width greater or equal to the vmov element width, then that vrev won't do
anything. Add a DAG combine to convert bitcasts that would become such vrevs
into vector_reg_casts instead.

Differential Revision: https://reviews.llvm.org/D76514
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmovimm.ll
The file was modifiedllvm/test/CodeGen/ARM/vmov.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-masked-load.ll
Commit 4ad9ca0f9e1b501ddf0ca4082c459d98046c93c2 by john.brawn
[ARM] Fix incorrect handling of big-endian vmov.i64

Currently when the target is big-endian vmov.i64 reverses the order of the two
words of the vector. This is correct only when the underlying element type is
32-bit, as actually what it should be doing is considering it a vector of the
underlying type and reversing the elements of that.

Differential Revision: https://reviews.llvm.org/D76515
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmovimm.ll
The file was modifiedllvm/test/CodeGen/ARM/big-endian-neon-fp16-bitconv.ll
The file was addedllvm/test/CodeGen/ARM/big-endian-vmov.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/ARM/vmov.ll
Commit 389704cc601bef026a4000ecf6ed81eed2a7c326 by spatel
[PhaseOrdering] add shuffle tests based on D40633; NFC

We got some of the potential optimizations with D76727 and D76844.
There are 2 likely enhancements that we could add to -vector-combine
to get most of the remaining cases:
1. Allow bitcasted shuffle mask narrowing (widen the elements).
2. Combine shuffle-of-shuffle into a single shuffle.

This is already partly handled by the x86 backend, but the
tests here show that we still miss some of the potential
combines.
The file was addedllvm/test/Transforms/PhaseOrdering/X86/shuffle.ll
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
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/lib/CodeGen/CGCUDANV.cpp
The file was modifiedclang/include/clang/Basic/Cuda.h
The file was modifiedclang/test/CodeGenCUDA/device-stub.cu
The file was modifiedclang/lib/Basic/Cuda.cpp
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
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-unroll-imm-cost.ll
The file was addedllvm/test/Transforms/IndVarSimplify/ARM/lit.local.cfg
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
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 removedllvm/test/Transforms/IndVarSimplify/do-recompute-if-cheap.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/pr39673.ll
The file was addedllvm/test/Transforms/IndVarSimplify/dont-recompute.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedllvm/test/Transforms/IndVarSimplify/lrev-existing-umin.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/ARM/indvar-cost.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/elim-extend.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/pr28705.ll
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
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc_usat.ll
The file was modifiedllvm/test/CodeGen/X86/masked_store_trunc_ssat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-ssat.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-usat.ll
The file was modifiedllvm/test/CodeGen/X86/vec_cast2.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-128.ll
The file was modifiedllvm/test/CodeGen/X86/bitcast-and-setcc-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
The file was modifiedllvm/test/CodeGen/X86/vector-trunc-packus.ll
The file was modifiedllvm/test/CodeGen/X86/avx-fp2int.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-fptoint-256.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
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 modifiedmlir/examples/toy/Ch5/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch7/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch6/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch6/CMakeLists.txt
The file was modifiedllvm/cmake/modules/TableGen.cmake
The file was modifiedmlir/examples/toy/Ch4/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch5/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch3/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch4/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch7/CMakeLists.txt
The file was modifiedclang/cmake/modules/AddClang.cmake
The file was modifiedmlir/cmake/modules/AddMLIR.cmake
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/Ch6/include/toy/CMakeLists.txt
The file was modifiedclang/cmake/modules/AddClang.cmake
The file was modifiedmlir/examples/toy/Ch4/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch7/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch3/CMakeLists.txt
The file was modifiedllvm/cmake/modules/TableGen.cmake
The file was modifiedmlir/examples/toy/Ch4/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch5/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch6/CMakeLists.txt
The file was modifiedmlir/cmake/modules/AddMLIR.cmake
The file was modifiedmlir/examples/toy/Ch7/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch5/CMakeLists.txt
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/atomics/atomics.types.operations/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/char.traits/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/numerics/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/localization/locale.categories/category.time/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/re/re.def/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/thread/thread.req/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/algorithms/alg.modifying.operations/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/char.traits/char.traits.specializations/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/containers/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/predef.iterators/move.iterators/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/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/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/depr/depr.function.objects/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/utilities/function.objects/bind/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/input.output/iostreams.requirements/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/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/localization/locale.categories/category.collate/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/utilities/function.objects/func.search/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/input.output/iostream.format/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/diagnostics/syserr/syserr.syserr/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/iterators/predef.iterators/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/numerics/rand/rand.dis/rand.dist.pois/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/iterators/stream.iterators/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/utilities/smartptr/unique.ptr/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/experimental/memory/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/new.delete/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/re/re.iter/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/re/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/input.output/iostreams.base/std.ios.manip/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/numerics/rand/rand.dis/rand.dist.samp/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/iterators/predef.iterators/insert.iterators/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/containers/container.adaptors/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/experimental/utilities/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/rand/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/numerics/rand/rand.dis/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/experimental/memory/memory.polymorphic.allocator.class/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/language.support/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/experimental/func/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/experimental/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/localization/locale.categories/facet.numpunct/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/localization/locale.categories/category.numeric/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/algorithms/alg.sorting/alg.heap.operations/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/localization/locales/locale/locale.types/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/file.streams/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/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/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/numerics/rand/rand.dis/rand.dist.uni/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/depr/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/diagnostics/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/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/localization/locales/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/language.support/support.limits/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/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/numerics/bit/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/utilities/intseq/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/iterators/iterator.requirements/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.clock/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/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/utilities/utility/pairs/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/depr/depr.function.objects/depr.adaptors/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/utilities/meta/meta.trans/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/re/re.grammar/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/re/re.const/nothing_to_do.pass.cpp
The file was removedlibcxx/test/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/depr/exception.unexpected/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/input.output/stream.buffers/streambuf/streambuf.virtuals/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/re/re.alg/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/utilities/memory/allocator.uses/nothing_to_do.pass.cpp
The file was removedlibcxx/test/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/containers/sequences/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/containers/container.requirements/unord.req/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/localization/locales/locale.convenience/conversions/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/depr/depr.auto.ptr/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/utilities/function.objects/func.wrap/nothing_to_do.pass.cpp
The file was removedlibcxx/test/std/utilities/time/time.cal/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
The file was modifiedllvm/include/llvm/Support/Path.h
The file was modifiedllvm/unittests/Support/Path.cpp
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
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-binop.ll
The file was modifiedllvm/test/Transforms/VectorCombine/X86/extract-cmp.ll
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
Commit b4b7c989d6f1f255b49c34caf38748062d5402cc by Louis Dionne
[libc++] Remove support for specifying LIBCXX_CXX_ABI_SYSTEM manually

This was only kept until Chromium fixed their build of libc++, which
they have now done according to
https://bugs.chromium.org/p/chromium/issues/detail?id=1067216
The file was modifiedlibcxx/cmake/Modules/HandleLibCXXABI.cmake
Commit 0462795095e57d9cac3c68ff1f28bc4bef8c4865 by Stanislav.Mekhanoshin
[AMDGPU] Propagate AGPR RC from PHI to its PHI operands

We can fix register class of PHI based on its all AGPR uses.
That leaves behind all PHIs which were already processed
earlier. Propagate RC back to PHI operands of a PHI.

Differential Revision: https://reviews.llvm.org/D77344
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/mfma-loop.ll
Commit 0c0831f74b7181268a777a39ee087c9337ffa0c5 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.

The new version of this path uses list APPEND rather than list TRANSFORM,
in order to be compatible with cmake 3.4.3. If we update to cmake 3.12 then
we can use list TRANSFORM instead.

Differential Revision: https://reviews.llvm.org/D77156
The file was modifiedclang/cmake/modules/AddClang.cmake
The file was modifiedmlir/examples/toy/Ch7/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch5/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch4/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch7/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch5/CMakeLists.txt
The file was modifiedllvm/cmake/modules/TableGen.cmake
The file was modifiedmlir/examples/toy/Ch3/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch6/include/toy/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch4/CMakeLists.txt
The file was modifiedmlir/examples/toy/Ch6/CMakeLists.txt
The file was modifiedmlir/cmake/modules/AddMLIR.cmake
Commit b60080968856edb7b809c2deca306ee7227d5360 by ctetreau
Clean up usages of asserting vector getters in Type

Summary:
Remove usages of asserting vector getters in Type in preparation for the
VectorType refactor. The existence of these functions complicates the
refactor while adding little value.

Reviewers: kparzysz, sdesmalen, efriedma

Reviewed By: kparzysz

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77267
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
Commit f27f1e8c27b1d7cf624877e798999244a72adb41 by zinenko
[mlir] DialectConversion: support block creation in ConversionPatternRewriter

PatternRewriter and derived classes provide a set of virtual methods to
manipulate blocks, which ConversionPatternRewriter overrides to keep track of
the manipulations and undo them in case the conversion fails. However, one can
currently create a block only by splitting another block into two. This not
only makes the API inconsistent (`splitBlock` is allowed in conversion
patterns, but `createBlock` is not), but it also make it impossible for one to
create blocks with argument lists different from those of already existing
blocks since in-place block updates are not supported either. Such
functionality precludes dialect conversion infrastructure from being used more
extensively on region-containing ops, for example, for value-returning "if"
operations. At the same time, ConversionPatternRewriter already allows one to
undo block creation as block creation is one of the primitive operations in
already supported region inlining.

Support block creation in conversion patterns by hooking `createBlock` on the
block action undo mechanism. This requires to make `Builder::createBlock`
virtual, similarly to Op insertion. This is a minimal change to the Builder
infrastructure that will later help support additional use cases such as block
signature changes. `createBlock` now additionally takes the types of the block
arguments that are added immediately so as to avoid in-place argument list
manipulation that would be illegal in conversion patterns.
The file was modifiedmlir/include/mlir/IR/Builders.h
The file was modifiedmlir/lib/IR/Builders.cpp
The file was modifiedmlir/lib/Transforms/DialectConversion.cpp
The file was modifiedmlir/test/Transforms/test-legalizer.mlir
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
The file was modifiedmlir/include/mlir/Transforms/DialectConversion.h
Commit 8c5dc084e5273670f4dc4f07ac4c89b4c4f311a6 by Stanislav.Mekhanoshin
[AMDGPU] Added label to test. NFC.
The file was modifiedllvm/test/CodeGen/AMDGPU/mfma-loop.ll
Commit 2c7ea1c4c5f7dde562bac684a59ad67f1f062726 by n.james93
[clang-tidy] Address false positive in modernize-use-default-member-init

Summary: Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=45363 | incorrect warning emitted by "modernize-use-default-member-init" (new to 10.0.0) ]].

Reviewers: aaron.ballman, alexfh, gribozavr2

Reviewed By: aaron.ballman

Subscribers: xazax.hun, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D77199
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-use-default-member-init.cpp
Commit 5d14c7b6d1fcc36062128e7019bae2dc8c28d4fe by Louis Dionne
[libc++] NFC: Remove unused CMake option

That option seems to be a remnant that has now been replaced by the
LIBCXXABI_STATICALLY_LINK_UNWINDER_IN_SHARED_LIBRARY setting.

Fixes PR45347.
The file was modifiedlibcxx/CMakeLists.txt
Commit e8dcb6d05e0f6da085214826209973408756ff03 by arsenm2
AMDGPU: Remove redundant virtual
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h
Commit 178050c3ba119d13155ea6487332661a0eee3eb1 by arsenm2
AMDGPU: Use Register in more places
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
Commit 30ebafaa56846dc0f1607a6a8d41c96fcdc717cb by arsenm2
CodeGen: Convert some TII hooks to use Register
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.h
The file was modifiedllvm/lib/CodeGen/PeepholeOptimizer.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonInstrInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonSplitDouble.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp
The file was modifiedllvm/lib/Target/Lanai/LanaiInstrInfo.h
The file was modifiedllvm/lib/Target/Lanai/LanaiInstrInfo.cpp
Commit ea397a76f56fda7883f0104789d2084001409a49 by arsenm2
Support: Add specializations for reverseBits to use builtin
The file was modifiedllvm/include/llvm/Support/MathExtras.h
Commit 9657446313abd4b3b44f66a30430c0d7f6ccd7b8 by smeenai
[compiler-rt] Build with correct ABI (PR38025)

Summary:
This patch fixes [[ https://bugs.llvm.org/show_bug.cgi?id=38025 | PR38025 ]]:
Wrong ABI used when building compiler-rt

Differential Revision: https://reviews.llvm.org/D74133
The file was modifiedcompiler-rt/cmake/Modules/AddCompilerRT.cmake
The file was modifiedcompiler-rt/cmake/Modules/HandleCompilerRT.cmake
The file was modifiedcompiler-rt/CMakeLists.txt
The file was modifiedcompiler-rt/cmake/config-ix.cmake
Commit ba87430cadb2d5d0ee8e4b75101d7abcf6b321bf by kevin.neal
[PowerPC] Replace subtract-from-zero float in version with fneg in PowerPC special fma compiler builtins

This patch adds a test for the PowerPC fma compiler builtins, some variations
of which negate inputs and outputs. The code to generate IR for these
builtins was untested before this patch.

Originally, the code used the outdated method of subtracting floating point
values from -0.0 as floating point negation. This patch remedies that.

Patch by: Drew Wock <drew.wock@sas.com>
Differential Revision: https://reviews.llvm.org/D76949
The file was addedclang/test/CodeGen/builtins-ppc-fma.c
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
Commit f95a67d8b8a8cec326ee4a7e8427b779936d100a by craig.topper
[X86] Add RET-hardening Support to mitigate Load Value Injection (LVI)

Adding a pass that replaces every ret instruction with the sequence:

pop <scratch-reg>
lfence
jmp *<scratch-reg>

where <scratch-reg> is some available scratch register, according to the
calling convention of the function being mitigated.

Differential Revision: https://reviews.llvm.org/D75935
The file was modifiedllvm/test/CodeGen/X86/O3-pipeline.ll
The file was addedllvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/lib/Target/X86/X86.h
The file was modifiedllvm/lib/Target/X86/CMakeLists.txt
The file was addedllvm/test/CodeGen/X86/lvi-hardening-ret.ll
Commit 688450c7f02bbeeabd59eeccd421c8ae03b76ae6 by asbirlea
[GraphDiff] Extend GraphDiff to track a list of updates.

Summary:
This patch includes two extensions:
1. It extends the GraphDiff to also keep the original list of updates
after legalization, not just the deletes/insert vectors.
It also provides an API to pop the first update (the updates are store
in reverse, such that the first update is at the end of the list)
2. It adds a bool to mark whether the given updates should be applied as
given, or applied in reverse. This moves the task of reversing the
updates (when the caller needs this) to a functionality inside
GraphDiff, versus having the caller do this.

The two changes could be split into two patches, but they seemed
reasonably small to be reviewed together.

Reviewers: kuhar, dblaikie

Subscribers: hiraditya, george.burgess.iv, mgrang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77167
The file was modifiedllvm/include/llvm/IR/CFGDiff.h
The file was modifiedllvm/lib/Analysis/MemorySSAUpdater.cpp
The file was modifiedllvm/include/llvm/Support/CFGUpdate.h
Commit d7a0516ddcfe373bb780d6fc19d76fe74ecc0061 by kevin.neal
Fix typo in test.

Differential Revision: https://reviews.llvm.org/D76949
The file was modifiedclang/test/CodeGen/builtins-ppc-fma.c
Commit 29a2b14be261ad9d207c3fba32109269fe92a069 by Lang Hames
[ORC] Improve documention of memory ownership in the new Orc C bindings.
The file was modifiedllvm/include/llvm-c/Orc.h
Commit 210f40fe9a30212396311d265904b2d73859c53d by paul.robinson
Test had incorrect check for nonzero count
The file was modifiedllvm/test/Other/opt-bisect-legacy-pass-manager.ll
Commit dbb0d8ecb3a024bd6817ebd8ad8c5c199a51d933 by thakis
Don't use relpaths in lit cfg if build/source dir are on different drives.

See discussion on https://reviews.llvm.org/D77184.
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit 9f1c35d8b14f026b7bc4b21b9eecafbbb42c42a2 by kevin.neal
Revert "[PowerPC] Replace subtract-from-zero float in version with fneg in PowerPC special fma compiler builtins"

The new test case causes bot failures.

This reverts commit ba87430cadb2d5d0ee8e4b75101d7abcf6b321bf.
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was removedclang/test/CodeGen/builtins-ppc-fma.c
Commit b947a84699aa12e3a4a93c79b2b96e31e973e5ae by llvmgnsyncbot
[gn build] Port f95a67d8b8a
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Commit 80237523193d1311e8744b84faa077a1295d80da by jan.kratochvil
[nfc] [lldb] Unindent code - obvious part

It is an obvious part of D77326.

It removes some needless deep indentation and some redundant statements.
It prepares the code for a more clean next patch - DWARF index callbacks
in D77327.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Commit c74dd640fd740c6928f66a39c7c15a014af3f66f by craig.topper
[X86] Add a Pass that builds a Condensed CFG for Load Value Injection (LVI) Gadgets

Adds a new data structure, ImmutableGraph, and uses RDF to find LVI gadgets and add them to a MachineGadgetGraph.

More specifically, a new X86 machine pass finds Load Value Injection (LVI) gadgets consisting of a load from memory (i.e., SOURCE), and any operation that may transmit the value loaded from memory over a covert channel, or use the value loaded from memory to determine a branch/call target (i.e., SINK).

Also adds a new target feature to X86: +lvi-load-hardening

The feature can be added via the clang CLI using -mlvi-hardening.

Differential Revision: https://reviews.llvm.org/D75936
The file was modifiedclang/lib/Driver/ToolChains/Arch/X86.cpp
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedllvm/lib/Target/X86/CMakeLists.txt
The file was modifiedclang/test/Driver/x86-target-features.c
The file was modifiedllvm/lib/Target/X86/X86.h
The file was addedllvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
The file was addedllvm/lib/Target/X86/ImmutableGraph.h
The file was modifiedllvm/lib/Target/X86/X86.td
The file was addedllvm/test/CodeGen/X86/lvi-hardening-gadget-graph.ll
The file was modifiedllvm/test/CodeGen/X86/O3-pipeline.ll
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedclang/include/clang/Driver/Options.td
Commit 6f8c45067b1d8d18a669302c0a14d37a230fbc42 by julian.lettner
[lit] Cleanly exit on user keyboard interrupt

Graceful lit shutdown on user keyboard interrupt [Ctrl+C] was a
longstanding goal of mine.  After a few refactorings this revision
finally enables it.  We use the following strategy to deal with
KeyboardInterrupt:
https://noswap.com/blog/python-multiprocessing-keyboardinterrupt

Printing of a helpful summary for interrupted runs (just as the one for
completed runs) will be tackled in future revisions.

Reviewed By: serge-sans-paille, rnk

Differential Revision: https://reviews.llvm.org/D77365
The file was modifiedllvm/utils/lit/lit/util.py
The file was modifiedllvm/utils/lit/lit/run.py
The file was modifiedllvm/utils/lit/lit/worker.py
The file was modifiedllvm/utils/lit/lit/main.py
Commit 275ee5d2514bd14a7b4721b3cb0ac251a1822cb4 by llvmgnsyncbot
[gn build] Port c74dd640fd7
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Commit e33a636e26349bf42557908766911654d60cb6c0 by ntv
[mlir][Linalg] Employ finer-grained control of C interface emission

Summary:
Linalg makes it possible to interface codegen with externally precompiled HPC libraries. The mechanism to allow such interop uses a normalized ABI and the emission of C interface wrappers.

The mechanism controlling these C interface emission is too aggressive and makes it very easy to obtained undefined symbols for external function (e.g. the ones coming from libm).

This revision uses the newly introduced llvm.emit_c_interface function attribute which allows controlling this behavior at a function granularity. As a consequence LinalgToLLVM does not need to activate the C wrapper emission when adding the StdToLLVM patterns.

Differential Revision: https://reviews.llvm.org/D77364
The file was modifiedmlir/test/mlir-cpu-runner/unranked_memref.mlir
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
The file was modifiedmlir/test/mlir-cpu-runner/utils.mlir
Commit ba1ffd25c1f7a3564136b13e49fb1a7185561613 by rnk
[OpenMP][NFC] Remove the need to include `OpenMPClause.h`

See rational here: https://reviews.llvm.org/D76173#1922916
Time to compile Attr.h in isolation goes from 2.6s to 1.8s.

Original patch by Johannes, plus some additions from Reid to fix some
clang tooling targets.

Effect on transitive includes is marginal, though:

$ diff -u <(sort thedeps-before.txt) <(sort thedeps-after.txt) \
   | grep '^[-+] ' | sort | uniq -c | sort -nr
    104 -    /usr/local/google/home/rnk/llvm-project/clang/include/clang/AST/OpenMPClause.h
     87 -    /usr/local/google/home/rnk/llvm-project/llvm/include/llvm/Frontend/OpenMP/OMPContext.h
     19 -    /usr/local/google/home/rnk/llvm-project/llvm/include/llvm/ADT/SmallSet.h
     19 -    /usr/local/google/home/rnk/llvm-project/llvm/include/llvm/ADT/SetVector.h
     14 -    /usr/include/c++/9/set
...

Differential Revision: https://reviews.llvm.org/D76184
The file was modifiedclang/include/clang/AST/Attr.h
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/include/clang/Basic/OpenMPKinds.h
The file was modifiedclang/lib/Tooling/Transformer/SourceCode.cpp
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang-tools-extra/clangd/XRefs.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/AST/AttrImpl.cpp
The file was modifiedclang/lib/AST/OpenMPClause.cpp
Commit 62c42e29ba43c9d79cd5bd2084b641fbff6a96d5 by craig.topper
[X86] Add Support for Load Hardening to Mitigate Load Value Injection (LVI)

After finding all such gadgets in a given function, the pass minimally inserts
LFENCE instructions in such a manner that the following property is satisfied:
for all SOURCE+SINK pairs, all paths in the CFG from SOURCE to SINK contain at
least one LFENCE instruction. The algorithm that implements this minimal
insertion is influenced by an academic paper that minimally inserts memory
fences for high-performance concurrent programs:

http://www.cs.ucr.edu/~lesani/companion/oopsla15/OOPSLA15.pdf

The algorithm implemented in this pass is as follows:

1. Build a condensed CFG (i.e., a GadgetGraph) consisting only of the following components:
  -SOURCE instructions (also includes function arguments)
  -SINK instructions
  -Basic block entry points
  -Basic block terminators
  -LFENCE instructions
2. Analyze the GadgetGraph to determine which SOURCE+SINK pairs (i.e., gadgets) are already mitigated by existing LFENCEs. If all gadgets have been mitigated, go to step 6.
3. Use a heuristic or plugin to approximate minimal LFENCE insertion.
4. Insert one LFENCE along each CFG edge that was cut in step 3.
5. Go to step 2.
6. If any LFENCEs were inserted, return true from runOnFunction() to tell LLVM that the function was modified.

By default, the heuristic used in Step 3 is a greedy heuristic that avoids
inserting LFENCEs into loops unless absolutely necessary. There is also a
CLI option to load a plugin that can provide even better optimization,
inserting fewer fences, while still mitigating all of the LVI gadgets.
The plugin can be found here: https://github.com/intel/lvi-llvm-optimization-plugin,
and a description of the pass's behavior with the plugin can be found here:
https://software.intel.com/security-software-guidance/insights/optimized-mitigation-approach-load-value-injection.

Differential Revision: https://reviews.llvm.org/D75937
The file was addedllvm/test/CodeGen/X86/lvi-hardening-loads.ll
The file was modifiedllvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
Commit 9d9b8a20a8b0353d62fa9f9d91f9162fd5ebddef by ndesaulniers
[test] preformat test with update_llc_test_checks.py NFC

Summary:
Prior to landing D76961, preprocess via:
    $ llvm/utils/update_llc_test_checks.py \
      llvm/test/CodeGen/X86/callbr-asm-outputs.ll

Reviewers: void, MaskRay

Reviewed By: void, MaskRay

Subscribers: MaskRay, llvm-commits, srhines

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77356
The file was modifiedllvm/test/CodeGen/X86/callbr-asm-outputs.ll
Commit 18a18b20017d8d6d907ce409f0dc9585cec8bf72 by thakis
Fix standalone clang builds after fb80b6b2d58.

When clang is built against a prebuilt LLVM, LLVM_SOURCE_DIR is
empty, which due to a cmake quirk caused list lengths to get out
of sync. Add a workaround.
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit b7397e81fe4dee8ffd4a1353bf0cf3a7d2ed267b by spatel
[InstCombine] add tests for freelyNegateValue with 'not'; NFC
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
Commit 340e1b20779ebeb93f681689a345217672a308e3 by zinenko
[mlir] LoopToStandard conversion: support "if/else" with results

Summary:
A recent extension allowed the `loop.if` operation to return results yielded by
its regions. However, such operations could not be lowered to a CFG of standard
operations because it would have required to modify the argument list of a
block, which is not allowed in a conversion pattern. Now that the conversion
infrastructure supports block creation, use it to create a block with an
argument list that dominates the operations following the `loop.if` and forward
the results as arguments of this block.

Depends On D77416

Differential Revision: https://reviews.llvm.org/D77418
The file was modifiedmlir/lib/Conversion/LoopToStandard/LoopToStandard.cpp
The file was modifiedmlir/test/Conversion/convert-to-cfg.mlir
Commit ceb58ad61d267a4cf6599f33473d82463d1ab7fd by Louis Dionne
[libc++] Lit: Add default values for most arguments of test executors
The file was modifiedlibcxx/utils/ssh.py
The file was modifiedlibcxx/utils/run.py
Commit e4598dc04a1f582e18b6721ae8ad15cad3ddd48b by jingham
Make ThreadPlans use TID and Process, rather than Thread *.

Differential Revision: https://reviews.llvm.org/D75711
The file was modifiedlldb/source/Target/ThreadPlanCallFunction.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepOut.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepRange.cpp
The file was modifiedlldb/source/Target/ThreadPlanRunToAddress.cpp
The file was modifiedlldb/source/Target/ThreadPlan.cpp
The file was modifiedlldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepUntil.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepInRange.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepOverRange.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepOverBreakpoint.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepInstruction.cpp
The file was modifiedlldb/include/lldb/Target/ThreadPlanPython.h
The file was modifiedlldb/include/lldb/Target/ThreadPlan.h
The file was modifiedlldb/source/Target/ThreadPlanPython.cpp
The file was modifiedlldb/source/Target/ThreadPlanBase.cpp
The file was modifiedlldb/source/Target/ThreadPlanCallUserExpression.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepThrough.cpp
Commit 2c1c57a1df8187870df114af666bacbd413699f7 by jingham
Make ThreadPlanTracers use TID & Process rather than Thread *.

Differential Revision: https://reviews.llvm.org/D75720
The file was modifiedlldb/source/Target/ThreadPlanTracer.cpp
The file was modifiedlldb/include/lldb/Target/ThreadPlanTracer.h
Commit 61e8e6882de7c89933d3cc4c4d44719679e4b4f0 by jingham
Move thread plan stacks into the Process, indexed by TID.

Differential Revision: https://reviews.llvm.org/D75880
The file was modifiedlldb/include/lldb/Target/Thread.h
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/source/Target/Thread.cpp
The file was modifiedlldb/source/Target/ThreadPlan.cpp
The file was modifiedlldb/source/Target/ThreadList.cpp
The file was addedlldb/include/lldb/Target/ThreadPlanStack.h
The file was modifiedlldb/source/Target/CMakeLists.txt
The file was modifiedlldb/include/lldb/Target/ThreadPlan.h
The file was addedlldb/source/Target/ThreadPlanStack.cpp
The file was modifiedlldb/include/lldb/Target/Process.h
Commit 1893065d7bf5c41fbd0dbbee0a39933d3a99806b by jingham
Allow the ThreadPlanStackMap to hold the thread plans for threads
that were not reported by the OS plugin.  To facilitate this, move
adding/updating the ThreadPlans for a Thread to the ThreadPlanStackMap.
Also move dumping thread plans there as well.

Added some tests for "thread plan list" and "thread plan discard" since
I didn't seem to have written any originally.

Differential Revision: https://reviews.llvm.org/D76814
The file was addedlldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/main.cpp
The file was modifiedlldb/source/Target/Process.cpp
The file was modifiedlldb/include/lldb/Target/Process.h
The file was modifiedlldb/source/Target/ThreadPlan.cpp
The file was modifiedlldb/include/lldb/Target/Thread.h
The file was modifiedlldb/source/Target/Target.cpp
The file was modifiedlldb/source/Commands/Options.td
The file was modifiedlldb/source/Target/TargetProperties.td
The file was modifiedlldb/include/lldb/Target/ThreadPlanStack.h
The file was addedlldb/test/API/functionalities/thread_plan/main.c
The file was modifiedlldb/source/Target/Thread.cpp
The file was modifiedlldb/source/Target/ThreadList.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepOut.cpp
The file was addedlldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/Makefile
The file was addedlldb/test/API/functionalities/thread_plan/Makefile
The file was modifiedlldb/include/lldb/Target/Target.h
The file was addedlldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/TestOSPluginStepping.py
The file was addedlldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
The file was addedlldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/operating_system.py
The file was modifiedlldb/source/Target/ThreadPlanStack.cpp
The file was modifiedlldb/include/lldb/Target/ThreadPlan.h
The file was modifiedlldb/source/Commands/CommandObjectThread.cpp
Commit 1fcfd30fae76fb1d30906a65c670cce32fd5cf15 by paulatoth
[libc] Add strlen implementation.

Summary: This should fix the call to a non internal libc function.

Reviewers: sivachandra, abrachet

Reviewed By: sivachandra

Subscribers: xbolva00, mgorny, MaskRay, tschuett, libc-commits

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D77279
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/src/string/strcpy.cpp
The file was modifiedlibc/src/string/strcat.cpp
The file was addedlibc/src/string/strlen.cpp
The file was modifiedlibc/fuzzing/string/CMakeLists.txt
The file was addedlibc/src/string/strlen.h
The file was modifiedlibc/test/src/string/CMakeLists.txt
The file was addedlibc/test/src/string/strlen_test.cpp
Commit fcab66d5fe53fc3c318b0d0c4ef1bb4a43a7744f by jan.kratochvil
[lldb] Findtypes -gmodules fix for too many matches

Apparently the intention was to copy the condition above:
  if (types.GetSize() >= max_matches)
    break;

So that if the iteration stopped because of too many matches we do not
add even more matches in this 'Clang modules' block downward.

It was implemented by:
  SymbolFileDWARF: Unconditionally scan through clang modules. NFCish
  fe9eaadd68307347d97698fd0a1646827eafd290

Differential Revision: https://reviews.llvm.org/D77336
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Commit 90eb7be6a1753d426ad01de95e3f1a23b077f8df by paulatoth
[libc] Fix memcpy to adhere to qualified calls.

Summary: Switched to using the new memcpy implementation.

Reviewers: sivachandra, abrachet, gchatelet

Reviewed By: abrachet, gchatelet

Subscribers: mgorny, MaskRay, tschuett, libc-commits

Tags: #libc-project

Differential Revision: https://reviews.llvm.org/D77277
The file was modifiedlibc/src/string/CMakeLists.txt
The file was modifiedlibc/src/string/strcpy.cpp
The file was modifiedlibc/test/src/string/CMakeLists.txt
The file was modifiedlibc/fuzzing/string/CMakeLists.txt
Commit ba8b3052b59ebee4311d10bee5209dac8747acea by francisvm
[Driver] Handle all optimization-record options for Darwin LTO

clang with -flto does not handle -foptimization-record-path=<path>

This dulicates the code from ToolChains/Clang.cpp with modifications to
support everything in the same fashion.
The file was addedclang/test/Driver/darwin-opt-record-ld.c
The file was modifiedclang/test/Driver/darwin-ld.c
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
Commit a8c8b627f23f204fb621bd2a8c495cfc8bc16ae7 by vsapsai
[ObjC generics] Fix not inheriting type bounds in categories/extensions.

When a category/extension doesn't repeat a type bound, corresponding
type parameter is substituted with `id` when used as a type argument. As
a result, in the added test case it was causing errors like

> type argument 'T' (aka 'id') does not satisfy the bound ('id<NSCopying>') of type parameter 'T'

We are already checking that type parameters should be consistent
everywhere (see `checkTypeParamListConsistency`) and update
`ObjCTypeParamDecl` to have correct underlying type. And when we use the
type parameter as a method return type or a method parameter type, it is
substituted to the bounded type. But when we use the type parameter as a
type argument, we check `ObjCTypeParamType` that wasn't updated and
remains `id`.

Fix by updating not only `ObjCTypeParamDecl` UnderlyingType but also
TypeForDecl as we use the underlying type to create a canonical type for
`ObjCTypeParamType` (see `ASTContext::getObjCTypeParamType`).

This is a different approach to fixing the issue. The previous one was
02c2ab3d8872416589bd1a6ca3dfb96ba373a3b9 which was reverted in
4c539e8da1b3de38a53ef3f7497f5c45a3243b61. The problem with the previous
approach was that `ObjCTypeParamType::desugar` was returning underlying
type for `ObjCTypeParamDecl` without applying any protocols stored in
`ObjCTypeParamType`. It caused inconsistencies in comparing types before
and after desugaring.

rdar://problem/54329242

Reviewed By: erik.pilkington

Differential Revision: https://reviews.llvm.org/D72872
The file was modifiedclang/test/SemaObjC/parameterized_classes_collection_literal.m
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/Sema/SemaDeclObjC.cpp
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/test/SemaObjC/parameterized_classes_subst.m
Commit 98f77828a98fd05760987598db1355cf08b643bd by joerg
Avoid using std::max_align_t in pre-C++11 mode

Always depend on the compiler to have a correct implementation of
max_align_t in stddef.h and don't provide a fallback. For pre-C++11,
require __STDCPP_NEW_ALIGNMENT__ in <new> as provided by clang in all
standard modes. Adjust test cases to avoid testing or using max_align_t
in pre-C++11 mode and also to better deal with alignof(max_align_t)>16.
Document requirements of the alignment tests around natural alignment of
power-of-two-sized types.

Differential revision: https://reviews.llvm.org/D73245
The file was modifiedlibcxx/include/stddef.h
The file was modifiedlibcxx/test/std/containers/sequences/array/array.data/data.pass.cpp
The file was modifiedlibcxx/include/cstddef
The file was modifiedlibcxx/test/std/containers/sequences/array/array.data/data_const.pass.cpp
The file was modifiedlibcxx/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/db_deallocate.pass.cpp
The file was modifiedlibcxx/test/std/containers/sequences/array/size_and_alignment.pass.cpp
The file was modifiedlibcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
The file was modifiedlibcxx/test/std/language.support/support.types/max_align_t.pass.cpp
The file was modifiedlibcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
The file was modifiedlibcxx/test/std/depr/depr.c.headers/stddef_h.pass.cpp
Commit e62dc1f6252c1dcdcc2a64e8e3b07a32412e9d89 by rnk
[MS] Fix assert handling enum forward decls in hasVisibleDefinition

An enum may be considered to be a complete type if it was forward
declared. It may be declared with a fixed underlying type, or, in MSVC
compatiblity mode, with no type at all.

Previously, the code was written with special handling for fixed enums.
I generalized the code to check if the underlying integer type is known,
which should be the case when targetting the MSVC C++ ABI.

Fixes PR45409
The file was addedclang/test/Modules/Inputs/ms-enums/B.h
The file was addedclang/test/Modules/ms-enums.cpp
The file was addedclang/test/Modules/Inputs/ms-enums/A.h
The file was addedclang/test/Modules/Inputs/ms-enums/module.map
The file was modifiedclang/lib/Sema/SemaType.cpp
Commit a505ad58cf98a633f1ba3dfd49068e09596ea39d by craig.topper
Revert "[X86] Add Support for Load Hardening to Mitigate Load Value Injection (LVI)"

This reverts commit 62c42e29ba43c9d79cd5bd2084b641fbff6a96d5

Reverting to address coding standard issues raised in post-commit
review.
The file was modifiedllvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
The file was removedllvm/test/CodeGen/X86/lvi-hardening-loads.ll
Commit 1d42c0db9a2b27c149c5bac373caa5a6d38d1f74 by craig.topper
Revert "[X86] Add a Pass that builds a Condensed CFG for Load Value Injection (LVI) Gadgets"

This reverts commit c74dd640fd740c6928f66a39c7c15a014af3f66f.

Reverting to address coding standard issues raised in post-commit
review.
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
The file was modifiedllvm/lib/Target/X86/X86.h
The file was modifiedllvm/test/CodeGen/X86/O3-pipeline.ll
The file was removedllvm/test/CodeGen/X86/lvi-hardening-gadget-graph.ll
The file was modifiedclang/test/Driver/x86-target-features.c
The file was removedllvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
The file was modifiedllvm/lib/Target/X86/X86.td
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was removedllvm/lib/Target/X86/ImmutableGraph.h
The file was modifiedllvm/test/CodeGen/X86/O0-pipeline.ll
The file was modifiedllvm/lib/Target/X86/CMakeLists.txt
The file was modifiedclang/lib/Driver/ToolChains/Arch/X86.cpp
Commit f9b570fbcf165180c85e5ca9135110b13ab86ad8 by llvmgnsyncbot
[gn build] Port 1d42c0db9a2
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Commit 2d658c56d57c4b355635b2bab38ba97a598c7393 by jingham
Disable two new tests on Windows.  They are failing but the logs are not helpful.

Also turn on the command trace unconditionally for TestThreadPlanCommands.py as the
tests for the Ubuntu bot don't seem to run with -t making it hard to see why this is
failing remotely.
The file was modifiedlldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
The file was modifiedlldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/TestOSPluginStepping.py
Commit 725579379deea21bb4201731fe6d6e70ed98961d by walter erquinigo
[intel-mpx] Delete an unnecessary license header

Summary:
@labath mentioned to me that test files shouldn't have a license header.
I saw this one some days ago, so I'm doing some cleaning.

Reviewers: labath, clayborg

Subscribers: lldb-commits, labath

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D77328
The file was modifiedlldb/tools/intel-features/intel-mpx/test/main.cpp
Commit 3ccd454c102b069d2230a18cfe16b84a5f005fc8 by echristo
Fix unused variable, format, and format string warnings.
NFC.
The file was modifiedlldb/include/lldb/Target/ThreadPlanStack.h
The file was modifiedlldb/source/Target/ThreadPlanStepRange.cpp
The file was modifiedlldb/source/Target/ThreadPlanStack.cpp
The file was modifiedlldb/source/Commands/CommandObjectThread.cpp
The file was modifiedlldb/source/Target/ThreadPlan.cpp
Commit 501ec31b596050620c174f61ede4e3ffb9f5df99 by efriedma
[llvm-stress][opaque pointers] Remove use of deprecated constructor

(See also D76269.)
The file was modifiedllvm/tools/llvm-stress/llvm-stress.cpp
Commit b11decc221a65d2c7290b93a4662a607a63b6d86 by efriedma
[clang codegen][opaque pointers] Remove use of deprecated constructor

(See also D76269.)
The file was modifiedclang/lib/CodeGen/CGCleanup.cpp
Commit 3e5d671c1910a0477e352eb858654ad5e45f4757 by efriedma
[polly][opaque pointers] Remove use of deprecated APIs.

(See also D76269.)
The file was modifiedpolly/lib/CodeGen/LoopGeneratorsKMP.cpp
The file was modifiedpolly/include/polly/CodeGen/LoopGeneratorsKMP.h
The file was modifiedpolly/lib/CodeGen/LoopGeneratorsGOMP.cpp
The file was modifiedpolly/include/polly/CodeGen/LoopGenerators.h
The file was modifiedpolly/include/polly/CodeGen/LoopGeneratorsGOMP.h
The file was modifiedpolly/lib/Transform/RewriteByReferenceParameters.cpp
Commit 83fa811e5bf5b291eafd900f3072b961f64f039c by efriedma
[clang][opaque pointers] Fix up a bunch of "getType()->getElementType()"

In contexts where we know an LLVM type is a pointer, there's generally
some simpler way to get the pointee type.
The file was modifiedclang/lib/CodeGen/CGObjCMac.cpp
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/CodeGen/CGCall.cpp
Commit 48ba745eacf883080152fe16b5b1305657d001ca by jingham
This test is failing on the Ubuntu bot but the bot log doesn't
capture the test stdout, so put the info I need to see in the error
message instead.
The file was modifiedlldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
Commit 4ede8879924c08ae5b495d3f421c167d822a60be by richard
PR45402: Make the restrictions on constant evaluation of memcmp and
memchr consistent and comprehensible, and document them.

We previously allowed evaluation of memcmp on arrays of integers of any
size, so long as the call evaluated to 0, and allowed evaluation of
memchr on any array of integral type of size 1 (including enums). The
purpose of constant-evaluating these builtins is only to support
constexpr std::char_traits, so we now consistently allow them on arrays
of (possibly signed or unsigned) char only.
The file was modifiedclang/include/clang/Basic/DiagnosticASTKinds.td
The file was modifiedclang/test/SemaCXX/constexpr-string.cpp
The file was modifiedclang/docs/LanguageExtensions.rst
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit 56246b241ed9505400e1e5c2267dc2ffa694ca50 by nemanja.i.ibm
[NFC][PowerPC] Pre-commit a test case for D77448

Pre-committing the new test case so the review shows only the diffs.
The file was addedllvm/test/CodeGen/PowerPC/canonical-merge-shuffles.ll
Commit 79afdfab9a57f9ddbc59e9ea0a3ea86635791920 by riddleriver
[mlir] Change the default of `mlir-print-op-on-diagnostic` to true

Summary: It is a very common user trap to think that the location printed along with the diagnostic is the same as the current operation that caused the error. This revision changes the behavior to always print the current operation, except for when diagnostics are being verified. This is achieved by moving the command line flags in IR/ to be options on the MLIRContext.

Differential Revision: https://reviews.llvm.org/D77095
The file was modifiedmlir/lib/IR/Diagnostics.cpp
The file was modifiedmlir/lib/IR/Operation.cpp
The file was modifiedmlir/include/mlir/IR/MLIRContext.h
The file was modifiedmlir/tools/mlir-translate/mlir-translate.cpp
The file was modifiedmlir/lib/Support/MlirOptMain.cpp
The file was modifiedmlir/lib/IR/MLIRContext.cpp
Commit ca47ac3d5f6f8483d330c96a63f1cd862e667856 by walter erquinigo
[source maps] Fix remove, insert-after and replace

Summary:
In this diff of mine D77186 I introduce a bug in the replace operation, where I was failing fast by mistake.
Besides, a similar problem existed in the insert-after operation, where it was failing fast.

Finally, the remove operation was wrong, as it was not using the indices provided by the users.

I fixed those issues and added some tests account for cases with multiple elements in these requests.

Reviewers: labath, clayborg

Reviewed By: labath

Subscribers: mgrang, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D77324
The file was modifiedlldb/test/API/functionalities/source-map/TestTargetSourceMap.py
The file was modifiedlldb/source/Interpreter/OptionValuePathMappings.cpp
Commit e3bb36370d59ce1bf4c22d2258e830999d8e833d by riddleriver
[mlir][DeclarativeParser] Emit an error if a `:` follows an attribute with a non-constant type.

Summary: The attribute grammar includes an optional trailing colon type, so for attributes without a constant buildable type this will generally lead to unexpected and undesired behavior. Given that, it's better to just error out on these cases.

Differential Revision: https://reviews.llvm.org/D77293
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOpsBase.td
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/test/IR/attribute.mlir
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/mlir-tblgen/op-format-spec.td
Commit 966122524b562aab42e7afc8f44c23ea105b27f3 by walter erquinigo
Fix LLDB debug builds

Summary:
A recent change in ThreadPlans introduced this little compilation error.
Seems to be related to the work around https://reviews.llvm.org/D76814.

Reviewers: clayborg, labath, jingham

Reviewed By: jingham

Subscribers: lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D77450
The file was modifiedlldb/source/Target/ThreadPlan.cpp
Commit 327074812707d41f492a0e23940430422a9cd237 by jingham
The thread plan list test is failing at least on Ubuntu Linux.
Mark it expected fail for now.

The test output shows that the "internal" thread listing isn't showing the
step out plan that we use to step back out of a function we're stepping into.
The internal plan listing code has nothing platform specific in it, so that
isn't the problem.

I am pretty sure the difference is that on MacOS we step into the function and then need to
step back out again so we push the internal plan the test is checking for.  But on Linux we
are able to step past the function without stepping into it.

So nothing is actually going wrong here, I just need to find a better test case where I
can ensure we are going to have to push a private plan.  It's probably better to test this
using a custom thread plan, then I can control the state of the plan stack better.

That's for Monday...
The file was modifiedlldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
Commit 42016791101782a0f5e64e1ea9ea282e27a8132a by ishizaki
[OpenMP] NFC: Fix trivial typo

Differential Revision: https://reviews.llvm.org/D77430
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/libcall.cu
The file was modifiedopenmp/runtime/tools/check-instruction-set.pl
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptargeti.h
The file was modifiedopenmp/runtime/cmake/LibompMicroTests.cmake
The file was modifiedopenmp/runtime/test/ompt/synchronization/barrier/implicit_task_data.c
The file was modifiedopenmp/runtime/src/kmp_stats.cpp
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
The file was modifiedopenmp/runtime/test/tasking/kmp_task_modifier_simple_ws_new.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/omptarget.h
The file was modifiedopenmp/runtime/tools/lib/Platform.pm
The file was modifiedopenmp/runtime/src/CMakeLists.txt
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was modifiedopenmp/runtime/test/tasking/kmp_task_modifier_simple_par_new.cpp
The file was modifiedopenmp/runtime/src/kmp_str.h
The file was modifiedopenmp/runtime/src/kmp_dispatch_hier.h
The file was modifiedopenmp/runtime/src/kmp_utility.cpp
The file was modifiedopenmp/runtime/src/ompt-specific.h
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_sched.cpp
The file was modifiedopenmp/tools/archer/README.md
The file was modifiedopenmp/runtime/tools/generate-def.pl
The file was modifiedopenmp/runtime/src/kmp_omp.h
The file was modifiedopenmp/runtime/src/kmp_csupport.cpp
The file was modifiedopenmp/CMakeLists.txt
The file was modifiedopenmp/runtime/tools/check-execstack.pl
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/test/parallel/level.c
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/docs/ReductionDesign.txt
The file was modifiedopenmp/runtime/src/kmp_gsupport.cpp
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/debug.h
The file was modifiedopenmp/runtime/src/thirdparty/ittnotify/ittnotify.h
The file was modifiedopenmp/runtime/src/kmp_dispatch.cpp
The file was modifiedopenmp/runtime/src/kmp_alloc.cpp
The file was modifiedopenmp/runtime/src/kmp_environment.h
The file was modifiedopenmp/runtime/src/kmp_i18n.h
The file was modifiedopenmp/runtime/src/kmp_wrapper_malloc.h
The file was modifiedopenmp/libomptarget/deviceRTLs/interface.h
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/test/tasking/kmp_task_modifier_simple_par_old.cpp
The file was modifiedopenmp/runtime/src/kmp_lock.cpp
The file was modifiedopenmp/runtime/src/i18n/en_US.txt
The file was modifiedopenmp/runtime/src/kmp_lock.h
The file was modifiedopenmp/runtime/src/thirdparty/ittnotify/ittnotify_static.cpp
The file was modifiedopenmp/runtime/src/kmp_affinity.cpp
The file was modifiedopenmp/libomptarget/src/interface.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/loop.cu
The file was modifiedopenmp/runtime/src/kmp_i18n.cpp
The file was modifiedopenmp/tools/archer/ompt-tsan.cpp
The file was modifiedopenmp/runtime/test/tasking/kmp_task_modifier_simple_ws_old.cpp
The file was modifiedopenmp/runtime/src/kmp_taskdeps.cpp
The file was modifiedopenmp/runtime/test/worksharing/for/omp_for_schedule_static_3.c
The file was modifiedopenmp/runtime/src/kmp_stats.h
The file was modifiedopenmp/runtime/src/kmp_stub.cpp
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/sync.cu
The file was modifiedopenmp/runtime/tools/check-depends.pl
The file was modifiedopenmp/runtime/test/lock/omp_init_lock.c
The file was modifiedopenmp/runtime/tools/lib/tools.pm
Commit 0f37454c7238cfe95c5d6b427b2c400c084944aa by joker.eph
Fix typos in toy tutorial

Fix two typos throughout the chapters.

Differential Revision: https://reviews.llvm.org/D77397
The file was modifiedmlir/examples/toy/Ch6/mlir/MLIRGen.cpp
The file was modifiedmlir/examples/toy/Ch3/mlir/MLIRGen.cpp
The file was modifiedmlir/examples/toy/Ch4/mlir/MLIRGen.cpp
The file was modifiedmlir/examples/toy/Ch7/mlir/MLIRGen.cpp
The file was modifiedmlir/examples/toy/Ch2/mlir/MLIRGen.cpp
The file was modifiedmlir/examples/toy/Ch5/mlir/MLIRGen.cpp
Commit 179f4baba0672a5e85c5db91095c4cd701a2d32d by richard
Don't treat a CXXScopeSpec with a nested name specifier but no location
as invalid.

We create those when forming trivial type source information with no
associated location, which, unfortunately, we do create in some cases
(when a TreeTransform with no base location is used to transform a
QualType).

This would previously lead to rejects-valid bugs when we misinterpreted
these constructs as having no nested-name-specifier.
The file was modifiedclang/include/clang/Sema/DeclSpec.h
The file was modifiedclang/test/SemaCXX/nested-name-spec.cpp
Commit 1ce0bc39eebe95a350174eb0ed4e2508e7cb6ed8 by joker.eph
Add mention of advantages of `arc` in the Phabricator doc.

Differential Revision: https://reviews.llvm.org/D76952
The file was modifiedllvm/docs/Phabricator.rst
Commit b801577c5964999a9dab6742ba441c0bd9c7adbf by arsenm2
AMDGPU: Fix a few more tests with old denormal subtarget features
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.subtest-saddr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/pack.v2f16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/pack.v2i16.ll
Commit 1a2370bfb8c17f188f197aa97f99a25fd889f8e7 by joker.eph
[MLIR] Fix shape inference in toy tutorial

The implementation of shape inference in the toy tutorial did not conform to the correct algorithmic description.
The result was only correct because all operations appear to be processed in sequence.

Differential Revision: https://reviews.llvm.org/D77382
The file was modifiedmlir/examples/toy/Ch7/mlir/ShapeInferencePass.cpp
The file was modifiedmlir/examples/toy/Ch6/mlir/ShapeInferencePass.cpp
The file was modifiedmlir/examples/toy/Ch5/mlir/ShapeInferencePass.cpp
The file was modifiedmlir/examples/toy/Ch4/mlir/ShapeInferencePass.cpp