SuccessChanges

Summary

  1. [lldb] Fix bug in fallback logic for finding the resource directory. (details)
  2. [libc++] Remove unnecessary usage of <iostream> in the test suite (details)
  3. [InstCombine] Add trunc(bswap(trunc/zext(x))) vector tests (details)
  4. [mlir][vector] Add canonicalization patterns for extractMap/insertMap (details)
  5. Revert rG3d14a1e982ad27 - "[InstCombine] recognizeBSwapOrBitReverseIdiom - support for 'partial' bswap patterns (PR47191)" (details)
  6. [AlwaysInliner] Update BFI when inlining (details)
  7. Revert "[AlwaysInliner] Update BFI when inlining" (details)
  8. [gn build] Don't define CINDEX_EXPORTS (details)
  9. Reland [AlwaysInliner] Update BFI when inlining (details)
  10. scudo: Simplify AtomicOptions::setFillContentsMode. NFCI. (details)
  11. [DAE] MarkLive in MarkValue(MaybeLive) if any use is live (details)
  12. [MemCpyOpt] Add tests from D40802 (NFC) (details)
  13. [libc++] NFCI: Remove _LIBCPP_EXTERN_TEMPLATE2 (details)
  14. Update legalizer-info-validation.mir test to test all opcodes. (details)
  15. [llc] Initialize TargetOptions after Triple is available (details)
  16. [docs] Update ControlFlowIntegrity.rst. (details)
  17. [libc++] NFCI: Simplify macro definitions for the debug mode (details)
  18. [libc++] NFCI: Remove the _LIBCPP_DEBUG_MODE helper macro (details)
  19. [MLIR][SPIRV] Add initial support for OpSpecConstantComposite. (details)
  20. Relax newly added opcode alias check to check only for a number instead of a specific opcode. (details)
Commit 07c112574a324318a02ef29901a0d5aa1fd95144 by Jonas Devlieghere
[lldb] Fix bug in fallback logic for finding the resource directory.

Both of the if-clauses modify the raw_path variable and only one of them
was resetting the variable for the fallback. Avoid future bugs like that
by always resetting the variable.

Differential revision: https://reviews.llvm.org/D88704
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp
Commit aac2de1b1af07448483f8cdb3a588b9504def9ac by Louis Dionne
[libc++] Remove unnecessary usage of <iostream> in the test suite

Tests should strive to be as minimal as possible, since it makes them
relevant on platforms where <iostream> does not work.
The file was modifiedlibcxx/test/support/private_constructor.h
Commit d0dd7cadbd1f8fd57ac09dc9bb9c853ff0329988 by llvm-dev
[InstCombine] Add trunc(bswap(trunc/zext(x))) vector tests
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
Commit d1c8e179d8773f82cdba818dac25667224a9e8d1 by thomasraoux
[mlir][vector] Add canonicalization patterns for extractMap/insertMap

Add basic canonicalization patterns for the extractMap/insertMap to allow them
to be folded into Transfer ops.
Also mark transferRead as memory read so that it can be removed by dead code.

Differential Revision: https://reviews.llvm.org/D88622
The file was modifiedmlir/test/lib/Transforms/TestVectorTransforms.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/test/Dialect/Vector/vector-distribution.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
Commit 0364721e3ef2edca318e27b9453adf977911dbb1 by llvm-dev
Revert rG3d14a1e982ad27 - "[InstCombine] recognizeBSwapOrBitReverseIdiom - support for 'partial' bswap patterns (PR47191)"

This reverts commit 3d14a1e982ad27111346471564d575ad5efc6419.

This is breaking on some 2stage clang buildbots
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit b1bf24667fc3ec5dc4b541148d0d722ffa28a6df by aeubanks
[AlwaysInliner] Update BFI when inlining

Reviewed By: davidxl

Differential Revision: https://reviews.llvm.org/D88324
The file was modifiedllvm/lib/Transforms/IPO/AlwaysInliner.cpp
The file was addedllvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
The file was modifiedllvm/test/Transforms/Inline/prof-update-sample.ll
Commit 9b8c0b8b465f439226b5d2bd8f71d55436801bd9 by aeubanks
Revert "[AlwaysInliner] Update BFI when inlining"

This reverts commit b1bf24667fc3ec5dc4b541148d0d722ffa28a6df.
The file was modifiedllvm/test/Transforms/Inline/prof-update-sample.ll
The file was removedllvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
The file was modifiedllvm/lib/Transforms/IPO/AlwaysInliner.cpp
Commit 354ba1cb8006c9126851e1b006f799de52ecb7bc by aeubanks
[gn build] Don't define CINDEX_EXPORTS

This causes
../../clang/include\clang-c/Platform.h(23,11): warning: 'CINDEX_EXPORTS' macro redefined [-Wmacro-redefined]
  #define CINDEX_EXPORTS
The file was modifiedllvm/utils/gn/secondary/clang/tools/libclang/BUILD.gn
Commit eb55735073d53f7816b9a4080e6f54dfeda5ae50 by aeubanks
Reland [AlwaysInliner] Update BFI when inlining

Reviewed By: davidxl

Differential Revision: https://reviews.llvm.org/D88324
The file was modifiedclang/test/CodeGen/lto-newpm-pipeline.c
The file was modifiedllvm/test/Transforms/Inline/prof-update-sample.ll
The file was modifiedllvm/lib/Transforms/IPO/AlwaysInliner.cpp
The file was addedllvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
Commit a8938f3da319f4cc17b80ebab582a6c77efa6705 by peter
scudo: Simplify AtomicOptions::setFillContentsMode. NFCI.

Differential Revision: https://reviews.llvm.org/D88747
The file was modifiedcompiler-rt/lib/scudo/standalone/options.h
Commit 7468afe9ca135228f4c5a48f1b061ca57786fad6 by aeubanks
[DAE] MarkLive in MarkValue(MaybeLive) if any use is live

While looping through all args or all return values, we may mark a use
of a later iteration as live. Previously when we got to that later value
it would ignore that and continue adding to Uses instead of marking it
live. For example, when looping through arg#0 and arg#1,
MarkValue(arg#0, Live) may cause some use of arg#1 to be live, but
MarkValue(arg#1, MaybeLive) will not notice that and continue adding
into Uses.

Now MarkValue(RA, MaybeLive) will MarkLive(RA) if any use is live.

Fixes PR47444.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D88529
The file was addedllvm/test/Transforms/DeadArgElim/preserve-used-ret.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
The file was modifiedllvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
Commit 84feca6a84d90c5c0b8ecbcffc68e8e4b1285f32 by nikita.ppv
[MemCpyOpt] Add tests from D40802 (NFC)

Even though that patch didn't stick, we should retain the test
coverage.
The file was addedllvm/test/Transforms/MemCpyOpt/mixed-sizes.ll
The file was addedllvm/test/Transforms/MemCpyOpt/nonlocal-memcpy-memcpy.ll
The file was addedllvm/test/Transforms/MemCpyOpt/merge-into-memset.ll
The file was addedllvm/test/Transforms/MemCpyOpt/memcpy-invoke-memcpy.ll
Commit 1a92de0064bcf9ef605ca9456812adf411e9ee4e by Louis Dionne
[libc++] NFCI: Remove _LIBCPP_EXTERN_TEMPLATE2

This seems to have been added a long time ago as a temporary help
for debugging some <regex> issue, but it's really the same as
_LIBCPP_EXTERN_TEMPLATE.
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/include/__locale
The file was modifiedlibcxx/include/locale
Commit 1e020b2a1783b5db54d124923b975626e51ebeb1 by Amara Emerson
Update legalizer-info-validation.mir test to test all opcodes.

The test doesn't fail if we add opcodes to the end of the opcodes definition
list, so we were missing some.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
Commit 322519ee1276cd7cc5f32b3fe335d0b804c8b8c0 by i
[llc] Initialize TargetOptions after Triple is available

Some targets have different defaults. This patch defers initialization of `TargetOptions` so that a future patch can pass `TargetOptions` to `InitTargetOptionsFromCodeGenFlags`

Reviewed By: jasonliu

Differential Revision: https://reviews.llvm.org/D88748
The file was modifiedllvm/tools/llc/llc.cpp
Commit 66cf68ed46789217a8382bb419a0bda1c4e97650 by eugenis
[docs] Update ControlFlowIntegrity.rst.

Expand the list of targets that support cfi-icall.
Add ThinLTO everywhere LTO is mentioned. AFAIK all CFI features are
supported with ThinLTO.

Differential Revision: https://reviews.llvm.org/D87717
The file was modifiedclang/docs/ControlFlowIntegrity.rst
Commit 31e820378b8ae4d81e9d206a7dae64ccf4b4c97f by Louis Dionne
[libc++] NFCI: Simplify macro definitions for the debug mode

The debug mode always had three possibilities:
- _LIBCPP_DEBUG is undefined => no assertions
- _LIBCPP_DEBUG == 0         => some assertions
- _LIBCPP_DEBUG == 1         => some assertions + iterator checks

This was documented that way, however the code did not make this clear
at all. The discrepancy between _LIBCPP_DEBUG and _LIBCPP_DEBUG_LEVEL
was especially confusing. I reworked how the various macros are defined
without changing anything else to make the code clearer.
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/include/string
The file was modifiedlibcxx/include/locale
The file was modifiedlibcxx/include/iterator
The file was modifiedlibcxx/include/__hash_table
The file was modifiedlibcxx/include/list
The file was modifiedlibcxx/include/unordered_set
The file was modifiedlibcxx/include/vector
The file was modifiedlibcxx/include/__debug
The file was modifiedlibcxx/include/unordered_map
Commit 870827f65222ebb1a9701d4d0e916f315dc692a8 by Louis Dionne
[libc++] NFCI: Remove the _LIBCPP_DEBUG_MODE helper macro

It was used inconsistently and the name was pretty confusing, so we might
as well use `#if _LIBCPP_DEBUG_LEVEL == 2` consistently everywhere.
The file was modifiedlibcxx/include/__debug
The file was modifiedlibcxx/include/__hash_table
Commit 0c8f9b8099fd0500cd885bc699924e20371014ff by antiagainst
[MLIR][SPIRV] Add initial support for OpSpecConstantComposite.

This commit adds support to SPIR-V's composite specialization constants.
These are specialization constants which are composed of other spec
constants (whehter scalar or composite), regular constatns, or undef
values.

This commit adds support for parsing, printing, verification, and
(De)serialization.

A few TODOs are still in order:
- Supporting more types of constituents; currently, only scalar spec constatns are supported.
- Extending `spv._reference_of` to support composite spec constatns.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D88568
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Deserializer.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVStructureOps.td
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/spec-constant.mlir
The file was modifiedmlir/test/Dialect/SPIRV/structure-ops.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/Serializer.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
Commit 24f406e6d39bfd43eb1ce7fbee525256fa8adc4c by douglas.yung
Relax newly added opcode alias check to check only for a number instead of a specific opcode.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir