reduce header #include'age

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80204 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-08-27 04:32:07 +00:00
parent 8f2718fbef
commit 12f0babca4
3 changed files with 15 additions and 11 deletions

View File

@ -14,16 +14,17 @@
//
//===----------------------------------------------------------------------===//
#ifndef INLINER_H
#define INLINER_H
#ifndef LLVM_TRANSFORMS_IPO_INLINERPASS_H
#define LLVM_TRANSFORMS_IPO_INLINERPASS_H
#include "llvm/CallGraphSCCPass.h"
#include "llvm/Transforms/Utils/InlineCost.h"
namespace llvm {
class CallSite;
class TargetData;
class InlineCost;
template<class PtrType, unsigned SmallSize>
class SmallPtrSet;
/// Inliner - This class contains all of the helper code which is used to
/// perform the inlining operations that do not depend on the policy.
@ -45,11 +46,6 @@ struct Inliner : public CallGraphSCCPass {
// processing to avoid breaking the SCC traversal.
virtual bool doFinalization(CallGraph &CG);
// InlineCallIfPossible
bool InlineCallIfPossible(CallSite CS, CallGraph &CG,
const SmallPtrSet<Function*, 8> &SCCFunctions,
const TargetData *TD);
/// This method returns the value specified by the -inline-threshold value,
/// specified on the command line. This is typically not directly needed.
///
@ -83,6 +79,10 @@ private:
/// shouldInline - Return true if the inliner should attempt to
/// inline at the given CallSite.
bool shouldInline(CallSite CS);
bool InlineCallIfPossible(CallSite CS, CallGraph &CG,
const SmallPtrSet<Function*, 8> &SCCFunctions,
const TargetData *TD);
};
} // End llvm namespace

View File

@ -14,7 +14,6 @@
#ifndef LLVM_TRANSFORMS_UTILS_INLINECOST_H
#define LLVM_TRANSFORMS_UTILS_INLINECOST_H
#include "llvm/ADT/SmallPtrSet.h"
#include <cassert>
#include <climits>
#include <map>
@ -25,6 +24,8 @@ namespace llvm {
class Value;
class Function;
class CallSite;
template<class PtrType, unsigned SmallSize>
class SmallPtrSet;
/// InlineCost - Represent the cost of inlining a function. This
/// supports special values for functions which should "always" or

View File

@ -21,10 +21,12 @@
#include "llvm/Support/CallSite.h"
#include "llvm/Target/TargetData.h"
#include "llvm/Transforms/IPO/InlinerPass.h"
#include "llvm/Transforms/Utils/InlineCost.h"
#include "llvm/Transforms/Utils/Cloning.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/Statistic.h"
#include <set>
using namespace llvm;
@ -57,7 +59,8 @@ bool Inliner::InlineCallIfPossible(CallSite CS, CallGraph &CG,
Function *Callee = CS.getCalledFunction();
Function *Caller = CS.getCaller();
if (!InlineFunction(CS, &CG, TD)) return false;
if (!InlineFunction(CS, &CG, TD))
return false;
// If the inlined function had a higher stack protection level than the
// calling function, then bump up the caller's stack protection level.