[llvm] r277225 - GlobalISel: translate "unreachable" (into nothing)

Tim Northover via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 29 15:41:56 PDT 2016


Author: tnorthover
Date: Fri Jul 29 17:41:55 2016
New Revision: 277225

URL: http://llvm.org/viewvc/llvm-project?rev=277225&view=rev
Log:
GlobalISel: translate "unreachable" (into nothing)

Easiest instruction ever!

Modified:
    llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp
    llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll

Modified: llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp?rev=277225&r1=277224&r2=277225&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp (original)
+++ llvm/trunk/lib/CodeGen/GlobalISel/IRTranslator.cpp Fri Jul 29 17:41:55 2016
@@ -269,6 +269,9 @@ bool IRTranslator::translate(const Instr
   case Instruction::Alloca:
     return translateStaticAlloca(cast<AllocaInst>(Inst));
 
+  case Instruction::Unreachable:
+    return true;
+
   default:
     llvm_unreachable("Opcode not supported");
   }

Modified: llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll?rev=277225&r1=277224&r2=277225&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll Fri Jul 29 17:41:55 2016
@@ -271,3 +271,13 @@ define void @intrinsics(i32 %cur, i32 %b
   call void @llvm.aarch64.neon.st2.v8i8.p0i8(<8 x i8> %vec, <8 x i8> %vec, i8* %ptr)
   ret void
 }
+
+
+; CHECK-LABEL: name: unreachable
+; CHECK: G_ADD
+; CHECK-NEXT: {{^$}}
+; CHECK-NEXT: ...
+define void @unreachable(i32 %a) {
+  %sum = add i32 %a, %a
+  unreachable
+}




More information about the llvm-commits mailing list