diff options
| author | David Goodwin <david_goodwin@apple.com> | 2009-11-13 19:52:48 +0000 |
|---|---|---|
| committer | David Goodwin <david_goodwin@apple.com> | 2009-11-13 19:52:48 +0000 |
| commit | 87d21b92fc42f6b3bd8567a83fc5b5191c1205e5 (patch) | |
| tree | 9379a49fd55d087f15cd2fff180aefc2286bcafd /include | |
| parent | a8173b934fdfdc7a3ca543a0734b7c8fa1969366 (diff) | |
| download | external_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.h | 8 |
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, |
