[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