diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td
index dd64f72..c09c8a8 100644
--- a/lib/Target/ARM/ARMInstrInfo.td
+++ b/lib/Target/ARM/ARMInstrInfo.td
@@ -1040,33 +1040,26 @@
               D16, D17, D18, D19, D20, D21, D22, D23, D24, D25, D26,
               D27, D28, D29, D30, D31, PC],
       Uses = [SP] in {
-  def TCRETURNdi : AInoP<(outs), (ins i32imm:$dst, variable_ops),
-                     Pseudo, IIC_Br,
-                     "@TC_RETURN","\t$dst", []>, Requires<[IsDarwin]>;
+    def TCRETURNdi : AInoP<(outs), (ins i32imm:$dst, variable_ops),
+                       Pseudo, IIC_Br,
+                       "@TC_RETURN","\t$dst", []>, Requires<[IsDarwin]>;
 
-  def TCRETURNri : AInoP<(outs), (ins tcGPR:$dst, variable_ops),
-                     Pseudo, IIC_Br,
-                     "@TC_RETURN","\t$dst", []>, Requires<[IsDarwin]>;
+    def TCRETURNri : AInoP<(outs), (ins tcGPR:$dst, variable_ops),
+                       Pseudo, IIC_Br,
+                       "@TC_RETURN","\t$dst", []>, Requires<[IsDarwin]>;
 
-  def TAILJMPd : ABXI<0b1010, (outs), (ins brtarget:$dst, variable_ops),
-                 IIC_Br, "b.w\t$dst  @ TAILCALL",
-                 []>, Requires<[IsDarwin]>;
+    def TAILJMPd : ABXI<0b1010, (outs), (ins brtarget:$dst, variable_ops),
+                   IIC_Br, "b.w\t$dst  @ TAILCALL",
+                   []>, Requires<[IsDarwin]>;
 
-  def TAILJMPr : AXI<(outs), (ins tcGPR:$dst, variable_ops),
-                   BrMiscFrm, IIC_Br, "bx\t$dst  @ TAILCALL",
-                 []>, Requires<[IsDarwin]> {
-                 let Inst{7-4}   = 0b0001;
-                 let Inst{19-8}  = 0b111111111111;
-                 let Inst{27-20} = 0b00010010;
-                 let Inst{31-28} = 0b1110;
-  }
-
-  // FIXME: This is a hack so that MCInst lowering can preserve the TAILCALL
-  // marker on instructions, while still being able to relax.
-//  let isCodeGenOnly = 1 in {
-//    def TAILJMP_1 : Ii8PCRel<0xEB, RawFrm, (outs), (ins brtarget8:$dst),
-//                         "jmp\t$dst  @ TAILCALL", []>,
-//                         Requires<[IsARM, IsDarwin]>;
+    def TAILJMPr : AXI<(outs), (ins tcGPR:$dst, variable_ops),
+                     BrMiscFrm, IIC_Br, "bx\t$dst  @ TAILCALL",
+                   []>, Requires<[IsDarwin]> {
+                   let Inst{7-4}   = 0b0001;
+                   let Inst{19-8}  = 0b111111111111;
+                   let Inst{27-20} = 0b00010010;
+                   let Inst{31-28} = 0b1110;
+    }
   }
 
   // Non-Darwin versions (the difference is R9).
@@ -1075,37 +1068,30 @@
               D16, D17, D18, D19, D20, D21, D22, D23, D24, D25, D26,
               D27, D28, D29, D30, D31, PC],
       Uses = [SP] in {
-  def TCRETURNdiND : AInoP<(outs), (ins i32imm:$dst, variable_ops),
-                     Pseudo, IIC_Br,
-                     "@TC_RETURN","\t$dst", []>, Requires<[IsNotDarwin]>;
+    def TCRETURNdiND : AInoP<(outs), (ins i32imm:$dst, variable_ops),
+                       Pseudo, IIC_Br,
+                       "@TC_RETURN","\t$dst", []>, Requires<[IsNotDarwin]>;
 
-  def TCRETURNriND : AInoP<(outs), (ins tGPR:$dst, variable_ops),
-                     Pseudo, IIC_Br,
-                     "@TC_RETURN","\t$dst", []>, Requires<[IsNotDarwin]>;
+    def TCRETURNriND : AInoP<(outs), (ins tGPR:$dst, variable_ops),
+                       Pseudo, IIC_Br,
+                       "@TC_RETURN","\t$dst", []>, Requires<[IsNotDarwin]>;
 
-  def TAILJMPdND : ABXI<0b1010, (outs), (ins brtarget:$dst, variable_ops),
-                 IIC_Br, "b\t$dst  @ TAILCALL",
-                 []>, Requires<[IsARM, IsNotDarwin]>;
+    def TAILJMPdND : ABXI<0b1010, (outs), (ins brtarget:$dst, variable_ops),
+                   IIC_Br, "b\t$dst  @ TAILCALL",
+                   []>, Requires<[IsARM, IsNotDarwin]>;
 
-  def TAILJMPdNDt : ABXI<0b1010, (outs), (ins brtarget:$dst, variable_ops),
-                 IIC_Br, "b.w\t$dst  @ TAILCALL",
-                 []>, Requires<[IsThumb, IsNotDarwin]>;
+    def TAILJMPdNDt : ABXI<0b1010, (outs), (ins brtarget:$dst, variable_ops),
+                   IIC_Br, "b.w\t$dst  @ TAILCALL",
+                   []>, Requires<[IsThumb, IsNotDarwin]>;
 
-  def TAILJMPrND : AXI<(outs), (ins tGPR:$dst, variable_ops),
-                   BrMiscFrm, IIC_Br, "bx\t$dst  @ TAILCALL",
-                 []>, Requires<[IsNotDarwin]> {
-                 let Inst{7-4}   = 0b0001;
-                 let Inst{19-8}  = 0b111111111111;
-                 let Inst{27-20} = 0b00010010;
-                 let Inst{31-28} = 0b1110;
-  }
-
-  // FIXME: This is a hack so that MCInst lowering can preserve the TAILCALL
-  // marker on instructions, while still being able to relax.
-//  let isCodeGenOnly = 1 in {
-//    def TAILJMP_1ND : Ii8PCRel<0xEB, RawFrm, (outs), (ins brtarget8:$dst),
-//                         "jmp\t$dst  @ TAILCALL", []>,
-//                         Requires<[IsARM, IsNotDarwin]>;
+    def TAILJMPrND : AXI<(outs), (ins tGPR:$dst, variable_ops),
+                     BrMiscFrm, IIC_Br, "bx\t$dst  @ TAILCALL",
+                   []>, Requires<[IsNotDarwin]> {
+                   let Inst{7-4}   = 0b0001;
+                   let Inst{19-8}  = 0b111111111111;
+                   let Inst{27-20} = 0b00010010;
+                   let Inst{31-28} = 0b1110;
+    }
   }
 }
 
