30#ifndef INCLUDE_MSSA_SVFGNODE_H_
31#define INCLUDE_MSSA_SVFGNODE_H_
75 virtual const std::string
toString()
const override;
119 virtual const std::string
toString()
const;
161 virtual const std::string
toString()
const;
210 virtual const std::string
toString()
const;
257 virtual const std::string
toString()
const;
290 assert(
it!=
opVers.end() &&
"version is nullptr, did not rename?");
331 virtual const std::string
toString()
const;
385 virtual const std::string
toString()
const;
447 virtual const std::string
toString()
const;
static bool classof(const GenericVFGNodeTy *node)
const MRVer * getMRVer() const
Ver.
virtual const std::string toString() const
const CallICFGNode * getCallSite() const
Callsite.
static bool classof(const ActualINSVFGNode *)
Methods for support type inquiry through isa, cast, and dyn_cast:
ActualINSVFGNode(NodeID id, const CallICFGNode *c, const MRVer *mrver)
Constructor.
static bool classof(const VFGNode *node)
static bool classof(const GenericVFGNodeTy *node)
static bool classof(const VFGNode *node)
const CallICFGNode * getCallSite() const
Callsite.
virtual const std::string toString() const
static bool classof(const ActualOUTSVFGNode *)
Methods for support type inquiry through isa, cast, and dyn_cast:
const MRVer * getMRVer() const
Ver.
ActualOUTSVFGNode(NodeID id, const CallICFGNode *cal, const MRVer *resVer)
Constructor.
static bool classof(const VFGNode *node)
DummyVersionPropSVFGNode(NodeID id, NodeID object, Version version)
static bool classof(const GenericVFGNodeTy *node)
const NodeBS getDefSVFVars() const override
Return the left hand side SVF Vars.
NodeID getObject(void) const
static bool classof(const DummyVersionPropSVFGNode *)
Methods to support type inquiry through isa, cast, and dyn_cast:
Version getVersion(void) const
static bool classof(const MSSAPHISVFGNode *node)
static bool classof(const MRSVFGNode *node)
virtual const std::string toString() const
bool isFormalINPHI() const
bool isActualOUTPHI() const
const CallICFGNode * getCallSite() const
static bool classof(const InterMSSAPHISVFGNode *)
Methods for support type inquiry through isa, cast, and dyn_cast:
InterMSSAPHISVFGNode(NodeID id, const FormalINSVFGNode *fi)
Constructor interPHI for formal parameter.
static bool classof(const VFGNode *node)
const CallICFGNode * callInst
const SVFFunction * getFun() const
Get the function of this SVFGNode.
static bool classof(const GenericVFGNodeTy *node)
InterMSSAPHISVFGNode(NodeID id, const ActualOUTSVFGNode *ao)
Constructor interPHI for actual return.
static bool classof(const MRSVFGNode *node)
static bool classof(const VFGNode *node)
OPVers::const_iterator opVerEnd() const
static bool classof(const GenericVFGNodeTy *node)
IntraMSSAPHISVFGNode(NodeID id, const MRVer *resVer)
Constructor.
virtual const std::string toString() const
static bool classof(const MSSAPHISVFGNode *node)
static bool classof(const IntraMSSAPHISVFGNode *)
Methods for support type inquiry through isa, cast, and dyn_cast:
const MRVer * getMRVer() const
OPVers::const_iterator opVerBegin() const
static bool classof(const MRSVFGNode *)
Methods for support type inquiry through isa, cast, and dyn_cast:
virtual const std::string toString() const override
MRSVFGNode(NodeID id, VFGNodeK k)
static bool classof(const GenericVFGNodeTy *node)
static bool classof(const VFGNode *node)
const NodeBS & getPointsTo() const
Return points-to of the MR.
const NodeBS getDefSVFVars() const override
Return the left hand side SVF Vars.
const MemRegion * getMR() const
Return the memory region.
virtual const std::string toString() const
const MRVer * getOpVer(u32_t pos) const
MSSA phi operands.
Map< u32_t, const MRVer * > OPVers
OPVers::const_iterator opVerEnd() const
static bool classof(const MRSVFGNode *node)
void setOpVer(u32_t pos, const MRVer *node)
const MRVer * getResVer() const
Ver.
static bool classof(const GenericVFGNodeTy *node)
static bool classof(const VFGNode *node)
static bool classof(const MSSAPHISVFGNode *)
Methods for support type inquiry through isa, cast, and dyn_cast:
OPVers::const_iterator opVerBegin() const
MSSAPHISVFGNode(NodeID id, const MRVer *resVer, VFGNodeK k=MPhi)
Constructor.
u32_t getOpVerNum() const
const NodeBS & getPointsTo() const
Return points-to.
static bool isMRSVFGNodeKinds(GNodeK n)
GNodeK getNodeKind() const
Get node kind.
static bool isMSSAPHISVFGNodeKinds(GNodeK n)
llvm::IRBuilder IRBuilder