mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-02 10:21:54 +00:00
Use SmallPtrSet.
llvm-svn: 40560
This commit is contained in:
parent
4a3a018844
commit
a03e82d7ee
@ -14,7 +14,7 @@
|
||||
#ifndef INLINECOST_H
|
||||
#define INLINECOST_H
|
||||
|
||||
#include <set>
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include <map>
|
||||
#include <vector>
|
||||
|
||||
@ -73,7 +73,7 @@ namespace llvm {
|
||||
// getInlineCost - The heuristic used to determine if we should inline the
|
||||
// function call or not.
|
||||
//
|
||||
int getInlineCost(CallSite CS, std::set<const Function *> &NeverInline);
|
||||
int getInlineCost(CallSite CS, SmallPtrSet<const Function *, 16> &NeverInline);
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -23,14 +23,15 @@
|
||||
#include "llvm/Transforms/IPO.h"
|
||||
#include "llvm/Transforms/IPO/InlinerPass.h"
|
||||
#include "llvm/Transforms/Utils/InlineCost.h"
|
||||
#include <set>
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
|
||||
class VISIBILITY_HIDDEN SimpleInliner : public Inliner {
|
||||
std::set<const Function*> NeverInline; // Functions that are never inlined
|
||||
// Functions that are never inlined
|
||||
SmallPtrSet<const Function*, 16> NeverInline;
|
||||
InlineCostAnalyzer CA;
|
||||
public:
|
||||
SimpleInliner() : Inliner(&ID) {}
|
||||
|
@ -23,7 +23,6 @@
|
||||
#include "llvm/Support/Debug.h"
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include <vector>
|
||||
#include <set>
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
@ -65,7 +64,7 @@ namespace llvm {
|
||||
private:
|
||||
TargetData *TD;
|
||||
std::vector<Function *> Functions;
|
||||
std::set<const Function *> NeverInline;
|
||||
SmallPtrSet<const Function *, 16> NeverInline;
|
||||
SmallPtrSet<Function *, 8> DeadFunctions;
|
||||
InlineCostAnalyzer CA;
|
||||
};
|
||||
|
@ -141,7 +141,7 @@ void InlineCostAnalyzer::FunctionInfo::analyzeFunction(Function *F) {
|
||||
// getInlineCost - The heuristic used to determine if we should inline the
|
||||
// function call or not.
|
||||
//
|
||||
int InlineCostAnalyzer::getInlineCost(CallSite CS, std::set<const Function *> &NeverInline) {
|
||||
int InlineCostAnalyzer::getInlineCost(CallSite CS, SmallPtrSet<const Function *, 16> &NeverInline) {
|
||||
Instruction *TheCall = CS.getInstruction();
|
||||
Function *Callee = CS.getCalledFunction();
|
||||
const Function *Caller = TheCall->getParent()->getParent();
|
||||
|
Loading…
x
Reference in New Issue
Block a user