emitIAS for store and indirect calls.

We can't do direct calls via the .long sym hack, since that is
normally for an absolute relocation, but calls are expecting
relative relocations (except for reg/mem forms).

Nop-out the InstFake emitIAS methods. Remove the generic dispatcher
that redirects emitIAS() to emit(), since only branches and labels
are left.

BUG=none
R=stichnot@chromium.org

Review URL: https://codereview.chromium.org/647193003
diff --git a/src/IceInst.h b/src/IceInst.h
index c34e6c9..bbd817b 100644
--- a/src/IceInst.h
+++ b/src/IceInst.h
@@ -730,7 +730,7 @@
     return new (Func->allocateInst<InstFakeDef>()) InstFakeDef(Func, Dest, Src);
   }
   void emit(const Cfg *Func) const override;
-  void emitIAS(const Cfg *Func) const override { emit(Func); }
+  void emitIAS(const Cfg * /* Func */) const override {}
   void dump(const Cfg *Func) const override;
   static bool classof(const Inst *Inst) { return Inst->getKind() == FakeDef; }
 
@@ -753,7 +753,7 @@
     return new (Func->allocateInst<InstFakeUse>()) InstFakeUse(Func, Src);
   }
   void emit(const Cfg *Func) const override;
-  void emitIAS(const Cfg *Func) const override { emit(Func); }
+  void emitIAS(const Cfg * /* Func */) const override {}
   void dump(const Cfg *Func) const override;
   static bool classof(const Inst *Inst) { return Inst->getKind() == FakeUse; }
 
@@ -783,7 +783,7 @@
   }
   const Inst *getLinked() const { return Linked; }
   void emit(const Cfg *Func) const override;
-  void emitIAS(const Cfg *Func) const override { emit(Func); }
+  void emitIAS(const Cfg * /* Func */) const override {}
   void dump(const Cfg *Func) const override;
   static bool classof(const Inst *Inst) { return Inst->getKind() == FakeKill; }
 
@@ -811,7 +811,6 @@
       : Inst(Func, Kind, MaxSrcs, Dest) {
     assert(Kind >= Target);
   }
-  void emitIAS(const Cfg *Func) const override { emit(Func); }
   ~InstTarget() override {}
 };