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;
 
