[llvm] r333895 - [mips] Restore the availablity of trap for microMIPS

Simon Dardis via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 4 05:50:33 PDT 2018


Author: sdardis
Date: Mon Jun  4 05:50:32 2018
New Revision: 333895

URL: http://llvm.org/viewvc/llvm-project?rev=333895&view=rev
Log:
[mips] Restore the availablity of trap for microMIPS

Reviewers: smaksimovic, atanasyan, abeserminji

Differential Revision: https://reviews.llvm.org/D47584

Added:
    llvm/trunk/test/CodeGen/Mips/llvm-ir/trap.ll
Modified:
    llvm/trunk/lib/Target/Mips/MicroMipsInstrInfo.td

Modified: llvm/trunk/lib/Target/Mips/MicroMipsInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MicroMipsInstrInfo.td?rev=333895&r1=333894&r2=333895&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/MicroMipsInstrInfo.td (original)
+++ llvm/trunk/lib/Target/Mips/MicroMipsInstrInfo.td Mon Jun  4 05:50:32 2018
@@ -1024,6 +1024,7 @@ let DecoderNamespace = "MicroMips" in {
                    ISA_MICROMIPS;
   def DI_MM      : MMRel, DEI_FT<"di", GPR32Opnd, II_DI>, EI_FM_MM<0x11d>,
                    ISA_MICROMIPS;
+  def TRAP_MM    : TrapBase<BREAK_MM>, ISA_MICROMIPS;
 
   /// Trap Instructions
   def TEQ_MM  : MMRel, TEQ_FT<"teq", GPR32Opnd, uimm4, II_TEQ>, TEQ_FM_MM<0x0>,

Added: llvm/trunk/test/CodeGen/Mips/llvm-ir/trap.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Mips/llvm-ir/trap.ll?rev=333895&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/Mips/llvm-ir/trap.ll (added)
+++ llvm/trunk/test/CodeGen/Mips/llvm-ir/trap.ll Mon Jun  4 05:50:32 2018
@@ -0,0 +1,34 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc -mtriple=mips-mti-linux-gnu < %s --show-mc-encoding | FileCheck %s --check-prefix=MTI
+; RUN: llc -mtriple=mips-mti-linux-gnu -mattr=+micromips < %s --show-mc-encoding | FileCheck %s --check-prefix=MM
+; RUN: llc -mtriple=mips-img-linux-gnu < %s --show-mc-encoding | FileCheck %s --check-prefix=IMG
+; RUN: llc -mtriple=mips-img-linux-gnu -mattr=+micromips < %s --show-mc-encoding | FileCheck %s --check-prefix=MMR6
+
+define void @test() noreturn nounwind  {
+; MTI-LABEL: test:
+; MTI:       # %bb.0: # %entry
+; MTI-NEXT:    break # encoding: [0x00,0x00,0x00,0x0d]
+; MTI-NEXT:    jr $ra # encoding: [0x03,0xe0,0x00,0x08]
+; MTI-NEXT:    nop # encoding: [0x00,0x00,0x00,0x00]
+;
+; MM-LABEL: test:
+; MM:       # %bb.0: # %entry
+; MM-NEXT:    break # encoding: [0x00,0x00,0x00,0x07]
+; MM-NEXT:    jrc $ra # encoding: [0x45,0xbf]
+;
+; IMG-LABEL: test:
+; IMG:       # %bb.0: # %entry
+; IMG-NEXT:    break # encoding: [0x00,0x00,0x00,0x0d]
+; IMG-NEXT:    jr $ra # encoding: [0x03,0xe0,0x00,0x08]
+; IMG-NEXT:    nop # encoding: [0x00,0x00,0x00,0x00]
+;
+; MMR6-LABEL: test:
+; MMR6:       # %bb.0: # %entry
+; MMR6-NEXT:    break # encoding: [0x00,0x00,0x00,0x07]
+; MMR6-NEXT:    jrc $ra # encoding: [0x45,0xbf]
+entry:
+  tail call void @llvm.trap( )
+  ret void
+}
+
+declare void @llvm.trap() nounwind




More information about the llvm-commits mailing list