struct BitIntegerState

Declaration

template <typename base_ty = uint32_t,
          base_ty BestState = ~type - parameter - 0 - 0(0),
          base_ty WorstState = 0>
struct BitIntegerState { /* full declaration omitted */ };

Description

Specialization of the integer state for a bit-wise encoding.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:2388

Templates

base_ty = uint32_t
base_ty BestState = ~ type-parameter-0-0(0)
base_ty WorstState = 0

Method Overview

  • public BitIntegerState<base_ty, BestState, WorstState> & addKnownBits(llvm::BitIntegerState::base_t Bits)
  • private void handleNewAssumedValue(llvm::BitIntegerState::base_t Value)
  • private void handleNewKnownValue(llvm::BitIntegerState::base_t Value)
  • public BitIntegerState<base_ty, BestState, WorstState> & intersectAssumedBits(llvm::BitIntegerState::base_t BitsEncoding)
  • public bool isAssumed(llvm::BitIntegerState::base_t BitsEncoding) const
  • public bool isKnown(llvm::BitIntegerState::base_t BitsEncoding) const
  • private void joinAND(llvm::BitIntegerState::base_t AssumedValue, llvm::BitIntegerState::base_t KnownValue)
  • private void joinOR(llvm::BitIntegerState::base_t AssumedValue, llvm::BitIntegerState::base_t KnownValue)
  • public BitIntegerState<base_ty, BestState, WorstState> & removeAssumedBits(llvm::BitIntegerState::base_t BitsEncoding)
  • public BitIntegerState<base_ty, BestState, WorstState> & removeKnownBits(llvm::BitIntegerState::base_t BitsEncoding)

Methods

BitIntegerState<base_ty, BestState, WorstState>&
addKnownBits(llvm::BitIntegerState::base_t Bits)

Description

Add the bits in \p BitsEncoding to the "known bits".

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:2403

Parameters

llvm::BitIntegerState::base_t Bits

void handleNewAssumedValue(
    llvm::BitIntegerState::base_t Value)

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:2429

Parameters

llvm::BitIntegerState::base_t Value

void handleNewKnownValue(
    llvm::BitIntegerState::base_t Value)

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:2432

Parameters

llvm::BitIntegerState::base_t Value

BitIntegerState<base_ty, BestState, WorstState>&
intersectAssumedBits(
    llvm::BitIntegerState::base_t BitsEncoding)

Description

Keep only "assumed bits" also set in \p BitsEncoding but all known ones.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:2422

Parameters

llvm::BitIntegerState::base_t BitsEncoding

bool isAssumed(llvm::BitIntegerState::base_t
                   BitsEncoding) const

Description

Return true if the bits set in \p BitsEncoding are "assumed bits".

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:2398

Parameters

llvm::BitIntegerState::base_t BitsEncoding

bool isKnown(llvm::BitIntegerState::base_t
                 BitsEncoding) const

Description

Return true if the bits set in \p BitsEncoding are "known bits".

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:2393

Parameters

llvm::BitIntegerState::base_t BitsEncoding

void joinAND(
    llvm::BitIntegerState::base_t AssumedValue,
    llvm::BitIntegerState::base_t KnownValue)

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:2437

Parameters

llvm::BitIntegerState::base_t AssumedValue
llvm::BitIntegerState::base_t KnownValue

void joinOR(
    llvm::BitIntegerState::base_t AssumedValue,
    llvm::BitIntegerState::base_t KnownValue)

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:2433

Parameters

llvm::BitIntegerState::base_t AssumedValue
llvm::BitIntegerState::base_t KnownValue

BitIntegerState<base_ty, BestState, WorstState>&
removeAssumedBits(
    llvm::BitIntegerState::base_t BitsEncoding)

Description

Remove the bits in \p BitsEncoding from the "assumed bits" if not known.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:2411

Parameters

llvm::BitIntegerState::base_t BitsEncoding

BitIntegerState<base_ty, BestState, WorstState>&
removeKnownBits(
    llvm::BitIntegerState::base_t BitsEncoding)

Description

Remove the bits in \p BitsEncoding from the "known bits".

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:2416

Parameters

llvm::BitIntegerState::base_t BitsEncoding