LLVM 19.0.0git
Classes | Namespaces
PointerSumType.h File Reference
#include "llvm/ADT/bit.h"
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
#include <cassert>
#include <cstdint>
#include <type_traits>

Go to the source code of this file.

Classes

struct  llvm::PointerSumTypeMember< N, PointerArgT, TraitsArgT >
 A compile time pair of an integer tag and the pointer-like type which it indexes within a sum type. More...
 
class  llvm::PointerSumType< TagT, MemberTs >
 A sum type over pointer-like types. More...
 
struct  llvm::detail::PointerSumTypeHelper< TagT, MemberTs >
 A helper template for implementing PointerSumType. More...
 
struct  llvm::detail::PointerSumTypeHelper< TagT, MemberTs >::Lookup< N >
 
struct  llvm::detail::PointerSumTypeHelper< TagT, MemberTs >::Min< V, Vs >
 
struct  llvm::detail::PointerSumTypeHelper< TagT, MemberTs >::Min< V >
 
struct  llvm::detail::PointerSumTypeHelper< TagT, MemberTs >::Checker< MemberT, InnerMemberTs >
 
struct  llvm::detail::PointerSumTypeHelper< TagT, MemberTs >::Checker< MemberT >
 
struct  llvm::DenseMapInfo< PointerSumType< TagT, MemberTs... > >
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::detail
 These are wrappers over isa* function that allow them to be used in generic algorithms such as llvm:all_of, llvm::none_of, etc.