#include <MemRefExpr.hpp>


Public Member Functions | |
| SubSetRef (MemRefType mrType, OA_ptr< MemRefExpr > mre) | |
| SubSetRef (SubSetRef &mre) | |
| copy constructor | |
| virtual | ~SubSetRef () |
| void | acceptVisitor (MemRefExprVisitor &pVisitor) |
| OA_ptr< MemRefExpr > | clone () |
| return a ptr to a copy of self | |
| virtual bool | isaSubSetRef () |
| virtual bool | isSubClassOfSubSetRef () |
| virtual bool | operator< (MemRefExpr &other) |
| virtual bool | operator== (MemRefExpr &other) |
| OA_ptr< MemRefExpr > | composeWith (OA_ptr< MemRefExpr > mre) |
| Will make this Refop wrap the given mre and return the result. | |
| void | output (IRHandlesIRInterface &ir) |
| virtual std::string | typeString () |
| virtual void | dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > pIR) |
| virtual void | dump (std::ostream &os, IRHandlesIRInterface &pIR) |
| virtual void | dump (std::ostream &os) |
| virtual int | getOrder () |
Static Private Attributes | |
| static const int | sOrder = 600 |
The SubSetRef implements a decorator pattern for memory references. If we decorate a memory reference with a subclass of SubSetRef it represents some operation such as a field access or array access occuring. Many sub set reference operations are possible abstractions are possible.
Definition at line 583 of file MemRefExpr.hpp.
| OA::SubSetRef::SubSetRef | ( | MemRefType | mrType, | |
| OA_ptr< MemRefExpr > | mre | |||
| ) | [inline] |
Definition at line 586 of file MemRefExpr.hpp.
Referenced by clone(), and composeWith().
| OA::SubSetRef::SubSetRef | ( | SubSetRef & | mre | ) | [inline] |
copy constructor
Definition at line 590 of file MemRefExpr.hpp.
| virtual OA::SubSetRef::~SubSetRef | ( | ) | [inline, virtual] |
Definition at line 592 of file MemRefExpr.hpp.
| void OA::SubSetRef::acceptVisitor | ( | MemRefExprVisitor & | pVisitor | ) | [virtual] |
Implements OA::MemRefExpr.
Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.
Definition at line 600 of file MemRefExpr.cpp.
References OA::MemRefExprVisitor::visitSubSetRef().

| OA_ptr< MemRefExpr > OA::SubSetRef::clone | ( | ) | [virtual] |
return a ptr to a copy of self
Implements OA::MemRefExpr.
Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.
Definition at line 593 of file MemRefExpr.cpp.
References SubSetRef().
Referenced by OA::Alias::RecordMREsVisitor::visitSubSetRef().

| OA_ptr< MemRefExpr > OA::SubSetRef::composeWith | ( | OA_ptr< MemRefExpr > | mre | ) | [virtual] |
Will make this Refop wrap the given mre and return the result.
Implements OA::RefOp.
Definition at line 607 of file MemRefExpr.cpp.
References SubSetRef().

| void OA::SubSetRef::dump | ( | std::ostream & | os | ) | [virtual] |
Reimplemented from OA::MemRefExpr.
Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.
Definition at line 655 of file MemRefExpr.cpp.
References OA::OA_ptr< T >::dump(), dump(), and OA::RefOp::getMemRefExpr().

| void OA::SubSetRef::dump | ( | std::ostream & | os, | |
| IRHandlesIRInterface & | pIR | |||
| ) | [virtual] |
Reimplemented from OA::MemRefExpr.
Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.
Definition at line 664 of file MemRefExpr.cpp.
References OA::OA_ptr< T >::dump(), dump(), and OA::RefOp::getMemRefExpr().

| void OA::SubSetRef::dump | ( | std::ostream & | os, | |
| OA_ptr< IRHandlesIRInterface > | pIR | |||
| ) | [virtual] |
Reimplemented from OA::MemRefExpr.
Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.
Definition at line 673 of file MemRefExpr.cpp.
Referenced by dump().
| virtual int OA::SubSetRef::getOrder | ( | ) | [inline, virtual] |
Reimplemented from OA::MemRefExpr.
Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.
Definition at line 636 of file MemRefExpr.hpp.
References sOrder.
Referenced by operator<(), and operator==().
| virtual bool OA::SubSetRef::isaSubSetRef | ( | ) | [inline, virtual] |
Reimplemented from OA::MemRefExpr.
Definition at line 602 of file MemRefExpr.hpp.
| virtual bool OA::SubSetRef::isSubClassOfSubSetRef | ( | ) | [inline, virtual] |
Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.
Definition at line 603 of file MemRefExpr.hpp.
| bool OA::SubSetRef::operator< | ( | MemRefExpr & | other | ) | [virtual] |
Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.
Definition at line 627 of file MemRefExpr.cpp.
References OA::RefOp::getMemRefExpr(), OA::MemRefExpr::getOrder(), and getOrder().

| bool OA::SubSetRef::operator== | ( | MemRefExpr & | other | ) | [virtual] |
check if two memory references are equal at the level of accuracy provided by the MemRefExpr approximation
Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.
Definition at line 641 of file MemRefExpr.cpp.
References OA::RefOp::getMemRefExpr(), OA::MemRefExpr::getOrder(), and getOrder().

| void OA::SubSetRef::output | ( | IRHandlesIRInterface & | ir | ) | [virtual] |
Reimplemented from OA::RefOp.
Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.
Definition at line 618 of file MemRefExpr.cpp.
References OA::Annotation::sOutBuild.
| virtual std::string OA::SubSetRef::typeString | ( | ) | [inline, virtual] |
Reimplemented from OA::RefOp.
Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.
Definition at line 626 of file MemRefExpr.hpp.
const int OA::SubSetRef::sOrder = 600 [static, private] |
Reimplemented from OA::MemRefExpr.
Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.
Definition at line 639 of file MemRefExpr.hpp.
Referenced by getOrder().
1.6.1