llvm-project/llvm/test/CodeGen
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
..
AArch64 Revert r312719 "[MachineCombiner] Update instruction depths incrementally for large BBs." 2017-09-13 23:23:09 +00:00
AMDGPU Allow target to decide when to cluster loads/stores in misched 2017-09-13 22:20:47 +00:00
ARC [ARC] Add ARC backend. 2017-08-24 15:40:33 +00:00
ARM Revert r313009 "[ARM] Use ADDCARRY / SUBCARRY" 2017-09-12 16:24:17 +00:00
AVR [AVR] Enable the '__do_copy_data' function 2017-09-11 10:32:51 +00:00
BPF bpf: add " ll" in the LD_IMM64 asmstring 2017-09-11 23:43:35 +00:00
Generic [MIParser] Ensure getHexUint doesn't produce APInts with a bitwidth of 0 2017-09-01 22:17:14 +00:00
Hexagon Preserve existing regs when adding pristines to LivePhysRegs/LiveRegUnits 2017-09-08 16:29:50 +00:00
Inputs
Lanai
MIR AMDGPU: Handle non-temporal loads and stores 2017-09-07 17:14:54 +00:00
MSP430 [DAG] Improve Aliasing of operations to static alloca 2017-07-18 20:06:24 +00:00
Mips Revert "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"" 2017-09-04 15:47:00 +00:00
NVPTX [CUDA] Added rudimentary support for CUDA-9 and sm_70. 2017-09-07 18:14:32 +00:00
Nios2
PowerPC Update branch coalescing to be a PowerPC specific pass 2017-09-12 18:39:11 +00:00
SPARC Revert "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"" 2017-09-04 15:47:00 +00:00
SystemZ [SystemZ] Add the CoveredBySubRegs bit to GPR64, GPR128 and FPR128 registers. 2017-09-12 12:11:29 +00:00
Thumb Revert "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"" 2017-09-04 15:47:00 +00:00
Thumb2 [ARM] Call setBooleanContents(ZeroOrOneBooleanContent) 2017-08-22 11:02:37 +00:00
WebAssembly [WebAssembly] Add sign extend instructions from atomics proposal 2017-09-13 00:29:06 +00:00
WinEH
X86 Revert r312719 "[MachineCombiner] Update instruction depths incrementally for large BBs." 2017-09-13 23:23:09 +00:00
XCore Delete Default and JITDefault code models 2017-08-03 02:16:21 +00:00