[llvm-branch-commits] [llvm-branch] r103669 - in /llvm/branches/Apple/Hermes: ./ lib/Target/ARM/ARMISelLowering.cpp lib/Target/ARM/ARMInstrFormats.td lib/Target/ARM/ARMInstrInfo.td lib/Target/ARM/ARMInstrThumb.td test/CodeGen/ARM/trap.ll test/CodeGen/Thumb/trap.ll

Bob Wilson bob.wilson at apple.com
Wed May 12 16:25:06 PDT 2010


Author: bwilson
Date: Wed May 12 18:25:05 2010
New Revision: 103669

URL: http://llvm.org/viewvc/llvm-project?rev=103669&view=rev
Log:
--- Merging r103459 into '.':
A    test/CodeGen/ARM/trap.ll
A    test/CodeGen/Thumb/trap.ll
U    lib/Target/ARM/ARMInstrInfo.td
U    lib/Target/ARM/ARMISelLowering.cpp
U    lib/Target/ARM/ARMInstrThumb.td
--- Merging r96032 into 'lib/Target/ARM/ARMInstrFormats.td':
U    lib/Target/ARM/ARMInstrFormats.td

Added:
    llvm/branches/Apple/Hermes/test/CodeGen/ARM/trap.ll
      - copied unchanged from r103459, llvm/trunk/test/CodeGen/ARM/trap.ll
    llvm/branches/Apple/Hermes/test/CodeGen/Thumb/trap.ll
      - copied unchanged from r103459, llvm/trunk/test/CodeGen/Thumb/trap.ll
Modified:
    llvm/branches/Apple/Hermes/   (props changed)
    llvm/branches/Apple/Hermes/lib/Target/ARM/ARMISelLowering.cpp
    llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrFormats.td   (contents, props changed)
    llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrInfo.td
    llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrThumb.td

Propchange: llvm/branches/Apple/Hermes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed May 12 18:25:05 2010
@@ -1 +1 @@
-/llvm/trunk:96521,96525,96572,96621,96775,96825,96827,96990,97025,97065,97071,97538,97707,97757,97782,97797,98210,98270,98395,98398,98402,98409,98416,98427,98561,98586,98845,98977,99043,99630,99678,100568,100892,101181,101282,101303,101383,101615,102396,102526
+/llvm/trunk:96521,96525,96572,96621,96775,96825,96827,96990,97025,97065,97071,97538,97707,97757,97782,97797,98210,98270,98395,98398,98402,98409,98416,98427,98561,98586,98845,98977,99043,99630,99678,100568,100892,101181,101282,101303,101383,101615,102396,102526,103459

Modified: llvm/branches/Apple/Hermes/lib/Target/ARM/ARMISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/ARM/ARMISelLowering.cpp?rev=103669&r1=103668&r2=103669&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/ARM/ARMISelLowering.cpp (original)
+++ llvm/branches/Apple/Hermes/lib/Target/ARM/ARMISelLowering.cpp Wed May 12 18:25:05 2010
@@ -371,6 +371,8 @@
   setOperationAction(ISD::GlobalTLSAddress, MVT::i32, Custom);
   setOperationAction(ISD::BlockAddress, MVT::i32, Custom);
 
+  setOperationAction(ISD::TRAP, MVT::Other, Legal);
+
   // Use the default implementation.
   setOperationAction(ISD::VASTART,            MVT::Other, Custom);
   setOperationAction(ISD::VAARG,              MVT::Other, Expand);

Modified: llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrFormats.td
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrFormats.td?rev=103669&r1=103668&r2=103669&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrFormats.td (original)
+++ llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrFormats.td Wed May 12 18:25:05 2010
@@ -56,6 +56,9 @@
 def NEONSetLnFrm  : Format<26>;
 def NEONDupFrm    : Format<27>;
 
+def MiscFrm       : Format<28>;
+def ThumbMiscFrm  : Format<29>;
+
 // Misc flags.
 
 // the instruction has a Rn register operand.

Propchange: llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrFormats.td
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed May 12 18:25:05 2010
@@ -0,0 +1 @@
+/llvm/trunk/lib/Target/ARM/ARMInstrFormats.td:96032,96521,96525,96572,96621,96775,96825,96827,96990,97025,97065,97071,97538,97707,97757,97782,97797,98210,98270,98395,98398,98402,98409,98416,98427,98561,98586,98845,98977,99043,99630,99678,100568,100892,101181,101282,101303,101383,101615,102526

Modified: llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrInfo.td?rev=103669&r1=103668&r2=103669&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrInfo.td (original)
+++ llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrInfo.td Wed May 12 18:25:05 2010
@@ -610,6 +610,16 @@
            [(ARMcallseq_start timm:$amt)]>;
 }
 
+// A5.4 Permanently UNDEFINED instructions.
+let isBarrier = 1, isTerminator = 1 in
+def TRAP : AXI<(outs), (ins), MiscFrm, NoItinerary, "trap", [(trap)]>,
+           Requires<[IsARM]> {
+  let Inst{27-25} = 0b011;
+  let Inst{24-20} = 0b11111;
+  let Inst{7-5} = 0b111;
+  let Inst{4} = 0b1;
+}
+
 // Address computation and loads and stores in PIC mode.
 let isNotDuplicable = 1 in {
 def PICADD : AXI1<0b0100, (outs GPR:$dst), (ins GPR:$a, pclabel:$cp, pred:$p),

Modified: llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrThumb.td
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrThumb.td?rev=103669&r1=103668&r2=103669&view=diff
==============================================================================
--- llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrThumb.td (original)
+++ llvm/branches/Apple/Hermes/lib/Target/ARM/ARMInstrThumb.td Wed May 12 18:25:05 2010
@@ -335,6 +335,14 @@
               T1Misc<{1,0,?,1,?,?,?}>;
 }
 
+// A8.6.16 B: Encoding T1
+// If Inst{11-8} == 0b1110 then UNDEFINED
+let isBarrier = 1, isTerminator = 1 in
+def tTRAP : TI<(outs), (ins), IIC_Br, "trap", [(trap)]>, Encoding16 {
+  let Inst{15-12} = 0b1101;
+  let Inst{11-8} = 0b1110;
+}
+
 //===----------------------------------------------------------------------===//
 //  Load Store Instructions.
 //





More information about the llvm-branch-commits mailing list