llvm/llvm/lib/IR/User.cpp

//===-- User.cpp - Implement the User class -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "llvm/IR/User.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/IntrinsicInst.h"

namespace llvm {
class BasicBlock;

//===----------------------------------------------------------------------===//
//                                 User Class
//===----------------------------------------------------------------------===//

bool User::replaceUsesOfWith(Value *From, Value *To) {}

//===----------------------------------------------------------------------===//
//                         User allocHungoffUses Implementation
//===----------------------------------------------------------------------===//

void User::allocHungoffUses(unsigned N, bool IsPhi) {}

void User::growHungoffUses(unsigned NewNumUses, bool IsPhi) {}


// This is a private struct used by `User` to track the co-allocated descriptor
// section.
struct DescriptorInfo {};

ArrayRef<const uint8_t> User::getDescriptor() const {}

MutableArrayRef<uint8_t> User::getDescriptor() {}

bool User::isDroppable() const {}

//===----------------------------------------------------------------------===//
//                         User operator new Implementations
//===----------------------------------------------------------------------===//

void *User::allocateFixedOperandUser(size_t Size, unsigned Us,
                                     unsigned DescBytes) {}

void *User::operator new(size_t Size, IntrusiveOperandsAllocMarker allocTrait) {}

void *User::operator new(size_t Size,
                         IntrusiveOperandsAndDescriptorAllocMarker allocTrait) {}

void *User::operator new(size_t Size, HungOffOperandsAllocMarker) {}

//===----------------------------------------------------------------------===//
//                         User operator delete Implementation
//===----------------------------------------------------------------------===//

// Repress memory sanitization, due to use-after-destroy by operator
// delete. Bug report 24578 identifies this issue.
LLVM_NO_SANITIZE_MEMORY_ATTRIBUTE void User::operator delete(void *Usr) {}

} // namespace llvm