Re-fix build errors from upgrading to clang 3.9 .

This reverts commit 5526c1718b43d77d90850ec0409a21ecfc975b2c (https://codereview.chromium.org/1778663003) and implements it per jpp's suggestion.

BUG= none
R=jpp@chromium.org

Review URL: https://codereview.chromium.org/1780773003 .
diff --git a/src/IceTargetLoweringX86Base.h b/src/IceTargetLoweringX86Base.h
index 01298eb..48f04ab 100644
--- a/src/IceTargetLoweringX86Base.h
+++ b/src/IceTargetLoweringX86Base.h
@@ -79,10 +79,6 @@
   ~TargetX86Base() override = default;
 
   static void staticInit(GlobalContext *Ctx);
-  static TargetX86Base *create(Cfg *Func) { return new TargetX86Base(Func); }
-  std::unique_ptr<::Ice::Assembler> createAssembler() const override {
-    return nullptr;
-  }
 
   static FixupKind getPcRelFixup() { return PcRelFixup; }
   static FixupKind getAbsFixup() { return AbsFixup; }
@@ -356,17 +352,10 @@
   }
   /// Emit just the call instruction (without argument or return variable
   /// processing), sandboxing if needed.
-  virtual Inst *emitCallToTarget(Operand *CallTarget, Variable *ReturnReg) {
-    (void)CallTarget;
-    (void)ReturnReg;
-    return nullptr;
-  }
+  virtual Inst *emitCallToTarget(Operand *CallTarget, Variable *ReturnReg) = 0;
   /// Materialize the moves needed to return a value of the specified type.
-  virtual Variable *moveReturnValueToRegister(Operand *Value, Type ReturnType) {
-    (void)Value;
-    (void)ReturnType;
-    return nullptr;
-  }
+  virtual Variable *moveReturnValueToRegister(Operand *Value,
+                                              Type ReturnType) = 0;
 
   /// Emit a jump table to the constant pool.
   void emitJumpTable(const Cfg *Func,