diff options
| author | Tim Northover <tnorthover@apple.com> | 2016-07-29 22:41:55 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2016-07-29 22:41:55 +0000 |
| commit | 5fc93b75d941972e7879840ece9bac4bf49688f1 (patch) | |
| tree | 60bd20e0b3f13357d5cc63a1825a64df593c3342 /llvm | |
| parent | 5fb414d87051004410a42096b23cb7a58e2ed881 (diff) | |
| download | bcm5719-llvm-5fc93b75d941972e7879840ece9bac4bf49688f1.tar.gz bcm5719-llvm-5fc93b75d941972e7879840ece9bac4bf49688f1.zip | |
GlobalISel: translate "unreachable" (into nothing)
Easiest instruction ever!
llvm-svn: 277225
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 3 | ||||
| -rw-r--r-- | llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll | 10 |
2 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp index 80ec1b529d3..9ead159c849 100644 --- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp +++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp @@ -269,6 +269,9 @@ bool IRTranslator::translate(const Instruction &Inst) { case Instruction::Alloca: return translateStaticAlloca(cast<AllocaInst>(Inst)); + case Instruction::Unreachable: + return true; + default: llvm_unreachable("Opcode not supported"); } diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll index 28005fad460..892838f49dd 100644 --- a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll +++ b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll @@ -271,3 +271,13 @@ define void @intrinsics(i32 %cur, i32 %bits) { 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 +} |

