SuccessChanges

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

Summary

  1. [clang] Fix ICE with typeid & polymorphic class (pr50497) (details)
  2. [SystemZ][z/OS] Stricter condition for HLASM class instantiation (details)
  3. [InstCombine] add tests for cast folding; NFC (details)
  4. WindowsSupport.h: do not depend on private config header (details)
  5. [lld/mac] Implement removal of unused dylibs (details)
  6. [NFC][OpaquePtr] Explicitly pass GEP source type to IRBuilder in more places (details)
  7. Convert TableGen assert to error (details)
  8. [globalisel][legalizer] Separate the deprecated LegalizerInfo from the current one (details)
  9. [mlir] Updated depthwise conv to support kernel dilation (details)
  10. [gn build] Port aaac268285ff (details)
  11. [libc++] Fix the std_include.sh.cpp test that has been failing since c9385297ce (details)
  12. [lld/mac] fix test failure after 24979e111 (details)
  13. fixup: Missing operator in [globalisel][legalizer] Separate the deprecated LegalizerInfo from the current one (details)
  14. Fix a Clang diagnostic to start with a lowercase letter; NFC (details)
  15. [libcxx][ranges] Add `default_sentinel` and `default_sentinel_t`. (details)
  16. [gn build] Port 065cf3f9d703 (details)
  17. [lld][WebAssemlby] Fix for string merging of -dwarf-5 sections (details)
  18. [Dominators] Rewrite the dominator implementation for efficiency. NFC. (details)
  19. [Fuchsia] Add compat multilibs to cache file (details)
  20. [lld/mac] Emit only one LC_LOAD_DYLIB per dylib (details)
  21. [CSE] Ask DominanceInfo about "hasSSADominance" instead of reconstructing it. (details)
  22. [lld-macho][nfc] Remove unnecessary use of Optional<T*> (details)
  23. [various] Remove or use variables which are unused but set. (details)
  24. [Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable (details)
  25. [clang][Fuchsia] Turn on relative-vtables by default for Fuchsia (details)
  26. [lld/mac] Make -t work correctly with -flat_namespace (details)
  27. [test] Precommit test for D101103 (details)
  28. [InstSimplify] Treat invariant group insts as bitcasts for load operands (details)
  29. [mlir-reduce] Reducer refactor. (details)
  30. [OpaquePtr] Create API to make a copy of a PointerType with some address space (details)
  31. [AMDGPU] All GWS instructions need aligned VGPR on gfx90a (details)
  32. Fix tmp files being left on Windows builds. (details)
  33. Remove x86 test amx-fast-tile-config.mir (by its author) (details)
  34. [CUDA][HIP] Change default lang std to c++14 (details)
  35. [RISCV][test] Add new tests of bitwise and with constant for the Zbs extension (details)
  36. Make ignore counts work as "after stop" modifiers so they play nicely with conditions (details)
  37. [CUDA][HIP] Promote const variables to constant (details)
  38. [mlir] Support tensor types in non-unrolled VectorToSCF (details)
  39. [llvm-readobj] Print function names with `--bb-addr-map`. (details)
  40. [mlir] Support tensor types in unrolled VectorToSCF (details)
  41. [libc++] NFC: Move unwrap_iter to its own header (details)
  42. [gn build] Port 924ea3bb53ca (details)
  43. [RISCV] Improve register allocation for masked vwadd(u).wv, vwsub(u).wv, vfwadd.wv, and vfwsub.wv. (details)
  44. [libc++] Add a CI job to test libc++ when building for 32 bit (details)
  45. Revert "Fix tmp files being left on Windows builds." for now; (details)
  46. [scudo] Enabled MTE in tests (details)
  47. [NFC][msan] Fix warning on sanitizer-ppc64le-linux bot (details)
  48. [lldb/API] Expose triple for SBProcessInfo. (details)
  49. Resubmit D85085 after fixing the tests that were failing. (details)
  50. [mlir][linalg] Cleanup LinalgOp usage in sparse compiler (NFC). (details)
  51. Revert "[NFC][msan] Fix warning on sanitizer-ppc64le-linux bot" (details)
  52. [NFC][msan] Fix assigned-unused warning (details)
Commit c138f3ce5c70ff87a35d77e11f77a77d9d539b49 by nathan
[clang] Fix ICE with typeid & polymorphic class (pr50497)

This addresses pr50497. The argument of a typeid expression is
unevaluated, *except* when it's a polymorphic type. We handle this by
parsing as unevaluated and then transforming to evaluated if we
discover it should have been an evaluated context.

We do the same in TreeTransform<Derived>::TransformCXXTypeidExpr,
entering unevaluated context before transforming and rebuilding the
typeid. But that's incorrect and can lead us to converting to
evaluated context twice -- and hitting an assert.

During normal template instantiation we're always cloning the
expression, but during generic lambda processing we do not necessarily
AlwaysRebuild, and end up with TransformDeclRefExpr unconditionally
calling MarkDeclRefReferenced around line 10226. That triggers the
assert.

// Mark it referenced in the new context regardless.
// FIXME: this is a bit instantiation-specific.
SemaRef.MarkDeclRefReferenced(E);

This patch makes 2 changes.

a) TreeTransform<Derived>::TransformCXXTypeidExpr only enters
unevaluated context if the typeid's operand is not a polymorphic
glvalue. If it is, it keeps the same evaluation context.

b) Sema::BuildCXXTypeId is altered to only transform to evaluated, if
the current context is unevaluated.

Differential Revision: https://reviews.llvm.org/D103258
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was addedclang/test/SemaCXX/pr50497-crash-typeid.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
Commit e52007cac4faf07ad2776136015fcbfc076ddd84 by anirudh_prasad
[SystemZ][z/OS] Stricter condition for HLASM class instantiation

- A lot of lit tests simply specify the arch minus the triple. On z/OS, this could result in a scenario of some-other-triple-unknown-ibm-zos. This points to an incorrect triple + arch combo.
- To prevent this, isOSzOS change is switched in favour of isOSBinFormatGOFF.
- This is because, the GOFF format is set only if the triple is systemz and if the operating system is GOFF. And currently, there are no other architectures/os's using the GOFF file format.
- An argument could be made that the problematic tests be fixed to explicitly specify the arch-vendor-triple string, but there's a large number of these tests, and adding this stricter scope ensures that we aren't instantiating the incorrect instance of the AsmParser for other platforms when run on z/OS.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D103343
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
Commit 337854270023c95401b7718f586b9759891caa06 by spatel
[InstCombine] add tests for cast folding; NFC

https://llvm.org/PR49543
The file was modifiedllvm/test/Transforms/InstCombine/sext-of-trunc-nsw.ll
Commit 936ca1e21a91843c76b20c6c857aaddd5fa3d42a by martin
WindowsSupport.h: do not depend on private config header

WindowsSupport.h is a public header, however if it gets included, will cause a compile error indicating that llvm/Config/config.h cannot be found, because config.h is a private header. However there is no actual dependency on the private things in this header, so it can be changed to the public config header.

Reviewed By: amccarth

Differential Revision: https://reviews.llvm.org/D103370
The file was modifiedllvm/include/llvm/Support/Windows/WindowsSupport.h
Commit 2c1903412b0a73ed65e9feb272af9c07f32970d0 by thakis
[lld/mac] Implement removal of unused dylibs

This omits load commands for unreferenced dylibs if:
- the dylib was loaded implicitly,
- it is marked MH_DEAD_STRIPPABLE_DYLIB
- or -dead_strip_dylibs is passed

This matches ld64.

Currently, the "is dylib referenced" state is computed before dead code
stripping and is not updated after dead code stripping. This too matches ld64.
We should do better here.

With this, clang-format linked with lld (like with ld64) no longer has
libobjc.A.dylib in `otool -L` output. (It was implicitly loaded as a reexport
of CoreFoundation.framework, but it's not needed.)

Differential Revision: https://reviews.llvm.org/D103430
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Symbols.h
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/SymbolTable.cpp
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/MachO/Options.td
The file was addedlld/test/MachO/dead-strip-dylibs.s
The file was modifiedlld/test/MachO/implicit-dylibs.s
The file was modifiedlld/test/MachO/lc-linker-option.ll
The file was modifiedlld/MachO/InputFiles.cpp
Commit 2983053d23d30b408122abf772bd50638f4ded2c by aeubanks
[NFC][OpaquePtr] Explicitly pass GEP source type to IRBuilder in more places
The file was modifiedllvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
The file was modifiedllvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
Commit bbd399954b8913293176ad61db74c4d3675ad0bc by stephen.neuendorffer
Convert TableGen assert to error

This gives a nice message about the location of errors in a large
tablegen file, which is much more useful for users

Differential Revision: https://reviews.llvm.org/D102740
The file was modifiedllvm/utils/TableGen/CodeGenDAGPatterns.cpp
Commit aaac268285ff596b4cbffbb1ce8dbe516811eda8 by daniel_l_sanders
[globalisel][legalizer] Separate the deprecated LegalizerInfo from the current one

It's still in use in a few places so we can't delete it yet but there's not
many at this point.

Differential Revision: https://reviews.llvm.org/D103352
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
The file was modifiedllvm/unittests/CodeGen/GlobalISel/GISelMITest.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVLegalizerInfo.cpp
The file was addedllvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp
The file was modifiedllvm/lib/Target/PowerPC/GISel/PPCLegalizerInfo.cpp
The file was modifiedllvm/lib/Target/Mips/MipsLegalizerInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86LegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMLegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was addedllvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CMakeLists.txt
The file was modifiedllvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Commit 422c7036d5fae8e9a6a30ebe4074a0cf08da1208 by rob.suderman
[mlir] Updated depthwise conv to support kernel dilation

Depthwise convolution should support kernel dilation and non-dilation should
not be a special case. Updated op definition to include a dilation attribute.

This also adds a tosa.depthwise_conv2d lowering to linalg to support the new
linalg behavior.

Differential Revision: https://reviews.llvm.org/D103219
The file was modifiedmlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOpsSpec.tc
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
The file was modifiedmlir/test/Dialect/Linalg/named-ops.mlir
The file was modifiedmlir/test/Dialect/Linalg/generalize-named-ops.mlir
Commit bebb802a2527e5c254ed8f80eed677995fbe09f2 by llvmgnsyncbot
[gn build] Port aaac268285ff
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
Commit ba95fa03ce267fbd59113ae20a4ac251e251be3f by Louis Dionne
[libc++] Fix the std_include.sh.cpp test that has been failing since c9385297ce

The compiler used on Apple bots doesn't know about -std=c++20 yet, so
we can't use that just yet.

Differential Revision: https://reviews.llvm.org/D103475
The file was modifiedlibcxx/test/libcxx/modules/stds_include.sh.cpp
Commit 8d80139cccf449a3227e0614098cf713ad1b0e73 by thakis
[lld/mac] fix test failure after 24979e111

If there is an error reading the dylib, we shouldn't try
to load its reexports.

Caught e.g. by https://lab.llvm.org/buildbot/#/builders/36/builds/8946
The file was modifiedlld/MachO/InputFiles.h
The file was modifiedlld/MachO/DriverUtils.cpp
Commit 937266205026052c413acee73da7be5e254cc2c9 by daniel_l_sanders
fixup: Missing operator in [globalisel][legalizer] Separate the deprecated LegalizerInfo from the current one

My local compiler was fine with it but the bots complain about ambiguous types.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
Commit d7f846fc6be14539fb0f5223eb08cb2235759897 by aaron
Fix a Clang diagnostic to start with a lowercase letter; NFC
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/test/Sema/ms-inline-asm-invalid-arch.c
Commit 065cf3f9d70374d0a02f1e15be32eaaa59f01466 by zoecarver
[libcxx][ranges] Add `default_sentinel` and `default_sentinel_t`.

Refs https://eel.is/c++draft/default.sentinel and https://eel.is/c++draft/iterator.synopsis

Differential Revision: https://reviews.llvm.org/D103487
The file was modifiedlibcxx/include/iterator
The file was addedlibcxx/include/__iterator/default_sentinel.h
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/test/std/iterators/predef.iterators/default.sentinel/default.sentinel.pass.cpp
The file was modifiedlibcxx/docs/OneRangesProposalStatus.csv
Commit 8ae7fe24c1837590fc623133f9dbc9ff683f9e85 by llvmgnsyncbot
[gn build] Port 065cf3f9d703
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit c1a59fa550818c6d3c229b43918b5045d7df83e6 by sbc
[lld][WebAssemlby] Fix for string merging of -dwarf-5 sections

We were mistakenly treating `.debug_str_offsets` as a string mergable
section when it is not (it contains integers not strings).  This is an
indication that we really should find a way to store flags for custom
sections.

Fixes: https://bugs.llvm.org/show_bug.cgi?id=48828
Fixes: https://bugs.chromium.org/p/chromium/issues/detail?id=1172217

Differential Revision: https://reviews.llvm.org/D103486
The file was modifiedlld/wasm/InputFiles.cpp
The file was modifiedlld/test/wasm/merge-string-debug.s
Commit 412ae15de49a227de25a695735451f8908ebf999 by clattner
[Dominators] Rewrite the dominator implementation for efficiency. NFC.

The previous impl densely scanned the entire region starting with an op
when dominators were created, creating a DominatorTree for every region.

This is extremely expensive up front -- particularly for clients like
Linalg/Transforms/Fusion.cpp that construct DominanceInfo for a single
query.  It is also extremely memory wasteful for IRs that use single
block regions commonly (e.g. affine.for) because it's making a
dominator tree for a region that has trivial dominance.  The
implementation also had numerous unnecessary minor efficiencies, e.g.
doing multiple walks of the region tree or tryGetBlocksInSameRegion
building a DenseMap that it didn't need.

This patch switches to an approach where [Post]DominanceInfo is free
to construct, and which lazily constructs DominatorTree's for any
multiblock regions that it needs.  This avoids the up-front cost
entirely, making its runtime proportional to the complexity of the
region tree instead of # ops in a region.  This also avoids the memory
and time cost of creating DominatorTree's for single block regions.

Finally this rewrites the implementation for simplicity and to avoids
the constant factor problems the old implementation had.

Differential Revision: https://reviews.llvm.org/D103384
The file was modifiedmlir/lib/IR/Dominance.cpp
The file was modifiedmlir/include/mlir/IR/Dominance.h
The file was modifiedmlir/lib/Transforms/BufferOptimizations.cpp
The file was modifiedmlir/lib/Transforms/CSE.cpp
The file was modifiedmlir/include/mlir/IR/Region.h
The file was modifiedmlir/lib/IR/Region.cpp
Commit da1db49409657d5212185ab9952ee35d99b773d4 by leonardchan
[Fuchsia] Add compat multilibs to cache file

Differential Revision: https://reviews.llvm.org/D103477
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
Commit aeae3e0ba9061a40209987d6256e489146c2bffb by thakis
[lld/mac] Emit only one LC_LOAD_DYLIB per dylib

In some cases, we end up with several distinct DylibFiles that
have the same install name. Only emit a single LC_LOAD_DYLIB in
those cases.

This happens in 3 cases I know of:

1. Some tbd files are symlinks. libpthread.tbd is a symlink against
   libSystem.tbd for example, so `-lSystem -lpthread` loads
   libSystem.tbd twice. We could (and maybe should) cache loaded
   dylibs by realpath() to catch this.

2. Some tbd files are copies of each other. For example,
   CFNetwork.framework/CFNetwork.tbd and
   CFNetwork.framework/Versions/A/CFNetwork.tbd are two distinct
   copies of the same file. The former is found by
   `-framework CFNetwork` and the latter by the reexport in
   CoreServices.tbd. We could conceivably catch this by
   making `-framework` search look in `Versions/Current` instead
   of in the root, and/or by using a content hash to cache
   tbd files, but that's starting to sound complicated.

3. Magic $ld$ symbol processing can change the install name of
   a dylib based on the target platform_version. Here, two
   truly distinct dylibs can have the same install name.

So we need this code to deal with (3) anyways. Might as well use
it for 1 and 2, at least for now :)

With this (and D103430), clang-format links in the same dylibs
when linked with lld and ld64.

Differential Revision: https://reviews.llvm.org/D103488
The file was modifiedlld/MachO/Writer.cpp
The file was addedlld/test/MachO/dylink-ordinal.s
Commit 6134231a78bf667a2f4357a415fac11e2732405a by clattner
[CSE] Ask DominanceInfo about "hasSSADominance" instead of reconstructing it.

I backed this off to make the previous patch easier to wrangle, but now
this is an efficient query and it is better to not replace it in CSE.

Differential Revision: https://reviews.llvm.org/D103494
The file was modifiedmlir/lib/Transforms/CSE.cpp
Commit 8f89c054afa115e4e45dbc76f7efa2e7f485d227 by vyng
[lld-macho][nfc] Remove unnecessary use of Optional<T*>

In all of these cases, the functions could simply return a nullptr instead of {}.
There is no case where Optional<nullptr> has a special meaning.

Differential Revision: https://reviews.llvm.org/D103489
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Driver.h
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/MachO/DriverUtils.cpp
Commit 00d19c6704f421157ae3de3623aca5f58f6c366d by George Burgess IV
[various] Remove or use variables which are unused but set.

This is in preparation for the -Wunused-but-set-variable warning.

Differential Revision: https://reviews.llvm.org/D102942
The file was modifiedlldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/utils/benchmark/src/complexity.cc
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCBranchSelector.cpp
The file was modifiedllvm/lib/Target/X86/X86FloatingPoint.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
Commit cf49cae278b4e972cd2547d72f9ee7d9d69a3af4 by George Burgess IV
[Clang] -Wunused-but-set-parameter and -Wunused-but-set-variable

These are intended to mimic warnings available in gcc.

Differential Revision: https://reviews.llvm.org/D100581
The file was addedclang/test/SemaCXX/warn-unused-but-set-parameters-cpp.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/CodeGen/2007-10-30-Volatile.c
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/CodeGen/X86/x86_64-xsave.c
The file was modifiedclang/test/CodeGen/builtins-riscv.c
The file was modifiedclang/test/Sema/shift.c
The file was modifiedclang/test/SemaCXX/shift.cpp
The file was addedclang/test/Sema/warn-unused-but-set-parameters.c
The file was addedclang/test/SemaCXX/warn-unused-but-set-variables-cpp.cpp
The file was modifiedclang/test/CodeGen/X86/x86_32-xsave.c
The file was modifiedclang/test/SemaCXX/goto.cpp
The file was modifiedclang/test/SemaObjC/foreach.m
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.lambda/p12.cpp
The file was modifiedclang/test/Misc/warning-wall.c
The file was modifiedclang/test/Sema/vector-gcc-compat.c
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/test/Sema/vector-gcc-compat.cpp
The file was modifiedclang/test/FixIt/fixit.cpp
The file was modifiedclang/test/CodeGen/builtins-arm.c
The file was addedclang/test/Sema/warn-unused-but-set-variables.c
The file was modifiedclang/test/SemaCXX/sizeless-1.cpp
Commit e6f88dc01a7208b6f4671c4fcb5d9e68d0808a34 by leonardchan
[clang][Fuchsia] Turn on relative-vtables by default for Fuchsia

All fuchsia targets will now use the relative-vtables ABI by default.
Also remove -fexperimental-relative-c++-abi-vtables from test RUNs targeting fuchsia.

Differential Revision: https://reviews.llvm.org/D102374
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/inlined-key-function.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/diamond-inheritance.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/virtual-function-call.cpp
The file was modifiedclang/test/CodeGenCXX/constructor-destructor-return-this.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/thunk-mangling.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/child-inheritted-from-parent-in-comdat.cpp
The file was modifiedclang/include/clang/Basic/TargetCXXABI.h
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/available_externally-vtable.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/multiple-inheritance.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/no-alias-when-dso-local.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/vbase-offset.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/child-vtable-in-comdat.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-2.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/vtable-hidden-when-in-comdat.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/override-pure-virtual-method.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/diamond-virtual-inheritance.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/simple-vtable-definition.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/cross-translation-unit-1.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/overriden-virtual-function.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/member-function-pointer.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/inheritted-virtual-function.cpp
The file was modifiedclang/test/CodeGenCXX/RelativeVTablesABI/relative-vtables-flag.cpp
Commit 222a88a24371b8a1db2c2cedd1918a5f90758b75 by thakis
[lld/mac] Make -t work correctly with -flat_namespace

We used to not print dylibs referenced by other dylibs in `-t` mode. This
affected reexports, and with `-flat_namespace` also just dylibs loaded by
dylibs. Now we print them.

Fixes PR49514.

Differential Revision: https://reviews.llvm.org/D103428
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/test/MachO/flat-namespace.s
The file was modifiedlld/MachO/DriverUtils.cpp
Commit 3aa943070cc1235c5b8d738dbeb0ca38cb7c6920 by aeubanks
[test] Precommit test for D101103
The file was addedllvm/test/Transforms/InstSimplify/invariant.group-load.ll
Commit 26044c6a54de3e03c73c5515702b95acdb0b7f22 by aeubanks
[InstSimplify] Treat invariant group insts as bitcasts for load operands

We can look through invariant group intrinsics for the purposes of
simplifying the result of a load.

Since intrinsics can't be constants, but we also don't want to
completely rewrite load constant folding, we convert the load operand to
a constant. For GEPs and bitcasts we just treat them as constants. For
invariant group intrinsics, we treat them as a bitcast.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D101103
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/invariant.group-load.ll
Commit c484c7dd9d2382f07216ae9142ceb76272e21dc4 by chiahungduan
[mlir-reduce] Reducer refactor.

* A Reducer is a kind of RewritePattern, so it's just the same as
writing graph rewrite.
* ReductionTreePass operates on Operation rather than ModuleOp, so that
* we are able to reduce a nested structure(e.g., module in module) by
* self-nesting.

Reviewed By: jpienaar, rriddle

Differential Revision: https://reviews.llvm.org/D101046
The file was addedmlir/test/mlir-reduce/crashop-reduction.mlir
The file was addedmlir/lib/Reducer/ReductionTreePass.cpp
The file was modifiedmlir/include/mlir/Reducer/Passes.h
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/lib/Reducer/CMakeLists.txt
The file was addedmlir/lib/Reducer/ReductionNode.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.h
The file was addedmlir/include/mlir/Reducer/ReductionPatternInterface.h
The file was removedmlir/tools/mlir-reduce/OptReductionPass.cpp
The file was removedmlir/include/mlir/Reducer/Passes/OpReducer.h
The file was removedmlir/tools/mlir-reduce/ReductionNode.cpp
The file was removedmlir/tools/mlir-reduce/ReductionTreePass.cpp
The file was modifiedmlir/include/mlir/Reducer/ReductionNode.h
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
The file was removedmlir/include/mlir/Reducer/OptReductionPass.h
The file was modifiedmlir/include/mlir/Reducer/Passes.td
The file was removedmlir/include/mlir/Reducer/ReductionTreePass.h
The file was modifiedmlir/test/mlir-reduce/dce-test.mlir
The file was modifiedmlir/test/lib/Reducer/MLIRTestReducer.cpp
The file was modifiedmlir/lib/Reducer/Tester.cpp
The file was modifiedmlir/test/mlir-reduce/single-function.mlir
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/mlir-reduce/simple-test.mlir
The file was modifiedmlir/tools/mlir-reduce/mlir-reduce.cpp
The file was modifiedmlir/test/mlir-reduce/multiple-function.mlir
The file was addedmlir/lib/Reducer/OptReductionPass.cpp
The file was modifiedmlir/test/lib/Dialect/Test/CMakeLists.txt
The file was modifiedmlir/tools/mlir-reduce/CMakeLists.txt
Commit 89612938516b3623ecc038267539f2a4b69312d2 by aeubanks
[OpaquePtr] Create API to make a copy of a PointerType with some address space

Some existing places use getPointerElementType() to create a copy of a
pointer type with some new address space.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D103429
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedllvm/unittests/IR/TypesTest.cpp
The file was modifiedllvm/include/llvm/IR/DerivedTypes.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
Commit 9e2e49328f19eeeab63c08721122815a27b2dad5 by Stanislav.Mekhanoshin
[AMDGPU] All GWS instructions need aligned VGPR on gfx90a

Fixes: SWDEV-288006

Differential Revision: https://reviews.llvm.org/D103197
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/verify-ds-gws-align.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was addedllvm/test/CodeGen/AMDGPU/ds_gws_align.ll
Commit 7daa18215905c831e130c7542f17619e9d936dfc by akhuang
Fix tmp files being left on Windows builds.

Clang writes object files by first writing to a .tmp file and then
renaming to the final .obj name. On Windows, if a compile is killed
partway through the .tmp files don't get deleted.

Currently it seems like RemoveFileOnSignal takes care of deleting the
tmp files on Linux, but on Windows we need to call
setDeleteDisposition on tmp files so that they are deleted when
closed.

This patch switches to using TempFile to create the .tmp files we write
when creating object files, since it uses setDeleteDisposition on Windows.
This change applies to both Linux and Windows for consistency.

Differential Revision: https://reviews.llvm.org/D102876
The file was modifiedclang/include/clang/Frontend/CompilerInstance.h
The file was modifiedllvm/lib/Support/Path.cpp
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedllvm/lib/Support/Windows/Path.inc
Commit 5fc9653faaf93f4cf2bc9d46c4619ec5811a602f by xiang1.zhang
Remove x86 test amx-fast-tile-config.mir (by its author)

This test contains a lot of manual changes which is not convenient
to update, and the checks are duplicated with test amx-configO2toO0.ll
The file was removedllvm/test/CodeGen/X86/AMX/amx-fast-tile-config.mir
Commit f7e87dd6ff0c1c4a41a6b654d2460557ae97ab8d by Yaxun.Liu
[CUDA][HIP] Change default lang std to c++14

Currently clang and nvcc use c++14 as default std for C++.
gcc 11 even uses c++17 as default std for C++. However,
clang uses c++98 as default std for CUDA/HIP.

As c++14 has been well adopted and became default for
clang, it seems reasonable to use c++14 as default std
for CUDA/HIP.

Reviewed by: Artem Belevich

Differential Revision: https://reviews.llvm.org/D103221
The file was modifiedclang/include/clang/Basic/LangStandards.def
The file was modifiedclang/test/Parser/cuda-kernel-call.cu
The file was modifiedclang/test/SemaCUDA/asm_delayed_diags.cu
The file was modifiedclang/test/SemaCUDA/implicit-member-target-collision.cu
The file was addedclang/test/Preprocessor/lang-std.cu
The file was modifiedclang/test/SemaCUDA/function-target.cu
The file was modifiedclang/test/SemaCUDA/cuda-builtin-vars.cu
Commit 59f44f9ad4f0f4c0f087b4e0287878adfed38081 by powerman1st
[RISCV][test] Add new tests of bitwise and with constant for the Zbs extension

These tests will show how (and r i) will be optimized to
(BCLRI (BCLRI r, i0), i1) or (BCLRI (ANDI r, i0), i1) by future
commits.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D103359
The file was modifiedllvm/test/CodeGen/RISCV/rv32zbs.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbs.ll
Commit 658f6ed1523b0e61ddee494ce1691f29a701c317 by jingham
Make ignore counts work as "after stop" modifiers so they play nicely with conditions

Previously ignore counts were checked when we stopped to do the sync callback in Breakpoint::ShouldStop. That meant we would do all the ignore count work even when
there is also a condition says the breakpoint should not stop.

That's wrong, lldb treats breakpoint hits that fail the thread or condition checks as "not having hit the breakpoint". So the ignore count check should happen after
the condition and thread checks in StopInfoBreakpoint::PerformAction.

The one side-effect of doing this is that if you have a breakpoint with a synchronous callback, it will run the synchronous callback before checking the ignore count.
That is probably a good thing, since this was already true of the condition and thread checks, so this removes an odd asymmetry. And breakpoints with sync callbacks
are all internal lldb breakpoints and there's not a really good reason why you would want one of these to use an ignore count (but not a condition or thread check...)

Differential Revision https://reviews.llvm.org/D103217
The file was modifiedlldb/include/lldb/Breakpoint/Breakpoint.h
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
The file was modifiedlldb/source/Breakpoint/Breakpoint.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointLocation.cpp
The file was modifiedlldb/source/Target/StopInfo.cpp
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointLocation.h
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/main.c
Commit 04caa7c3e02f0e2f96881b2b9b5ae5fec6e59aa9 by Yaxun.Liu
[CUDA][HIP] Promote const variables to constant

Recently we added diagnosing ODR-use of host variables
in device functions, which includes ODR-use of const
host variables since they are not really emitted on
device side. This caused regressions since we used
to allow ODR-use of const host variables in device
functions.

This patch allows ODR-use of const variables in device
functions if the const variables can be statically initialized
and have an empty dtor. Such variables are marked with
implicit constant attrs and emitted on device side. This is
in line with what clang does for constexpr variables.

Reviewed by: Artem Belevich

Differential Revision: https://reviews.llvm.org/D103108
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/SemaCUDA/device-use-host-var.cu
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/SemaCUDA/static-device-var.cu
The file was modifiedclang/lib/Sema/SemaCUDA.cpp
The file was modifiedclang/test/CodeGenCUDA/device-use-host-var.cu
Commit 558e740170681c723ecb04156f7177d6dfebff13 by springerm
[mlir] Support tensor types in non-unrolled VectorToSCF

Support for tensor types in the unrolled version will follow in a separate commit.

Add a new pass option to activate lowering of transfer ops with tensor types (default: deactivated).

Differential Revision: https://reviews.llvm.org/D102666
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/include/mlir/Conversion/VectorToSCF/VectorToSCF.h
The file was addedmlir/test/Conversion/VectorToSCF/tensor-transfer-ops.mlir
Commit 616ac1b961aa1ef9041d7e82b088ad2a9ad50014 by rahmanl
[llvm-readobj] Print function names with `--bb-addr-map`.

This patch uses the `getSymbolIndexForFunctionAddress` helper function to print function names for BB address map entries.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D102900
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/bb-addr-map.test
Commit bd20756d2c583002de862cb2aa41d54c8e9bc3d0 by springerm
[mlir] Support tensor types in unrolled VectorToSCF

Differential Revision: https://reviews.llvm.org/D102668
The file was modifiedmlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
The file was addedmlir/test/Conversion/VectorToSCF/unrolled-tensor-transfer-ops.mlir
Commit 924ea3bb53ca98848cc54a656f6580dd95f45304 by Louis Dionne
[libc++] NFC: Move unwrap_iter to its own header

This re-applies 9968896cd62a, which was reverted in b13edf6e907b because
it broke the build.

Differential Revision: https://reviews.llvm.org/D103369
The file was modifiedlibcxx/include/module.modulemap
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/include/__algorithm/unwrap_iter.h
The file was modifiedlibcxx/include/algorithm
Commit e61917ce2dc71573248f5de54c5e1628d96648fc by llvmgnsyncbot
[gn build] Port 924ea3bb53ca
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 41ff1e0e29bbd3c12c8fdb0a0bbed8bda95dec85 by craig.topper
[RISCV] Improve register allocation for masked vwadd(u).wv, vwsub(u).wv, vfwadd.wv, and vfwsub.wv.

The first source has the same EEW as the destination, but we're
using earlyclobber which prevents them from ever being the same
register.

To workaround this, add a special TIED pseudo to use whenever the
first source and merge operand are the same value. This allows
us to use a single operand for the merge operand and first source
which we can then tie to the destination. A tied source disables
earlyclobber for that operand.

Reviewed By: arcbbb

Differential Revision: https://reviews.llvm.org/D103211
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwadd.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwaddu.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsub.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsubu.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwaddu.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwadd.w-rv32.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwsub.w-rv32.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwadd.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsub.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwadd.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vfwsub.w-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vwsubu.w-rv32.ll
Commit ae4dad2b731eefce5f65ed1a74510563ffe64c0f by Louis Dionne
[libc++] Add a CI job to test libc++ when building for 32 bit

Differential Revision: https://reviews.llvm.org/D92508
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
Commit 20797b129f844d4b12ffb2b12cf33baa2d42985c by akhuang
Revert "Fix tmp files being left on Windows builds." for now;
causing some asan test failures.

This reverts commit 7daa18215905c831e130c7542f17619e9d936dfc.
The file was modifiedllvm/lib/Support/Path.cpp
The file was modifiedllvm/lib/Support/Windows/Path.inc
The file was modifiedclang/include/clang/Frontend/CompilerInstance.h
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
Commit 4124bca309586234748c9c99600ec2f3b2f6d775 by Vitaly Buka
[scudo] Enabled MTE in tests

Reviewed By: pcc, hctim

Differential Revision: https://reviews.llvm.org/D103305
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/scudo_unit_test_main.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/memtag.h
Commit 6a2807bc81771d3fed397378507ecab40f8bff27 by Vitaly Buka
[NFC][msan] Fix warning on sanitizer-ppc64le-linux bot
The file was modifiedcompiler-rt/lib/msan/tests/msan_test.cpp
Commit 251a5d9d5239c0402e0ab68718aa194c2b4f04bb by bruce.mitchener
[lldb/API] Expose triple for SBProcessInfo.

This is present when doing a `platform process list` and is
tracked by the underlying code. To do something like the
process list via the SB API in the future, this must be
exposed.

Differential Revision: https://reviews.llvm.org/D103375
The file was modifiedlldb/source/API/SBProcessInfo.cpp
The file was modifiedlldb/test/API/python_api/process/TestProcessAPI.py
The file was modifiedlldb/bindings/interface/SBProcessInfo.i
The file was modifiedlldb/include/lldb/API/SBProcessInfo.h
Commit 516e5bb2b11ea374e5a468b7fb17b0c4e9f1b863 by tmsriram
Resubmit D85085 after fixing the tests that were failing.

D85085 was pushed earlier but broke tests on mac and win:
http://lab.llvm.org:8080/green/job/clang-stage1-RA/21182/consoleFull#-706149783d489585b-5106-414a-ac11-3ff90657619c

Recommitting it after adding mtriple to the llc commands.

Emit correct location lists with basic block sections.

This patch addresses multiple things:

1) It ensures that const_value is emitted when possible with basic block
   sections.
2) It emits location lists such that the labels are always within the
   section boundary.
3) It fixes a bug when the parameter is first used in a non-entry block
   which is in a different section from the entry block.

Differential Revision: https://reviews.llvm.org/D85085
The file was modifiedllvm/test/DebugInfo/X86/basic-block-sections-debug-loc.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loc-const-value-1.ll
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-3.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-2.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-4.ll
The file was modifiedllvm/test/DebugInfo/X86/basic-block-sections_1.ll
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-1.ll
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loc-split-range.ll
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loc-const-value-2.ll
The file was addedllvm/test/DebugInfo/X86/basic-block-sections-debug-loclist-5.ll
Commit 2f2b5b7d282bbc97cad76f920e9f3bfcf45d00ea by gysit
[mlir][linalg] Cleanup LinalgOp usage in sparse compiler (NFC).

Replace the uses of deprecated Structured Op Interface methods in Sparsification.cpp. This patch is based on https://reviews.llvm.org/D103394.

Differential Revision: https://reviews.llvm.org/D103436
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Commit 2445838f74ef200fbf1134fb29f8c7c8f73ead52 by Vitaly Buka
Revert "[NFC][msan] Fix warning on sanitizer-ppc64le-linux bot"

This fix breaks the test.

This reverts commit 6a2807bc81771d3fed397378507ecab40f8bff27.
The file was modifiedcompiler-rt/lib/msan/tests/msan_test.cpp
Commit 60c0256ef1875e62e91b7c1126f001a586225466 by Vitaly Buka
[NFC][msan] Fix assigned-unused warning
The file was modifiedcompiler-rt/lib/msan/tests/msan_test.cpp