Subzero: Change llvm::OwningPtr to C++11's std::unique_ptr.
While I'm at it, normalize the #include order:
1. C++ library headers
2. LLVM headers
3. Subzero headers
A blank line between each group. Each group sorted alphabetically, case-insensitive.
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3930
R=jfb@chromium.org, jvoung@chromium.org
Review URL: https://codereview.chromium.org/622443002
diff --git a/src/IceCfg.cpp b/src/IceCfg.cpp
index d2c83ab..b4c7aca 100644
--- a/src/IceCfg.cpp
+++ b/src/IceCfg.cpp
@@ -26,7 +26,7 @@
Cfg::Cfg(GlobalContext *Ctx)
: Ctx(Ctx), FunctionName(""), ReturnType(IceType_void),
IsInternalLinkage(false), HasError(false), ErrorMessage(""), Entry(NULL),
- NextInstNumber(1), Live(NULL),
+ NextInstNumber(1), Live(nullptr),
Target(TargetLowering::createLowering(Ctx->getTargetArch(), this)),
VMetadata(new VariablesMetadata(this)),
TargetAssembler(
diff --git a/src/IceCfg.h b/src/IceCfg.h
index 1de7795..5a4c4a1 100644
--- a/src/IceCfg.h
+++ b/src/IceCfg.h
@@ -15,15 +15,15 @@
#ifndef SUBZERO_SRC_ICECFG_H
#define SUBZERO_SRC_ICECFG_H
-#include "IceDefs.h"
-#include "IceTypes.h"
+#include <memory>
+
+#include "llvm/Support/Allocator.h"
#include "assembler.h"
#include "IceClFlags.h"
+#include "IceDefs.h"
#include "IceGlobalContext.h"
-
-#include "llvm/ADT/OwningPtr.h"
-#include "llvm/Support/Allocator.h"
+#include "IceTypes.h"
namespace Ice {
@@ -172,10 +172,10 @@
VarList Variables;
VarList Args; // subset of Variables, in argument order
VarList ImplicitArgs; // subset of Variables
- llvm::OwningPtr<Liveness> Live;
- llvm::OwningPtr<TargetLowering> Target;
- llvm::OwningPtr<VariablesMetadata> VMetadata;
- llvm::OwningPtr<Assembler> TargetAssembler;
+ std::unique_ptr<Liveness> Live;
+ std::unique_ptr<TargetLowering> Target;
+ std::unique_ptr<VariablesMetadata> VMetadata;
+ std::unique_ptr<Assembler> TargetAssembler;
// CurrentNode is maintained during dumping/emitting just for
// validating Variable::DefNode. Normally, a traversal over
diff --git a/src/IceConverter.cpp b/src/IceConverter.cpp
index 9910f06..9d59c56 100644
--- a/src/IceConverter.cpp
+++ b/src/IceConverter.cpp
@@ -11,6 +11,16 @@
//
//===----------------------------------------------------------------------===//
+#include <iostream>
+
+#include "llvm/IR/Constant.h"
+#include "llvm/IR/Constants.h"
+#include "llvm/IR/DataLayout.h"
+#include "llvm/IR/Instruction.h"
+#include "llvm/IR/Instructions.h"
+#include "llvm/IR/LLVMContext.h"
+#include "llvm/IR/Module.h"
+
#include "IceCfg.h"
#include "IceCfgNode.h"
#include "IceClFlags.h"
@@ -23,16 +33,6 @@
#include "IceTypes.h"
#include "IceTypeConverter.h"
-#include "llvm/IR/Constant.h"
-#include "llvm/IR/Constants.h"
-#include "llvm/IR/DataLayout.h"
-#include "llvm/IR/Instruction.h"
-#include "llvm/IR/Instructions.h"
-#include "llvm/IR/LLVMContext.h"
-#include "llvm/IR/Module.h"
-
-#include <iostream>
-
using namespace llvm;
namespace {
diff --git a/src/IceDefs.h b/src/IceDefs.h
index 68f30c7..2555b20 100644
--- a/src/IceDefs.h
+++ b/src/IceDefs.h
@@ -16,9 +16,8 @@
#ifndef SUBZERO_SRC_ICEDEFS_H
#define SUBZERO_SRC_ICEDEFS_H
-#include <stdint.h> // TODO: <cstdint> with C++11
-
#include <cassert>
+#include <cstdint>
#include <cstdio> // snprintf
#include <functional> // std::less
#include <limits>
diff --git a/src/IceGlobalContext.cpp b/src/IceGlobalContext.cpp
index 4cca6c9..251635f 100644
--- a/src/IceGlobalContext.cpp
+++ b/src/IceGlobalContext.cpp
@@ -15,14 +15,14 @@
#include <ctype.h> // isdigit(), isupper()
#include <locale> // locale
-#include "IceDefs.h"
-#include "IceTypes.h"
#include "IceCfg.h"
#include "IceClFlags.h"
+#include "IceDefs.h"
#include "IceGlobalContext.h"
#include "IceOperand.h"
#include "IceTargetLowering.h"
#include "IceTimerTree.h"
+#include "IceTypes.h"
namespace Ice {
diff --git a/src/IceGlobalContext.h b/src/IceGlobalContext.h
index 3c53773..8dca08f 100644
--- a/src/IceGlobalContext.h
+++ b/src/IceGlobalContext.h
@@ -15,7 +15,8 @@
#ifndef SUBZERO_SRC_ICEGLOBALCONTEXT_H
#define SUBZERO_SRC_ICEGLOBALCONTEXT_H
-#include "llvm/ADT/OwningPtr.h"
+#include <memory>
+
#include "llvm/Support/Allocator.h"
#include "llvm/Support/raw_ostream.h"
@@ -161,7 +162,7 @@
llvm::BumpPtrAllocator Allocator;
VerboseMask VMask;
- llvm::OwningPtr<class ConstantPool> ConstPool;
+ std::unique_ptr<class ConstantPool> ConstPool;
Intrinsics IntrinsicsInfo;
const TargetArch Arch;
const OptLevel Opt;
@@ -171,7 +172,7 @@
RandomNumberGenerator RNG;
CodeStats StatsFunction;
CodeStats StatsCumulative;
- llvm::OwningPtr<class TimerStack> Timers;
+ std::unique_ptr<class TimerStack> Timers;
GlobalContext(const GlobalContext &) LLVM_DELETED_FUNCTION;
GlobalContext &operator=(const GlobalContext &) LLVM_DELETED_FUNCTION;
diff --git a/src/IceLiveness.cpp b/src/IceLiveness.cpp
index e2703c2..9b58b43 100644
--- a/src/IceLiveness.cpp
+++ b/src/IceLiveness.cpp
@@ -19,9 +19,9 @@
//
//===----------------------------------------------------------------------===//
-#include "IceDefs.h"
#include "IceCfg.h"
#include "IceCfgNode.h"
+#include "IceDefs.h"
#include "IceInst.h"
#include "IceLiveness.h"
#include "IceOperand.h"
diff --git a/src/IceRNG.h b/src/IceRNG.h
index 4d6c397..4260b4e 100644
--- a/src/IceRNG.h
+++ b/src/IceRNG.h
@@ -14,7 +14,8 @@
#ifndef SUBZERO_SRC_ICERNG_H
#define SUBZERO_SRC_ICERNG_H
-#include <stdint.h>
+#include <cstdint>
+
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Compiler.h"
diff --git a/src/IceTargetLowering.cpp b/src/IceTargetLowering.cpp
index 76d3473..6dc46b1 100644
--- a/src/IceTargetLowering.cpp
+++ b/src/IceTargetLowering.cpp
@@ -15,6 +15,8 @@
//
//===----------------------------------------------------------------------===//
+#include "llvm/Support/CommandLine.h"
+
#include "assembler_ia32.h"
#include "IceCfg.h" // setError()
#include "IceCfgNode.h"
@@ -23,8 +25,6 @@
#include "IceTargetLowering.h"
#include "IceTargetLoweringX8632.h"
-#include "llvm/Support/CommandLine.h"
-
namespace Ice {
namespace {
diff --git a/src/IceTargetLowering.h b/src/IceTargetLowering.h
index 37e14df..1995124 100644
--- a/src/IceTargetLowering.h
+++ b/src/IceTargetLowering.h
@@ -19,9 +19,8 @@
#define SUBZERO_SRC_ICETARGETLOWERING_H
#include "IceDefs.h"
-#include "IceTypes.h"
-
#include "IceInst.h" // for the names of the Inst subtypes
+#include "IceTypes.h"
namespace Ice {
diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp
index b9d3170..9d9f6dc 100644
--- a/src/IceTargetLoweringX8632.cpp
+++ b/src/IceTargetLoweringX8632.cpp
@@ -15,19 +15,20 @@
//
//===----------------------------------------------------------------------===//
-#include "IceDefs.h"
+#include "llvm/ADT/DenseMap.h"
+#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/MathExtras.h"
+
#include "IceCfg.h"
#include "IceCfgNode.h"
#include "IceClFlags.h"
+#include "IceDefs.h"
#include "IceInstX8632.h"
#include "IceOperand.h"
#include "IceRegistersX8632.h"
#include "IceTargetLoweringX8632.def"
#include "IceTargetLoweringX8632.h"
#include "IceUtils.h"
-#include "llvm/ADT/DenseMap.h"
-#include "llvm/Support/MathExtras.h"
-#include "llvm/Support/CommandLine.h"
namespace Ice {
diff --git a/src/IceTargetLoweringX8632.h b/src/IceTargetLoweringX8632.h
index 1533ae3..37f7fef 100644
--- a/src/IceTargetLoweringX8632.h
+++ b/src/IceTargetLoweringX8632.h
@@ -16,11 +16,11 @@
#ifndef SUBZERO_SRC_ICETARGETLOWERINGX8632_H
#define SUBZERO_SRC_ICETARGETLOWERINGX8632_H
-#include "IceDefs.h"
-#include "IceTargetLowering.h"
#include "assembler_ia32.h"
+#include "IceDefs.h"
#include "IceInstX8632.h"
#include "IceRegistersX8632.h"
+#include "IceTargetLowering.h"
namespace Ice {
diff --git a/src/IceTranslator.cpp b/src/IceTranslator.cpp
index 91dcfd4..9cc97a0 100644
--- a/src/IceTranslator.cpp
+++ b/src/IceTranslator.cpp
@@ -12,16 +12,18 @@
//
//===----------------------------------------------------------------------===//
+#include <iostream>
+#include <memory>
+
+#include "llvm/IR/Constant.h"
+#include "llvm/IR/Constants.h"
+#include "llvm/IR/Module.h"
+
#include "IceCfg.h"
#include "IceClFlags.h"
#include "IceDefs.h"
#include "IceTargetLowering.h"
#include "IceTranslator.h"
-#include "llvm/IR/Module.h"
-#include "llvm/IR/Constant.h"
-#include "llvm/IR/Constants.h"
-
-#include <iostream>
using namespace Ice;
@@ -96,7 +98,7 @@
}
void Translator::convertGlobals(llvm::Module *Mod) {
- llvm::OwningPtr<TargetGlobalInitLowering> GlobalLowering(
+ std::unique_ptr<TargetGlobalInitLowering> GlobalLowering(
TargetGlobalInitLowering::createLowering(Ctx->getTargetArch(), Ctx));
for (llvm::Module::const_global_iterator I = Mod->global_begin(),
E = Mod->global_end();
diff --git a/src/IceTranslator.h b/src/IceTranslator.h
index b5adbdc..9480fb0 100644
--- a/src/IceTranslator.h
+++ b/src/IceTranslator.h
@@ -15,7 +15,7 @@
#ifndef SUBZERO_SRC_ICETRANSLATOR_H
#define SUBZERO_SRC_ICETRANSLATOR_H
-#include "llvm/ADT/OwningPtr.h"
+#include <memory>
namespace llvm {
class Module;
@@ -75,7 +75,7 @@
// object, change all Constant related functions to use
// GlobalContext instead of Cfg, and then make emitConstantPool use
// that.
- llvm::OwningPtr<Cfg> Func;
+ std::unique_ptr<Cfg> Func;
private:
Translator(const Translator &) LLVM_DELETED_FUNCTION;
diff --git a/src/IceTypeConverter.cpp b/src/IceTypeConverter.cpp
index 078c664b..6e8138f 100644
--- a/src/IceTypeConverter.cpp
+++ b/src/IceTypeConverter.cpp
@@ -12,9 +12,10 @@
//
//===----------------------------------------------------------------------===//
-#include "IceTypeConverter.h"
#include "llvm/Support/raw_ostream.h"
+#include "IceTypeConverter.h"
+
namespace Ice {
TypeConverter::TypeConverter(llvm::LLVMContext &Context) {
diff --git a/src/IceTypeConverter.h b/src/IceTypeConverter.h
index f436e43..089c923 100644
--- a/src/IceTypeConverter.h
+++ b/src/IceTypeConverter.h
@@ -15,9 +15,10 @@
#ifndef SUBZERO_SRC_ICETYPECONVERTER_H
#define SUBZERO_SRC_ICETYPECONVERTER_H
+#include "llvm/IR/DerivedTypes.h"
+
#include "IceDefs.h"
#include "IceTypes.h"
-#include "llvm/IR/DerivedTypes.h"
namespace llvm {
class LLVMContext;
diff --git a/src/PNaClTranslator.cpp b/src/PNaClTranslator.cpp
index e1925df..c160daa 100644
--- a/src/PNaClTranslator.cpp
+++ b/src/PNaClTranslator.cpp
@@ -12,14 +12,10 @@
//
//===----------------------------------------------------------------------===//
-#include "IceCfg.h"
-#include "IceCfgNode.h"
-#include "IceClFlags.h"
-#include "IceDefs.h"
-#include "IceInst.h"
-#include "IceOperand.h"
-#include "IceTypeConverter.h"
-#include "PNaClTranslator.h"
+#include <cassert>
+#include <memory>
+#include <vector>
+
#include "llvm/Analysis/NaCl/PNaClABIProps.h"
#include "llvm/Bitcode/NaCl/NaClBitcodeDecoders.h"
#include "llvm/Bitcode/NaCl/NaClBitcodeHeader.h"
@@ -34,8 +30,14 @@
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/ValueHandle.h"
-#include <vector>
-#include <cassert>
+#include "IceCfg.h"
+#include "IceCfgNode.h"
+#include "IceClFlags.h"
+#include "IceDefs.h"
+#include "IceInst.h"
+#include "IceOperand.h"
+#include "IceTypeConverter.h"
+#include "PNaClTranslator.h"
using namespace llvm;
@@ -252,7 +254,7 @@
// The translator associated with the parser.
Ice::Translator &Translator;
// The parsed module.
- OwningPtr<Module> Mod;
+ std::unique_ptr<Module> Mod;
// The data layout to use.
DataLayout DL;
// The bitcode header.
diff --git a/src/PNaClTranslator.h b/src/PNaClTranslator.h
index 87284fa..464d65b 100644
--- a/src/PNaClTranslator.h
+++ b/src/PNaClTranslator.h
@@ -15,9 +15,10 @@
#ifndef SUBZERO_SRC_PNACLTRANSLATOR_H
#define SUBZERO_SRC_PNACLTRANSLATOR_H
-#include "IceTranslator.h"
#include <string>
+#include "IceTranslator.h"
+
namespace Ice {
class PNaClTranslator : public Translator {
diff --git a/src/llvm2ice.cpp b/src/llvm2ice.cpp
index 7f1fc38..f95c02e 100644
--- a/src/llvm2ice.cpp
+++ b/src/llvm2ice.cpp
@@ -13,10 +13,8 @@
//
//===----------------------------------------------------------------------===//
-#include "IceCfg.h"
-#include "IceClFlags.h"
-#include "IceConverter.h"
-#include "PNaClTranslator.h"
+#include <fstream>
+#include <iostream>
#include "llvm/IR/LLVMContext.h"
#include "llvm/IRReader/IRReader.h"
@@ -24,8 +22,10 @@
#include "llvm/Support/raw_os_ostream.h"
#include "llvm/Support/SourceMgr.h"
-#include <fstream>
-#include <iostream>
+#include "IceCfg.h"
+#include "IceClFlags.h"
+#include "IceConverter.h"
+#include "PNaClTranslator.h"
using namespace llvm;