FailedChanges

Summary

  1. [CodeGen] In narrowExtractedVectorLoad bail out for scalable vectors (details)
  2. [SVE][CodeGen] Fix scalable vector issues in DAGTypeLegalizer::GenWidenVectorStores (details)
  3. [clangd] Add ClangdServer::customAction() extension point (details)
  4. [lldb][NFC] Fix indentation in TCPSocket::CloseListenSockets (details)
  5. [DWARFYAML] Replace InitialLength with Format and Length. NFC. (details)
  6. DwarfDebug.cpp - removes includes already included by DwarfDebug.h. NFC. (details)
  7. SplitKit.cpp - removes includes already included by SplitKit.h. NFC. (details)
  8. [BPI] Improve static heuristics for integer comparisons (details)
  9. [llvm-readobj/elf][test] - Refine --headers testing and the related code comment. (details)
  10. [SVE] Lower fixed length integer extend operations. (details)
  11. Revert "[BPI] Improve static heuristics for integer comparisons" (details)
  12. [SVE] Lower fixed length vector integer ISD::SETCC operations. (details)
  13. [llvm-readobj/elf] - Cleanup helpers that are used to print segment types. NFCI. (details)
  14. [DSE,MSSA] Fix crash when using tryToMergePartialOverlappingStores. (details)
  15. BranchFolding.cpp - removes includes already included by BranchFolding.h. NFC. (details)
  16. [ARM][MVE] Fix for tail predication for loops containing MVE gather/scatters (details)
  17. [SVE][CodeGen] Legalisation of EXTRACT_VECTOR_ELT for scalable vectors (details)
  18. [SVE] Lower fixed length vector integer shifts. (details)
  19. [X86][SSE] IsElementEquivalent - add HOP(X,X) support (details)
  20. [lldb][NFC] Use llvm::is_contained instead of std::find in a few places (details)
  21. [BPI] Improve static heuristics for integer comparisons (details)
Commit 3ec3fcb97a6b5a42d89032d44d81bbe711d188a4 by david.sherwood
[CodeGen] In narrowExtractedVectorLoad bail out for scalable vectors

In narrowExtractedVectorLoad there is an optimisation that tries to
combine extract_subvector with a narrowing vector load. At the moment
this produces warnings due to the incorrect calls to
getVectorNumElements() for scalable vector types. I've got this
working for scalable vectors too when the extract subvector index
is a multiple of the minimum number of elements. I have added a
new variant of the function:

  MachineFunction::getMachineMemOperand

that copies an existing MachineMemOperand, but replaces the pointer
info with a null version since we cannot currently represent scaled
offsets.

I've added a new test for this particular case in:

  CodeGen/AArch64/sve-extract-subvector.ll

Differential Revision: https://reviews.llvm.org/D83950
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-extract-subvector.ll
The file was modifiedllvm/include/llvm/CodeGen/MachineFunction.h
The file was modifiedllvm/lib/CodeGen/MachineFunction.cpp
Commit 6af1677161fbcdedf8ba08e8ffd065c9451ae733 by david.sherwood
[SVE][CodeGen] Fix scalable vector issues in DAGTypeLegalizer::GenWidenVectorStores

In DAGTypeLegalizer::GenWidenVectorStores the algorithm assumes it only
ever deals with fixed width types, hence the offsets for each individual
store never take 'vscale' into account. I've changed the main loop in
that function to use TypeSize instead of unsigned for tracking the
remaining store amount and offset increment. In addition, I've changed
the loop to use the new IncrementPointer helper function for updating
the addresses in each iteration, since this handles scalable vector
types.

Whilst fixing this function I also fixed a minor issue in
IncrementPointer whereby we were not adding the no-unsigned-wrap flag
for the add instruction in the same way as the fixed width case does.

Also, I've added a report_fatal_error in GenWidenVectorTruncStores,
since this code currently uses a sequence of element-by-element scalar
stores.

I've added new tests in

  CodeGen/AArch64/sve-intrinsics-stores.ll
  CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll

for the changes in GenWidenVectorStores.

Differential Revision: https://reviews.llvm.org/D84937
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-stores.ll
The file was modifiedllvm/include/llvm/Support/TypeSize.h
The file was modifiedllvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-imm.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit 32626bcc0b9b1180db7eebc46c45faff7905bd05 by sam.mccall
[clangd] Add ClangdServer::customAction() extension point

This lets basic AST-consuming actions be defined outside clangdserver.
(it essentially exposes TUScheduler::runWithAST).

Two use cases for now:
- replace ClangdServer::dumpAST, which doesn't really belong in the public
   interface (a followup patch will do this)
- allow embedders to add/experiment with extra features
   (e.g. I know some who want to try crazy AST+ML code completion...)

Maybe in the future we should use this sort of mechanism to make ClangdServer
less of a monolith, but that's not in scope for now.
This would probably require a richer and more carefully-thought-out API.

Differential Revision: https://reviews.llvm.org/D85883
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
The file was modifiedclang-tools-extra/clangd/unittests/ClangdTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.h
Commit ac2b7f8ac1649afbc6d0b8e2abf324278441dc7b by Raphael Isemann
[lldb][NFC] Fix indentation in TCPSocket::CloseListenSockets
The file was modifiedlldb/source/Host/common/TCPSocket.cpp
Commit b7d5d1ec64340fc38fe1c7416814b9369ed1a818 by Xing
[DWARFYAML] Replace InitialLength with Format and Length. NFC.

This change replaces the InitialLength of pub-tables with Format and
Length. All the InitialLength fields have been removed.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D85880
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-pubsections.yaml
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-debug_line.yaml
The file was modifiedllvm/test/tools/llvm-gsymutil/ARM_AArch64/fat-macho-dwarf.yaml
The file was modifiedllvm/unittests/ObjectYAML/DWARFYAMLTest.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/DWARFYAML.h
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-gnu-pubtypes.yaml
The file was modifiedllvm/test/tools/llvm-gsymutil/X86/mach-dwarf.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-pubnames.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-pubtypes.yaml
The file was modifiedllvm/tools/obj2yaml/dwarf2yaml.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-gnu-pubnames.yaml
Commit c4c1267cadbc89bb3b80c400e3ee6eaf66c6f046 by llvm-dev
DwarfDebug.cpp - removes includes already included by DwarfDebug.h. NFC.

Don't duplicate includes already provided by the module header.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit ebfa410433285662fa1056b5c7cb08b20f68a8d8 by llvm-dev
SplitKit.cpp - removes includes already included by SplitKit.h. NFC.

Don't duplicate includes already provided by the module header.
The file was modifiedllvm/lib/CodeGen/SplitKit.cpp
Commit 385c9d673f217e176b18e7bf6fe055154ac589c6 by Dávid Bolvanský
[BPI] Improve static heuristics for integer comparisons

Similarly as for pointers, even for integers a == b is usually false.

GCC also uses this heuristic.

Reviewed By: ebrevnov

Differential Revision: https://reviews.llvm.org/D85781
The file was modifiedllvm/test/CodeGen/Mips/brconlt.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/test/CodeGen/ARM/machine-cse-cmp.ll
The file was modifiedllvm/test/CodeGen/AArch64/cond-br-tuning.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-40.ll
The file was modifiedllvm/test/CodeGen/PowerPC/brcond.ll
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/loop.ll
The file was modifiedllvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll
The file was modifiedllvm/include/llvm/Analysis/BranchProbabilityInfo.h
The file was modifiedllvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-cmp-branch.ll
The file was modifiedllvm/test/CodeGen/X86/indirect-branch-tracking-eh2.ll
The file was modifiedllvm/test/CodeGen/Mips/selle.ll
The file was modifiedllvm/test/CodeGen/ARM/2011-12-14-machine-sink.ll
The file was modifiedllvm/test/CodeGen/ARM/cmpxchg-weak.ll
The file was modifiedllvm/test/CodeGen/X86/machine-cse.ll
The file was modifiedllvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll
The file was modifiedllvm/test/CodeGen/Mips/compactbranches/no-beqzc-bnezc.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-37.ll
The file was modifiedllvm/test/CodeGen/Mips/longbranch/compact-branches-long-branch.ll
The file was modifiedllvm/test/CodeGen/X86/bt.ll
The file was modifiedllvm/test/CodeGen/X86/lsr-negative-stride.ll
The file was modifiedllvm/test/CodeGen/ARM/lsr-unfolded-offset.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-optsize.ll
The file was modifiedllvm/test/CodeGen/X86/funnel-shift.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll
The file was modifiedllvm/test/CodeGen/X86/pr29170.ll
The file was modifiedllvm/test/CodeGen/Thumb2/thumb2-branch.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
The file was modifiedllvm/test/CodeGen/X86/neg_cmp.ll
The file was removedllvm/test/Analysis/BranchProbabilityInfo/zero_heuristics.ll
The file was modifiedllvm/test/CodeGen/Mips/lcb2.ll
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp
The file was addedllvm/test/Analysis/BranchProbabilityInfo/integer_heuristics.ll
The file was modifiedllvm/test/CodeGen/Mips/brcongt.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-unordered.ll
The file was modifiedllvm/test/CodeGen/RISCV/branch.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-pgso.ll
The file was modifiedllvm/test/CodeGen/X86/jump_sign.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp.ll
The file was modifiedllvm/test/CodeGen/X86/3addr-16bit.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-flags.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall-pgso.ll
The file was modifiedllvm/test/CodeGen/AArch64/branch-relax-alignment.ll
The file was modifiedllvm/test/CodeGen/X86/absolute-cmp.ll
The file was modifiedllvm/test/CodeGen/Mips/brconne.ll
The file was modifiedllvm/test/CodeGen/Mips/lcb5.ll
The file was modifiedllvm/test/CodeGen/Hexagon/newvaluejump2.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-cmp-branch2.ll
The file was modifiedllvm/test/CodeGen/X86/nobt.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64m-w-insts-legalization.ll
The file was modifiedllvm/test/CodeGen/X86/wide-integer-cmp.ll
The file was modifiedllvm/test/CodeGen/Mips/seleq.ll
The file was modifiedllvm/test/CodeGen/X86/bmi.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall.ll
Commit 936ba7eec3f00980862bf9a520d810e0e4956376 by grimar
[llvm-readobj/elf][test] - Refine --headers testing and the related code comment.

Specifying --headers is equivalent to setting --file-headers,
--program-headers and --section-headers at the same time.

The existent test case uses a precompiled object and doesn't test the
output properly. This patch fixes it.

Differential revision: https://reviews.llvm.org/D85832
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
The file was modifiedllvm/test/tools/llvm-readobj/ELF/headers.test
Commit 9e04895258d0553982d92d2d67c4e6f4dd552beb by paul.walker
[SVE] Lower fixed length integer extend operations.

Differential Revision: https://reviews.llvm.org/D85640
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-int-extends.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit a0485421d24b34c32ea6c3bff7ddf30e4476322a by Dávid Bolvanský
Revert "[BPI] Improve static heuristics for integer comparisons"

This reverts commit 385c9d673f217e176b18e7bf6fe055154ac589c6.
The file was modifiedllvm/test/CodeGen/Thumb2/thumb2-branch.ll
The file was modifiedllvm/test/CodeGen/Hexagon/newvaluejump2.ll
The file was modifiedllvm/test/CodeGen/AArch64/cond-br-tuning.ll
The file was modifiedllvm/test/CodeGen/X86/pr29170.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64m-w-insts-legalization.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-pgso.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp.ll
The file was modifiedllvm/test/CodeGen/X86/wide-integer-cmp.ll
The file was modifiedllvm/test/CodeGen/Mips/seleq.ll
The file was modifiedllvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
The file was modifiedllvm/test/CodeGen/RISCV/branch.ll
The file was modifiedllvm/test/CodeGen/Mips/selle.ll
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
The file was modifiedllvm/test/CodeGen/Mips/compactbranches/no-beqzc-bnezc.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-37.ll
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-cmp-branch.ll
The file was modifiedllvm/test/CodeGen/X86/indirect-branch-tracking-eh2.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall.ll
The file was modifiedllvm/test/CodeGen/Mips/brcongt.ll
The file was modifiedllvm/test/CodeGen/X86/jump_sign.ll
The file was modifiedllvm/test/CodeGen/X86/bmi.ll
The file was modifiedllvm/test/CodeGen/X86/3addr-16bit.ll
The file was modifiedllvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
The file was modifiedllvm/test/CodeGen/X86/lsr-negative-stride.ll
The file was modifiedllvm/test/CodeGen/X86/neg_cmp.ll
The file was modifiedllvm/test/CodeGen/ARM/cmpxchg-weak.ll
The file was removedllvm/test/Analysis/BranchProbabilityInfo/integer_heuristics.ll
The file was modifiedllvm/test/CodeGen/X86/machine-cse.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-unordered.ll
The file was modifiedllvm/test/CodeGen/X86/funnel-shift.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-40.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/test/CodeGen/Mips/lcb2.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-optsize.ll
The file was modifiedllvm/test/CodeGen/ARM/machine-cse-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-cmp-branch2.ll
The file was modifiedllvm/test/CodeGen/X86/bt.ll
The file was modifiedllvm/test/CodeGen/Mips/longbranch/compact-branches-long-branch.ll
The file was modifiedllvm/test/CodeGen/Mips/brconlt.ll
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/brcond.ll
The file was modifiedllvm/test/CodeGen/ARM/lsr-unfolded-offset.ll
The file was addedllvm/test/Analysis/BranchProbabilityInfo/zero_heuristics.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-flags.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll
The file was modifiedllvm/test/CodeGen/ARM/2011-12-14-machine-sink.ll
The file was modifiedllvm/include/llvm/Analysis/BranchProbabilityInfo.h
The file was modifiedllvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/loop.ll
The file was modifiedllvm/test/CodeGen/AArch64/branch-relax-alignment.ll
The file was modifiedllvm/test/CodeGen/Mips/brconne.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
The file was modifiedllvm/test/CodeGen/X86/absolute-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall-pgso.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
The file was modifiedllvm/test/CodeGen/Mips/lcb5.ll
The file was modifiedllvm/test/CodeGen/X86/nobt.ll
Commit 130098228d5d0709d64efb33b55e32a7dc2964d6 by paul.walker
[SVE] Lower fixed length vector integer ISD::SETCC operations.

Differential Revision: https://reviews.llvm.org/D85831
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-int-compares.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-subvector.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit 02e2bd8c4b933f0f756ca4de406e93f4272c3d7a by grimar
[llvm-readobj/elf] - Cleanup helpers that are used to print segment types. NFCI.

`getElfSegmentType` and `getElfPtType` are methods that are used for printing
segment types for LLVM and GNU styles accordingly.

This patch does a cleanup and simplification that allows to avoid
the code duplication and to get rid of one macro.

Differential revision: https://reviews.llvm.org/D85830
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 3b0878a370055f2a8a6f3c0f05f00d33589c20cf by flo
[DSE,MSSA] Fix crash when using tryToMergePartialOverlappingStores.

We are re-using tryToMergePartialOverlappingStores, which requires
earlier to domiante Later. In the long run,
tryToMergeParialOverlappingStores should be re-written using MemorySSA.

Fixes PR46513.
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-overlap.ll
Commit 8a41a1f5673eacecba62e7a61a263dcf8d4b39be by llvm-dev
BranchFolding.cpp - removes includes already included by BranchFolding.h. NFC.
The file was modifiedllvm/lib/CodeGen/BranchFolding.cpp
Commit 9eb9ba076a7da7fc640208cfa7ce897b827c5e4b by anna.welker
[ARM][MVE] Fix for tail predication for loops containing MVE gather/scatters

Fix to include non-predicated version of write-back gather in special case
treatment for deducting the instruction type.
(This is fixing https://reviews.llvm.org/D85138 for corner cases)

Differential Revision: https://reviews.llvm.org/D85889
The file was modifiedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was addedllvm/test/CodeGen/Thumb2/mve-gather-tailpred.ll
Commit 30af595f05b5c1cd39f148f00e71db2b91eb3036 by kerry.mclaughlin
[SVE][CodeGen] Legalisation of EXTRACT_VECTOR_ELT for scalable vectors

This patch changes SplitVecOp_EXTRACT_VECTOR_ELT to work correctly
for scalable vectors and also fixes an a bug in DAGCombiner where
the scalable property is dropped in visitTRUNCATE when attempting
to fold an extract + a truncate.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D85754
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-split-extract-elt.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit e63cc8105adfd452aebd079d2c0b2e915bcbc6d5 by paul.walker
[SVE] Lower fixed length vector integer shifts.

Differential Revision: https://reviews.llvm.org/D85724
The file was addedllvm/test/CodeGen/AArch64/sve-fixed-length-int-shifts.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit a31d20e67e2bbdbf5afd72b846f681023ff3bc4c by llvm-dev
[X86][SSE] IsElementEquivalent - add HOP(X,X) support

For HADD/HSUB/PACKS ops with repeated operands the lower/upper half element of each lane are known to be equivalent
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/phaddsub.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub-shuf.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub-undef.ll
The file was modifiedllvm/test/CodeGen/X86/haddsub-3.ll
Commit 8af160b0b8ca8102b9490a287244af75727872f5 by Raphael Isemann
[lldb][NFC] Use llvm::is_contained instead of std::find in a few places
The file was modifiedlldb/source/Commands/CommandObjectThread.cpp
The file was modifiedlldb/source/Host/common/NativeProcessProtocol.cpp
The file was modifiedlldb/source/Symbol/LineTable.cpp
The file was modifiedlldb/source/Breakpoint/Breakpoint.cpp
Commit 44587e2f7e732604cd6340061d40ac21e7e188e5 by Dávid Bolvanský
[BPI] Improve static heuristics for integer comparisons

Similarly as for pointers, even for integers a == b is usually false.

GCC also uses this heuristic.

Reviewed By: ebrevnov

Differential Revision: https://reviews.llvm.org/D85781
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/loop.ll
The file was modifiedllvm/test/CodeGen/X86/bmi.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-pgso.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp.ll
The file was modifiedllvm/test/CodeGen/Mips/selle.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-37.ll
The file was modifiedllvm/test/CodeGen/X86/wide-integer-cmp.ll
The file was modifiedllvm/test/CodeGen/ARM/lsr-unfolded-offset.ll
The file was addedllvm/test/Analysis/BranchProbabilityInfo/integer_heuristics.ll
The file was modifiedllvm/test/CodeGen/Mips/lcb2.ll
The file was modifiedllvm/test/CodeGen/X86/nobt.ll
The file was modifiedllvm/test/CodeGen/Mips/brconne.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-float-loops.ll
The file was modifiedllvm/test/CodeGen/X86/pr29170.ll
The file was removedllvm/test/Analysis/BranchProbabilityInfo/zero_heuristics.ll
The file was modifiedllvm/include/llvm/Analysis/BranchProbabilityInfo.h
The file was modifiedllvm/test/CodeGen/Hexagon/newvaluejump2.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-flags.ll
The file was modifiedllvm/test/CodeGen/AArch64/combine-comparisons-by-cse.ll
The file was modifiedllvm/test/CodeGen/AArch64/fast-isel-cmp-branch.ll
The file was modifiedllvm/test/CodeGen/Mips/longbranch/compact-branches-long-branch.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-lsr.ll
The file was modifiedllvm/test/CodeGen/Mips/brcongt.ll
The file was modifiedllvm/test/CodeGen/X86/absolute-cmp.ll
The file was modifiedllvm/test/Transforms/PGOProfile/landingpad.ll
The file was modifiedllvm/test/CodeGen/RISCV/branch.ll
The file was modifiedllvm/test/CodeGen/X86/fast-isel-cmp-branch2.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
The file was modifiedllvm/test/CodeGen/Mips/lcb5.ll
The file was modifiedllvm/test/CodeGen/AArch64/cond-br-tuning.ll
The file was modifiedllvm/test/CodeGen/X86/bt.ll
The file was modifiedllvm/test/CodeGen/X86/jump_sign.ll
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
The file was modifiedllvm/test/CodeGen/PowerPC/brcond.ll
The file was modifiedllvm/test/CodeGen/ARM/machine-cse-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/3addr-16bit.ll
The file was modifiedllvm/test/CodeGen/ARM/cmpxchg-weak.ll
The file was modifiedllvm/test/CodeGen/Mips/compactbranches/no-beqzc-bnezc.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall.ll
The file was modifiedllvm/test/CodeGen/SystemZ/int-cmp-40.ll
The file was modifiedllvm/test/CodeGen/X86/funnel-shift.ll
The file was modifiedllvm/test/CodeGen/X86/neg_cmp.ll
The file was modifiedllvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-postinc-distribute.ll
The file was modifiedllvm/test/CodeGen/X86/indirect-branch-tracking-eh2.ll
The file was modifiedllvm/test/CodeGen/Thumb2/thumb2-branch.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64m-w-insts-legalization.ll
The file was modifiedllvm/test/CodeGen/AArch64/branch-relax-alignment.ll
The file was modifiedllvm/test/CodeGen/X86/lsr-negative-stride.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp-optsize.ll
The file was modifiedllvm/test/CodeGen/Mips/brconlt.ll
The file was modifiedllvm/test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
The file was modifiedllvm/test/Transforms/PGOProfile/counter_promo_mexits.ll
The file was modifiedllvm/test/CodeGen/ARM/2011-12-14-machine-sink.ll
The file was modifiedllvm/test/CodeGen/X86/atomic-unordered.ll
The file was modifiedllvm/test/CodeGen/PowerPC/redundant-copy-after-tail-dup.ll
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/varying-outer-2d-reduction.ll
The file was modifiedllvm/test/CodeGen/X86/conditional-tailcall-pgso.ll
The file was modifiedllvm/test/CodeGen/X86/machine-cse.ll
The file was modifiedllvm/test/CodeGen/Mips/seleq.ll