16#ifndef LLVM_ADT_EPOCHTRACKER_H 
   17#define LLVM_ADT_EPOCHTRACKER_H 
   19#include "llvm/Config/abi-breaking.h" 
   25#if LLVM_ENABLE_ABI_BREAKING_CHECKS 
   26#define LLVM_DEBUGEPOCHBASE_HANDLEBASE_EMPTYBASE 
   41  DebugEpochBase() = 
default;
 
   60    const uint64_t *EpochAddress = 
nullptr;
 
   66    explicit HandleBase(
const DebugEpochBase *Parent)
 
   67        : EpochAddress(&Parent->Epoch), EpochAtCreation(Parent->Epoch) {}
 
   72    bool isHandleInSync()
 const { 
return *EpochAddress == EpochAtCreation; }
 
   83#define LLVM_DEBUGEPOCHBASE_HANDLEBASE_EMPTYBASE __declspec(empty_bases) 
   85#define LLVM_DEBUGEPOCHBASE_HANDLEBASE_EMPTYBASE 
const void * getEpochAddress() const
 
HandleBase(const DebugEpochBase *)
 
bool isHandleInSync() const
 
This is an optimization pass for GlobalISel generic memory operations.