]> granicus.if.org Git - llvm/commit
[MCA] Improved cost computation for loop carried dependencies in the bottleneck analysis.
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Thu, 19 Sep 2019 16:05:11 +0000 (16:05 +0000)
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Thu, 19 Sep 2019 16:05:11 +0000 (16:05 +0000)
commit9fa92ef02a4d8e43d47adeca57f4e73a1bff184d
tree4a7868709cf2d99b596b07c768b747a51adfe653
parent614fe859a8649b2fbc340c4f9d058ed00036bc01
[MCA] Improved cost computation for loop carried dependencies in the bottleneck analysis.

This patch introduces a cut-off threshold for dependency edge frequences with
the goal of simplifying the critical sequence computation.  This patch also
removes the cost normalization for loop carried dependencies.  We didn't really
need to artificially amplify the cost of loop-carried dependencies since it is
already computed as the integral over time of the delay (in cycle).

In the absence of backend stalls there is no need for computing a critical
sequence. With this patch we early exit from the critical sequence computation
if no bottleneck was reported during the simulation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372337 91177308-0d34-0410-b5e6-96231b3b80d8
test/tools/llvm-mca/X86/SkylakeClient/bottleneck-analysis.s
tools/llvm-mca/Views/BottleneckAnalysis.cpp
tools/llvm-mca/Views/BottleneckAnalysis.h