]> granicus.if.org Git - llvm/commit
[MachineCSE][MachinePRE] Avoid hoisting code from code regions into hot BBs.
authorKai Luo <lkail@cn.ibm.com>
Fri, 19 Jul 2019 12:58:16 +0000 (12:58 +0000)
committerKai Luo <lkail@cn.ibm.com>
Fri, 19 Jul 2019 12:58:16 +0000 (12:58 +0000)
commit8f326c9dabde85fa8d7fa9652f0b5bca5e520942
treefb637b010d4c341b86ec71e79774c29581bb5737
parentfa3060c3e97f75bea8fca16c6ef025f93a747c4e
[MachineCSE][MachinePRE] Avoid hoisting code from code regions into hot BBs.

Summary:
Current PRE hoists common computations into
CMBB = DT->findNearestCommonDominator(MBB, MBB1).
However, if CMBB is in a hot loop body, we might get performance
degradation.

Differential Revision: https://reviews.llvm.org/D64394

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366570 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MachineCSE.cpp
test/CodeGen/AArch64/O3-pipeline.ll
test/CodeGen/ARM/O3-pipeline.ll
test/CodeGen/PowerPC/machine-pre.ll
test/CodeGen/X86/O3-pipeline.ll