aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid Goodwin <david_goodwin@apple.com>2009-11-13 19:52:48 +0000
committerDavid Goodwin <david_goodwin@apple.com>2009-11-13 19:52:48 +0000
commit87d21b92fc42f6b3bd8567a83fc5b5191c1205e5 (patch)
tree9379a49fd55d087f15cd2fff180aefc2286bcafd /include
parenta8173b934fdfdc7a3ca543a0734b7c8fa1969366 (diff)
downloadexternal_llvm-87d21b92fc42f6b3bd8567a83fc5b5191c1205e5.zip
external_llvm-87d21b92fc42f6b3bd8567a83fc5b5191c1205e5.tar.gz
external_llvm-87d21b92fc42f6b3bd8567a83fc5b5191c1205e5.tar.bz2
Allow target to specify regclass for which antideps will only be broken along the critical path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88682 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Target/TargetSubtarget.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/llvm/Target/TargetSubtarget.h b/include/llvm/Target/TargetSubtarget.h
index f16c9e4..22b09ba 100644
--- a/include/llvm/Target/TargetSubtarget.h
+++ b/include/llvm/Target/TargetSubtarget.h
@@ -38,7 +38,7 @@ public:
// AntiDepBreakMode - Type of anti-dependence breaking that should
// be performed before post-RA scheduling.
typedef enum { ANTIDEP_NONE, ANTIDEP_CRITICAL, ANTIDEP_ALL } AntiDepBreakMode;
- typedef SmallVectorImpl<TargetRegisterClass*> ExcludedRCVector;
+ typedef SmallVectorImpl<TargetRegisterClass*> RegClassVector;
virtual ~TargetSubtarget();
@@ -50,10 +50,12 @@ public:
// enablePostRAScheduler - If the target can benefit from post-regalloc
// scheduling and the specified optimization level meets the requirement
- // return true to enable post-register-allocation scheduling.
+ // return true to enable post-register-allocation scheduling. In
+ // CriticalPathRCs return any register classes that should only be broken
+ // if on the critical path.
virtual bool enablePostRAScheduler(CodeGenOpt::Level OptLevel,
AntiDepBreakMode& Mode,
- ExcludedRCVector& ExcludedRCs) const;
+ RegClassVector& CriticalPathRCs) const;
// adjustSchedDependency - Perform target specific adjustments to
// the latency of a schedule dependency.
virtual void adjustSchedDependency(SUnit *def, SUnit *use,