Subzero: Use C++11 member initializers where practical.

Also change the pattern "foo() {}" into "foo() = default;" for ctors and dtors.

Generally avoids initializing unique_ptr<> members to nullptr in a .h file, because that requires knowing the definition of the underlying class which may not be available to all includers.

BUG= none
R=jpp@chromium.org

Review URL: https://codereview.chromium.org/1197223002
diff --git a/src/IceRegAlloc.h b/src/IceRegAlloc.h
index b53a6c9..1658a7d 100644
--- a/src/IceRegAlloc.h
+++ b/src/IceRegAlloc.h
@@ -27,8 +27,7 @@
   LinearScan &operator=(const LinearScan &) = delete;
 
 public:
-  explicit LinearScan(Cfg *Func)
-      : Func(Func), FindPreference(false), FindOverlap(false) {}
+  explicit LinearScan(Cfg *Func) : Func(Func) {}
   void init(RegAllocKind Kind);
   void scan(const llvm::SmallBitVector &RegMask, bool Randomized);
   void dump(Cfg *Func) const;
@@ -58,8 +57,8 @@
   OrderedRanges UnhandledPrecolored;
   UnorderedRanges Active, Inactive, Handled;
   std::vector<InstNumberT> Kills;
-  bool FindPreference;
-  bool FindOverlap;
+  bool FindPreference = false;
+  bool FindOverlap = false;
   // TODO(stichnot): We're not really using FindOverlap yet, but we
   // may want a flavor of register allocation where FindPreference is
   // useful but we didn't want to initialize VMetadata with VMK_All