diff options
| author | 2020-08-03 15:06:44 +0000 | |
|---|---|---|
| committer | 2020-08-03 15:06:44 +0000 | |
| commit | b64793999546ed8adebaeebd9d8345d18db8927d (patch) | |
| tree | 4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/lib/IR/Statepoint.cpp | |
| parent | Add support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff) | |
| download | wireguard-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.cpp | 87 |
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; -} |
