mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
Replace uses of the deprecated std::auto_ptr with OwningPtr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179373 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
71c1b22855
commit
200241e4de
@ -17,6 +17,7 @@
|
||||
#define LLVM_CODEGEN_REGALLOCPBQP_H
|
||||
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/OwningPtr.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
#include "llvm/CodeGen/PBQP/Graph.h"
|
||||
#include "llvm/CodeGen/PBQP/Solution.h"
|
||||
@ -123,11 +124,10 @@ namespace llvm {
|
||||
|
||||
/// Build a PBQP instance to represent the register allocation problem for
|
||||
/// the given MachineFunction.
|
||||
virtual std::auto_ptr<PBQPRAProblem> build(
|
||||
MachineFunction *mf,
|
||||
const LiveIntervals *lis,
|
||||
const MachineLoopInfo *loopInfo,
|
||||
const RegSet &vregs);
|
||||
virtual OwningPtr<PBQPRAProblem> build(MachineFunction *mf,
|
||||
const LiveIntervals *lis,
|
||||
const MachineLoopInfo *loopInfo,
|
||||
const RegSet &vregs);
|
||||
private:
|
||||
|
||||
void addSpillCosts(PBQP::Vector &costVec, PBQP::PBQPNum spillCost);
|
||||
@ -144,11 +144,10 @@ namespace llvm {
|
||||
|
||||
/// Build a PBQP instance to represent the register allocation problem for
|
||||
/// the given MachineFunction.
|
||||
virtual std::auto_ptr<PBQPRAProblem> build(
|
||||
MachineFunction *mf,
|
||||
const LiveIntervals *lis,
|
||||
const MachineLoopInfo *loopInfo,
|
||||
const RegSet &vregs);
|
||||
virtual OwningPtr<PBQPRAProblem> build(MachineFunction *mf,
|
||||
const LiveIntervals *lis,
|
||||
const MachineLoopInfo *loopInfo,
|
||||
const RegSet &vregs);
|
||||
|
||||
private:
|
||||
|
||||
@ -161,7 +160,7 @@ namespace llvm {
|
||||
PBQP::PBQPNum benefit);
|
||||
};
|
||||
|
||||
FunctionPass* createPBQPRegisterAllocator(std::auto_ptr<PBQPBuilder> builder,
|
||||
FunctionPass* createPBQPRegisterAllocator(OwningPtr<PBQPBuilder> builder,
|
||||
char *customPassID=0);
|
||||
}
|
||||
|
||||
|
@ -63,7 +63,7 @@ class RABasic : public MachineFunctionPass, public RegAllocBase
|
||||
MachineFunction *MF;
|
||||
|
||||
// state
|
||||
std::auto_ptr<Spiller> SpillerInstance;
|
||||
OwningPtr<Spiller> SpillerInstance;
|
||||
std::priority_queue<LiveInterval*, std::vector<LiveInterval*>,
|
||||
CompSpillWeight> Queue;
|
||||
|
||||
|
@ -78,7 +78,7 @@ class RAGreedy : public MachineFunctionPass,
|
||||
LiveDebugVariables *DebugVars;
|
||||
|
||||
// state
|
||||
std::auto_ptr<Spiller> SpillerInstance;
|
||||
OwningPtr<Spiller> SpillerInstance;
|
||||
std::priority_queue<std::pair<unsigned, unsigned> > Queue;
|
||||
unsigned NextCascade;
|
||||
|
||||
@ -166,8 +166,8 @@ class RAGreedy : public MachineFunctionPass,
|
||||
};
|
||||
|
||||
// splitting state.
|
||||
std::auto_ptr<SplitAnalysis> SA;
|
||||
std::auto_ptr<SplitEditor> SE;
|
||||
OwningPtr<SplitAnalysis> SA;
|
||||
OwningPtr<SplitEditor> SE;
|
||||
|
||||
/// Cached per-block interference maps
|
||||
InterferenceCache IntfCache;
|
||||
|
@ -89,8 +89,8 @@ public:
|
||||
static char ID;
|
||||
|
||||
/// Construct a PBQP register allocator.
|
||||
RegAllocPBQP(std::auto_ptr<PBQPBuilder> b, char *cPassID=0)
|
||||
: MachineFunctionPass(ID), builder(b), customPassID(cPassID) {
|
||||
RegAllocPBQP(OwningPtr<PBQPBuilder> b, char *cPassID=0)
|
||||
: MachineFunctionPass(ID), builder(b.take()), customPassID(cPassID) {
|
||||
initializeSlotIndexesPass(*PassRegistry::getPassRegistry());
|
||||
initializeLiveIntervalsPass(*PassRegistry::getPassRegistry());
|
||||
initializeCalculateSpillWeightsPass(*PassRegistry::getPassRegistry());
|
||||
@ -121,7 +121,7 @@ private:
|
||||
typedef std::set<unsigned> RegSet;
|
||||
|
||||
|
||||
std::auto_ptr<PBQPBuilder> builder;
|
||||
OwningPtr<PBQPBuilder> builder;
|
||||
|
||||
char *customPassID;
|
||||
|
||||
@ -132,7 +132,7 @@ private:
|
||||
const MachineLoopInfo *loopInfo;
|
||||
MachineRegisterInfo *mri;
|
||||
|
||||
std::auto_ptr<Spiller> spiller;
|
||||
OwningPtr<Spiller> spiller;
|
||||
LiveIntervals *lis;
|
||||
LiveStacks *lss;
|
||||
VirtRegMap *vrm;
|
||||
@ -186,16 +186,16 @@ unsigned PBQPRAProblem::getPRegForOption(unsigned vreg, unsigned option) const {
|
||||
return allowedSet[option - 1];
|
||||
}
|
||||
|
||||
std::auto_ptr<PBQPRAProblem> PBQPBuilder::build(MachineFunction *mf,
|
||||
const LiveIntervals *lis,
|
||||
const MachineLoopInfo *loopInfo,
|
||||
const RegSet &vregs) {
|
||||
OwningPtr<PBQPRAProblem> PBQPBuilder::build(MachineFunction *mf,
|
||||
const LiveIntervals *lis,
|
||||
const MachineLoopInfo *loopInfo,
|
||||
const RegSet &vregs) {
|
||||
|
||||
LiveIntervals *LIS = const_cast<LiveIntervals*>(lis);
|
||||
MachineRegisterInfo *mri = &mf->getRegInfo();
|
||||
const TargetRegisterInfo *tri = mf->getTarget().getRegisterInfo();
|
||||
|
||||
std::auto_ptr<PBQPRAProblem> p(new PBQPRAProblem());
|
||||
OwningPtr<PBQPRAProblem> p(new PBQPRAProblem());
|
||||
PBQP::Graph &g = p->getGraph();
|
||||
RegSet pregs;
|
||||
|
||||
@ -311,13 +311,13 @@ void PBQPBuilder::addInterferenceCosts(
|
||||
}
|
||||
}
|
||||
|
||||
std::auto_ptr<PBQPRAProblem> PBQPBuilderWithCoalescing::build(
|
||||
OwningPtr<PBQPRAProblem> PBQPBuilderWithCoalescing::build(
|
||||
MachineFunction *mf,
|
||||
const LiveIntervals *lis,
|
||||
const MachineLoopInfo *loopInfo,
|
||||
const RegSet &vregs) {
|
||||
|
||||
std::auto_ptr<PBQPRAProblem> p = PBQPBuilder::build(mf, lis, loopInfo, vregs);
|
||||
OwningPtr<PBQPRAProblem> p = PBQPBuilder::build(mf, lis, loopInfo, vregs);
|
||||
PBQP::Graph &g = p->getGraph();
|
||||
|
||||
const TargetMachine &tm = mf->getTarget();
|
||||
@ -584,7 +584,7 @@ bool RegAllocPBQP::runOnMachineFunction(MachineFunction &MF) {
|
||||
while (!pbqpAllocComplete) {
|
||||
DEBUG(dbgs() << " PBQP Regalloc round " << round << ":\n");
|
||||
|
||||
std::auto_ptr<PBQPRAProblem> problem =
|
||||
OwningPtr<PBQPRAProblem> problem =
|
||||
builder->build(mf, lis, loopInfo, vregsToAlloc);
|
||||
|
||||
#ifndef NDEBUG
|
||||
@ -621,18 +621,18 @@ bool RegAllocPBQP::runOnMachineFunction(MachineFunction &MF) {
|
||||
}
|
||||
|
||||
FunctionPass* llvm::createPBQPRegisterAllocator(
|
||||
std::auto_ptr<PBQPBuilder> builder,
|
||||
OwningPtr<PBQPBuilder> builder,
|
||||
char *customPassID) {
|
||||
return new RegAllocPBQP(builder, customPassID);
|
||||
return new RegAllocPBQP(OwningPtr<PBQPBuilder>(builder.take()), customPassID);
|
||||
}
|
||||
|
||||
FunctionPass* llvm::createDefaultPBQPRegisterAllocator() {
|
||||
if (pbqpCoalescing) {
|
||||
return createPBQPRegisterAllocator(
|
||||
std::auto_ptr<PBQPBuilder>(new PBQPBuilderWithCoalescing()));
|
||||
OwningPtr<PBQPBuilder>(new PBQPBuilderWithCoalescing()));
|
||||
} // else
|
||||
return createPBQPRegisterAllocator(
|
||||
std::auto_ptr<PBQPBuilder>(new PBQPBuilder()));
|
||||
OwningPtr<PBQPBuilder>(new PBQPBuilder()));
|
||||
}
|
||||
|
||||
#undef DEBUG_TYPE
|
||||
|
@ -122,7 +122,7 @@ bool BugDriver::addSources(const std::vector<std::string> &Filenames) {
|
||||
outs() << "Read input file : '" << Filenames[0] << "'\n";
|
||||
|
||||
for (unsigned i = 1, e = Filenames.size(); i != e; ++i) {
|
||||
std::auto_ptr<Module> M(ParseInputFile(Filenames[i], Context));
|
||||
OwningPtr<Module> M(ParseInputFile(Filenames[i], Context));
|
||||
if (M.get() == 0) return true;
|
||||
|
||||
outs() << "Linking in input file: '" << Filenames[i] << "'\n";
|
||||
|
@ -200,7 +200,7 @@ int main(int argc, char **argv) {
|
||||
static int compileModule(char **argv, LLVMContext &Context) {
|
||||
// Load the module to be compiled...
|
||||
SMDiagnostic Err;
|
||||
std::auto_ptr<Module> M;
|
||||
OwningPtr<Module> M;
|
||||
Module *mod = 0;
|
||||
Triple TheTriple;
|
||||
|
||||
@ -281,7 +281,7 @@ static int compileModule(char **argv, LLVMContext &Context) {
|
||||
Options.UseInitArray = UseInitArray;
|
||||
Options.SSPBufferSize = SSPBufferSize;
|
||||
|
||||
std::auto_ptr<TargetMachine>
|
||||
OwningPtr<TargetMachine>
|
||||
target(TheTarget->createTargetMachine(TheTriple.getTriple(),
|
||||
MCPU, FeaturesStr, Options,
|
||||
RelocModel, CMModel, OLvl));
|
||||
|
@ -94,7 +94,7 @@ int main(int argc, char **argv) {
|
||||
|
||||
// Parse the file now...
|
||||
SMDiagnostic Err;
|
||||
std::auto_ptr<Module> M(ParseAssemblyFile(InputFilename, Err, Context));
|
||||
OwningPtr<Module> M(ParseAssemblyFile(InputFilename, Err, Context));
|
||||
if (M.get() == 0) {
|
||||
Err.print(argv[0], errs());
|
||||
return 1;
|
||||
|
@ -123,7 +123,7 @@ int main(int argc, char **argv) {
|
||||
cl::ParseCommandLineOptions(argc, argv, "llvm .bc -> .ll disassembler\n");
|
||||
|
||||
std::string ErrorMessage;
|
||||
std::auto_ptr<Module> M;
|
||||
OwningPtr<Module> M;
|
||||
|
||||
// Use the bitcode streaming interface
|
||||
DataStreamer *streamer = getDataFileStreamer(InputFilename, &ErrorMessage);
|
||||
|
@ -100,7 +100,7 @@ int main(int argc, char **argv) {
|
||||
|
||||
// Use lazy loading, since we only care about selected global values.
|
||||
SMDiagnostic Err;
|
||||
std::auto_ptr<Module> M;
|
||||
OwningPtr<Module> M;
|
||||
M.reset(getLazyIRFileModule(InputFilename, Err, Context));
|
||||
|
||||
if (M.get() == 0) {
|
||||
|
@ -53,13 +53,13 @@ DumpAsm("d", cl::desc("Print assembly as linked"), cl::Hidden);
|
||||
// LoadFile - Read the specified bitcode file in and return it. This routine
|
||||
// searches the link path for the specified file to try to find it...
|
||||
//
|
||||
static inline std::auto_ptr<Module> LoadFile(const char *argv0,
|
||||
const std::string &FN,
|
||||
LLVMContext& Context) {
|
||||
static inline OwningPtr<Module> LoadFile(const char *argv0,
|
||||
const std::string &FN,
|
||||
LLVMContext& Context) {
|
||||
sys::Path Filename;
|
||||
if (!Filename.set(FN)) {
|
||||
errs() << "Invalid file name: '" << FN << "'\n";
|
||||
return std::auto_ptr<Module>();
|
||||
return OwningPtr<Module>();
|
||||
}
|
||||
|
||||
SMDiagnostic Err;
|
||||
@ -68,10 +68,10 @@ static inline std::auto_ptr<Module> LoadFile(const char *argv0,
|
||||
|
||||
const std::string &FNStr = Filename.str();
|
||||
Result = ParseIRFile(FNStr, Err, Context);
|
||||
if (Result) return std::auto_ptr<Module>(Result); // Load successful!
|
||||
if (Result) return OwningPtr<Module>(Result); // Load successful!
|
||||
|
||||
Err.print(argv0, errs());
|
||||
return std::auto_ptr<Module>();
|
||||
return OwningPtr<Module>();
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
@ -86,8 +86,8 @@ int main(int argc, char **argv) {
|
||||
unsigned BaseArg = 0;
|
||||
std::string ErrorMessage;
|
||||
|
||||
std::auto_ptr<Module> Composite(LoadFile(argv[0],
|
||||
InputFilenames[BaseArg], Context));
|
||||
OwningPtr<Module> Composite(LoadFile(argv[0],
|
||||
InputFilenames[BaseArg], Context));
|
||||
if (Composite.get() == 0) {
|
||||
errs() << argv[0] << ": error loading file '"
|
||||
<< InputFilenames[BaseArg] << "'\n";
|
||||
@ -95,8 +95,7 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
for (unsigned i = BaseArg+1; i < InputFilenames.size(); ++i) {
|
||||
std::auto_ptr<Module> M(LoadFile(argv[0],
|
||||
InputFilenames[i], Context));
|
||||
OwningPtr<Module> M(LoadFile(argv[0], InputFilenames[i], Context));
|
||||
if (M.get() == 0) {
|
||||
errs() << argv[0] << ": error loading file '" <<InputFilenames[i]<< "'\n";
|
||||
return 1;
|
||||
|
@ -78,7 +78,7 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
std::string err_msg;
|
||||
std::auto_ptr<Archive>
|
||||
OwningPtr<Archive>
|
||||
AutoArchive(Archive::OpenAndLoad(ArchivePath, Context, &err_msg));
|
||||
Archive* TheArchive = AutoArchive.get();
|
||||
if (!TheArchive) {
|
||||
|
@ -589,7 +589,7 @@ int main(int argc, char **argv) {
|
||||
SMDiagnostic Err;
|
||||
|
||||
// Load the input module...
|
||||
std::auto_ptr<Module> M;
|
||||
OwningPtr<Module> M;
|
||||
M.reset(ParseIRFile(InputFilename, Err, Context));
|
||||
|
||||
if (M.get() == 0) {
|
||||
@ -656,7 +656,7 @@ int main(int argc, char **argv) {
|
||||
TargetMachine *Machine = 0;
|
||||
if (ModuleTriple.getArch())
|
||||
Machine = GetTargetMachine(Triple(ModuleTriple));
|
||||
std::auto_ptr<TargetMachine> TM(Machine);
|
||||
OwningPtr<TargetMachine> TM(Machine);
|
||||
|
||||
// Add internal analysis passes from the target machine.
|
||||
if (TM.get())
|
||||
|
Loading…
Reference in New Issue
Block a user