Static Value-Flow Analysis
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
SVF::MSSADEF Class Reference

#include <MSSAMuChi.h>

Inheritance diagram for SVF::MSSADEF:
SVF::MSSACHI< Cond > SVF::MSSAPHI< Cond > SVF::CallCHI< Cond > SVF::EntryCHI< Cond > SVF::StoreCHI< Cond >

Public Types

enum  DEFTYPE {
  SSACHI , StoreMSSACHI , CallMSSACHI , EntryMSSACHI ,
  SSAPHI
}
 

Public Member Functions

 MSSADEF (DEFTYPE t, const MemRegion *m)
 Constructor/Destructor for MSSADEF.
 
virtual ~MSSADEF ()
 
const MemRegiongetMR () const
 Return memory region.
 
DEFTYPE getType () const
 Return type of this CHI.
 
void setResVer (MRVer *v)
 Set result operand ver.
 
MRVergetResVer () const
 Set operand vers.
 
bool operator< (const MSSADEF &rhs) const
 Avoid adding duplicated chis and phis.
 
virtual void dump ()
 Print MSSADef.
 

Protected Attributes

DEFTYPE type
 
const MemRegionmr
 
MRVerresVer
 

Detailed Description

Indirect Memory Definition 1) MSSACHI indirect memory object is modified a) StoreCHI definition at store b) EntryCHI definition at function entry 2) MSSAPHI memory object is defined at joint points of a control flow

Definition at line 325 of file MSSAMuChi.h.

Member Enumeration Documentation

◆ DEFTYPE

Enumerator
SSACHI 
StoreMSSACHI 
CallMSSACHI 
EntryMSSACHI 
SSAPHI 

Definition at line 329 of file MSSAMuChi.h.

330 {
331 SSACHI,
335 SSAPHI
336 };

Constructor & Destructor Documentation

◆ MSSADEF()

SVF::MSSADEF::MSSADEF ( DEFTYPE  t,
const MemRegion m 
)
inline

Constructor/Destructor for MSSADEF.

Definition at line 346 of file MSSAMuChi.h.

346 : type(t), mr(m), resVer(nullptr)
347 {
348
349 }
const MemRegion * mr
Definition MSSAMuChi.h:340
MRVer * resVer
Definition MSSAMuChi.h:341
DEFTYPE type
Definition MSSAMuChi.h:339
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:74

◆ ~MSSADEF()

virtual SVF::MSSADEF::~MSSADEF ( )
inlinevirtual

Definition at line 350 of file MSSAMuChi.h.

350{}

Member Function Documentation

◆ dump()

virtual void SVF::MSSADEF::dump ( )
inlinevirtual

Print MSSADef.

Reimplemented in SVF::MSSACHI< Cond >, SVF::StoreCHI< Cond >, SVF::CallCHI< Cond >, SVF::EntryCHI< Cond >, and SVF::MSSAPHI< Cond >.

Definition at line 386 of file MSSAMuChi.h.

387 {
388 SVFUtil::outs() << "DEF(MR_" << mr->getMRID() << "V_" << resVer->getSSAVersion() << ")\n";
389 }
MRVERSION getSSAVersion() const
Return SSA version.
Definition MSSAMuChi.h:69
MRID getMRID() const
Return memory region ID.
Definition MemRegion.h:78
std::ostream & outs()
Overwrite llvm::outs()
Definition SVFUtil.h:50

◆ getMR()

const MemRegion * SVF::MSSADEF::getMR ( ) const
inline

Return memory region.

Definition at line 354 of file MSSAMuChi.h.

355 {
356 return mr;
357 }

◆ getResVer()

MRVer * SVF::MSSADEF::getResVer ( ) const
inline

Set operand vers.

Definition at line 373 of file MSSAMuChi.h.

374 {
375 assert(resVer!=nullptr && "version is nullptr, did not rename?");
376 return resVer;
377 }

◆ getType()

DEFTYPE SVF::MSSADEF::getType ( ) const
inline

Return type of this CHI.

Definition at line 360 of file MSSAMuChi.h.

361 {
362 return type;
363 }

◆ operator<()

bool SVF::MSSADEF::operator< ( const MSSADEF rhs) const
inline

Avoid adding duplicated chis and phis.

Definition at line 380 of file MSSAMuChi.h.

381 {
382 return mr > rhs.getMR();
383 }

◆ setResVer()

void SVF::MSSADEF::setResVer ( MRVer v)
inline

Set result operand ver.

Definition at line 366 of file MSSAMuChi.h.

367 {
368 assert(v->getMR() == mr && "inserting different memory region?");
369 resVer = v;
370 }

Member Data Documentation

◆ mr

const MemRegion* SVF::MSSADEF::mr
protected

Definition at line 340 of file MSSAMuChi.h.

◆ resVer

MRVer* SVF::MSSADEF::resVer
protected

Definition at line 341 of file MSSAMuChi.h.

◆ type

DEFTYPE SVF::MSSADEF::type
protected

Definition at line 339 of file MSSAMuChi.h.


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