#include "llvm/CallGraphSCCPass.h"
#include "llvm/Transforms/Utils/InlineCost.h"
#include "llvm/Target/TargetData.h"
-#include <set>
namespace llvm {
// InlineCallIfPossible
bool InlineCallIfPossible(CallSite CS, CallGraph &CG,
- const std::set<Function*> &SCCFunctions,
+ const SmallPtrSet<Function*, 8> &SCCFunctions,
const TargetData &TD);
/// This method returns the value specified by the -inline-threshold value,
// InlineCallIfPossible - If it is possible to inline the specified call site,
// do so and update the CallGraph for this operation.
bool Inliner::InlineCallIfPossible(CallSite CS, CallGraph &CG,
- const std::set<Function*> &SCCFunctions,
+ const SmallPtrSet<Function*, 8> &SCCFunctions,
const TargetData &TD) {
Function *Callee = CS.getCalledFunction();
Function *Caller = CS.getCaller();
CallGraph &CG = getAnalysis<CallGraph>();
TargetData &TD = getAnalysis<TargetData>();
- std::set<Function*> SCCFunctions;
+ SmallPtrSet<Function*, 8> SCCFunctions;
DOUT << "Inliner visiting SCC:";
for (unsigned i = 0, e = SCC.size(); i != e; ++i) {
Function *F = SCC[i]->getFunction();