summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2020-08-03 15:06:44 +0000
committerpatrick <patrick@openbsd.org>2020-08-03 15:06:44 +0000
commitb64793999546ed8adebaeebd9d8345d18db8927d (patch)
tree4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp
parentAdd support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff)
downloadwireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz
wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp')
-rw-r--r--gnu/llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp50
1 files changed, 0 insertions, 50 deletions
diff --git a/gnu/llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp b/gnu/llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp
deleted file mode 100644
index 1dfa0a1d492..00000000000
--- a/gnu/llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//===- LazyEmittingLayerTest.cpp - Unit tests for the lazy emitting layer -===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/ExecutionEngine/Orc/IndirectionUtils.h"
-#include "OrcTestCommon.h"
-#include "llvm/ADT/SmallVector.h"
-#include "gtest/gtest.h"
-
-using namespace llvm;
-
-namespace {
-
-TEST(IndirectionUtilsTest, MakeStub) {
- LLVMContext Context;
- ModuleBuilder MB(Context, "x86_64-apple-macosx10.10", "");
- FunctionType *FTy = FunctionType::get(
- Type::getVoidTy(Context),
- {getDummyStructTy(Context), getDummyStructTy(Context)}, false);
- Function *F = MB.createFunctionDecl(FTy, "");
- AttributeSet FnAttrs = AttributeSet::get(
- Context, AttrBuilder().addAttribute(Attribute::NoUnwind));
- AttributeSet RetAttrs; // None
- AttributeSet ArgAttrs[2] = {
- AttributeSet::get(Context,
- AttrBuilder().addAttribute(Attribute::StructRet)),
- AttributeSet::get(Context, AttrBuilder().addAttribute(Attribute::ByVal)),
- };
- F->setAttributes(AttributeList::get(Context, FnAttrs, RetAttrs, ArgAttrs));
-
- auto ImplPtr = orc::createImplPointer(*F->getType(), *MB.getModule(), "", nullptr);
- orc::makeStub(*F, *ImplPtr);
-
- auto II = F->getEntryBlock().begin();
- EXPECT_TRUE(isa<LoadInst>(*II)) << "First instruction of stub should be a load.";
- auto *Call = dyn_cast<CallInst>(std::next(II));
- EXPECT_TRUE(Call != nullptr) << "Second instruction of stub should be a call.";
- EXPECT_TRUE(Call->isTailCall()) << "Indirect call from stub should be tail call.";
- EXPECT_TRUE(Call->hasStructRetAttr())
- << "makeStub should propagate sret attr on 1st argument.";
- EXPECT_TRUE(Call->paramHasAttr(1U, Attribute::ByVal))
- << "makeStub should propagate byval attr on 2nd argument.";
-}
-
-}