OSDN Git Service

Add some additional fields to TTI::UnrollingPreferences
authorHal Finkel <hfinkel@anl.gov>
Tue, 1 Apr 2014 18:50:30 +0000 (18:50 +0000)
committerHal Finkel <hfinkel@anl.gov>
Tue, 1 Apr 2014 18:50:30 +0000 (18:50 +0000)
commit0d5c0629bbd49977ed53a093fd96ed3fd2c234f5
treea2f614a932f926fa7fbfb2ced04c2133a3e42905
parenta7a02cb7377a1c0843bee6d42e4d4d8f1dddb2ed
Add some additional fields to TTI::UnrollingPreferences

In preparation for an upcoming commit implementing unrolling preferences for
x86, this adds additional fields to the UnrollingPreferences structure:

 - PartialThreshold and PartialOptSizeThreshold - Like Threshold and
   OptSizeThreshold, but used when not fully unrolling. These are necessary
   because we need different thresholds for full unrolling from those used when
   partially unrolling (the full unrolling thresholds are generally going to be
   larger).

 - MaxCount - A cap on the unrolling factor when partially unrolling. This can
   be used by a target to prevent the unrolled loop from exceeding some
   resource limit independent of the loop size (such as number of branches).

There should be no functionality change for any in-tree targets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205347 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/TargetTransformInfo.h
lib/Transforms/Scalar/LoopUnrollPass.cpp