SuccessChanges

Summary

  1. [gn build] Port 7f50c15be5c (details)
  2. [gn build] Port e636e6b79ac (details)
  3. Add a test for preserving state on the non-expr thread across expression evaluation. (details)
  4. [lldb/Test] Remove un(used|needed|maintained) files from lldbsuite. (details)
  5. [lldb/Test] Python <3.5 requires **kwargs to come last (details)
  6. [mlir] [VectorOps] Use 'vector.flat_transpose' for 2-D 'vector.tranpose' (details)
  7. [clangd] Fix forgotten propagation of AsnycPreamble flag (details)
  8. [mlir][Linalg] Add support for fusion between indexed_generic ops and generic ops on tensors. (details)
  9. [mlir][Linalg] Add support for fusion between indexed_generic ops and tensor_reshape ops (details)
  10. Introduce a "gc-live" bundle for the gc arguments of a statepoint (details)
  11. [mlir][StandardToSPIRV] Handle i1 case for lowering std.zexti to SPIR-V. (details)
  12. [AArch64][GlobalISel] Select uzp1 and uzp2 (details)
  13. [Statepoint] Fix signed vs unsigned in index handling (details)
  14. Fix bug in newly added VersionBase::operator>= (details)
  15. [AArch64][GlobalISel] Add selection support for rev16, rev32, and rev64 (details)
  16. [WebAssembly] Fix ISel crash in SIGN_EXTEND_INREG lowering (details)
  17. [AArch64][NFC] Regenerate arm64-rev.ll (details)
  18. [Statepoints][CGP] Minor parameter type cleanup (details)
  19. Fix typo in filename comment. (details)
  20. Fix "Statistics are disabled" (details)
  21. [StackSafety,NFC] Add statistic counters (details)
  22. lld: add basic static library search (details)
  23. GlobalISel: Fail expansion of G_DYN_STACKALLOC for StackGrowsUp (details)
  24. AMDGPU/GlobalISel: Handle uniform G_DYN_STACKALLOC (details)
  25. AArch64/GlobalISel: Fix assert on call returning 0 sized type (details)
  26. consitfy and auto -> auto * a few places to clean up uses. (details)
  27. Make linter happy (details)
  28. [RegisterCoalescer] Update empty subranges when rematerializing (details)
  29. GlobalISel: Start defining strict FP instructions (details)
  30. [Darwin] Add tests for OS version checking (details)
  31. [ObjectYAML][DWARF] Support emitting the .debug_aranges section in ELFYAML. (details)
  32. [ObjectYAML][ELF] Let the endianness of DWARF sections be inferred from FileHeader. (details)
  33. [CUDA][HIP] Fix constexpr variables for C++17 (details)
  34. [gcov] Improve .gcno compatibility with gcov and use DataExtractor (details)
  35. [gcov] Delete XFAIL: host-byteorder-big-endian (details)
  36. Replace integer usage with enumeration. (details)
  37. [Statepoint] Start the process of removing old interfaces (details)
  38. [Statepoint] Delete more dead code from old wrappers (details)
  39. [Statepoint] Remove last of old ImmutableStatepoint code (details)
Commit 86fdfc104e411499f2dcc139336c3a4da65bf283 by llvmgnsyncbot
[gn build] Port 7f50c15be5c
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
Commit 6cbccda89af63c797f6ce2211e91e8e6e53f2a7b by llvmgnsyncbot
[gn build] Port e636e6b79ac
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
Commit f4d427326539f007b05378eaf66018c10b651ad0 by jingham
Add a test for preserving state on the non-expr thread across expression evaluation.

There may be another test that tests this but I couldn't find one.
The file was addedlldb/test/API/functionalities/thread/state_after_expression/Makefile
The file was addedlldb/test/API/functionalities/thread/state_after_expression/TestStateAfterExpression.py
The file was addedlldb/test/API/functionalities/thread/state_after_expression/main.cpp
Commit 9caa34a24cb7d20a129143281cc0e1b2f44bd95c by Jonas Devlieghere
[lldb/Test] Remove un(used|needed|maintained) files from lldbsuite.
The file was removedlldb/packages/Python/lldbsuite/.clang-format
The file was removedlldb/packages/Python/lldbsuite/test/redo.py
The file was removedlldb/packages/Python/lldbsuite/test/lock.py
Commit 5fa9c9d7f276b44b3da949382e0d0b5dbfd0ac8b by Jonas Devlieghere
[lldb/Test] Python <3.5 requires **kwargs to come last

Thanks Martin Böhme for pointing this out.
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
Commit 6391da98f43a995fe3dfb96a5376b2d9c652ed87 by ajcbik
[mlir] [VectorOps] Use 'vector.flat_transpose' for 2-D 'vector.tranpose'

Summary:
Progressive lowering of vector.transpose into an operation that
is closer to an intrinsic, and thus the hardware ISA. Currently
under the common vector transform testing flag, as we prepare
deploying this transformation in the LLVM lowering pipeline.

Reviewers: nicolasvasilache, reidtatge, andydavis1, ftynse

Reviewed By: nicolasvasilache, ftynse

Subscribers: mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, stephenneuendorffer, Joonsoo, grosul1, frgossen, Kayjukh, jurahul, llvm-commits

Tags: #llvm, #mlir

Differential Revision: https://reviews.llvm.org/D80772
The file was modifiedmlir/test/Dialect/Vector/vector-contract-transforms.mlir
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h
The file was addedmlir/test/Dialect/Vector/vector-flat-transforms.mlir
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was modifiedmlir/test/lib/Transforms/TestVectorTransforms.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/lib/Dialect/Vector/VectorTransforms.cpp
Commit 49cbe56a657b91e612f8305e7f8f9119ffe84378 by kadircet
[clangd] Fix forgotten propagation of AsnycPreamble flag
The file was modifiedclang-tools-extra/clangd/tool/ClangdMain.cpp
Commit cc11ceda165b5ba0a87e812fbd6ed1bce4fefd2f by hanchung
[mlir][Linalg] Add support for fusion between indexed_generic ops and generic ops on tensors.

Summary:
Different from the fusion between generic ops, indices are involved. In this
context, we need to re-map the indices for producer since the fused op is built
on consumer's perspective. This patch supports all combination of the fusion
between indexed_generic ops and generic ops, which includes tests case:
  1) generic op as producer and indexed_generic op as consumer.
  2) indexed_generic op as producer and generic op as consumer.
  3) indexed_generic op as producer and indexed_generic op as consumer.

Differential Revision: https://reviews.llvm.org/D80347
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir
Commit 27fca57546c2828e2684c02b7aa677cbd6603bfd by hanchung
[mlir][Linalg] Add support for fusion between indexed_generic ops and tensor_reshape ops

Summary:
The fusion for tensor_reshape is embedding the information to indexing maps,
thus the exising pattenr also works for indexed_generic ops.

Depends On D80347

Differential Revision: https://reviews.llvm.org/D80348
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir
Commit 0e7c77053f560d391fecbec5d5e0e42082865c8a by listmail
Introduce a "gc-live" bundle for the gc arguments of a statepoint

Currently, gc.relocates are defined in terms of indices into the statepoint's operand list. Given the gc args are at the end of a variable length list of operands, this makes interpreting their indices by hand a tad challenging. We can simplify the statepoint sequence and improve readability quite a bit by pulling these new operands into their own named operand bundle.

This patch defines a new operand bundle tag "gc-live". The semantics of the bundle are the same as the existing gc arguments of a statepoint. This patch simply introduces the definition and codegen for the bundle, future patches will migrate RS4GC to emitting the new form.

Interestingly, with this done and the recent migration to using deopt and gc-transition bundles, we really don't have much left in the statepoint itself. It really looks like the existing ID and flags fields are redundant; we have (existing!) attributes for all of them. I think we'll be able to reduce the gc.statepoint signature to simply a wrapped call (e.g. actual target and actual arguments).

Differential Revision: https://reviews.llvm.org/D80937
The file was modifiedllvm/include/llvm/IR/LLVMContext.h
The file was modifiedllvm/docs/Statepoints.rst
The file was modifiedllvm/include/llvm/IR/Statepoint.h
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/test/Bitcode/operand-bundles-bc-analyzer.ll
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/IR/LLVMContext.cpp
The file was addedllvm/test/CodeGen/X86/statepoint-gc-live.ll
Commit 0b025d2733d02a8080f38d767cceab4812c5d6e2 by hanchung
[mlir][StandardToSPIRV] Handle i1 case for lowering std.zexti to SPIR-V.

Differential Revision: https://reviews.llvm.org/D80965
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRV.cpp
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
Commit 8dd34cce0716e0d83c2f05375e8352b5fb4c680c by Jessica Paquette
[AArch64][GlobalISel] Select uzp1 and uzp2

Porting the mask stuff for uzp1 and uzp2 from AArch64ISelLowering.

Add two custom opcodes: G_UZP1 and G_UZP2.

Produce them in the post-legalizer combiner when the mask checks out.

Tests:

- postlegalizer-combiner-uzp.mir verifies that we create G_UZP1 and G_UZP2.
The testcases that check that we create them come from neon-perm.ll.

- select-uzp.mir verifies that we can select G_UZP1 and G_UZP2.

Differential Revision: https://reviews.llvm.org/D81049
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/select-uzp.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrGISel.td
The file was modifiedllvm/lib/Target/AArch64/AArch64PostLegalizerCombiner.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-uzp.mir
Commit ff529e0f2792e1383a602e4b8a466337fd0c2926 by listmail
[Statepoint] Fix signed vs unsigned in index handling

As noted in a comment on D80937, all of these are specified as unsigned values, but the verifier code was using signed.  Given the practical values involved, the different in range didn't matter, but we might as well clean it up.
The file was modifiedllvm/lib/IR/Verifier.cpp
Commit cab4b3b8e3a4a2822e459e5f103e49fcab16efaf by julian.lettner
Fix bug in newly added VersionBase::operator>=

Fixup for ba6b1b4353e33a7a36bcbad1d1c1157826197fd2.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.h
Commit 969d2d1ea9466143e7099040f5f0735cc81963b1 by Jessica Paquette
[AArch64][GlobalISel] Add selection support for rev16, rev32, and rev64

This does three things:

1) Adds G_REV16, G_REV32, and G_REV64. These are equivalent to AArch64rev16,
   AArch64rev32, and AArch64rev64 respectively.

2) Adds support for producing G_REV64 in the postlegalizer combiner.
   We don't legalize any of the shuffles which could give us a G_REV32 or
   G_REV16 yet. Since the function for detecting the rev mask is lifted from
   AArch64ISelLowering, it should work for G_REV32 and G_REV16 when we get
   there.

3) Adds a selection test for a good portion of the patterns imported for the rev
   family. The only ones which are not tested are the ones with bitconvert.

This also does a little cleanup, and adds a struct for shuffle vector pseudo
matchdata. This lets us still use `applyShuffleVectorPseudo` rather than adding
a new function.

It should also make it a bit easier to port some of the other masks from
AArch64ISelLowering. (e.g. `isZIP_v_undef_Mask` and friends)

Differential Revision: https://reviews.llvm.org/D81112
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/select-rev.mir
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-rev.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64PostLegalizerCombiner.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrGISel.td
Commit 25af2126f93a76f39c3121b3ddccdfd9f1aba4be by tlively
[WebAssembly] Fix ISel crash in SIGN_EXTEND_INREG lowering

Summary:
The code previously assumed that the index of a vector extract was
constant, but this was not always true. This patch fixes the problem
by bailing out of the lowering if the index is nonconstant and also
replaces `static_cast`s in the lowering function with `cast`s because
the latter contain type-checking asserts that would make similar
issues easier to find and debug.

Reviewers: aheejin

Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81025
The file was addedllvm/test/CodeGen/WebAssembly/simd-nonconst-sext.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Commit 06ae439110395e9d5cf9fdfbd9570130cc2f1a1e by Jessica Paquette
[AArch64][NFC] Regenerate arm64-rev.ll

Test had some GISel stuff in it which was changed by 969d2d1ea94.
The file was modifiedllvm/test/CodeGen/AArch64/arm64-rev.ll
Commit 382b3023cbbcffc07c7de73441d6b86f02486099 by listmail
[Statepoints][CGP] Minor parameter type cleanup
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit 053fce9a02ad679f14f9dba33220f7d63fc11812 by echristo
Fix typo in filename comment.
The file was modifiedllvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
Commit 5477cf06d654e319ed066ba7f497e278853762be by Vitaly Buka
Fix "Statistics are disabled"

There is no -DLLVM_ENABLE_STATS, only
-DLLVM_FORCE_ENABLE_STATS.
It was renamed by 6cf299cf01e4a83844126f7faf17cbeb78e88da9
The file was modifiedllvm/lib/Support/Statistic.cpp
Commit 291dabefde01eae7473da224b49f6359766e0663 by Vitaly Buka
[StackSafety,NFC] Add statistic counters
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 116e38fd8b89fb20279cbf7edb4a49a7ab5c7764 by Saleem Abdulrasool
lld: add basic static library search

This is a very basic static library search addition. This is the pre-Xcode4
behaviour of searching all paths for the shared version before searching for
the static version of the library. This behaviour is supposed to be inverted
with `-search_paths_first` being the default. This adds the library search
with the intention of providing the setup to merge the paths into one path
and making it controllable by `OPT_search_paths_first`.
The file was addedlld/test/MachO/static-link.s
The file was modifiedlld/MachO/Driver.cpp
Commit 3866e0a563ebfd622a0041d107f8d402097db0c1 by arsenm2
GlobalISel: Fail expansion of G_DYN_STACKALLOC for StackGrowsUp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Commit a1a93ca48ac80434ce8d490c9cb8efcf1412945d by arsenm2
AMDGPU/GlobalISel: Handle uniform G_DYN_STACKALLOC
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Commit 9cdc27ffac48acfc458d4d6ae9db1f90757645a1 by arsenm2
AArch64/GlobalISel: Fix assert on call returning 0 sized type

I don't know why this is considered valid IR, but it probably should
not be.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/call-translator.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64CallLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
Commit 21a7b8a77dd47dd184e3f717a1c8e2f5591c803b by echristo
consitfy and auto -> auto * a few places to clean up uses.
The file was modifiedllvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
Commit eb9ca9da3e94e0c0d5eb8d98a388e92da0df9f12 by julian.lettner
Make linter happy

Fixup for ba6b1b4353e33a7a36bcbad1d1c1157826197fd2.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
Commit ccb3c8e8613413846d6c2f17cc1c1e2a8b6a98ef by qcolombet
[RegisterCoalescer] Update empty subranges when rematerializing

When we rematerialize a value as part of the coalescing, we may
widen the register class of the destination register.
When this happens, updateRegDefUses may create additional subranges
to account for the wider register class.
The created subranges are empty and if they are not defined by
the rematerialized instruction we clean them up.
However, if they are defined by the rematerialized instruction but
unused, we failed to flag them as dead definition and would leave
them as empty live-range.
This is wrong because empty live-ranges don't interfere with anything,
thus if we don't fix them, we would fail to account that the
rematerialized instruction clobbers some lanes.

E.g., let us consider the following pseudo code:
def.lane_low64:reg128 = ldimm
newdef:reg32 = COPY def.lane_low64_low32

When rematerialization happens for newdef, we end up with:
newdef.lane_low64:reg128 = ldimm
= use newdef.lane_low64_low32

Let's look at the live interval of newdef.
Before rematerialization, we would get:
newdef [defIdx, useIdx:0) 0@defIdx

Right after updateRegDefUses, newdef register class is widen to reg128
and the subrange definitions will be augmented to fill the subreg that
is used at the definition point, here lane_low64.
The resulting live interval would be:
newdef [newDefIdx, useIdx:0) 0@newDefIdx
* lane_low64_high32 EMPTY
* lane_low64_low32 [newDefIdx, useIdx:0)

Before this patch this would be the final status of the live interval.
Therefore we miss that lane_low64_high32 is actually live on the
definition point of newdef.

With this patch, after rematerializing, we check all the added subranges
and for the ones that are defined but empty, we flag them as dead def.
Thus, in that case, newdef would look like this:
newdef [newDefIdx, useIdx:0) 0@newDefIdx
* lane_low64_high32 [newDefIdx, newDefIdxDead) ; <-- instead of EMPTY
* lane_low64_low32 [newDefIdx, useIdx:0)

This fixes https://www.llvm.org/PR46154
The file was modifiedllvm/lib/CodeGen/RegisterCoalescer.cpp
The file was addedllvm/test/CodeGen/SystemZ/regcoal_remat_empty_subrange.ll
Commit ed5017e153c76adc13badcfd123c68dd074e75d1 by arsenm2
GlobalISel: Start defining strict FP instructions

The AMDGPU lowering for unconstrained G_FDIV sometimes needs to
introduce a mode switch in the middle, so it's helpful to have
constrained instructions available to legalize this. Right now nothing
is preventing reordering of the mode switch with the other
instructions in the expansion.
The file was modifiedllvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
The file was modifiedllvm/include/llvm/Target/GenericOpcodes.td
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
The file was modifiedllvm/include/llvm/Support/TargetOpcodes.def
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-constrained-fp.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
Commit e9f556526e57270d1f8e148e7f2be8cccf297eb2 by julian.lettner
[Darwin] Add tests for OS version checking

Extract ParseVersion helper function for testing.

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D80761
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
The file was addedcompiler-rt/lib/sanitizer_common/tests/sanitizer_mac_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
Commit a50f4eb2e91bc384fb8956a9637abb7e46e7ec84 by Xing
[ObjectYAML][DWARF] Support emitting the .debug_aranges section in ELFYAML.

This patch enables yaml2obj to emit the .debug_aranges section in ELFYAML.

Known issues:
- The current implementation of `debug_aranges` doesn't support emitting `segment` in the `(segment, address, length)` tuple. I will fix it in a follow-up patch.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D80972
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was addedllvm/test/tools/yaml2obj/ELF/DWARF/debug-aranges.yaml
Commit b6020c330d3826aa542164842d6ba71fdee3650b by Xing
[ObjectYAML][ELF] Let the endianness of DWARF sections be inferred from FileHeader.

This patch helps infer the endianness of DWARF sections from `FileHeader`.

Reviewed By: jhenderson, grimar

Differential Revision: https://reviews.llvm.org/D81051
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-aranges.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
Commit 049d860707ef22978b9379fee6dce38c66a22671 by Yaxun.Liu
[CUDA][HIP] Fix constexpr variables for C++17

constexpr variables are compile time constants and implicitly const, therefore
they are safe to emit on both device and host side. Besides, in many cases
they are intended for both device and host, therefore it makes sense
to emit them on both device and host sides if necessary.

In most cases constexpr variables are used as rvalue and the variables
themselves do not need to be emitted. However if their address is taken,
then they need to be emitted.

For C++14, clang is able to handle that since clang emits them with
available_externally linkage together with the initializer.

However for C++17, the constexpr static data member of a class or template class
become inline variables implicitly. Therefore they become definitions with
linkonce_odr or weak_odr linkages. As such, they can not have available_externally
linkage.

This patch fixes that by adding implicit constant attribute to
file scope constexpr variables and constexpr static data members
in device compilation.

Differential Revision: https://reviews.llvm.org/D79237
The file was modifiedclang/lib/Sema/SemaCUDA.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was addedclang/test/SemaCUDA/constexpr-variables.cu
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was addedclang/test/CodeGenCUDA/constexpr-variables.cu
Commit 01899bb4e41178af6f4cf7b32833e661fe1e3322 by maskray
[gcov] Improve .gcno compatibility with gcov and use DataExtractor

llvm-cov.test and many Inputs/test* files contain wrong tests.
This patch rewrites a large portion of these files.
The pre-canned .gcno & .gcda are replaced by binaries produced by
clang --coverage (compatible with gcov 4.8~7)
(after some GCDAProfiling.c bugs were fixed by my previous commits).

Also make llvm-cov gcov on a little-endian host capable to parse big-endian .gcno and .gcda,
and make llvm-cov gcov on big-endian host capable to parse little-endian .gcno and .gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/test_objdir.h.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/copy_block_helper.gcno
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_preserve_paths.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a_-b.h.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_gcda.h.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a_-b_-u.h.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_missing.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a.cpp.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_missing.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/llvm-cov.test
The file was removedllvm/test/tools/llvm-cov/Inputs/test_long_paths.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a_-b_-u.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_options.cpp.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/copy_block_helper.gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/test_long_file_names.output
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_options.output
The file was removedllvm/test/tools/llvm-cov/range_based_for.cpp
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a_-b_-c_-u.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_-f.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_objdir.cpp.gcov
The file was removedllvm/test/tools/llvm-cov/copy_block_helper.m
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_paths.gcno
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test.gcno
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_paths.gcda
The file was modifiedllvm/lib/ProfileData/GCOV.cpp
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_output.output
The file was modifiedllvm/include/llvm/ProfileData/GCOV.h
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a.h.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_gcda.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_gcda.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a_-b_-c_-u.h.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test.gcda
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test.h
The file was removedllvm/test/tools/llvm-cov/Inputs/test_missing.h.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a_-b.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_-b.output
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_options.h.gcov
Commit c1ea672ddb919c50118f4031845af6bb9be95454 by maskray
[gcov] Delete XFAIL: host-byteorder-big-endian

Add two to function-numbering.ll and exit-block.ll
The file was modifiedllvm/test/Transforms/GCOVProfiling/exit-block.ll
The file was modifiedllvm/test/Transforms/GCOVProfiling/function-numbering.ll
The file was modifiedllvm/test/Transforms/SampleProfile/gcc-simple.ll
The file was modifiedllvm/test/tools/llvm-cov/gcov-4.7.c
The file was modifiedllvm/test/tools/llvm-cov/gcov-9.c
The file was modifiedllvm/test/tools/llvm-cov/gcov-8.c
The file was modifiedllvm/test/tools/llvm-profdata/gcc-gcov-sample-profile.test
The file was modifiedllvm/test/Transforms/SampleProfile/indirect-call-gcc.ll
Commit 8c9badf61d418dad3c5e3f74f9e677cfbce9c2eb by echristo
Replace integer usage with enumeration.
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit b9983c18fc3e42e5824a7e37a01f57120a64c018 by listmail
[Statepoint] Start the process of removing old interfaces

We introduced the GCStatepointInst class and have migrated almost all users of Statepoint/ImmutableStatepoint to the new API.  Given downstream consumers have had a week to migrate, remove code which is now dead.
The file was modifiedllvm/lib/IR/Statepoint.cpp
The file was modifiedllvm/include/llvm/IR/Statepoint.h
Commit 91dd2f2536474df92b92250e1eb2ee9c30ffeb9a by listmail
[Statepoint] Delete more dead code from old wrappers

The verify() routine duplicates IR/Verifier.cpp checks, so while not technically dead it doesn't add any value either.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/include/llvm/IR/Statepoint.h
Commit ab6779bbd8f895153c4409e8f2c0ff26f33e1404 by listmail
[Statepoint] Remove last of old ImmutableStatepoint code

To do so, I had to sink the old school inline operand handling into GCStatepointInst which is non ideal.  This code should be removed shortly and I was able to at least clean it up a bunch.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modifiedllvm/include/llvm/IR/Statepoint.h