aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2008-03-17 23:41:20 +0000
committerDevang Patel <dpatel@apple.com>2008-03-17 23:41:20 +0000
commiteb48523776410ba88eef505b0ce3bdd4c67efdb5 (patch)
treee6d74bdd8e26b0baf5463de8aafcff9655d4b822 /lib/Transforms
parent72c86e5fbc7086279256b72e47d1890cdbd41902 (diff)
downloadexternal_llvm-eb48523776410ba88eef505b0ce3bdd4c67efdb5.zip
external_llvm-eb48523776410ba88eef505b0ce3bdd4c67efdb5.tar.gz
external_llvm-eb48523776410ba88eef505b0ce3bdd4c67efdb5.tar.bz2
Update heuritics that estimates cost of call instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48474 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r--lib/Transforms/Scalar/LoopUnroll.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Transforms/Scalar/LoopUnroll.cpp b/lib/Transforms/Scalar/LoopUnroll.cpp
index ff8ece2..71a5955 100644
--- a/lib/Transforms/Scalar/LoopUnroll.cpp
+++ b/lib/Transforms/Scalar/LoopUnroll.cpp
@@ -100,6 +100,11 @@ static unsigned ApproximateLoopSize(const Loop *L) {
// Ignore instructions only used by the loop terminator.
} else if (isa<DbgInfoIntrinsic>(I)) {
// Ignore debug instructions
+ } else if (isa<CallInst>(I)) {
+ if (isa<IntrinsicInst>(I))
+ Size = Size + 3;
+ else
+ Size = Size + 10;
} else {
++Size;
}