Changes

Summary

  1. [libcxx][iwyu] ensures we IWYU as prep for modules (details)
  2. [NFC] Update renamed option in comments (details)
  3. Remove redundant test that was causing intermittent build bot failures. (details)
  4. Support lowering of index-cast on vector types. (details)
  5. [NFC] Fix "unused variable" warning (details)
  6. [asan] Remove Asan, Ubsan support of RTEMS and Myriad (details)
  7. [InstSimplify] Treat invariant group insts as bitcasts for load operands (details)
  8. [gn build] Port 6478ef61b1a4 (details)
  9. Adding the rest of the C11 papers to the status page. (details)
  10. [MCA] Adding the CustomBehaviour class to llvm-mca (details)
  11. Revert "[MCA] Adding the CustomBehaviour class to llvm-mca" (details)
  12. [libc][NFC] Disable thrd_test as it is exhibiting flaky behavior on the bots. (details)
  13. AArch64 Linux and elf-core PAC stack unwinder support (details)
  14. [OpenMP] Lazily assign root affinity (details)
  15. [OpenMP] Fix affinity determine capable algorithm on Linux (details)
  16. [OpenMP] Add GOMP 5.0 version symbols to API (details)
  17. Convert functions that were returning BreakpointOption * to BreakpointOption &. (details)
  18. [SampleFDO] Using common linkage for the discriminator flag variable (details)
  19. [mlir][sparse] allow all-dense annotated "sparse" tensor output (details)
  20. [OpaquePtr] Verify Opaque pointer in function parameter (details)
  21. [mlir][SCF] Remove empty else blocks of `scf.if` operations. (details)
  22. [docs] Exclude FlangOption and re-generate ClangCommandLineReference.rst (details)
  23. Missed a Windows use of ValidForThisThread in the changes for (details)
  24. [mlir][sparse] integration test for all-dense annotated "sparse" output (details)
  25. CMake: allow overriding CMAKE_CXX_VISIBILITY_PRESET (details)
  26. Don't depend on the "run" alias doing shell expanding. (details)
Commit 332da1c283564489c874737d3a9f2b103c15755c by cjdb
[libcxx][iwyu] ensures we IWYU as prep for modules

This has been broken out of D104170 since it should be merged whether or
not we go ahead with the module map changes.

Differential Revision: https://reviews.llvm.org/D104175
The file was modifiedlibcxx/include/__iterator/advance.h
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp
The file was modifiedlibcxx/include/__ranges/size.h
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp
The file was modifiedlibcxx/include/__memory/allocator_traits.h
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp
The file was modifiedlibcxx/include/__memory/auto_ptr.h
The file was modifiedlibcxx/include/__memory/pointer_traits.h
The file was modifiedlibcxx/include/__ranges/empty.h
The file was modifiedlibcxx/include/__ranges/access.h
The file was modifiedlibcxx/include/__iterator/prev.h
The file was modifiedlibcxx/include/__ranges/view_interface.h
The file was modifiedlibcxx/include/__ranges/concepts.h
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp
The file was modifiedlibcxx/include/__memory/allocation_guard.h
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
The file was modifiedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp
The file was modifiedlibcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp
The file was modifiedlibcxx/include/__ranges/data.h
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp
The file was modifiedlibcxx/include/__memory/pointer_safety.h
The file was modifiedlibcxx/include/__iterator/next.h
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
The file was modifiedlibcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp
Commit 9ddb625890518d8ee079da896c9d28f21154a6d1 by Jinsong Ji
[NFC] Update renamed option in comments

c98ebda325c996b3a12f4fded0368734dc0fe28a Rename fp-op fusion option (yet
again) for compatibility with GCC option.

The comment in the header should be updated too to avoid confusion.
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
Commit efebe76e93d50562a0d834e39f096eac24aa3c0c by douglas.yung
Remove redundant test that was causing intermittent build bot failures.

Patch by Fred Grim!

Reviewed By: MyDeveloperDay

Differential Revision: https://reviews.llvm.org/D104295
The file was removedclang/test/Format/struct-array-initializer.cpp
Commit dd1992efd3f1ebbaddc77edafcf17b967cafc1d9 by jpienaar
Support lowering of index-cast on vector types.

The index cast operation accepts vector types. Implement its lowering in this patch.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D104280
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
Commit a99f6d307119e3f6cee7c2f7ad731a95d320063c by Vitaly Buka
[NFC] Fix "unused variable" warning
The file was modifiedllvm/include/llvm/Support/GenericDomTreeConstruction.h
Commit 6478ef61b1a4dd86f520b199e0fd6762e8306353 by Vitaly Buka
[asan] Remove Asan, Ubsan support of RTEMS and Myriad

Differential Revision: https://reviews.llvm.org/D104279
The file was removedcompiler-rt/lib/sanitizer_common/sanitizer_rtems.cpp
The file was modifiedcompiler-rt/lib/asan/asan_poisoning.h
The file was modifiedcompiler-rt/lib/asan/asan_new_delete.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h
The file was modifiedcompiler-rt/lib/ubsan/ubsan_platform.h
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.h
The file was modifiedcompiler-rt/lib/sanitizer_common/CMakeLists.txt
The file was removedllvm/test/Instrumentation/AddressSanitizer/basic-myriad.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was removedcompiler-rt/lib/sanitizer_common/sanitizer_rtems.h
The file was modifiedcompiler-rt/lib/asan/asan_errors.cpp
The file was removedcompiler-rt/lib/asan/asan_rtems.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
The file was modifiedcompiler-rt/lib/asan/asan_flags.inc
The file was modifiedcompiler-rt/lib/asan/asan_poisoning.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
The file was modifiedcompiler-rt/lib/asan/asan_flags.cpp
The file was modifiedcompiler-rt/lib/asan/asan_interceptors_memintrinsics.cpp
The file was removedcompiler-rt/lib/asan/asan_mapping_myriad.h
The file was modifiedcompiler-rt/lib/asan/asan_thread.cpp
The file was modifiedcompiler-rt/lib/asan/asan_rtl.cpp
The file was removedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_rtems.h
The file was modifiedcompiler-rt/lib/asan/asan_internal.h
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/asan/BUILD.gn
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common.cpp
The file was modifiedcompiler-rt/lib/interception/interception.h
The file was modifiedcompiler-rt/lib/asan/asan_shadow_setup.cpp
The file was modifiedcompiler-rt/lib/asan/CMakeLists.txt
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cpp
The file was modifiedcompiler-rt/lib/asan/asan_mapping.h
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.cpp
The file was modifiedcompiler-rt/lib/asan/asan_malloc_linux.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_errno.h
The file was removedcompiler-rt/lib/asan/asan_malloc_local.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Commit 9aa1428174ae5d0515f49d50a483a5517f4df2f4 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.

Relanding with a check for self-referential values.

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D101103
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was addedllvm/test/Transforms/InstSimplify/invalid-load-operand-infinite-loop.ll
The file was modifiedllvm/test/Transforms/InstSimplify/invariant.group-load.ll
Commit e8bfeebeeb23cb32f1a8036e2c95d8d4b1c27c76 by llvmgnsyncbot
[gn build] Port 6478ef61b1a4
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/asan/BUILD.gn
Commit dc3bd11e5b6be7a5430b32dc8155e2435a542918 by aaron
Adding the rest of the C11 papers to the status page.
The file was modifiedclang/www/c_status.html
Commit f7a23ecece524564a0c3e09787142cc6061027bb by andrea.dibiagio
[MCA] Adding the CustomBehaviour class to llvm-mca

Some instructions are not defined well enough within the target’s scheduling
model for llvm-mca to be able to properly simulate its behaviour. The ideal
solution to this situation is to modify the scheduling model, but that’s not
always a viable strategy. Maybe other parts of the backend depend on that
instruction being modelled the way that it is. Or maybe the instruction is quite
complex and it’s difficult to fully capture its behaviour with tablegen. The
CustomBehaviour class (which I will refer to as CB frequently) is designed to
provide intuitive scaffolding for developers to implement the correct modelling
for these instructions.

Implementation details:

llvm-mca does its best to extract relevant register, resource, and memory
information from every MCInst when lowering them to an mca::Instruction. It then
uses this information to detect dependencies and simulate stalls within the
pipeline. For some instructions, the information that gets captured within the
mca::Instruction is not enough for mca to simulate them properly. In these
cases, there are two main possibilities:

1. The instruction has a dependency that isn’t detected by mca.
2. mca is incorrectly enforcing a dependency that shouldn’t exist.

For the rest of this discussion, I will be focusing on (1), but I have put some
thought into (2) and I may revisit it in the future.

So we have an instruction that has dependencies that aren’t picked up by mca.
The basic idea for both pipelines in mca is that when an instruction wants to be
dispatched, we first check for register hazards and then we check for resource
hazards. This is where CB is injected. If no register or resource hazards have
been detected, we make a call to CustomBehaviour::checkCustomHazard() to give
the target specific CB the chance to detect and enforce any custom dependencies.

The return value for checkCustomHazaard() is an unsigned int representing the
(minimum) number of cycles that the instruction needs to stall for. It’s fine to
underestimate this value because when StallCycles gets down to 0, we’ll end up
checking for all the hazards again before the instruction is actually
dispatched. However, it’s important not to overestimate the value and the more
accurate your estimate is, the more efficient mca’s execution can be.

In general, for checkCustomHazard() to be able to detect these custom
dependencies, it needs information about the current instruction and also all of
the instructions that are still executing within the pipeline. The mca pipeline
uses mca::Instruction rather than MCInst and the current information encoded
within each mca::Instruction isn’t sufficient for my use cases. I had to add a
few extra attributes to the mca::Instruction class and have them get set by the
MCInst during instruction building. For example, the current mca::Instruction
doesn’t know its opcode, and it also doesn’t know anything about its immediate
operands (both of which I had to add to the class).

With information about the current instruction, a list of all currently
executing instructions, and some target specific objects (MCSubtargetInfo and
MCInstrInfo which the base CB class has references to), developers should be
able to detect and enforce most custom dependencies within checkCustomHazard. If
you need more information than is present in the mca::Instruction, feel free to
add attributes to that class and have them set during the lowering sequence from
MCInst.

Fortunately, in the in-order pipeline, it’s very convenient for us to pass these
arguments to checkCustomHazard. The hazard checking is taken care of within
InOrderIssueStage::canExecute(). This function takes a const InstRef as a
parameter (representing the instruction that currently wants to be dispatched)
and the InOrderIssueStage class maintains a SmallVector<InstRef, 4> which holds
all of the currently executing instructions. For the out-of-order pipeline, it’s
a bit trickier to get the list of executing instructions and this is why I have
held off on implementing it myself. This is the main topic I will bring up when
I eventually make a post to discuss and ask for feedback.

CB is a base class where targets implement their own derived classes. If a
target specific CB does not exist (or we pass in the -disable-cb flag), the base
class is used. This base class trivially returns 0 from its checkCustomHazard()
implementation (meaning that the current instruction needs to stall for 0 cycles
aka no hazard is detected). For this reason, targets or users who choose not to
use CB shouldn’t see any negative impacts to accuracy or performance (in
comparison to pre-patch llvm-mca).

Differential Revision: https://reviews.llvm.org/D104149
The file was modifiedllvm/lib/MCA/Stages/InOrderIssueStage.cpp
The file was addedllvm/include/llvm/MCA/CustomBehaviour.h
The file was modifiedllvm/tools/llvm-mca/llvm-mca.cpp
The file was addedllvm/lib/MCA/CustomBehaviour.cpp
The file was modifiedllvm/lib/MCA/InstrBuilder.cpp
The file was addedllvm/tools/llvm-mca/lib/CMakeLists.txt
The file was modifiedllvm/lib/MCA/CMakeLists.txt
The file was modifiedllvm/lib/MCA/Context.cpp
The file was modifiedllvm/include/llvm/MCA/HWEventListener.h
The file was modifiedllvm/include/llvm/MCA/Instruction.h
The file was modifiedllvm/include/llvm/MCA/Stages/InOrderIssueStage.h
The file was addedllvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.h
The file was modifiedllvm/tools/llvm-mca/CMakeLists.txt
The file was modifiedllvm/include/llvm/MCA/Context.h
The file was modifiedllvm/tools/llvm-mca/Views/DispatchStatistics.cpp
The file was modifiedllvm/docs/CommandGuide/llvm-mca.rst
The file was addedllvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt
The file was addedllvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.cpp
Commit a04f01bab2da4650cc90a351fd734e626e6797af by andrea.dibiagio
Revert "[MCA] Adding the CustomBehaviour class to llvm-mca"

This reverts commit f7a23ecece524564a0c3e09787142cc6061027bb.

It appears to breaks buildbots that don't build the AMDGPU backend.
The file was modifiedllvm/include/llvm/MCA/Instruction.h
The file was modifiedllvm/lib/MCA/Context.cpp
The file was modifiedllvm/include/llvm/MCA/Stages/InOrderIssueStage.h
The file was removedllvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt
The file was removedllvm/lib/MCA/CustomBehaviour.cpp
The file was removedllvm/tools/llvm-mca/lib/CMakeLists.txt
The file was removedllvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.h
The file was modifiedllvm/lib/MCA/Stages/InOrderIssueStage.cpp
The file was modifiedllvm/include/llvm/MCA/HWEventListener.h
The file was modifiedllvm/lib/MCA/InstrBuilder.cpp
The file was modifiedllvm/docs/CommandGuide/llvm-mca.rst
The file was modifiedllvm/tools/llvm-mca/CMakeLists.txt
The file was removedllvm/include/llvm/MCA/CustomBehaviour.h
The file was removedllvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.cpp
The file was modifiedllvm/tools/llvm-mca/llvm-mca.cpp
The file was modifiedllvm/tools/llvm-mca/Views/DispatchStatistics.cpp
The file was modifiedllvm/include/llvm/MCA/Context.h
The file was modifiedllvm/lib/MCA/CMakeLists.txt
Commit 3af3e7dc576fa9ff972d6366923a52d2769453a0 by sivachandra
[libc][NFC] Disable thrd_test as it is exhibiting flaky behavior on the bots.
The file was modifiedlibc/test/src/threads/CMakeLists.txt
Commit e8f998c0c5edda3d6bad9b70e60975296df3d9fb by omair.javaid
AArch64 Linux and elf-core PAC stack unwinder support

This patch builds on D100521 and other related patches to add support
for unwinding stack on AArch64 systems with pointer authentication
feature enabled.

We override FixCodeAddress and FixDataAddress function in ABISysV_arm64
class. We now try to calculate and set code and data masks after reading
data_mask and code_mask registers exposed by AArch64 targets running Linux.

This patch utilizes core file linux-aarch64-pac.core for testing that
LLDB can successfully unwind stack frames in the presence of signed
return address after masking off ignored bits.

This patch also includes a AArch64 Linux native test case to demonstrate
successful back trace calculation in presence of pointer authentication
feature.

Differential Revision: https://reviews.llvm.org/D99944
The file was addedlldb/test/API/functionalities/unwind/aarch64_unwind_pac/Makefile
The file was addedlldb/test/API/functionalities/unwind/aarch64_unwind_pac/main.c
The file was addedlldb/test/API/functionalities/postmortem/elf-core/linux-aarch64-pac.out
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
The file was modifiedlldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
The file was modifiedlldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
The file was addedlldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
Commit 0ddde4d86518de1154b6e850dc49010c829b717c by jonathan.l.peyton
[OpenMP] Lazily assign root affinity

Lazily set affinity for root threads. Previously, the root thread
executing middle initialization would attempt to assign affinity
to other existing root threads. This was not working properly as the
set_system_affinity() function wasn't setting the affinity for the
target thread. Instead, the middle init thread was resetting the
its own affinity using the target thread's affinity mask.

Differential Revision: https://reviews.llvm.org/D103625
The file was modifiedopenmp/runtime/src/kmp_csupport.cpp
The file was addedopenmp/runtime/test/affinity/root-threads-affinity.c
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_ftn_entry.h
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
Commit 92baf414dbfb31d7d69bea56a0ce982d2b737268 by jonathan.l.peyton
[OpenMP] Fix affinity determine capable algorithm on Linux

Remove strange checks for syscall() arguments where mask is NULL.
Valgrind reports these as error usages for the syscall.
Instead, just check if CACHE_LINE bytes is long enough. If not, then
search for the size. Also, by limiting the first size detection
attempt to CACHE_LINE bytes, instead of 1MB, we don't use more than one
cache line for the mask size. Before this patch, sometimes the returned
mask size was 640 bytes (10 cache lines) because the initial call to
getaffinity() was limited only by the internal kernel mask size
which can be very large.

Differential Revision: https://reviews.llvm.org/D103637
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
Commit 56da28240f3c9d1c0b7152749bfd4777c67828e0 by jonathan.l.peyton
[OpenMP] Add GOMP 5.0 version symbols to API

* Add GOMP versioned pause functions
* Add GOMP versioned affinity format functions

To do the affinity format functions, only attach versioned symbols
to the APPEND Fortran entries (e.g., omp_set_affinity_format_) since
GOMP only exports two symbols (one for Fortran, one for C). Our
affinity format functions have three symbols.
e.g., with omp_set_affinity_format:
1) omp_set_affinity_format (Fortran interface)
2) omp_set_affinity_format_ (Fortran interface)
3) ompc_set_affinity_format (C interface)

Have the GOMP version of the C symbol alias the ompc_* 3) version
instead of the Fortran unappended version 1).

Differential Revision: https://reviews.llvm.org/D103647
The file was modifiedopenmp/runtime/src/kmp_ftn_entry.h
The file was modifiedopenmp/runtime/src/kmp_os.h
The file was modifiedopenmp/runtime/src/exports_so.txt
The file was modifiedopenmp/runtime/src/kmp_csupport.cpp
The file was modifiedopenmp/runtime/src/kmp.h
Commit cfb96d845a684a5c567823dbe2aa4392937ee979 by jingham
Convert functions that were returning BreakpointOption * to BreakpointOption &.

This is an NFC cleanup.

Many of the API's that returned BreakpointOptions always returned valid ones.
Internally the BreakpointLocations usually have null BreakpointOptions, since they
use their owner's options until an option is set specifically on the location.
So the original code used pointers & unique_ptr everywhere for consistency.
But that made the code hard to reason about from the outside.

This patch changes the code so that everywhere an API is guaranteed to
return a non-null BreakpointOption, it returns it as a reference to make
that clear.

It also changes the Breakpoint to hold a BreakpointOption
member where it previously had a UP.  Since we were always filling the UP
in the Breakpoint constructor, having the UP wasn't helping anything.

Differential Revision: https://reviews.llvm.org/D104162
The file was modifiedlldb/source/Interpreter/ScriptInterpreter.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
The file was modifiedlldb/source/Commands/CommandObjectBreakpointCommand.cpp
The file was modifiedlldb/source/API/SBBreakpointName.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
The file was modifiedlldb/source/Breakpoint/BreakpointLocation.cpp
The file was modifiedlldb/include/lldb/Interpreter/ScriptInterpreter.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointLocation.h
The file was modifiedlldb/source/Breakpoint/BreakpointOptions.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointName.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
The file was modifiedlldb/source/Target/StopInfo.cpp
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointLocationCollection.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
The file was modifiedlldb/source/Breakpoint/BreakpointSite.cpp
The file was modifiedlldb/source/API/SBBreakpointLocation.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointLocationCollection.cpp
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointSite.h
The file was modifiedlldb/include/lldb/Breakpoint/Breakpoint.h
The file was modifiedlldb/source/API/SBBreakpoint.cpp
The file was modifiedlldb/source/Breakpoint/Breakpoint.cpp
The file was modifiedlldb/source/Commands/CommandObjectBreakpoint.cpp
Commit 434fed5aff5e62460e2e984c7cc2674c12779b1e by xur
[SampleFDO] Using common linkage for the discriminator flag variable

We create flag variable "__llvm_fs_discriminator__" in the binary
to indicate that FSAFDO hierarchical discriminators are used.

This variable might be GC'ed by the linker since it is not explicitly
reference. I initially added the var to the use list in pass
MIRFSDiscriminator but it did not work. It turned out the used global
list is collected in lowering (before MIR pass) and then emitted in
the end of pass pipeline.

In this patch, we use a "common" linkage for this variable so that
it will be GC'ed by the linker.

Differential Revision: https://reviews.llvm.org/D103988
The file was modifiedllvm/lib/CodeGen/MIRFSDiscriminator.cpp
The file was modifiedllvm/test/CodeGen/X86/fsafdo_test1.ll
The file was modifiedllvm/test/CodeGen/X86/fsafdo_test2.ll
Commit 727a63e0d9a79d8e650674c0aca8fb3629e06b2d by ajcbik
[mlir][sparse] allow all-dense annotated "sparse" tensor output

This is a very careful start with alllowing sparse tensors at the
left-hand-side of tensor index expressions (viz. sparse output).
Note that there is a subtle difference between non-annotated tensors
(dense, remain n-dim, handled by classic bufferization) and all-dense
annotated "sparse" tensors (linearized to 1-dim without overhead
storage, bufferized by sparse compiler, backed by runtime support library).
This revision gently introduces some new IR to facilitate annotated outputs,
to be generalized to truly sparse tensors in the future.

Reviewed By: gussmith23, bixia

Differential Revision: https://reviews.llvm.org/D104074
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/roundtrip.mlir
The file was modifiedmlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
The file was addedmlir/test/Dialect/SparseTensor/dense.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/invalid.mlir
The file was modifiedmlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
The file was modifiedmlir/test/Dialect/SparseTensor/conversion.mlir
Commit fad8d4230ff73432b73f8111f5d640c6bb014daa by zequanwu
[OpaquePtr] Verify Opaque pointer in function parameter

Verifying opaque pointer as function parameter when using with `byval`, `byref`,
`inalloca`, `preallocated`.

Differential Revision: https://reviews.llvm.org/D104309
The file was modifiedllvm/test/Verifier/byref.ll
The file was addedllvm/test/Verifier/opaque-ptr-invalid.ll
The file was modifiedllvm/test/Assembler/invalid-byval-type3.ll
The file was modifiedllvm/test/Verifier/inalloca1.ll
The file was modifiedllvm/lib/IR/Verifier.cpp
Commit 621d93d263f82059c2826fe919a1a138b65627a3 by ravishankarm
[mlir][SCF] Remove empty else blocks of `scf.if` operations.

Differential Revision: https://reviews.llvm.org/D104273
The file was modifiedmlir/test/Dialect/SCF/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/SCF/SCF.cpp
Commit bddef537776e15fa21e2ec11a4b2543d6d91fedc by i
[docs] Exclude FlangOption and re-generate ClangCommandLineReference.rst
The file was modifiedclang/include/clang/Driver/ClangOptionDocs.td
The file was modifiedclang/docs/ClangCommandLineReference.rst
Commit 479c3577fb825c0c7933b49ac0dd944c4aae22bf by jingham
Missed a Windows use of ValidForThisThread in the changes for
cfb96d845a684a5c567823dbe2aa4392937ee979.
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
Commit ec8910c4ad92bce301774dfa99b631bbfaca0e30 by ajcbik
[mlir][sparse] integration test for all-dense annotated "sparse" output

Reviewed By: gussmith23

Differential Revision: https://reviews.llvm.org/D104277
The file was modifiedmlir/test/CMakeLists.txt
The file was addedmlir/test/Integration/data/zero.mtx
The file was addedmlir/test/Integration/Dialect/SparseTensor/CPU/dense_output.mlir
Commit 76de2f4a9c023d06717536ccb089f9959c4ef4bb by aktoon
CMake: allow overriding CMAKE_CXX_VISIBILITY_PRESET

This allows overriding the `CMAKE_CXX_VISIBILITY_PRESET` on the command line. For example, setting the value to `default` lets PIC LLVM static libraries be converted to DSOs, without the need to rebuild LLVM with BUILD_SHARED_LIBS=ON.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D104168
The file was modifiedllvm/lib/Target/CMakeLists.txt
Commit 80b2da42d28466341b9512599aac354c178c39f8 by jingham
Don't depend on the "run" alias doing shell expanding.
Instead dial it up explicitly.

This test started failing recently and I'm not sure why.  It also
doesn't make sense to me the replacing "run" with "process launch -X 1 --"
should make any difference - run is an alias for the latter.  But
it does pass with the change, and unless we are testing for the exact
run alias, it's better to ask for what we want explicitly.
The file was modifiedlldb/test/Shell/Host/TestCustomShell.test