diff options
| author | Tim Northover <tnorthover@apple.com> | 2017-02-07 20:08:59 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2017-02-07 20:08:59 +0000 |
| commit | d0d025ae4557d46630662255fbdd4de08ced1f2b (patch) | |
| tree | 276297f60b18b5cbe4200c3dcd959472ab8c2036 | |
| parent | b0cee9b273e87ca2d8ad0ec53929f36796ecd8ac (diff) | |
| download | bcm5719-llvm-d0d025ae4557d46630662255fbdd4de08ced1f2b.tar.gz bcm5719-llvm-d0d025ae4557d46630662255fbdd4de08ced1f2b.zip | |
GlobalISel: translate @llvm.va_end intrinsic.
Turns out no-one actually cares about this one (at least) in tree so we can
just drop it entirely.
llvm-svn: 294345
| -rw-r--r-- | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 4 | ||||
| -rw-r--r-- | llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll | 10 |
2 files changed, 14 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp index a1a1d7b9fb5..eee78ea8cbc 100644 --- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp +++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp @@ -579,6 +579,10 @@ bool IRTranslator::translateKnownIntrinsic(const CallInst &CI, Intrinsic::ID ID, MIRBuilder.buildDirectDbgValue(Reg, DI.getVariable(), DI.getExpression()); return true; } + case Intrinsic::vaend: + // No target I know of cares about va_end. Certainly no in-tree target + // does. Simplest intrinsic ever! + return true; case Intrinsic::dbg_value: { // This form of DBG_VALUE is target-independent. const DbgValueInst &DI = cast<DbgValueInst>(CI); diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll index bac3017a925..943a57f55cb 100644 --- a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll +++ b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll @@ -1123,3 +1123,13 @@ define i8* @test_const_placement() { next: ret i8* inttoptr(i32 42 to i8*) } + +declare void @llvm.va_end(i8*) +define void @test_va_end(i8* %list) { +; CHECK-LABEL: name: test_va_end +; CHECK-NOT: va_end +; CHECK-NOT: INTRINSIC +; CHECK: RET_ReallyLR + call void @llvm.va_end(i8* %list) + ret void +} |

