diff options
author | Eric Christopher <echristo@gmail.com> | 2014-09-18 00:34:14 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gmail.com> | 2014-09-18 00:34:14 +0000 |
commit | d85ffb1fc01281f0a3a3928a7207ddda991500c2 (patch) | |
tree | 724681bb44c4de046085bf677c1480db0700ba53 /llvm/lib/CodeGen/BasicTargetTransformInfo.cpp | |
parent | 3ab9ada59c45ef2b75b9bfb4f1c859f54055a3d0 (diff) | |
download | bcm5719-llvm-d85ffb1fc01281f0a3a3928a7207ddda991500c2.tar.gz bcm5719-llvm-d85ffb1fc01281f0a3a3928a7207ddda991500c2.zip |
Add a new pass FunctionTargetTransformInfo. This pass serves as a
shim between the TargetTransformInfo immutable pass and the Subtarget
via the TargetMachine and Function. Migrate a single call from
BasicTargetTransformInfo as an example and provide shims where TargetMachine
begins taking a Function to determine the subtarget.
No functional change.
llvm-svn: 218004
Diffstat (limited to 'llvm/lib/CodeGen/BasicTargetTransformInfo.cpp')
-rw-r--r-- | llvm/lib/CodeGen/BasicTargetTransformInfo.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp b/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp index e79f458efbf..9a3e296c324 100644 --- a/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp +++ b/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp @@ -92,7 +92,7 @@ public: unsigned getJumpBufSize() const override; bool shouldBuildLookupTables() const override; bool haveFastSqrt(Type *Ty) const override; - void getUnrollingPreferences(Loop *L, + void getUnrollingPreferences(const Function *F, Loop *L, UnrollingPreferences &UP) const override; /// @} @@ -199,7 +199,7 @@ bool BasicTTI::haveFastSqrt(Type *Ty) const { return TLI->isTypeLegal(VT) && TLI->isOperationLegalOrCustom(ISD::FSQRT, VT); } -void BasicTTI::getUnrollingPreferences(Loop *L, +void BasicTTI::getUnrollingPreferences(const Function *F, Loop *L, UnrollingPreferences &UP) const { // This unrolling functionality is target independent, but to provide some // motivation for its intended use, for x86: @@ -225,7 +225,7 @@ void BasicTTI::getUnrollingPreferences(Loop *L, // until someone finds a case where it matters in practice. unsigned MaxOps; - const TargetSubtargetInfo *ST = &TM->getSubtarget<TargetSubtargetInfo>(); + const TargetSubtargetInfo *ST = &TM->getSubtarget<TargetSubtargetInfo>(F); if (PartialUnrollingThreshold.getNumOccurrences() > 0) MaxOps = PartialUnrollingThreshold; else if (ST->getSchedModel().LoopMicroOpBufferSize > 0) |