CallingConvention::StdC::SparcSignature Class Reference

Inheritance diagram for CallingConvention::StdC::SparcSignature:

Signature CallingConvention::StdC::SparcLibSignature List of all members.

Detailed Description

Definition at line 140 of file signature.cpp.

Public Member Functions

virtual void addParameter (Type *type, const char *nam=NULL, Exp *e=NULL, const char *boundMax="")
virtual void addReturn (Type *type, Exp *e=NULL)
virtual bool argumentCompare (Assignment &a, Assignment &b)
virtual Signature * clone ()
virtual Exp * getArgumentExp (int n)
virtual callconv getConvention ()
virtual platform getPlatform ()
virtual Exp * getProven (Exp *left)
virtual int getStackRegister () throw (StackRegisterNotDefinedException)
virtual Exp * getStackWildcard ()
virtual bool isAddrOfStackLocal (Prog *prog, Exp *e)
virtual bool isLocalOffsetPositive ()
virtual bool isPreserved (Exp *e)
virtual bool isPromoted ()
virtual bool operator== (Signature &other)
virtual Signature * promote (UserProc *p)
virtual bool returnCompare (Assignment &a, Assignment &b)
virtual void setLibraryDefines (StatementList *defs)
 SparcSignature (Signature &old)
 SparcSignature (const char *nam)
virtual ~SparcSignature ()

Static Public Member Functions

static bool qualified (UserProc *p, Signature &candidate)


Constructor & Destructor Documentation

CallingConvention::StdC::SparcSignature::SparcSignature (  const char *  nam  ) 
 

Definition at line 874 of file signature.cpp.

References Signature::addReturn().

Referenced by clone().

CallingConvention::StdC::SparcSignature::SparcSignature (  Signature &  old  ) 
 

Definition at line 880 of file signature.cpp.

virtual CallingConvention::StdC::SparcSignature::~SparcSignature (   )  [inline, virtual]
 

Definition at line 144 of file signature.cpp.


Member Function Documentation

void CallingConvention::StdC::SparcSignature::addParameter (  Type *  type,
const char *  nam = NULL,
Exp *  e = NULL,
const char *  boundMax = ""
)  [virtual]
 

Reimplemented from Signature.

Definition at line 953 of file signature.cpp.

References Signature::addParameter(), getArgumentExp(), NULL, and Signature::params.

void CallingConvention::StdC::SparcSignature::addReturn (  Type *  type,
Exp *  e = NULL
)  [virtual]
 

Reimplemented from Signature.

Definition at line 943 of file signature.cpp.

References Signature::addReturn(), Type::isVoid(), NULL, and Location::regOf().

bool CallingConvention::StdC::SparcSignature::argumentCompare (  Assignment &  a,
Assignment &  b
)  [virtual]
 

Reimplemented from Signature.

Definition at line 1937 of file signature.cpp.

References Assignment::getLeft(), and Exp::isRegOf().

Signature * CallingConvention::StdC::SparcSignature::clone (   )  [virtual]
 

Reimplemented from Signature.

Reimplemented in CallingConvention::StdC::SparcLibSignature.

Definition at line 883 of file signature.cpp.

References Type::clone(), cloneVec(), Signature::ellipsis, Signature::name, NULL, Signature::params, Signature::preferedName, Signature::preferedParams, Signature::preferedReturn, Signature::rettype, Signature::returns, SparcSignature(), and Signature::unknown.

Exp * CallingConvention::StdC::SparcSignature::getArgumentExp (  int  n  )  [virtual]
 

Reimplemented from Signature.

Definition at line 960 of file signature.cpp.

References Signature::getArgumentExp(), Location::memOf(), opPlus, Signature::params, and Location::regOf().

Referenced by addParameter(), and Signature::getFirstArgLoc().

virtual callconv CallingConvention::StdC::SparcSignature::getConvention (   )  [inline, virtual]
 

Reimplemented from Signature.

Definition at line 166 of file signature.cpp.

References CONV_C.

virtual platform CallingConvention::StdC::SparcSignature::getPlatform (   )  [inline, virtual]
 

Reimplemented from Signature.

Definition at line 165 of file signature.cpp.

References PLAT_SPARC.

Exp * CallingConvention::StdC::SparcSignature::getProven (  Exp *  left  )  [virtual]
 

Reimplemented from Signature.

Reimplemented in CallingConvention::StdC::SparcLibSignature.

Definition at line 987 of file signature.cpp.

References Exp::isRegOfK().

virtual int CallingConvention::StdC::SparcSignature::getStackRegister (   )  throw (StackRegisterNotDefinedException) [inline, virtual]
 

Reimplemented from Signature.

Definition at line 156 of file signature.cpp.

Exp * CallingConvention::StdC::SparcSignature::getStackWildcard (   )  [virtual]
 

Reimplemented from Signature.

Definition at line 980 of file signature.cpp.

References Location::memOf(), opPlus, and opWild.

bool CallingConvention::StdC::SparcSignature::isAddrOfStackLocal (  Prog *  prog,
Exp *  e
)  [virtual]
 

Reimplemented from Signature.

Definition at line 1665 of file signature.cpp.

References Exp::getOper(), Unary::getSubExp1(), Exp::getSubExp1(), Exp::isIntConst(), Signature::isStackLocal(), Exp::isSubscript(), opAddrOf, opMinus, opPlus, Location::regOf(), and sp.

virtual bool CallingConvention::StdC::SparcSignature::isLocalOffsetPositive (   )  [inline, virtual]
 

Reimplemented from Signature.

Definition at line 161 of file signature.cpp.

bool CallingConvention::StdC::SparcSignature::isPreserved (  Exp *  e  )  [virtual]
 

Reimplemented from Signature.

Definition at line 1002 of file signature.cpp.

References Exp::isRegOfK().

virtual bool CallingConvention::StdC::SparcSignature::isPromoted (   )  [inline, virtual]
 

Reimplemented from Signature.

Definition at line 164 of file signature.cpp.

bool CallingConvention::StdC::SparcSignature::operator== (  Signature &  other  )  [virtual]
 

Reimplemented from Signature.

Definition at line 912 of file signature.cpp.

References Signature::operator==().

Signature * CallingConvention::StdC::SparcSignature::promote (  UserProc *  p  )  [virtual]
 

Reimplemented from Signature.

Definition at line 975 of file signature.cpp.

bool CallingConvention::StdC::SparcSignature::qualified (  UserProc *  p,
Signature &  candidate
)  [static]
 

Definition at line 917 of file signature.cpp.

References Prog::getFrontEndId(), Proc::getName(), Proc::getProg(), LOG, PLAT_SPARC, and VERBOSE.

Referenced by Signature::promote().

bool CallingConvention::StdC::SparcSignature::returnCompare (  Assignment &  a,
Assignment &  b
)  [virtual]
 

Reimplemented from Signature.

Definition at line 1874 of file signature.cpp.

References Assignment::getLeft(), Exp::isRegN(), and spPlus64().

void CallingConvention::StdC::SparcSignature::setLibraryDefines (  StatementList *  defs  )  [virtual]
 

Reimplemented from Signature.

Definition at line 1020 of file signature.cpp.

References StatementList::append(), and StatementList::size().


The documentation for this class was generated from the following file:
Generated on Tue Sep 19 21:18:48 2006 for Boomerang by  doxygen 1.4.6