LLVM/project ccc3e81clang/test/Format clang-format-ignore.cpp, clang/tools/clang-format ClangFormat.cpp

[clang-format] Make ignored files unformatted instead of empty. (#170416)

Tools rely on the expectation that clang-format will output a formatted
file. In the case of ignored files, the formatted file should just be
the input file, untouched.

Fixes #170407
DeltaFile
+18-20clang/test/Format/clang-format-ignore.cpp
+8-1clang/tools/clang-format/ClangFormat.cpp
+26-212 files

LLVM/project 4cc98cclibc/src/__support/FPUtil BasicOperations.h, libc/src/__support/math getpayloadf.h getpayloadl.h

[libc][math] Qualify getpayload functions to constexpr (#195532)

Signed-off-by: udaykiriti <udaykiriti624 at gmail.com>
DeltaFile
+26-0libc/test/shared/shared_math_constexpr_test.cpp
+6-0libc/test/shared/CMakeLists.txt
+3-1libc/src/__support/math/getpayloadf.h
+2-1libc/src/__support/FPUtil/BasicOperations.h
+1-1libc/src/__support/math/getpayloadl.h
+1-1libc/src/__support/math/getpayloadf16.h
+39-43 files not shown
+42-79 files

LLVM/project af37d9flibcxx/include algorithm, libcxx/include/__algorithm ranges_fold.h

Implement fold_right_last
DeltaFile
+204-0libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/ranges.fold_right_last.pass.cpp
+30-0libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
+30-0libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+25-0libcxx/include/__algorithm/ranges_fold.h
+13-3libcxx/test/benchmarks/algorithms/nonmodifying/fold.bench.cpp
+10-0libcxx/include/algorithm
+312-38 files not shown
+328-814 files

LLVM/project d50631fllvm/lib/CodeGen CodeGenTargetMachineImpl.cpp, llvm/lib/CodeGen/AsmPrinter AsmPrinter.cpp

MCContext/TargetMachine: Take MCRegisterInfo and MCSubtargetInfo by reference. NFC (#195032)

Both MCRegisterInfo and MCSubtargetInfo are non-null at every callsite
that matters (only nullable in unit tests like
`llvm/unittests/CodeGen/MFCommon.inc`), mirroring the recent `const
MCAsmInfo &` cleanup.

* TargetMachine::getMCRegisterInfo and getMCSubtargetInfo return
  references.
* MCContext's constructor takes const MCRegisterInfo & and
  const MCSubtargetInfo &.
DeltaFile
+10-10llvm/unittests/MC/AMDGPU/DwarfRegMappings.cpp
+6-6llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+5-5llvm/unittests/Target/AArch64/AArch64SVESchedPseudoTest.cpp
+8-2llvm/unittests/CodeGen/MFCommon.inc
+4-4llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
+4-4llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+37-3166 files not shown
+140-13472 files

LLVM/project 5f9b0adlibc/src/__support/math CMakeLists.txt rintf16.h, libc/src/math/generic CMakeLists.txt

[libc][math] Refactor rint-nearbyint family to header-only (#195577)

Refactors the rint-nearbyint math family to be header-only.

part of: #147386

Target Functions:
  - nearbyint
  - nearbyintbf16
  - nearbyintf
  - nearbyintf128
  - nearbyintf16
  - nearbyintl
  - rint
  - rintbf16
  - rintf
  - rintf128
  - rintf16
  - rintl

    [4 lines not shown]
DeltaFile
+176-8utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+123-0libc/src/__support/math/CMakeLists.txt
+12-32libc/src/math/generic/CMakeLists.txt
+40-0libc/src/__support/math/rintf16.h
+31-0libc/src/__support/math/rintf128.h
+31-0libc/src/__support/math/nearbyintf16.h
+413-4037 files not shown
+1,044-11543 files

LLVM/project cd6119cflang/test/Lower structure-constructors.f90 transformational-intrinsics.f90, flang/test/Lower/Intrinsics ieee_unordered.f90 rrspacing.f90

[flang][NFC] Converted more tests from old lowering to new lowering (part 55) (#195291)

Converted tests:
- Lower/Intrinsics/ieee_unordered.f90
- Lower/Intrinsics/rrspacing.f90
- Lower/structure-constructors.f90
- Lower/transformational-intrinsics.f90

Removed test:
- Transforms/stack-arrays.f90: tested the stack-arrays pass on the
legacy --array-value-copy output of legacy lowering. The HLFIR pipeline
produces fundamentally different code for array slice copies
(_FortranAAssign with fir.embox of sub-slices instead of allocating a
temp via array-value-copy), so the test's premises no longer apply. The
HLFIR equivalent test already exists at
Transforms/stack-arrays-hlfir.f90.
DeltaFile
+110-179flang/test/Lower/structure-constructors.f90
+92-193flang/test/Lower/transformational-intrinsics.f90
+0-154flang/test/Transforms/stack-arrays.f90
+33-35flang/test/Lower/Intrinsics/ieee_unordered.f90
+4-4flang/test/Lower/Intrinsics/rrspacing.f90
+239-5655 files

LLVM/project eed3366llvm/test/tools/llubi attributes.ll metadata.ll, llvm/tools/llubi/lib Interpreter.cpp

[llubi] Add support for poison-generating/UB-implying annotations (#195339)

This patch adds support for poison-generating/UB-implying annotations,
including:
1. Parameter/retval attributes on function declarations and call sites
(range/nofpclass/align/nonnull/noundef/dereferenceable[_or_null]).
2. Metadata
(!range/!nofpclass/!align/!nonnull/!noundef/!dereferenceable[_or_null])
3. Assume operand bundles (nonnull/align/dereferenceable[_or_null])

I put all of them into a single patch as they share most of the common
logic.
Note that there are two todos to reach the full support:
1. Load with `!noundef` metadata doesn't check undef bits for now.
2. !dereferenceable[_or_null] on load (and inttoptr) are not tested by
this patch, as it needs the provenance support
(https://github.com/llvm/llvm-project/pull/185977). But it should be
fine as they are tested by metadata on call sites.
DeltaFile
+328-0llvm/test/tools/llubi/attributes.ll
+307-7llvm/tools/llubi/lib/Interpreter.cpp
+114-0llvm/test/tools/llubi/metadata.ll
+46-0llvm/test/tools/llubi/assume_operand_bundles.ll
+20-0llvm/test/tools/llubi/assume_null_all_ones.ll
+20-0llvm/test/tools/llubi/attribute_dereferenceable_ub_nullary_provenance.ll
+835-718 files not shown
+1,052-1624 files

LLVM/project 5c0e063.github/workflows release-tasks.yml

workflows/release-tasks: remove duplicate environment specification
DeltaFile
+0-1.github/workflows/release-tasks.yml
+0-11 files

LLVM/project 2a338aellvm/utils/FileCheck FileCheck.cpp

Apply clang-format
DeltaFile
+2-2llvm/utils/FileCheck/FileCheck.cpp
+2-21 files

LLVM/project 0b65233libcxx/docs/ReleaseNotes 23.rst, libcxx/include algorithm

[libc++] Implement `ranges::fold_right` (#193997)

- Part of https://github.com/llvm/llvm-project/issues/105208.
- Closes https://github.com/llvm/llvm-project/issues/174060.
DeltaFile
+196-0libcxx/test/std/algorithms/alg.nonmodifying/alg.fold/ranges.fold_right.pass.cpp
+47-0libcxx/include/__algorithm/ranges_fold.h
+8-0libcxx/include/algorithm
+3-4libcxx/test/benchmarks/algorithms/nonmodifying/fold.bench.cpp
+4-0libcxx/test/libcxx/algorithms/nodiscard.verify.cpp
+2-2libcxx/docs/ReleaseNotes/23.rst
+260-63 files not shown
+263-89 files

LLVM/project 94e005dllvm/test/CodeGen/DirectX discard_error.ll firstbitlow_error.ll

[DirectX] Update error messages after #194061 (#195553)

Since DirectX is an experimental target these tests aren't failing on
public bots, but they obviously do when building DirectX.
DeltaFile
+1-1llvm/test/CodeGen/DirectX/discard_error.ll
+1-1llvm/test/CodeGen/DirectX/firstbitlow_error.ll
+1-1llvm/test/CodeGen/DirectX/firstbitshigh_error.ll
+1-1llvm/test/CodeGen/DirectX/firstbituhigh_error.ll
+1-1llvm/test/CodeGen/DirectX/saturate_errors.ll
+5-55 files

LLVM/project b4e81b9llvm/test/CodeGen/DirectX/ContainerData RuntimeInfoCS.ll

[DirectX] Add missing test update for #191528 (#195552)

In #191528 we added the string table to the YAML and updated many tests
that were affected, but it looks like this one was missed.
DeltaFile
+4-0llvm/test/CodeGen/DirectX/ContainerData/RuntimeInfoCS.ll
+4-01 files

LLVM/project 6e72c62lld/ELF OutputSections.cpp, lld/test/ELF relocatable-crel.s

[ELF] Remove duplicate SHT_CREL writeTo branch and cover discarded section symbol path. NFC (#195558)

OutputSection::writeTo had two identical
`if (type == SHT_CREL && !(flags & SHF_ALLOC))` blocks added together in
0af07c078798 (#98115). Drop a dead copy.

A section relocation against a /DISCARD/'d section sees the section
symbol demoted to Undefined. Add a -r --crel case to relocatable-crel.s
that exercises that path.
DeltaFile
+22-0lld/test/ELF/relocatable-crel.s
+0-6lld/ELF/OutputSections.cpp
+22-62 files

LLVM/project 8a4f8baclang/lib/CIR/CodeGen CIRGenBuiltinNVPTX.cpp CIRGenFunction.h

[CIR][NVPTX][NFC] Add initial NVPTX builtin infrastructure (#195214)
DeltaFile
+1,016-0clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
+4-0clang/lib/CIR/CodeGen/CIRGenFunction.h
+2-0clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+1-0clang/lib/CIR/CodeGen/CMakeLists.txt
+1,023-04 files

LLVM/project 9da250cflang/lib/Semantics resolve-names.cpp, flang/test/Lower/OpenACC acc-host-data-cuda-host-assoc.f90

[flang][cuda][openacc] Fix OpenACC use_device host association symbol copies (#194705)

When a use_device object comes from host association, the OpenACC
construct scope may already contain a HostAssocDetails symbol. Reusing
that symbol prevents semantics from applying the CUDA DEVICE attribute,
because the copied symbol is not an object entity. The fix materializes
the expected host-associated symbol in the containing scope, then
replaces the OpenACC-scope symbol with an ObjectEntityDetails copy that
can carry the device attribute.

This allows generic resolution and lowering to see the device version
inside the host_data construct while preserving the host-associated
binding needed by lowering.
DeltaFile
+29-11flang/lib/Semantics/resolve-names.cpp
+24-0flang/test/Lower/OpenACC/acc-host-data-cuda-host-assoc.f90
+53-112 files

LLVM/project 25f8dbdllvm/include/llvm/FileCheck FileCheck.h, llvm/lib/FileCheck FileCheck.cpp FileCheckImpl.h

[FileCheck][NFC] Complete FileCheckDiag class hierarchy

This patch depends on PR #???? and finishes its effort to decouple the
`-dump-input` presentation layer (in
`llvm/utils/FileCheck/FileCheck.cpp`) and the FileCheck library's
diagnostic emission (in `llvm/lib/FileCheck/FileCheck.cpp`).

The focus of this patch is finally eliminating `enum MatchType` and
completing the `FileCheckDiag` class hierarchy.  That enables the
following improvements.

Replace MatchTy and InputRange
==============================

`-dump-input` needs some means to determine (1) whether some notes
should be filtered in by `-dump-input-filter=error`, and (2) where to
place some notes in the input dump.  Without this patch series, the
FileCheck library provides that information by copying the following
from a match result to any note that does not have its own versions:

    [47 lines not shown]
DeltaFile
+229-75llvm/include/llvm/FileCheck/FileCheck.h
+93-69llvm/utils/FileCheck/FileCheck.cpp
+41-41llvm/lib/FileCheck/FileCheck.cpp
+14-13llvm/unittests/FileCheck/FileCheckTest.cpp
+1-3llvm/lib/FileCheck/FileCheckImpl.h
+378-2015 files

LLVM/project 1f468c7llvm/include/llvm/FileCheck FileCheck.h, llvm/lib/FileCheck FileCheck.cpp

[FileCheck][NFC] Introduce MatchResultDiag and MatchNoteDiag

This patch depends on PR #???? and continues its effort to decouple
the `-dump-input` presentation layer (in
`llvm/utils/FileCheck/FileCheck.cpp`) and the FileCheck library's
diagnostic emission (in `llvm/lib/FileCheck/FileCheck.cpp`).

Similar to compiler errors/warnings/remarks vs. notes, the
`FileCheckDiag` series emitted by the FileCheck library contains match
results, each of which might be followed by a series of associated
notes before the next match result.  Without this patch series, that
association is not formally modeled by `FileCheckDiag` or clearly
documented, and `-dump-input` is not able to easily reason about it.

This patch improves the situation by introducing two `FileCheckDiag`
derived classes: `MatchResultDiag` and `MatchNoteDiag`.  It extends
`FileCheckDiagList` to directly associate each `MatchNoteDiag` with
its `MatchResultDiag`.  Thus:
- `FileCheckDiagList::adjustPrevDiags` no longer has to determine that

    [9 lines not shown]
DeltaFile
+121-32llvm/include/llvm/FileCheck/FileCheck.h
+60-41llvm/utils/FileCheck/FileCheck.cpp
+18-30llvm/lib/FileCheck/FileCheck.cpp
+22-10llvm/unittests/FileCheck/FileCheckTest.cpp
+221-1134 files

LLVM/project 0730d35llvm/include/llvm/FileCheck FileCheck.h, llvm/lib/FileCheck FileCheck.cpp FileCheckImpl.h

[FileCheck][NFC] Introduce FileCheckDiagList for -dump-input

Problem
=======

`FileCheckDiag` and its `enum MatchType` have outgrown their original
purpose.  The `-dump-input` presentation layer (in
`llvm/utils/FileCheck/FileCheck.cpp`) and the FileCheck library's
diagnostic emission (in `llvm/lib/FileCheck/FileCheck.cpp`) are too
tightly coupled.  The interactions are subtle to understand and
maintain.  It is difficult for the former to reason about the latter's
emitted diagnostics in order to present them in the most readable
manner.

Solution
========

This patch is the first in an NFC series that removes `MatchType` from
`FileCheckDiag` and refactors `FileCheckDiag` as the base class of a

    [33 lines not shown]
DeltaFile
+48-51llvm/lib/FileCheck/FileCheck.cpp
+29-32llvm/utils/FileCheck/FileCheck.cpp
+14-14llvm/unittests/FileCheck/FileCheckTest.cpp
+25-1llvm/include/llvm/FileCheck/FileCheck.h
+8-10llvm/lib/FileCheck/FileCheckImpl.h
+124-1085 files

LLVM/project 353935bclang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp

Simplify `RegisterFunction` call on target divergance
DeltaFile
+8-12clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+8-121 files

LLVM/project 6283decllvm/lib/DWARFLinker/Parallel DWARFLinkerCompileUnit.cpp DIEAttributeCloner.cpp, llvm/test/tools/dsymutil null-die.test

[DWARFLinker] Treat NULL DIE references as resolution failures in parallel (#195363)

CompileUnit::resolveDIEReference returned whatever getDIEIndexForOffset
pointed at, even when the entry was a NULL tombstone. The classic linker
checks DWARFDie::isNULL(). Mirror that here so callers get std::nullopt
and warn.

Also fix the "cann't" typo at the two warning sites to match classic,
and enable `--linker parallel` in null-die.test.
DeltaFile
+14-4llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
+2-1llvm/test/tools/dsymutil/null-die.test
+1-1llvm/lib/DWARFLinker/Parallel/DIEAttributeCloner.cpp
+1-1llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
+18-74 files

LLVM/project 1f83fdbllvm/test/tools/llvm-profgen filter-build-id.test, llvm/test/tools/llvm-profgen/Inputs buildid-cs-noprobe.aggperfscript buildid-cs-noprobe.perfscript

Revert "[llvm-profgen] Support [buildid:]0xaddr format in perfscript input" (#195551)

Reverts llvm/llvm-project#190863 due to buildbot breakage e.g.,
https://lab.llvm.org/buildbot/#/builders/52/builds/16951

```
Failed Tests (1):
  LLVM :: tools/llvm-profgen/filter-build-id.test
```
```
==llvm-profgen==3809550==ERROR: AddressSanitizer: container-overflow on address 0x6e80441e1762 at pc 0x6216c3f2cdce bp 0x7fff3c3ddf60 sp 0x7fff3c3dd710
READ of size 8 at 0x6e80441e1762 thread T0
    #0 0x6216c3f2cdcd in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:848:7
    #1 0x6216c3f2d25c in bcmp /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_common_interceptors.inc:894:10
    #2 0x6216c400b836 in operator== /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/StringRef.h:914:10
    #3 0x6216c400b836 in operator!= /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/llvm/include/llvm/ADT/StringRef.h:917:69
    #4 0x6216c400b836 in llvm::sampleprof::PerfScriptReader::extractCallstack(llvm::sampleprof::TraceStream&, llvm::SmallVectorImpl<unsigned long>&) /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/llvm/tools/llvm-profgen/PerfReader.cpp:801:36
    #5 0x6216c400d37a in llvm::sampleprof::HybridPerfReader::parseSample(llvm::sampleprof::TraceStream&, unsigned long) /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/llvm/tools/llvm-profgen/PerfReader.cpp:881:8
    #6 0x6216c40150d8 in parseSample /home/b/sanitizer-x86_64-linux-bootstrap-asan/build/llvm-project/llvm/tools/llvm-profgen/PerfReader.cpp:1118:3

    [31 lines not shown]
DeltaFile
+13-58llvm/tools/llvm-profgen/PerfReader.cpp
+0-57llvm/test/tools/llvm-profgen/filter-build-id.test
+0-11llvm/test/tools/llvm-profgen/Inputs/buildid-cs-noprobe.aggperfscript
+0-9llvm/test/tools/llvm-profgen/Inputs/buildid-cs-noprobe.perfscript
+13-1354 files

LLVM/project 2dccc37lld/test/ELF riscv-reloc-rvc.s riscv-reloc-add.s

[test] Cover R_RISCV_ADD/SUB and R_RISCV_RVC_{BRANCH,JUMP} (#195555)

These were uncovered according to an LLVM_BUILD_INSTRUMENTED_COVERAGE
build.

llvm-mc resolves `.L1 - .L0` differences at assembly time, so
riscv-reloc-add.s doesn't emit the R_RISCV_ADD*/R_RISCV_SUB* pairs it
was meant to test.

Add riscv-reloc-rvc.s, modeled on riscv-branch.s/riscv-jal.s, to
exercise R_RISCV_RVC_BRANCH and R_RISCV_RVC_JUMP. Drive offsets via
-Ttext + --defsym to land precise values that isolate complementary
extractBits groups.
DeltaFile
+48-0lld/test/ELF/riscv-reloc-rvc.s
+11-4lld/test/ELF/riscv-reloc-add.s
+59-42 files

LLVM/project 92e2dfbclang/lib/CIR/CodeGen CIRGenBuiltinNVPTX.cpp, clang/test/CIR/CodeGenBuiltins/NVPTX builtins-nvptx-sync.cu builtins-sm90.cu

[CIR][NVPTX] Implement sync and cluster barrier builtins
DeltaFile
+30-33clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
+45-0clang/test/CIR/CodeGenBuiltins/NVPTX/builtins-nvptx-sync.cu
+44-0clang/test/CIR/CodeGenBuiltins/NVPTX/builtins-sm90.cu
+119-333 files

LLVM/project 4adca7eclang/lib/CIR/CodeGen CIRGenBuiltinNVPTX.cpp

fix fmt
DeltaFile
+4-6clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
+4-61 files

LLVM/project 7287ab0clang/lib/CIR/CodeGen CIRGenBuiltinNVPTX.cpp CIRGenBuiltin.cpp

Address comments and add missing OG builtins.
DeltaFile
+68-0clang/lib/CIR/CodeGen/CIRGenBuiltinNVPTX.cpp
+2-1clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
+70-12 files

LLVM/project 1b1af5allvm/test/tools/llvm-profgen filter-build-id.test, llvm/test/tools/llvm-profgen/Inputs buildid-cs-noprobe.aggperfscript buildid-cs-noprobe.perfscript

Revert "[llvm-profgen] Support [buildid:]0xaddr format in perfscript input (#…"

This reverts commit 8f46a9db2fd043c790a2eb579196c71778884053.
DeltaFile
+13-58llvm/tools/llvm-profgen/PerfReader.cpp
+0-57llvm/test/tools/llvm-profgen/filter-build-id.test
+0-11llvm/test/tools/llvm-profgen/Inputs/buildid-cs-noprobe.aggperfscript
+0-9llvm/test/tools/llvm-profgen/Inputs/buildid-cs-noprobe.perfscript
+13-1354 files

LLVM/project 7608c5fclang/test/CXX/drs cwg26xx.cpp, clang/www cxx_dr_status.html

[clang][NFC] Mark CWG2629 as implemented and add a test (#195490)

This is ill-formed:
```cpp
switch (0.0) {}
```
Before [CWG2629](https://wg21.link/cwg2629) though, this was allowed:
```cpp
switch (double d = 0.0) {} // Value of 'd' is implicitly converted to an integer
```
Clang however has always rejected both: https://godbolt.org/z/GYc4hhrnz
DeltaFile
+7-0clang/test/CXX/drs/cwg26xx.cpp
+1-1clang/www/cxx_dr_status.html
+8-12 files

LLVM/project e8a85b2lld/ELF InputSection.h Target.h

[ELF] Remove unused functions. NFC (#195546)
DeltaFile
+0-5lld/ELF/InputSection.h
+0-1lld/ELF/Target.h
+0-62 files

LLVM/project 441a18dclang-tools-extra/clang-tidy/modernize UseUsingCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Preserve typedef comments in `modernize-use-using` (#180372)

Keep comment blocks between the typedef type and name by capturing the
raw lexer range and avoid injecting unrelated tokens into the
replacement.

Fixes https://github.com/llvm/llvm-project/issues/159518.
DeltaFile
+283-49clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
+67-0clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
+6-2clang-tools-extra/docs/ReleaseNotes.rst
+356-513 files

LLVM/project 268813dlld/ELF Symbols.cpp, lld/test/ELF symbol-ordering-file-warnings.s

[ELF] maybeWarnUnorderableSymbol: drop redundant `d &&`, assert isShared. NFC (#195543)

Test Defined first via dyn_cast. Lazy/Common/Placeholder cannot reach
here: readCallGraph runs after replaceCommonSymbols, buildSectionOrder
runs after demoteSymbolsAndComputeIsPreemptible, and redirectSymbols
detaches Placeholder foo at v1 stubs from objectFiles.

In symbol-ordering-file-warnings.s, add a common-symbol case and use
`count 0` for empty-output checks.
DeltaFile
+13-11lld/test/ELF/symbol-ordering-file-warnings.s
+11-11lld/ELF/Symbols.cpp
+24-222 files