retdec
Public Member Functions | Public Attributes | Friends | List of all members
retdec::bin2llvmir::ValueEntry Class Reference

#include <simple_types.h>

Public Member Functions

 ValueEntry (llvm::Value *v=nullptr, eSourcePriority p=eSourcePriority::PRIORITY_NONE)
 
llvm::Type * getTypeForPropagation () const
 
bool operator== (const ValueEntry &o) const
 
bool operator< (const ValueEntry &o) const
 
std::size_t hash () const
 

Public Attributes

llvm::Value * value = nullptr
 
eSourcePriority priority = eSourcePriority::PRIORITY_NONE
 

Friends

std::ostream & operator<< (std::ostream &out, const ValueEntry &ve)
 

Detailed Description

Entry representing one value in EqSet.

Constructor & Destructor Documentation

◆ ValueEntry()

retdec::bin2llvmir::ValueEntry::ValueEntry ( llvm::Value *  v = nullptr,
eSourcePriority  p = eSourcePriority::PRIORITY_NONE 
)

Member Function Documentation

◆ getTypeForPropagation()

llvm::Type * retdec::bin2llvmir::ValueEntry::getTypeForPropagation ( ) const

We want to proapgate true type of this entry. However, object allocated on stack (AllocaInst), and object in global memory (GlobalVariable), are considered pointers on their own by LLVM. Therefore we must subtract one pointer level to get the type we need.

◆ hash()

std::size_t retdec::bin2llvmir::ValueEntry::hash ( ) const

◆ operator<()

bool retdec::bin2llvmir::ValueEntry::operator< ( const ValueEntry o) const

◆ operator==()

bool retdec::bin2llvmir::ValueEntry::operator== ( const ValueEntry o) const

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  out,
const ValueEntry ve 
)
friend

Member Data Documentation

◆ priority

eSourcePriority retdec::bin2llvmir::ValueEntry::priority = eSourcePriority::PRIORITY_NONE

◆ value

llvm::Value* retdec::bin2llvmir::ValueEntry::value = nullptr

The documentation for this class was generated from the following files: