summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lib/IR/Statepoint.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/lib/IR/Statepoint.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/lib/IR/Statepoint.cpp')
-rw-r--r--gnu/llvm/lib/IR/Statepoint.cpp87
1 files changed, 0 insertions, 87 deletions
diff --git a/gnu/llvm/lib/IR/Statepoint.cpp b/gnu/llvm/lib/IR/Statepoint.cpp
deleted file mode 100644
index 18efee2177c..00000000000
--- a/gnu/llvm/lib/IR/Statepoint.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-//===-- IR/Statepoint.cpp -- gc.statepoint utilities --- -----------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file contains some utility functions to help recognize gc.statepoint
-// intrinsics.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/IR/Statepoint.h"
-
-#include "llvm/IR/Function.h"
-
-using namespace llvm;
-
-static const Function *getCalledFunction(ImmutableCallSite CS) {
- if (!CS.getInstruction())
- return nullptr;
- return CS.getCalledFunction();
-}
-
-bool llvm::isStatepoint(ImmutableCallSite CS) {
- if (auto *F = getCalledFunction(CS))
- return F->getIntrinsicID() == Intrinsic::experimental_gc_statepoint;
- return false;
-}
-
-bool llvm::isStatepoint(const Value *V) {
- if (auto CS = ImmutableCallSite(V))
- return isStatepoint(CS);
- return false;
-}
-
-bool llvm::isStatepoint(const Value &V) {
- return isStatepoint(&V);
-}
-
-bool llvm::isGCRelocate(ImmutableCallSite CS) {
- return CS.getInstruction() && isa<GCRelocateInst>(CS.getInstruction());
-}
-
-bool llvm::isGCRelocate(const Value *V) {
- if (auto CS = ImmutableCallSite(V))
- return isGCRelocate(CS);
- return false;
-}
-
-bool llvm::isGCResult(ImmutableCallSite CS) {
- return CS.getInstruction() && isa<GCResultInst>(CS.getInstruction());
-}
-
-bool llvm::isGCResult(const Value *V) {
- if (auto CS = ImmutableCallSite(V))
- return isGCResult(CS);
- return false;
-}
-
-bool llvm::isStatepointDirectiveAttr(Attribute Attr) {
- return Attr.hasAttribute("statepoint-id") ||
- Attr.hasAttribute("statepoint-num-patch-bytes");
-}
-
-StatepointDirectives
-llvm::parseStatepointDirectivesFromAttrs(AttributeList AS) {
- StatepointDirectives Result;
-
- Attribute AttrID =
- AS.getAttribute(AttributeList::FunctionIndex, "statepoint-id");
- uint64_t StatepointID;
- if (AttrID.isStringAttribute())
- if (!AttrID.getValueAsString().getAsInteger(10, StatepointID))
- Result.StatepointID = StatepointID;
-
- uint32_t NumPatchBytes;
- Attribute AttrNumPatchBytes = AS.getAttribute(AttributeList::FunctionIndex,
- "statepoint-num-patch-bytes");
- if (AttrNumPatchBytes.isStringAttribute())
- if (!AttrNumPatchBytes.getValueAsString().getAsInteger(10, NumPatchBytes))
- Result.NumPatchBytes = NumPatchBytes;
-
- return Result;
-}