llvm-project/llvm/test
Hans Wennborg 06e2a384c2 Revert r312719 "[MachineCombiner] Update instruction depths incrementally for large BBs."
This caused PR34596.

> [MachineCombiner] Update instruction depths incrementally for large BBs.
>
> Summary:
> For large basic blocks with lots of combinable instructions, the
> MachineTraceMetrics computations in MachineCombiner can dominate the compile
> time, as computing the trace information is quadratic in the number of
> instructions in a BB and it's relevant successors/predecessors.
>
> In most cases, knowing the instruction depth should be enough to make
> combination decisions. As we already iterate over all instructions in a basic
> block, the instruction depth can be computed incrementally. This reduces the
> cost of machine-combine drastically in cases where lots of instructions
> are combined. The major drawback is that AFAIK, computing the critical path
> length cannot be done incrementally. Therefore we only compute
> instruction depths incrementally, for basic blocks with more
> instructions than inc_threshold. The -machine-combiner-inc-threshold
> option can be used to set the threshold and allows for easier
> experimenting and checking if using incremental updates for all basic
> blocks has any impact on the performance.
>
> Reviewers: sanjoy, Gerolf, MatzeB, efriedma, fhahn
>
> Reviewed By: fhahn
>
> Subscribers: kiranchandramohan, javed.absar, efriedma, llvm-commits
>
> Differential Revision: https://reviews.llvm.org/D36619

llvm-svn: 313213
2017-09-13 23:23:09 +00:00
..
Analysis [LAA] Allow more run-time alias checks by coercing pointer expressions to AddRecExprs 2017-09-12 07:48:22 +00:00
Assembler Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
Bindings [llvm] Get rid of "%T" expansions 2017-08-15 20:29:24 +00:00
Bitcode [Bitcode] Add a compatibility test for 5.0.0 bitcode 2017-09-13 21:40:59 +00:00
BugPoint
CodeGen Revert r312719 "[MachineCombiner] Update instruction depths incrementally for large BBs." 2017-09-13 23:23:09 +00:00
DebugInfo Update testcase that was XFAILed on Darwin for llvm-dwarfdump change. 2017-09-13 22:30:43 +00:00
DllTool [llvm-dlltool] Fix creating stdcall/fastcall import libraries for i386 2017-08-16 05:18:36 +00:00
Examples
ExecutionEngine [AsmParser] Recommit: Hash is not a comment on some targets 2017-08-21 09:58:37 +00:00
Feature Add ‘llvm.experimental.constrained.fma‘ Intrinsic. 2017-08-24 04:18:24 +00:00
FileCheck
Instrumentation [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer 2017-08-30 22:49:31 +00:00
Integer
JitListener
LTO ThinLTO: Correctly follow aliasee references when dead stripping. 2017-09-13 17:09:20 +00:00
LibDriver [llvm] Get rid of "%T" expansions 2017-08-15 20:29:24 +00:00
Linker llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
MC llvm-dwarfdump: automatically dump both regular and .dwo variant of sections 2017-09-13 22:09:01 +00:00
Object [MachO] Prevent heap overflow when load command extends past EOF 2017-09-13 13:43:01 +00:00
ObjectYAML [WebAssembly] Update relocation names to match spec 2017-09-01 17:32:01 +00:00
Other Merge isKnownNonNull into isKnownNonZero 2017-09-09 18:23:11 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen Address r311914 review comments 2017-08-28 20:11:27 +00:00
ThinLTO/X86 ModuleSummaryAnalysis: Correctly handle all function operand references. 2017-09-07 05:35:35 +00:00
Transforms Update the early_inline test to explicitly add attribute for all functions. (NFC) 2017-09-13 21:49:36 +00:00
Unit
Verifier Revert "Revert r312139 "Verifier: Verify the correctness of fragment expressions attached to globals."" 2017-08-31 00:07:33 +00:00
YAMLParser
tools llvm-dwarfdump: automatically dump both regular and .dwo variant of sections 2017-09-13 22:09:01 +00:00
.clang-format
CMakeLists.txt Add llvm-isel-fuzzer to test/CMakeLists.txt 2017-09-03 03:00:27 +00:00
TestRunner.sh
lit.cfg llvm-isel-fuzzer: Add some basic tests 2017-09-03 00:37:39 +00:00
lit.site.cfg.in