SuccessChanges

Summary

  1. [DAG] foldLogicOfSetCCs - Generalize and/or (setcc X, CMax, ne), (setcc X, CMin, ne/eq) fold. NFCI. (details)
  2. [RISCV] Add support loads, stores, and splats of vXi1 fixed vectors. (details)
  3. [flang] Remove `LINK_WITH_FIR` cmake switch (details)
  4. [LV] Add tests showing suboptimal vectorization for narrow types. (details)
  5. [sanitizer] Fix suffix-log-path_test.c on arm-linux-gnu (details)
  6. Support multi-configuration generators correctly in several config files (details)
  7. [gn build] port ed98676fa483 (details)
  8. [ELF] Resolve defined symbols before undefined symbols (details)
  9. [TargetLowering][RISCV][AArch64][PowerPC] Enable BuildUDIV/BuildSDIV on illegal types before type legalization if we can find a larger legal type that supports MUL. (details)
  10. [AMDGPU] Better selection of base offset when merging DS reads/writes (details)
  11. [ARM] Single source vmovnt tests. NFC (details)
  12. [asan][test] Fix Linux/odr-violation.cpp on gcc (details)
  13. [libc++][format] Improve Add basic_format_parse_context. (details)
  14. [flang] Fix typo in FlangConfig.cmake.in. (details)
  15. [libc++][format] Enable format_error on older compilers. (details)
  16. Revert "[AssumptionCache] Avoid dangling llvm.assume calls in the cache" (details)
  17. BPF: Add LLVMAnalysis in CMakefile LINK_COMPONENTS (details)
  18. [InstCombine] add tests for disguised mul ops; NFC (details)
  19. [tests] Precommit tests for D96440 (details)
  20. [clang][Arm] Fix handling of -Wa,-implicit-it= (details)
  21. [lld][WebAssembly] Delay the merging of data section when dynamic linking (details)
  22. [flang] Improve "Error reading module file" error message (details)
  23. AMDGPU: Restrict soft clause bundling at half of the available regs (details)
  24. [dfsan] Add origin chain utils (details)
  25. [flang][fir] Update the kind mapping class. (details)
  26. [CodeGen] Basic block sections should take precendence over splitting. (details)
  27. llvm-dwarfdump: fix the counting when printing DW_OP_entry_value (details)
  28. [CodeGen] Split out cold exception handling pads. (details)
  29. [flang] Don't perform macro replacement unless *.F, *.F90, &c. (details)
  30. Revert "[lldb/test] Automatically find debug servers to test" (details)
  31. [clangd] Retire the cross-file-rename command-line flag. (details)
Commit 5beebf9c58be2e4e3db1dacec1d76ee909a138b8 by llvm-dev
[DAG] foldLogicOfSetCCs - Generalize and/or (setcc X, CMax, ne), (setcc X, CMin, ne/eq) fold. NFCI.

Prep work to add support for non-uniform vectors - replace APInt values with using the SDValue ops directly.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 033b1bd185d2ecc27bafbff6e6d95ee80f1701ac by craig.topper
[RISCV] Add support loads, stores, and splats of vXi1 fixed vectors.

This refines how we determine which masks types are legal and adds
support for loads, stores, and all ones/zeros splats.

I left a fixme in store handling where I think we need to zero
extra bits if the type isn't a multiple of a byte. If I remember
right from X86 there was some case we could have a store of a
1, 2, or 4 bit mask and have a scalar zextload that then expected the
bits to be 0. Its tricky to zero the bits with RVV. We need to do
something like round VL up, zero a register, lower the VL back down,
then do a tail undisturbed move into the zero register. Another
option might be to generate a mask of 1/2/4 bits set with a VL of 8
and use that to mask off the bits.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D96468
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-load-store.ll
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
The file was modifiedllvm/lib/Target/RISCV/RISCVSubtarget.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 6a7deff58e3f725801f8566ef414af4074bc7a9d by SourabhSingh.Tomar
[flang] Remove `LINK_WITH_FIR` cmake switch

Most components required for this are already there.

Build and Testing clean.
ninja check-flang

Reviewed By: clementval, tskeith

Differential Revision: https://reviews.llvm.org/D96411
The file was modifiedflang/include/flang/CMakeLists.txt
The file was modifiedflang/lib/CMakeLists.txt
The file was modifiedflang/test/CMakeLists.txt
The file was modifiedflang/tools/CMakeLists.txt
The file was modifiedflang/CMakeLists.txt
Commit d5387ec2679b5449b81449c5ab3cb0e2fd754010 by flo
[LV] Add tests showing suboptimal vectorization for narrow types.

This patch adds additional test cases showing missing/sub-optimal
vectorization for loops which contain small and wider memory ops on
AArch64.
The file was addedllvm/test/Transforms/LoopVectorize/AArch64/extend-vectorization-factor-for-unprofitable-memops.ll
Commit 88d1724d9b5615fd2e7acf808aac69eeadf7eae7 by adhemerval.zanella
[sanitizer] Fix suffix-log-path_test.c on arm-linux-gnu

The recent suffix-log-path_test.c checks for a full stacktrace and
since on some arm-linux-gnu configuration the slow unwinder is used
on default (when the compiler emits thumb code as default), it
requires -funwind-tables on tests.

It also seems to fix the issues disable by d025df3c1de.

Reviewed By: ostannard

Differential Revision: https://reviews.llvm.org/D96337
The file was modifiedcompiler-rt/test/lsan/TestCases/do_leak_check_override.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/use_after_return.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/disabler.c
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/cleanup_in_tsd_destructor.c
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/use_tls_pthread_specific_dynamic.cpp
The file was modifiedcompiler-rt/test/lsan/TestCases/ignore_object.c
The file was modifiedcompiler-rt/test/sanitizer_common/CMakeLists.txt
Commit ed98676fa4833bb80632fc7c9db10c3328d78485 by stilis
Support multi-configuration generators correctly in several config files

Multi-configuration generators (such as Visual Studio and Xcode) allow the specification of a build flavor at build time instead of config time, so the lit configuration files need to support that - and they do for the most part. There are several places that had one of two issues (or both!):

1) Paths had %(build_mode)s set up, but then not configured, resulting in values that would not work correctly e.g. D:/llvm-build/%(build_mode)s/bin/dsymutil.exe
2) Paths did not have %(build_mode)s set up, but instead contained $(Configuration) (which is the value for Visual Studio at configuration time, for Xcode they would have had the equivalent) e.g. "D:/llvm-build/$(Configuration)/lib".

This seems to indicate that we still have a lot of fragility in the configurations, but also that a number of these paths are never used (at least on Windows) since the errors appear to have been there a while.

This patch fixes the configurations and it has been tested with Ninja and Visual Studio to generate the correct paths. We should consider removing some of these settings altogether.

Reviewed By: JDevlieghere, mehdi_amini

Differential Revision: https://reviews.llvm.org/D96427
The file was modifiedlld/test/Unit/lit.site.cfg.py.in
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
The file was modifiedmlir/test/Unit/lit.site.cfg.py.in
The file was modifiedllvm/test/Unit/lit.site.cfg.py.in
The file was modifiedllvm/test/lit.site.cfg.py.in
The file was modifiedlld/test/lit.site.cfg.py.in
The file was modifiedmlir/test/lit.site.cfg.py.in
The file was modifiedclang/test/Unit/lit.site.cfg.py.in
The file was modifiedmlir/integration_test/lit.site.cfg.py.in
The file was modifiedlld/test/CMakeLists.txt
The file was modifiedlldb/test/API/lit.site.cfg.py.in
The file was modifiedmlir/examples/standalone/test/lit.site.cfg.py.in
The file was modifiedllvm/test/CMakeLists.txt
Commit 18d38b240392ed2cbb15ba0b1f09f484033b67b7 by thakis
[gn build] port ed98676fa483
The file was modifiedllvm/utils/gn/secondary/lld/test/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/test/BUILD.gn
Commit 0557b1bdec6e5e7228292f390a49829efcacd4da by i
[ELF] Resolve defined symbols before undefined symbols

When parsing an object file, LLD interleaves undefined symbol resolution (which
may recursively fetch other lazy objects) with defined symbol resolution.

This may lead to surprising results, e.g. if an object file defines currently
undefined symbols and references another lazy symbol, we may interleave defined
symbols with the lazy fetch, potentially leading to the defined symbols
resolving to different files.

As an example, if both `a.a(a.o)` and `a.a(b.o)` define `foo` (not in COMDAT
group, or in different COMDAT groups) and `__profd_foo` (in COMDAT group
`__profd_foo`).  LLD may resolve `foo` to `a.a(a.o)` and `__profd_foo` to
`b.a(b.o)`, i.e. different files.

```
parse ArchiveFile a.a
  entry fetches a.a(a.o)
  parse ObjectFile a.o
    define entry
    define foo
    reference b
    b fetches a.a(b.o)
    parse ObjectFile b.o
      define prevailing __profd_foo
    define (ignored) non-prevailing __profd_foo
```

Assuming a set of interconnected symbols are defined all or none in several lazy
objects. Arguably making them resolve to the same file is preferable than making
them resolve to different files (some are lazy objects).

The main argument favoring the new behavior is the stability. The relative order
between a defined symbol and an undefined symbol does not change the symbol
resolution behavior.  Only the relative order between two undefined symbols can
affect fetching behaviors.

---

The real world case is reduced from a Fuchsia PGO usage: `a.a(a.o)` has a
constructor within COMDAT group C5 while `a.a(b.o)` has a constructor within
COMDAT group C2. Because they use different group signatures, they are not
de-duplicated. It is not entirely whether Clang behavior is entirely conforming.

LLD selects the PGO counter section (`__profd_*`) from `a.a(b.o)` and the
constructor section from `a.a(a.o)`. The `__profd_*` is a SHF_LINK_ORDER section
linking to its own non-prevailing constructor section, so LLD errors
`sh_link points to discarded section`. This patch fixes the error.

Differential Revision: https://reviews.llvm.org/D95985
The file was modifiedlld/ELF/InputFiles.cpp
The file was addedlld/test/ELF/interconnected-lazy.s
Commit 5744502a137cbc9f2732e707fde984399b241515 by craig.topper
[TargetLowering][RISCV][AArch64][PowerPC] Enable BuildUDIV/BuildSDIV on illegal types before type legalization if we can find a larger legal type that supports MUL.

If we wait until the type is legalized, we'll lose information
about the orginal type and need to use larger magic constants.
This gets especially bad on RISCV64 where i64 is the only legal
type.

I've limited this to simple scalar types so it only works for
i8/i16/i32 which are most likely to occur. For more odd types
we might want to do a small promotion to a type where MULH is legal
instead.

Unfortunately, this does prevent some urem/srem+seteq matching since
that still require legal types.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D96210
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/BPF/BPFISelLowering.h
The file was modifiedllvm/test/CodeGen/PowerPC/loop-instr-form-prepare.ll
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq-nonzero.ll
The file was modifiedllvm/test/CodeGen/RISCV/srem-lkk.ll
The file was modifiedllvm/test/CodeGen/AArch64/srem-seteq.ll
The file was modifiedllvm/test/CodeGen/RISCV/urem-lkk.ll
The file was modifiedllvm/test/CodeGen/AArch64/urem-seteq.ll
The file was modifiedllvm/test/CodeGen/RISCV/div.ll
Commit 23db2d363fd3fe851197fc314f0150976e31be5e by jay.foad
[AMDGPU] Better selection of base offset when merging DS reads/writes

When merging a pair of DS reads or writes needs to materialize the base
offset in a vgpr, choose a value that is aligned to as high a power of
two as possible. This maximises the chance that different pairs can use
the same base offset, in which case the base offset registers can be
commoned up by MachineCSE.

Differential Revision: https://reviews.llvm.org/D96421
The file was modifiedllvm/test/CodeGen/AMDGPU/merge-load-store-vreg.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/fence-lds-read2-write2.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ds-combine-large-stride.ll
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Commit 0f60ed1205351eaedda773c2671ae7d32b9c74ce by david.green
[ARM] Single source vmovnt tests. NFC
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmovn.ll
Commit 0dc6122dd31c742894bd16871b227ec9b1f9bf36 by i
[asan][test] Fix Linux/odr-violation.cpp on gcc
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/odr-violation.cpp
Commit af83e89ae303a2bc54d94164b5ea05fa47a8f9e1 by koraq
[libc++][format] Improve Add basic_format_parse_context.

Add an additional guard to prevent building on older clang versions.

This should fix the build of https://buildkite.com/mlir/mlir-core
The file was modifiedlibcxx/include/format
Commit 204360fd71d605d04cbe6e6efa3c2a898912c326 by thomasp
[flang] Fix typo in FlangConfig.cmake.in.

`find_package(Flang)` does not work as there is a missing `@` in the
FlangConfig.cmake.in file. This patch fixes the issue.

Reviewed By: thopre

Differential Revision: https://reviews.llvm.org/D96484
The file was modifiedflang/cmake/modules/FlangConfig.cmake.in
Commit f8772da8cc9a0be65c9ba028c2b5a895c1ed4f91 by koraq
[libc++][format] Enable format_error on older compilers.

It seems like modifying the header doesn't cause libc++ to be rebuild.
So the breakage of the previous commit didn't happen on my system.

This should fix the build of https://buildkite.com/mlir/mlir-core
The file was modifiedlibcxx/include/format
Commit 606aa622b23855784c5db5b48b1c4800467fd851 by llvm-project
Revert "[AssumptionCache] Avoid dangling llvm.assume calls in the cache"

This reverts commit b7d870eae7fdadcf10d0f177faa7409c2e37d776 and the
subsequent fix "[Polly] Fix build after AssumptionCache change (D96168)"
(commit e6810cab09fcbc87b6e5e4d226de0810e2f2ea38).

It caused indeterminism in the output, such that e.g. the
polly-x86_64-linux buildbot failed accasionally.
The file was modifiedpolly/lib/Analysis/ScopBuilder.cpp
The file was modifiedllvm/lib/Analysis/CodeMetrics.cpp
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp
The file was modifiedllvm/lib/Transforms/Utils/PredicateInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/AssumptionCache.h
The file was modifiedllvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
The file was modifiedllvm/lib/Analysis/AssumptionCache.cpp
The file was modifiedllvm/test/Analysis/AssumptionCache/basic.ll
Commit 74975d35b47631da0c7911561f16d3ffd1af142a by yhs
BPF: Add LLVMAnalysis in CMakefile LINK_COMPONENTS

buildbot reported a build error like below:
  BPFTargetMachine.cpp:(.text._ZN4llvm19TargetTransformInfo5ModelINS_10BPFTTIImplEED2Ev
    [_ZN4llvm19TargetTransformInfo5ModelINS_10BPFTTIImplEED2Ev]+0x14):
    undefined reference to `llvm::TargetTransformInfo::Concept::~Concept()'
  lib/Target/BPF/CMakeFiles/LLVMBPFCodeGen.dir/BPFTargetMachine.cpp.o:
    In function `llvm::TargetTransformInfo::Model<llvm::BPFTTIImpl>::~Model()':

Commit a260ae716030 ("BPF: Implement TTI.IntImmCost() properly")
added TargetTransformInfo to BPF, which requires LLVMAnalysis
dependence. In certain cmake configurations, lacking explicit
LLVMAnalysis dependency may cause compilation error.
Similar to other targets, this patch added LLVMAnalysis
in CMakefile LINK_COMPONENTS explicitly.
The file was modifiedllvm/lib/Target/BPF/CMakeLists.txt
Commit 6ef84730157e6beb56c5fbd4b7541dd2f2be72f9 by spatel
[InstCombine] add tests for disguised mul ops; NFC
The file was modifiedllvm/test/Transforms/InstCombine/or-shifted-masks.ll
Commit 81c51891ade1bf12c2e3fea054c9016a61f81012 by listmail
[tests] Precommit tests for D96440
The file was addedllvm/test/Analysis/ValueTracking/shift-recurrence-knownbits.ll
Commit a680bc3a31d36d321ccf3801bdcff74d58842bfa by ndesaulniers
[clang][Arm] Fix handling of -Wa,-implicit-it=

Similiar to D95872, this flag can be set for the assembler directly.
Move validation code into a reusable helper function.

Link: https://bugs.llvm.org/show_bug.cgi?id=49023
Link: https://github.com/ClangBuiltLinux/linux/issues/1270
Reported-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D96285
The file was addedclang/test/Driver/arm-target-as-mimplicit-it.s
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 70f3c6e9e6b8a0e5efc7cbf8997df32156ea9536 by sbc
[lld][WebAssembly] Delay the merging of data section when dynamic linking

With dynamic linking we have the current limitation that there can be
only a single active data segment (since we use __memory_base as the
load address and we can't do arithmetic in constant expresions).

This change delays the merging of active segments until a little later
in the linking process which means that the grouping of data by section,
and the magic __start/__end symbols work as expected under dynamic
linking.

Differential Revision: https://reviews.llvm.org/D96453
The file was modifiedlld/wasm/InputChunks.cpp
The file was modifiedlld/wasm/MapFile.cpp
The file was modifiedlld/test/wasm/data-segments.ll
The file was modifiedlld/test/wasm/tls-no-shared.s
The file was modifiedlld/wasm/InputChunks.h
The file was modifiedlld/wasm/Writer.cpp
The file was modifiedlld/wasm/OutputSegment.h
The file was modifiedlld/wasm/Symbols.cpp
Commit 0bfa4ac6c6fceffcffb3ae44027859cf6f5e06c0 by pklausler
[flang] Improve "Error reading module file" error message

Instead of using a message attachment with further details,
emit the details as part of a single message.

Differential Revision: https://reviews.llvm.org/D96465
The file was modifiedflang/lib/Semantics/mod-file.cpp
The file was modifiedflang/test/Flang-Driver/include-module.f90
The file was modifiedflang/test/Semantics/resolve12.f90
The file was modifiedflang/test/Semantics/resolve26.f90
Commit e3c6fa36119ea428b17cef468e4aceee786433bf by Matthew.Arsenault
AMDGPU: Restrict soft clause bundling at half of the available regs

Fixes a testcase that was overcommitting large register tuples to a
bundle, which the register allocator could not possibly satisfy.  This
was producing a bundle which used nearly all of the available SGPRs
with a series of 16-dword loads (not all of which are freely available
to use).

This is a quick hack for some deeper issues with how the clause
bundler tracks register pressure.

Overall the pressure tracking used here doesn't make sense and is too
imprecise for what it needs to avoid the allocator failing. The
pressure estimate does not account for the alignment requirements of
large SGPR tuples, so this was really underestimating the pressure
impact. This also ignores the impact of the extended live range of the
use registers after the bundle is introduced. Additionally, it didn't
account for some wide tuples not being available due to reserved
registers.

This regresses a few cases. These end up introducing more
spilling. This is also a function of the global pressure being used in
the decision to bundle, not the local pressure impact of the bundle
itself.
The file was modifiedllvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
The file was addedllvm/test/CodeGen/AMDGPU/limit-soft-clause-reg-pressure.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-vgpr-to-agpr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
The file was addedllvm/test/CodeGen/AMDGPU/soft-clause-exceeds-register-budget.ll
Commit 2d9c6e10e92e983fb3ad497f29bea697a94c935a by jianzhouzh
[dfsan] Add origin chain utils

This is a part of https://reviews.llvm.org/D95835.

The design is based on MSan origin chains.

An 4-byte origin is a hash of an origin chain. An origin chain is a
pair of a stack hash id and a hash to its previous origin chain. 0 means
no previous origin chains exist. We limit the length of a chain to be
16. With origin_history_size = 0, the limit is removed.

The change does not have any test cases yet. The following change
will be adding test cases when the APIs are used.

Reviewed-by: morehouse

Differential Revision: https://reviews.llvm.org/D96160
The file was modifiedcompiler-rt/lib/dfsan/dfsan_flags.inc
The file was addedcompiler-rt/lib/dfsan/dfsan_chained_origin_depot.cpp
The file was modifiedcompiler-rt/lib/dfsan/CMakeLists.txt
The file was addedcompiler-rt/lib/dfsan/dfsan_flags.h
The file was modifiedcompiler-rt/lib/dfsan/dfsan.cpp
The file was addedcompiler-rt/lib/dfsan/dfsan_chained_origin_depot.h
The file was modifiedcompiler-rt/lib/dfsan/dfsan.h
The file was addedcompiler-rt/lib/dfsan/dfsan_origin.h
Commit 4dc87d1010351170d73ebd23869751fe1bd6ac26 by eschweitz
[flang][fir] Update the kind mapping class.

The kind mapper provides a portable mechanism to map Fortran type KIND values
independent of the front-end to their corresponding MLIR and LLVM types.

Differential Revision: https://reviews.llvm.org/D96362
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was addedflang/unittests/Optimizer/KindMappingTest.cpp
The file was modifiedflang/lib/Optimizer/Support/KindMapping.cpp
The file was modifiedflang/include/flang/Optimizer/Support/KindMapping.h
Commit d079dbc591899159925a1fe10b081fa0f6bb61bd by snehasishk
[CodeGen] Basic block sections should take precendence over splitting.

The use of basic block sections should take precedence over the machine
function splitting pass. Since they use the same underlying mechanism
they are kept exclusive. Updated the tests to check that split machine
functions is overridden by all flavours of basic block sections.

Differential Revision: https://reviews.llvm.org/D96392
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
The file was modifiedllvm/test/CodeGen/X86/basic-block-sections-labels.ll
The file was modifiedllvm/test/CodeGen/X86/basic-block-sections.ll
The file was modifiedllvm/test/CodeGen/X86/basic-block-sections-list.ll
Commit 97dbab879700fa51abe5f090ea31bfbed3483701 by Adrian Prantl
llvm-dwarfdump: fix the counting when printing DW_OP_entry_value

The block size is in bytes, and not number of operands.

Differential Revision: https://reviews.llvm.org/D96472
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_loc_OP_entry_value.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
Commit 2c7077e67dc77834607c877ad6e8caa6e33ae238 by snehasishk
[CodeGen] Split out cold exception handling pads.

Support for splitting exception handling pads was added in D73739. This
change updates the code to split out exception handling pads if profile
information indicates that they are cold. For a given function with
multiple landind pads, if one of them is hot they are all retained as
part of the hot code section.

Differential Revision: https://reviews.llvm.org/D96372
The file was modifiedllvm/lib/CodeGen/MachineFunctionSplitter.cpp
The file was modifiedllvm/test/CodeGen/X86/machine-function-splitter.ll
Commit 8880a63a15a011b3265a184c398f2ff81570cdb6 by pklausler
[flang] Don't perform macro replacement unless *.F, *.F90, &c.

Avoid spurious and confusing macro replacements from things like
-DPIC on Fortran source files whose suffixes indicate that preprocessing
is not expected.

Add gfortran-like "-cpp" and "-nocpp" flags to f18 to force predefinition
of macros independent of the source file suffix.

Differential Revision: https://reviews.llvm.org/D96464
The file was modifiedflang/lib/Parser/preprocessor.cpp
The file was modifiedflang/lib/Parser/preprocessor.h
The file was modifiedflang/tools/f18/f18.cpp
The file was modifiedflang/lib/Parser/parsing.cpp
Commit 3cad308ce5d9eb2cc52f43ccef68f3d2b12f2a32 by pavel
Revert "[lldb/test] Automatically find debug servers to test"

The commit 7df4eaaa937332c0617aa665080533966e2c98a0 appears to
break the windows bot. Revert while I investigate.
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest_args.py
The file was modifiedlldb/utils/lldb-dotest/lldb-dotest.in
The file was modifiedlldb/utils/lldb-dotest/CMakeLists.txt
The file was modifiedlldb/test/API/lit.site.cfg.py.in
The file was modifiedlldb/test/API/CMakeLists.txt
The file was modifiedlldb/test/API/commands/platform/sdk/TestPlatformSDK.py
Commit 573348ab9b281221e0e78376c233d1898ed0bf68 by hokein.wu
[clangd] Retire the cross-file-rename command-line flag.

This patch only focuses on the flag. Removing actual single-file mode
(and the flag in RenameOption) will come in a follow-up.

Differential Revision: https://reviews.llvm.org/D96495
The file was modifiedclang-tools-extra/clangd/refactor/Rename.h
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp