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 326 of file MSSAMuChi.h.

Member Enumeration Documentation

◆ DEFTYPE

Enumerator
SSACHI 
StoreMSSACHI 
CallMSSACHI 
EntryMSSACHI 
SSAPHI 

Definition at line 330 of file MSSAMuChi.h.

331 {
332 SSACHI,
336 SSAPHI
337 };

Constructor & Destructor Documentation

◆ MSSADEF()

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

Constructor/Destructor for MSSADEF.

Definition at line 347 of file MSSAMuChi.h.

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

◆ ~MSSADEF()

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

Definition at line 351 of file MSSAMuChi.h.

351{}

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 387 of file MSSAMuChi.h.

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

◆ getMR()

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

Return memory region.

Definition at line 355 of file MSSAMuChi.h.

356 {
357 return mr;
358 }

◆ getResVer()

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

Set operand vers.

Definition at line 374 of file MSSAMuChi.h.

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

◆ getType()

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

Return type of this CHI.

Definition at line 361 of file MSSAMuChi.h.

362 {
363 return type;
364 }

◆ operator<()

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

Avoid adding duplicated chis and phis.

Definition at line 381 of file MSSAMuChi.h.

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

◆ setResVer()

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

Set result operand ver.

Definition at line 367 of file MSSAMuChi.h.

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

Member Data Documentation

◆ mr

const MemRegion* SVF::MSSADEF::mr
protected

Definition at line 341 of file MSSAMuChi.h.

◆ resVer

MRVer* SVF::MSSADEF::resVer
protected

Definition at line 342 of file MSSAMuChi.h.

◆ type

DEFTYPE SVF::MSSADEF::type
protected

Definition at line 340 of file MSSAMuChi.h.


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