SuccessChanges

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

Summary

  1. [lldb] Port lldb gdb-server to libOption (details)
  2. Fix "Unknown arguments specified" to if in lldb (details)
  3. [take 2] [libc++] Include <__config_site> from <__config> (details)
  4. [lldb] Fix windows build for fa5fa63fd140f (details)
  5. [libomptarget][amdgcn] Refactor memcpy to eliminate maps (details)
  6. AMDGPU: Propagate amdgpu-flat-work-group-size attributes (details)
  7. AMDGPU: Lower the threshold reported for maximum stack size exceeded (details)
  8. [mlir]: Clarify docs for external OpTrait::FunctionLike ops (details)
  9. [mlir][gpu] Add customer printer/parser for gpu.launch_func. (details)
  10. [mlir][gpu] Add lowering to LLVM for `gpu.wait` and `gpu.wait async`. (details)
  11. [AMDGPU] Refactor SOPC & SOPP .td for extension (details)
  12. Use -### in arm-float-abi.c test (details)
  13. [gn build] (manually) port 54fa9ecd3088 (details)
  14. [gn build] (manually) port 5d796645d6c8cade (libcxx __config change) (details)
  15. [libc++] Fix the installation of libc++ headers since the __config_site change (details)
  16. [gn build] try to fix up deps of __config_site after 37c030f81a (details)
  17. [clang] Improve Serialization/Imporing/Dumping of APValues (details)
  18. [X86] Regenerate old vector-variable-insertion test (details)
  19. [X86] Improve variable vector insertion test coverage. (details)
  20. [ELF] --gc-sections: retain dependent sections of non-SHF_ALLOC sections (details)
  21. [AMDGPU] Fixed v_swap_b32 match (details)
  22. [flang] Another validity of the TARGET= argument of ASSOCIATED() for objects (details)
  23. [NFC] Fix the definition of SuitableAlign (details)
  24. Fix missing c++ mode comment (details)
  25. [ARM][SchedModels] Convert IsLdrAm3RegOffPred to MCSchedPredicate (details)
  26. [libomptarget] Require LLVM source tree to build libomptarget (details)
  27. [NFC] Clean up always false variables (details)
  28. [gn build] try to fix clang build after 37c030f81a9fdd (details)
  29. [NFC][OpenMP] Update description of OMPGridValues enums (details)
  30. [ARM] add cost-kind tests for intrinsics; NFC (details)
  31. [CostModel] remove cost-kind predicate for scatter/gather cost (details)
  32. [mlir] Add structural type conversions for SCF dialect. (details)
  33. [mlir][shape] Split out structural type conversions for shape dialect. (details)
  34. [mlir][CAPI][Python] Plumb OpPrintingFlags to C and Python APIs. (details)
  35. [NFC] Fixes Doxygen copy-paste error. (details)
  36. [RS4GC] NFC. Preparatory refactoring to make GC parseable memcpy (details)
  37. [LowerMatrixIntrinsics][NewPM] Fix PreservedAnalyses result (details)
  38. [sanitizer] Convert PrintModuleMap to DumpProcessMap (details)
  39. [BlockExtract][NewPM] Port -extract-blocks to NPM (details)
  40. [libcxxabi] Stub out 'sleep' call when _LIBCXXABI_HAS_NO_THREADS is defined. (details)
  41. [test] Fix no-wrap-symbolic-becount.ll under NPM (details)
  42. [c++20] For P0732R2 / P1907R1: Basic frontend support for class types as (details)
  43. Add more test coverage for APValue serialization / deserialization and (details)
  44. [mlir] Add missing dependency for MLIRSCFTransforms (details)
  45. [test] Fix alloca-offset-lifetime.ll under NPM (details)
  46. [test] Fix quadradic-exit-value.ll under NPM (details)
  47. Simple fix to basic-block-sections to replace emit-obj with emit-llvm (details)
  48. [spirv] Fix legalize standard to spir-v for transfer ops (details)
  49. [libc++] Fix compiler-rt build by copying libc++ headers to <build>/include (details)
  50. [OpenMP] Fixing OpenMP/driver.c failing on 32-bit hosts (details)
  51. [c++20] For P0732R2: Give class NTTPs the proper type when examined with 'decltype'. (details)
  52. Always allow std::function to be copied. (details)
  53. [mlir] Simplify DDR matching patterns with equal operands for operators where it's applicable. Added documentation. (details)
  54. [libc++][ci] Also install the library in the CI scripts (details)
  55. [libc++] Fix the benchmarks build (details)
  56. [c++20] For P0732R2: permit class template argument deduction for non-type template parameters. (details)
  57. [ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor (details)
  58. Revert several changes related to llvm-symbolizer exiting non-zero on failure. (details)
  59. [NFC] Set return type of getStackPointerRegisterToSaveRestore to Register (details)
  60. Revert "SimplifyCFG: Clean up optforfuzzing implementation" (details)
  61. Revert "Revert "SimplifyCFG: Clean up optforfuzzing implementation"" (details)
  62. [sanitizer]Update tests to be compatible with Android. (details)
  63. Make APValue profiling a little more compact. (details)
  64. [FPEnv][X86][SystemZ] Use different algorithms for i64->double uint_to_fp under strictfp to avoid producing -0.0 when rounding toward negative infinity (details)
  65. [test] Fix LoopDeletion tests under NPM (details)
  66. Ensure that the "value" of an unnamed bit-field isn't taken into (details)
  67. [LSR] add testcase for LSR profitable chain change, nfc (details)
  68. [test] Fix LoopDistribute tests under NPM (details)
  69. [X86] Support customizing stack protector guard (details)
  70. [sanitizer] Allow log_path to distinguish default from explicit stderr (details)
  71. Fix test failure on Windows. (details)
  72. [NPM][opt] Disallow -analyze under NPM (details)
  73. Do not intercept __libc_memalign and cfree on Android because neither of these exists in Bionic. (details)
  74. [test] Fix shrunk-constant.ll under NPM (details)
  75. [IRCE] consolidate profitability check (details)
  76. [test] Fix tests using -analyze that fail under NPM (details)
  77. Revert "Add "not" to an llvm-symbolizer test that expects to fail" (details)
  78. [NFC][AMDGPU] Reorder SIMemoryLegalizer functions to be consistent (details)
Commit fa5fa63fd140f2d4bad0357839378606a583b32c by pavel
[lldb] Port lldb gdb-server to libOption

The existing help text was very terse and was missing several important
options. In the new version, I add a short description of each option
and a slightly longer description of the tool as a whole.

The new option list does not include undocumented no-op options:
--debug and --verbose. It also does not include undocumented short
aliases for long options, with two exceptions: -h, because it's
well-known; and -S (--setsid), as it's used in one test. Using these
options will now produce an error. I believe that is acceptable as users
aren't generally invoking lldb-server directly, and the only way to
learn about the short aliases was by looking at the source.

Differential Revision: https://reviews.llvm.org/D89477
The file was modifiedlldb/tools/lldb-server/CMakeLists.txt
The file was addedlldb/tools/lldb-server/LLGSOptions.td
The file was modifiedlldb/source/Utility/Args.cpp
The file was modifiedlldb/tools/lldb-server/lldb-gdbserver.cpp
The file was addedlldb/test/Shell/lldb-server/TestErrorMessages.test
The file was modifiedlldb/include/lldb/Utility/Args.h
Commit 26459e6d8eeb3c2e61c70d207de7e10a00b4ed1c by ctetreau
Fix "Unknown arguments specified" to if in lldb

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D89807
The file was modifiedlldb/cmake/modules/FindPythonAndSwig.cmake
Commit 5d796645d6c8cadeb003715c33e231a8ba05b6de by Louis Dionne
[take 2] [libc++] Include <__config_site> from <__config>

Prior to this patch, we would generate a fancy <__config> header by
concatenating <__config_site> and <__config>. This complexifies the
build system and also increases the difference between what's tested
and what's actually installed.

This patch removes that complexity and instead simply installs <__config_site>
alongside the libc++ headers. <__config_site> is then included by <__config>,
which is much simpler. Doing this also opens the door to having different
<__config_site> headers depending on the target, which was impossible before.

It does change the workflow for testing header-only changes to libc++.
Previously, we would run `lit` against the headers in libcxx/include.
After this patch, we run it against a fake installation root of the
headers (containing a proper <__config_site> header). This makes use
closer to testing what we actually install, which is good, however it
does mean that we have to update that root before testing header changes.
Thus, we now need to run `ninja check-cxx-deps` before running `lit` by
hand.

This commit was originally applied in 1e46d1aa3 and reverted in eb60c487
because it broke the libc++abi and libunwind test suites. This has now
been fixed.

Differential Revision: https://reviews.llvm.org/D89041
The file was modifiedlibcxxabi/src/CMakeLists.txt
The file was modifiedlibcxx/test/configs/legacy.cfg.in
The file was modifiedlibcxxabi/test/lit.site.cfg.in
The file was modifiedlibcxxabi/test/libcxxabi/test/config.py
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/docs/TestingLibcxx.rst
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxxabi/CMakeLists.txt
The file was modifiedlibunwind/test/libunwind/test/config.py
Commit d900b755ed003967d1c9675b62293414831db1b6 by pavel
[lldb] Fix windows build for fa5fa63fd140f
The file was modifiedlldb/tools/lldb-server/lldb-gdbserver.cpp
Commit 55dc123555dbb3e7ca717c1ecc0ab6cd934bdee5 by jonchesterfield
[libomptarget][amdgcn] Refactor memcpy to eliminate maps

[libomptarget][amdgcn] Refactor memcpy to eliminate maps

Builds on D89776 to remove now dead code.

Reviewed By: pdhaliwal

Differential Revision: https://reviews.llvm.org/D89888
The file was removedopenmp/libomptarget/plugins/amdgpu/impl/data.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/atmi_runtime.h
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/rtl.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/data.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/impl/atmi.cpp
Commit 53c43431bc6a01ad1e29b9351450ac18d5270ab3 by Matthew.Arsenault
AMDGPU: Propagate amdgpu-flat-work-group-size attributes

Fixes being overly conservative with the register counts in called
functions. This should try to do a conservative range merge, but for
now just clone.

Also fix not being able to functionally run the pass standalone.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPropagateAttributes.cpp
The file was addedllvm/test/CodeGen/AMDGPU/propagate-attributes-flat-work-group-size.ll
Commit 1ed4caff1d5cd49233c1ae7b9f6483a946ed5eea by Matthew.Arsenault
AMDGPU: Lower the threshold reported for maximum stack size exceeded

Check the actual maximum supported stack size for a kernel.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-size-overflow.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
Commit 4b7dafd9046f0ceaadacaafe0ea4a1fb00cf70a5 by zinenko
[mlir]: Clarify docs for external OpTrait::FunctionLike ops

The documentation claims that an op with the trait FunctionLike has a
single region containing the blocks that corresponding to the body of
the function. It then goes on to say that the absence of a region
corresponds to an external function when, in fact, this is represented
by a single empty region. This patch changes the wording in the
documentation to match the implementation.

Signed-off-by: Frej Drejhammar <frej.drejhammar@gmail.com>
Co-authored-by: Frej Drejhammar <frej.drejhammar@gmail.com>
Co-authored-by: Klas Segeljakt <klasseg@kth.se>

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D89868
The file was modifiedmlir/docs/Traits.md
The file was modifiedmlir/include/mlir/IR/FunctionSupport.h
Commit 1c1803dbb0f6a4a9bef557d98b4f3a498eb1bf75 by csigg
[mlir][gpu] Add customer printer/parser for gpu.launch_func.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D89262
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/include/mlir/IR/FunctionImplementation.h
The file was modifiedmlir/test/Dialect/GPU/outlining.mlir
The file was modifiedmlir/lib/IR/FunctionImplementation.cpp
The file was modifiedmlir/test/Dialect/GPU/invalid.mlir
The file was modifiedmlir/test/Dialect/GPU/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
Commit 3ac561d8c348a7bdc0313a268d5b3b4dcac118a2 by csigg
[mlir][gpu] Add lowering to LLVM for `gpu.wait` and `gpu.wait async`.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D89686
The file was modifiedmlir/lib/Conversion/GPUCommon/ConvertLaunchFuncToRuntimeCalls.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was addedmlir/test/Conversion/GPUCommon/lower-wait-to-gpu-runtime-calls.mlir
Commit f6d7832f4cf8addc0e733df7c7b917959edf7f01 by Joseph.Nash
[AMDGPU] Refactor SOPC & SOPP .td for extension

We use the Real vs Pseudo instruction abstraction for other
types of instructions to facilitate changes in opcode
between gpu generations.
This patch introduces that abstraction to SOPC and SOPP.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D89738

Change-Id: I59d53c2c7058b49d05b60350f4062a9b542d3138
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
Commit ba60de5250ce1c4baa4a7bb7098ac67349f88a99 by john.brawn
Use -### in arm-float-abi.c test

This is needed to prevent the test from failing when llvm is
configured so that the arm target is not present, which is the case
for some buildbots.
The file was modifiedclang/test/Driver/arm-float-abi.c
Commit 4a8b52b53de640022a7eca0dbcefa61802cf63b0 by thakis
[gn build] (manually) port 54fa9ecd3088
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 37c030f81a9fdd7a7e1b6fa5407b277c1ab1afa1 by thakis
[gn build] (manually) port 5d796645d6c8cade (libcxx __config change)
The file was modifiedllvm/utils/gn/secondary/libcxxabi/src/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn
Commit b5aa67446e01bd277727b05710a42e69ac41e74b by Louis Dionne
[libc++] Fix the installation of libc++ headers since the __config_site change
The file was modifiedlibcxx/include/CMakeLists.txt
Commit 8b7dac81d378c339d3e55f6f51cd0c42803903ad by thakis
[gn build] try to fix up deps of __config_site after 37c030f81a
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit cf34dd0c4e84b69bb901f9cd4f3491852238ec44 by tyker
[clang] Improve Serialization/Imporing/Dumping of APValues

Changes:
- initializer expressions of constexpr variable are now wraped in a ConstantExpr. this is mainly used for testing purposes. the old caching system has not yet been removed.
- Add all the missing Serialization and Importing for APValue.
- Improve dumping of APValue when ASTContext isn't available.
- Cleanup leftover from last patch.
- Add Tests for Import and serialization.

Differential Revision: https://reviews.llvm.org/D63640
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/include/clang/AST/ASTImporter.h
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/include/clang/AST/APValue.h
The file was modifiedclang/lib/AST/APValue.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was addedclang/test/ASTMerge/APValue/APValue.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
Commit f4bd0f01312dbe6d441197cd484d6497da0e1598 by llvm-dev
[X86] Regenerate old vector-variable-insertion test
The file was modifiedllvm/test/CodeGen/X86/2009-06-05-VariableIndexInsert.ll
Commit cdc90ec7876d3d6b343aa2917e6e3d5436c0a99e by llvm-dev
[X86] Improve variable vector insertion test coverage.

Add tests for insertion into non-undef vectors

Add SSE2/AVX512F/AVX512BW coverage
The file was modifiedllvm/test/CodeGen/X86/insertelement-var-index.ll
Commit b6e4aae2cc269bbdce9263cd49dcd582840b333a by i
[ELF] --gc-sections: retain dependent sections of non-SHF_ALLOC sections

Fix http://lists.llvm.org/pipermail/llvm-dev/2020-October/145908.html

Currently non-SHF_ALLOC SHT_REL[A] (due to --emit-relocs) and SHF_LINK_ORDER are not
marked live.

Reviewed By: grimar, psmith

Differential Revision: https://reviews.llvm.org/D89841
The file was modifiedlld/ELF/MarkLive.cpp
The file was modifiedlld/test/ELF/gc-sections-linkorder2.s
Commit 611959f004d78f99e45fdc940a7a4322b85d04d9 by Stanislav.Mekhanoshin
[AMDGPU] Fixed v_swap_b32 match

1. Fixed liveness issue with implicit kills.
2. Fixed potential problem with an indirect mov.

Fixes: SWDEV-256848

Differential Revision: https://reviews.llvm.org/D89599
The file was modifiedllvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/v_swap_b32.mir
Commit 6b66f1cd9ba4533904a733329890e911ae0f5f6f by psteinfeld
[flang] Another validity of the TARGET= argument of ASSOCIATED() for objects

In my previous implementation of the semantic checks for ASSOCIATED(), I
had neglected to check the TARGET= argument for objects to ensure that
it has either the POINTER or TARGET attributes.

I added an implementation and a test.

Differential Revision: https://reviews.llvm.org/D89717
The file was modifiedflang/test/Semantics/associated.f90
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
Commit cf11f017af32a797e301f56b163a989ad73630fa by Xiangling.Liao
[NFC] Fix the definition of SuitableAlign
The file was modifiedclang/include/clang/Basic/TargetInfo.h
Commit 817cd3d191be44067c1d037729e0cdfe89e35a77 by arsenm2
Fix missing c++ mode comment
The file was modifiedllvm/include/llvm/LTO/Config.h
Commit bf9edcb6fda7e19487c2dca605a95e8a6779a80a by eleviant
[ARM][SchedModels] Convert IsLdrAm3RegOffPred to MCSchedPredicate

Differential revision: https://reviews.llvm.org/D89876
The file was modifiedllvm/lib/Target/ARM/ARMScheduleA57.td
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.h
The file was modifiedllvm/test/tools/llvm-mca/ARM/cortex-a57-memory-instructions.s
Commit 26790ed248870a1e293e844945bf677825a43084 by jonathanchesterfield
[libomptarget] Require LLVM source tree to build libomptarget

[libomptarget] Require LLVM source tree to build libomptarget

This is to permit reliably #including files from the LLVM tree in libomptarget,
as an improvement on the copy and paste that is currently in use. See D87841
for the first example of removing duplication given this new requirement.

The weekly openmp dev call reached consensus on this approach. See also D87841
for some alternatives that were considered. In the future, we may want to
introduce a new top level repo for shared constants, or start using the ADT
library within openmp.

This will break sufficiently exotic build systems, trivial fixes as below.

Building libomptarget as part of the monorepo will continue to work.
If openmp is built separately, it now requires a cmake macro indicating
where to find the LLVM source tree.

If openmp is built separately, without the llvm source tree already on disk,
the build machine will need a copy of a subset of the llvm source tree and
the cmake macro indicating where it is.

Reviewed By: protze.joachim

Differential Revision: https://reviews.llvm.org/D89426
The file was modifiedopenmp/libomptarget/CMakeLists.txt
The file was modifiedopenmp/CMakeLists.txt
The file was modifiedopenmp/libomptarget/plugins/amdgpu/CMakeLists.txt
Commit 958abe01802ca33d506e54f88f6a2563b95154f5 by aeubanks
[NFC] Clean up always false variables

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D89023
The file was modifiedllvm/lib/Analysis/RegionPass.cpp
The file was modifiedllvm/include/llvm/Analysis/RegionPass.h
Commit b3ca53e14274642274be8fe7db8b43dc3c146366 by thakis
[gn build] try to fix clang build after 37c030f81a9fdd

37c030f81a9fdd made it so that depending on //libcxx/include
automatically added the copied header dir to the include search path.
For some reason, clang can't build against the copied libcxx headers
(it complains about ldiv_t not being a type). I don't have a mac
to debug right now, but for the clang target this change was
unintentional anyways -- only depend on the copies target, instead
of on the target that also adjusts the include path.
The file was modifiedllvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit cb319b1b5d9346a67c2f2a829d3dace58dff5861 by Saiyedul.Islam
[NFC][OpenMP] Update description of OMPGridValues enums

Update comments describing how OMPGridValues enums will be used in
clang, deviceRTLs, and hsa and cuda plugins.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D86232
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPGridValues.h
Commit 729610a51a4581ea923e6fb2ca1bfa7287022ec7 by spatel
[ARM] add cost-kind tests for intrinsics; NFC

This is a copy of the x86 file to provide better coverage;
x86 may have strange overrides that mask changes in the
generic model.
The file was addedllvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
Commit c963bde0152a741d58b9e1e9ac485d8f2e6c6d58 by spatel
[CostModel] remove cost-kind predicate for scatter/gather cost

This is similar in spirit to 01ea93d85d6e (memcpy) except that
here the underlying caller assumptions were created for vectorizer
use (throughput) rather than other passes.

That meant ARM could have an enormous throughput cost with no
corresponding size, latency, or blended cost increase. X86 has
the same throughput restriction as the basic implementation, so
it is still unchanged.

Paraphrasing from the previous commit:
This may not make sense for some callers, but at least now the
costs will be consistently wrong instead of mysteriously wrong.

Targets should provide better overrides if the current modeling
is not accurate.
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
Commit f0292ede9bbf8a24607c926b0439db20c203607a by silvasean
[mlir] Add structural type conversions for SCF dialect.

A "structural" type conversion is one where the underlying ops are
completely agnostic to the actual types involved and simply need to update
their types. An example of this is scf.if -- the scf.if op and the
corresponding scf.yield ops need to update their types accordingly to the
TypeConverter, but otherwise don't care what type conversions are happening.

To test the structural type conversions, it is convenient to define a
bufferize pass for a dialect, which exercises them nicely.

Differential Revision: https://reviews.llvm.org/D89757
The file was modifiedmlir/lib/Transforms/Bufferize.cpp
The file was modifiedmlir/include/mlir/Dialect/SCF/Passes.h
The file was modifiedmlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
The file was addedmlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
The file was addedmlir/test/Dialect/SCF/bufferize.mlir
The file was modifiedmlir/include/mlir/Dialect/SCF/Transforms.h
The file was modifiedmlir/include/mlir/Transforms/Bufferize.h
The file was modifiedmlir/include/mlir/Dialect/SCF/Passes.td
The file was addedmlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
Commit 57b338c08a4942bda6e58c77870c657c53b6fb5b by silvasean
[mlir][shape] Split out structural type conversions for shape dialect.

A "structural" type conversion is one where the underlying ops are
completely agnostic to the actual types involved and simply need to update
their types. An example of this is shape.assuming -- the shape.assuming op
and the corresponding shape.assuming_yield op need to update their types
accordingly to the TypeConverter, but otherwise don't care what type
conversions are happening.

Also, the previous conversion code would not correctly materialize
conversions for the shape.assuming_yield op. This should have caused a
verification failure, but shape.assuming's verifier wasn't calling
RegionBranchOpInterface::verifyTypes (which for reasons can't be called
automatically as part of the trait verification, and requires being
called manually). This patch also adds that verification.

Differential Revision: https://reviews.llvm.org/D89833
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was modifiedmlir/include/mlir/Dialect/Shape/Transforms/Passes.h
The file was modifiedmlir/lib/Dialect/Shape/Transforms/Bufferize.cpp
The file was modifiedmlir/lib/Dialect/Shape/Transforms/CMakeLists.txt
The file was addedmlir/lib/Dialect/Shape/Transforms/StructuralTypeConversions.cpp
The file was modifiedmlir/test/Dialect/Shape/bufferize.mlir
Commit 74a58ec9c27f48eb26094667156934c6ca9d0012 by stellaraccident
[mlir][CAPI][Python] Plumb OpPrintingFlags to C and Python APIs.

* Adds a new MlirOpPrintingFlags type and supporting accessors.
* Adds a new mlirOperationPrintWithFlags function.
* Adds a full featured python Operation.print method with all options and the ability to print directly to files/stdout in text or binary.
* Adds an Operation.get_asm which delegates to print and returns a str or bytes.
* Reworks Operation.__str__ to be based on get_asm.

Differential Revision: https://reviews.llvm.org/D89848
The file was modifiedmlir/include/mlir-c/IR.h
The file was modifiedmlir/lib/Bindings/Python/IRModules.cpp
The file was modifiedmlir/test/CAPI/ir.c
The file was modifiedmlir/lib/Bindings/Python/IRModules.h
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/include/mlir/CAPI/IR.h
The file was modifiedmlir/include/mlir/IR/OperationSupport.h
The file was modifiedmlir/test/Bindings/Python/ir_operation.py
Commit b3881d01abcbc519032e0c942f90124f2bdba56a by koraq
[NFC] Fixes Doxygen copy-paste error.
The file was modifiedclang/lib/Sema/TreeTransform.h
Commit e8cce5ad892d21c9b51c656178a198cddb175ac4 by apilipenko
[RS4GC] NFC. Preparatory refactoring to make GC parseable memcpy

For GC parseable element atomic memcpy/memmove we'll need to
shuffle statepoint arguments. Make it possible by storing the
arguments as Value *, not Use *.
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Commit aa6c305344e5e96bc12b1b9b88cd852a290de914 by aeubanks
[LowerMatrixIntrinsics][NewPM] Fix PreservedAnalyses result

PreservedCFGCheckerInstrumentation was saying that LowerMatrixIntrinsics
didn't properly preserve CFG even though it claimed to. The legacy pass
says it doesn't. Match the legacy pass's preserved analyses.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D89175
The file was modifiedllvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
The file was modifiedllvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
Commit 31bc55d602a09241f6d126ca9315e7ddc3d92555 by tejohnson
[sanitizer] Convert PrintModuleMap to DumpProcessMap

As discussed in the review for D87120 (specifically at
https://reviews.llvm.org/D87120#inline-831939), clean up PrintModuleMap
and DumpProcessMap usage differences. The former is only implemented for
Mac OSX, whereas the latter is implemented for all OSes. The former is
called by asan and tsan, and the latter by hwasan and now memprof, under
the same option. Simply rename the PrintModuleMap implementation for Mac
to DumpProcessMap, remove other empty PrintModuleMap implementations,
and convert asan/tsan to new name. The existing posix DumpProcessMap is
disabled for SANITIZER_MAC.

Differential Revision: https://reviews.llvm.org/D89630
The file was modifiedcompiler-rt/lib/asan/asan_report.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_win.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_posix.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_report.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_rtems.cpp
The file was modifiedcompiler-rt/lib/asan/asan_rtl.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Commit 8d9466a3850b8f213b817075ede0fdec8526b7a7 by aeubanks
[BlockExtract][NewPM] Port -extract-blocks to NPM

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D89015
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Transforms/IPO/IPO.cpp
The file was addedllvm/include/llvm/Transforms/IPO/BlockExtractor.h
The file was modifiedllvm/test/Transforms/BlockExtractor/extract-blocks.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Transforms/IPO/BlockExtractor.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
Commit 272279a1c0fa4142e599aecdc75ef68720a81607 by abidh
[libcxxabi] Stub out 'sleep' call when _LIBCXXABI_HAS_NO_THREADS is defined.

While running this test on a bare metal target, I got an error as 'sleep' was not available on that system. As 'sleep' call is not doing anything useful for cases when _LIBCXXABI_HAS_NO_THREADS is defined. This patch puts it under this check.

Reviewed By: ldionne

Differential Revision: https://reviews.llvm.org/D89871
The file was modifiedlibcxxabi/test/test_exception_storage.pass.cpp
Commit 1d1217c4ea115ac204f666a31686787503623dfa by aeubanks
[test] Fix no-wrap-symbolic-becount.ll under NPM
The file was modifiedllvm/test/Analysis/ScalarEvolution/no-wrap-symbolic-becount.ll
Commit ba4768c966581658465f7366df9b0811f468a2d7 by richard
[c++20] For P0732R2 / P1907R1: Basic frontend support for class types as
non-type template parameters.

Create a unique TemplateParamObjectDecl instance for each such value,
representing the globally unique template parameter object to which the
template parameter refers.

No IR generation support yet; that will follow in a separate patch.
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was modifiedclang/lib/AST/ASTDiagnostic.cpp
The file was modifiedclang/lib/AST/DeclTemplate.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/AST/DeclBase.cpp
The file was modifiedclang/lib/CodeGen/CGExprConstant.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was addedclang/test/PCH/cxx20-template-args.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/include/clang/AST/DeclTemplate.h
The file was modifiedclang/lib/AST/TemplateBase.cpp
The file was modifiedclang/test/SemaCXX/cxx17-compat.cpp
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was modifiedclang/include/clang/Sema/Initialization.h
The file was modifiedclang/include/clang/Basic/DeclNodes.td
The file was addedclang/test/CXX/temp/temp.param/p8-cxx20.cpp
The file was modifiedclang/lib/AST/ExprClassification.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/test/CXX/drs/dr3xx.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/lib/Serialization/ASTCommon.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
Commit 0c417d4bef1e78b0716c546101462f6d8962f358 by richard
Add more test coverage for APValue serialization / deserialization and
fix a few exposed bugs.
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/test/PCH/cxx20-template-args.cpp
The file was modifiedclang/include/clang/AST/DeclTemplate.h
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/include/clang/AST/APValue.h
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/AST/APValue.cpp
Commit cb5ab3e90e9b7f2e2f00d558e2f5cc095f0c7926 by antiagainst
[mlir] Add missing dependency for MLIRSCFTransforms

MLIRTransforms is needed to provide BufferizeTypeConverter
definitions.
The file was modifiedmlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
Commit e045d844e635b985adc52514ac15cfb753c2bda5 by aeubanks
[test] Fix alloca-offset-lifetime.ll under NPM
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/alloca-offset-lifetime.ll
Commit 7d6c3e509a430997b20e96422356695ecdec447e by aeubanks
[test] Fix quadradic-exit-value.ll under NPM
The file was modifiedllvm/test/Analysis/IVUsers/quadradic-exit-value.ll
Commit eef2e67d2326e7d4027fddb29eefdb69371dc24a by tmsriram
Simple fix to basic-block-sections to replace emit-obj with emit-llvm

emit-obj is unnecessary here and further wasn't redirected to /dev/null.
The file was modifiedclang/test/CodeGen/basic-block-sections.c
Commit ac2cf07195b5833a888dc6878a9a3cb377ef59ac by thomasraoux
[spirv] Fix legalize standard to spir-v for transfer ops

Forward missing attributes when creating the new transfer op otherwise the
builder would use default values.

Differential Revision: https://reviews.llvm.org/D89907
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp
The file was modifiedmlir/test/Conversion/StandardToSPIRV/legalization.mlir
Commit 69c2087283cf7b17ca75f69daebf4ffc158b754a by Louis Dionne
[libc++] Fix compiler-rt build by copying libc++ headers to <build>/include

This commit should really be named "Workaround external projects depending
on libc++ build system implementation details". It seems that the compiler-rt
build (and perhaps other projects) is relying on the fact that we copy libc++
and libc++abi headers to `<build-root>/include/c++/v1`. This was changed
by 5d796645, which moved the headers to `<build-root>/projects/libcxx/include/c++/v1`
and broke the compiler-rt build.

I'm committing this workaround to fix the compiler-rt build, but we should
remove reliance on implementation details like that. The correct way to
setup the compiler-rt build would be to "link" against the `cxx-headers`
target in CMake, or to run `install-cxx-headers` using an appropriate
installation prefix, and then manually add a `-I` path to that location.
The file was modifiedlibcxx/cmake/Modules/HandleLibCXXABI.cmake
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxxabi/test/libcxxabi/test/config.py
Commit cd4a4ae97a7ccfa381e06936cd0981cb7d978ec1 by jhuber6
[OpenMP] Fixing OpenMP/driver.c failing on 32-bit hosts

The changes made in D88594 caused the test OpenMP/driver.c to fail on a 32-bit host becuase it was offloading to a 64-bit architecture by default. The offloading test was moved to a new file and a feature was added to the lit config to check for a 64-bit host.

Reviewed By: daltenty

Differential Revision: https://reviews.llvm.org/D89904
The file was modifiedclang/test/lit.cfg.py
The file was modifiedclang/test/OpenMP/driver-openmp-target.c
Commit caf30e7f03566f20c45e5d0895e71c4bff9056ef by richard
[c++20] For P0732R2: Give class NTTPs the proper type when examined with 'decltype'.

This requires that we track enough information to determine the original
type of the parameter in a substituted non-type template parameter, to
distinguish the reference-to-class case from the class case.
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was addedclang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.decltype/p1.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
Commit 1c1f794c2b645ba33a98f0359bc9d30bbef89920 by flx
Always allow std::function to be copied.

Since its call operator is const but can modify the state of its underlying
functor we cannot tell whether the copy is necessary or not.

This avoids false positives.

Reviewed-by: aaron.ballman, gribozavr2

Differential Revision: https://reviews.llvm.org/D89332
The file was modifiedclang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/performance-unnecessary-copy-initialization.cpp
Commit 281e0f3636a3169df88965632579701b101be51f by rdzhabarov
[mlir] Simplify DDR matching patterns with equal operands for operators where it's applicable. Added documentation.

This https://reviews.llvm.org/D89254 diff introduced implicit matching between same name operands.

Differential Revision: https://reviews.llvm.org/D89598
The file was modifiedmlir/docs/DeclarativeRewrites.md
The file was modifiedmlir/include/mlir/IR/OpBase.td
The file was modifiedmlir/lib/Dialect/Shape/IR/ShapeCanonicalization.td
Commit 1913bb622cbc735b31ae5d529442c79b5e6fef75 by Louis Dionne
[libc++][ci] Also install the library in the CI scripts

It's good to run the installation step to make sure it works properly,
as build system changes can break that.
The file was modifiedlibcxx/utils/ci/run-buildbot.sh
Commit 28270234f1478047e35879f4ba8838b47edfcc14 by Louis Dionne
[libc++] Fix the benchmarks build
The file was modifiedlibcxx/benchmarks/CMakeLists.txt
Commit e97e9851b227e98e39c27c4c8f5558e331cde8b4 by richard
[c++20] For P0732R2: permit class template argument deduction for non-type template parameters.
The file was addedclang/test/CXX/temp/temp.arg/temp.arg.nontype/p1-cxx20.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/test/SemaTemplate/deduction.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
The file was addedclang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.class.deduct/p2.cpp
Commit ee6abef5323d59b983129bf3514ef6775d1d6cd5 by qcolombet
[ValueTracking] Interpret GEPs as a series of adds multiplied by the related scaling factor

Prior to this patch, computeKnownBits would only try to deduce trailing zeros
bits for getelementptrs. This patch adds the logic to treat geps as a series
of add * scaling factor.

Thanks to this patch, using a gep or performing an address computation
directly "by hand" (ptrtoint followed by adds and mul followed by inttoptr)
offers the same computeKnownBits information.

Previously, the "by hand" approach would have given more information.

This is related to https://llvm.org/PR47241.

Differential Revision: https://reviews.llvm.org/D86364
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/test/Transforms/InstCombine/constant-fold-address-space-pointer.ll
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp
The file was modifiedllvm/test/Transforms/InstCombine/constant-fold-gep.ll
Commit a67d164a82bc535025bb65736ee4e5f381500ed8 by dblaikie
Revert several changes related to llvm-symbolizer exiting non-zero on failure.

Seems users have enough different uses of the symbolizer where they
might have unknown binaries and offsets such that "best effort" behavior
is all that's expected of llvm-symbolizer - so even erroring on unknown
executables and out of bounds offsets might not be suitable.

This reverts commit 1de0199748ef2a20cd146c100ea1b8e6726c4767.
This reverts commit a7b209a6d40d77b43a38664b1fe64513587f24c6.
This reverts commit 338dd138ea4a70b52ab48e0c8aa38ec152b3569a.
The file was modifiedllvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
The file was modifiedllvm/test/DebugInfo/symbolize-missing-file.test
The file was removedllvm/test/tools/llvm-symbolizer/invalid-dwarf.s
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
The file was modifiedllvm/lib/DebugInfo/Symbolize/Symbolize.cpp
The file was modifiedllvm/test/tools/llvm-symbolizer/input-base.test
The file was modifiedllvm/test/DebugInfo/symbolize-macho-universal-unknown-arch.test
The file was modifiedllvm/test/tools/llvm-symbolizer/sym.test
Commit 4634ad6c0bf8d6837cbbeea034cca387054207ea by gjn
[NFC] Set return type of getStackPointerRegisterToSaveRestore to Register

Differential Revision: https://reviews.llvm.org/D89858
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/Lanai/LanaiISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/ShrinkWrap.cpp
Commit 716f7636e1ec7880a6d2f2205f54f65191cf8f9a by zequanwu
Revert "SimplifyCFG: Clean up optforfuzzing implementation"

See discussion: https://reviews.llvm.org/D89590
This reverts commit cdd006eec9409923f9a56b9026ce2cb72e7b71dc.
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 2f29341114ed2e32af9c68506fe9a7f6868675e2 by zequanwu
Revert "Revert "SimplifyCFG: Clean up optforfuzzing implementation""

This reverts commit 716f7636e1ec7880a6d2f2205f54f65191cf8f9a.
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 3b3aef198bb86574ef5c9d28a8b81eef3b42dcdb by Vitaly Buka
[sanitizer]Update tests to be compatible with Android.

Split off from D89251

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D89884
The file was modifiedcompiler-rt/test/lsan/lit.common.cfg.py
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/use_tls_pthread_specific_static.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/suppressions_file.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/disabler.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/many_threads_detach.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/strace_test.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/use_registers.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c
The file was modifiedcompiler-rt/test/lsan/TestCases/ignore_object.c
The file was modifiedcompiler-rt/test/lsan/TestCases/stale_stack_leak.cpp
The file was modifiedcompiler-rt/test/asan/lit.cfg.py
The file was modifiedcompiler-rt/test/lsan/TestCases/disabler.c
The file was modifiedcompiler-rt/test/lit.common.cfg.py
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/log-path_test.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/disabler_in_tsd_destructor.c
The file was modifiedcompiler-rt/test/lsan/TestCases/large_allocation_leak.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/use_tls_dynamic.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/coverage-and-lsan.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/swapcontext.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/guard-page.c
Commit e04ba2bc052f20fe745894b24b0f9b335db5abbc by richard
Make APValue profiling a little more compact.
The file was modifiedclang/lib/AST/APValue.cpp
Commit 9e884169a2723de5ad5c59af69b35b20953965fa by craig.topper
[FPEnv][X86][SystemZ] Use different algorithms for i64->double uint_to_fp under strictfp to avoid producing -0.0 when rounding toward negative infinity

Some of our conversion algorithms produce -0.0 when converting unsigned i64 to double when the rounding mode is round toward negative. This switches them to other algorithms that don't have this problem. Since it is undefined behavior to change rounding mode with the non-strict nodes, this patch only changes the behavior for strict nodes.

There are still problems with unsigned i32 conversions too which I'll try to fix in another patch.

Fixes part of PR47393

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D87115
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/fp-strict-scalar-inttofp.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-128.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-conv-08.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-512.ll
Commit 716338a09ad93e7a9df8f2570b848ef5feeb7519 by aeubanks
[test] Fix LoopDeletion tests under NPM
The file was modifiedllvm/test/Transforms/LoopDeletion/update-scev.ll
The file was modifiedllvm/test/Transforms/LoopDeletion/2017-07-11-incremental-dt.ll
Commit 81560743527e127ff8e47384db5dd60c7c40f153 by richard
Ensure that the "value" of an unnamed bit-field isn't taken into
account when determining the identity of a class NTTP.
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
Commit 2d71f26c8193ef359380246e5b0670db2ec9b9f6 by czhengsz
[LSR] add testcase for LSR profitable chain change, nfc
The file was addedllvm/test/CodeGen/PowerPC/lsr-profitable-chain.ll
Commit 007ffdc18c503094e705ffcdd3ad51b829b77348 by aeubanks
[test] Fix LoopDistribute tests under NPM
The file was modifiedllvm/test/Transforms/LoopDistribute/basic.ll
The file was modifiedllvm/test/Transforms/LoopDistribute/basic-with-memchecks.ll
Commit 7c3fea7721e421de235917d9454d448f976500fc by xiang1.zhang
[X86] Support customizing stack protector guard

Reviewed By: nickdesaulniers, MaskRay

Differential Revision: https://reviews.llvm.org/D88631
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
The file was modifiedllvm/lib/CodeGen/StackProtector.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.h
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was addedllvm/test/CodeGen/X86/stack-protector-3.ll
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was addedclang/test/Driver/stack-protector-guard.c
Commit 1bb68c9b189ffd081640e56cbfea777f484f4002 by tejohnson
[sanitizer] Allow log_path to distinguish default from explicit stderr

Split out of D89086 as suggested.

Change the default of the log_path flag to nullptr, and the code
consuming that flag (ReportFile::SetReportPath), to treat nullptr as
stderr (so no change to the behavior of existing users). This allows
code to distinguish between the log_path being specified explicitly as
stderr vs the default.

This is so the flag can be used to override the new report path variable
that will be encoded in the binary for memprof for runtime testing.

Differential Revision: https://reviews.llvm.org/D89629
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_file.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_flags.inc
Commit 5e2c9a05b74c022dfb4780358b7f2b11e874993d by richard
Fix test failure on Windows.
The file was modifiedclang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
Commit da43d428d03823770b2520792044fa88777b4dcf by aeubanks
[NPM][opt] Disallow -analyze under NPM

-analyze does not work with the NPM.
'print<foo>' passes should be used instead.
The file was modifiedllvm/test/Other/2007-06-05-PassID.ll
The file was modifiedllvm/tools/opt/opt.cpp
Commit e2858997abcb0e0960849b4eed5bf894889d2329 by vyng
Do not intercept __libc_memalign and cfree on Android because neither of these exists in Bionic.

Differential Revision: https://reviews.llvm.org/D89616
The file was modifiedcompiler-rt/lib/lsan/lsan_interceptors.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Commit 5b68772ca92cecb8ac9205f8e4523a5bc0c8e25e by aeubanks
[test] Fix shrunk-constant.ll under NPM
The file was modifiedllvm/test/Transforms/IndVarSimplify/shrunk-constant.ll
Commit 75d0e0cd5f4c584f235b98e13c01421683bf0b80 by serguei.katkov
[IRCE] consolidate profitability check

Use BFI if it is available and BPI otherwise.
This is a promised follow-up after D89541.

Reviewers: ebrevnov, mkazantsev
Reviewed By: ebrevnov
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D89773
The file was modifiedllvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
Commit 55c4ff9860c495d71e83181aa5a2d5e085634b70 by aeubanks
[test] Fix tests using -analyze that fail under NPM

Many of these tests don't use the output of -analyze.
The file was modifiedllvm/test/Transforms/IndVarSimplify/loop_evaluate_2.ll
The file was modifiedllvm/test/Transforms/LoopSimplify/preserve-scev.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/condprop.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/edge.ll
The file was modifiedllvm/test/Other/cfg-printer-branch-weights.ll
The file was modifiedllvm/test/Transforms/LoopStrengthReduce/pr3086.ll
The file was modifiedllvm/test/Other/2002-01-31-CallGraph.ll
The file was modifiedllvm/test/Other/debugcounter-predicateinfo.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/pr33457.ll
The file was modifiedllvm/test/Analysis/BasicAA/dereferenceable.ll
The file was modifiedllvm/test/Other/cfg-printer-branch-weights-percent.ll
The file was modifiedllvm/test/Transforms/Util/PredicateInfo/pr33456.ll
The file was modifiedllvm/test/Transforms/LoopSimplify/2010-07-15-IncorrectDomFrontierUpdate.ll
The file was modifiedllvm/test/Other/cfg_deopt_unreach.ll
The file was modifiedllvm/test/Analysis/IVUsers/deep_recursion_in_scev.ll
The file was modifiedllvm/test/Other/heat-colors-graphs.ll
The file was modifiedllvm/test/Other/2007-06-05-PassID.ll
The file was modifiedllvm/test/Other/2007-06-28-PassManager.ll
Commit ade107360f5933d6410dfdd32812fc3c116d771e by douglas.yung
Revert "Add "not" to an llvm-symbolizer test that expects to fail"

A recent commit to revert llvm-symbolizer changes forgot to revert this test fix.

This reverts commit 5e656ee48bccc73f1328db1770770acaec90a7c9.
The file was modifiedllvm/test/tools/llvm-symbolizer/pdb/missing_pdb.test
Commit 8e8cc587a55951ee46f307337a88a23cb45b9dd6 by Tony.Tye
[NFC][AMDGPU] Reorder SIMemoryLegalizer functions to be consistent

- Make the SIMemoryLegalizer insertAcquire function be in the same
  order for each target to be consistent.

Differential Revision: https://reviews.llvm.org/D89880
The file was modifiedllvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp