Iasm and obj lowering for advanced switch lowering.

Jump table emission is delayed until offsets are known. X86 local jumps can be
near or far. Sanboxing is applied to indirect jumps from jump table.

BUG=
R=stichnot@chromium.org, jvoung

Review URL: https://codereview.chromium.org/1257283004.
diff --git a/src/IceTargetLoweringX8664.cpp b/src/IceTargetLoweringX8664.cpp
index f2be0c1..b9bbaba 100644
--- a/src/IceTargetLoweringX8664.cpp
+++ b/src/IceTargetLoweringX8664.cpp
@@ -17,6 +17,13 @@
 
 namespace Ice {
 
+void TargetX8664::emitJumpTable(const Cfg *Func,
+                                const InstJumpTable *JumpTable) const {
+  (void)Func;
+  (void)JumpTable;
+  llvm::report_fatal_error("Not yet implemented");
+}
+
 TargetX8664 *TargetX8664::create(Cfg *) {
   llvm::report_fatal_error("Not yet implemented");
 }
@@ -29,4 +36,8 @@
   llvm::report_fatal_error("Not yet implemented");
 }
 
+void TargetDataX8664::lowerJumpTables() {
+  llvm::report_fatal_error("Not yet implemented");
+}
+
 } // end of namespace Ice