|
| Pragmas (PhvInfo &phv) |
|
| Pragmas (PhvInfo &phv, const ordered_map< cstring, std::vector< PHV::Size > > &container_size_constr, const ordered_map< cstring, ordered_set< cstring > > &no_pack_constr) |
|
PragmaAtomic & | pa_atomic () |
|
const PragmaAtomic & | pa_atomic () const |
|
PragmaBytePack & | pa_byte_pack () |
|
const PragmaBytePack & | pa_byte_pack () const |
|
PragmaContainerSize & | pa_container_sizes () |
|
const PragmaContainerSize & | pa_container_sizes () const |
|
PragmaContainerType & | pa_container_type () |
|
const PragmaContainerType & | pa_container_type () const |
|
PragmaDeparserZero & | pa_deparser_zero () |
|
const PragmaDeparserZero & | pa_deparser_zero () const |
|
PragmaMutuallyExclusive & | pa_mutually_exclusive () |
|
const PragmaMutuallyExclusive & | pa_mutually_exclusive () const |
|
PragmaNoInit & | pa_no_init () |
|
const PragmaNoInit & | pa_no_init () const |
|
PragmaNoOverlay & | pa_no_overlay () |
|
const PragmaNoOverlay & | pa_no_overlay () const |
|
PragmaNoPack & | pa_no_pack () |
|
const PragmaNoPack & | pa_no_pack () const |
|
PragmaSolitary & | pa_solitary () |
|
const PragmaSolitary & | pa_solitary () const |
|
| PassManager (const PassManager &)=default |
|
| PassManager (const std::initializer_list< VisitorRef > &init) |
|
| PassManager (PassManager &&)=default |
|
void | addDebugHook (DebugHook h, bool recursive=false) |
|
void | addDebugHooks (std::vector< DebugHook > hooks, bool recursive=false) |
|
void | addPasses (const std::initializer_list< VisitorRef > &init) |
|
const IR::Node * | apply_visitor (const IR::Node *, const char *=0) override |
|
bool | backtrack (trigger &trig) override |
|
PassManager * | clone () const override |
|
void | early_exit () |
|
void | listPasses (std::ostream &, cstring sep) const |
|
bool | never_backtracks () override |
|
void | removePasses (const std::vector< cstring > &exclude) |
|
void | setStopOnError (bool stop) |
|
virtual bool | check_clone (const Visitor *a) |
|
virtual bool | check_global (cstring) |
|
virtual void | clear_globals () |
|
virtual ControlFlowVisitor * | controlFlowVisitor () |
|
virtual void | end_apply () |
|
virtual void | end_apply (const IR::Node *root) |
|
virtual void | erase_global (cstring) |
|
template<class T> |
const T * | findContext () const |
|
template<class T> |
const T * | findContext (const Context *&c) const |
|
template<class T> |
const T * | findOrigCtxt () const |
|
template<class T> |
const T * | findOrigCtxt (const Context *&c) const |
|
virtual Visitor & | flow_clone () |
|
virtual void | flow_merge (Visitor &) |
|
virtual bool | flow_merge_closure (Visitor &) |
|
virtual void | flow_merge_global_from (cstring) |
|
virtual void | flow_merge_global_to (cstring) |
|
const Context * | getChildContext () const |
|
int | getChildrenVisited () const |
|
const Context * | getContext () const |
|
int | getContextDepth () const |
|
const IR::Node * | getCurrentNode () const |
|
template<class T> |
const T * | getCurrentNode () const |
|
const IR::Node * | getOriginal () const |
|
template<class T> |
const T * | getOriginal () const |
|
template<class T> |
const T * | getParent () const |
|
virtual bool | has_flow_joins () const |
|
profile_t | init_apply (const IR::Node *root, const Context *parent_context) |
|
template<class T> |
bool | isInContext () const |
|
template<class T> |
bool | isInContext (const Context *&c) const |
|
bool | isInContext (const IR::Node *n) const |
|
virtual const char * | name () const |
|
template<class T> |
void | parallel_visit (const IR::Vector< T > &v, const char *name, int cidx) |
|
template<class T> |
void | parallel_visit (const IR::Vector< T > &v, const char *name=0) |
|
template<class T> |
void | parallel_visit (IR::Vector< T > &v, const char *name, int cidx) |
|
template<class T> |
void | parallel_visit (IR::Vector< T > &v, const char *name=0) |
|
void | print_context () const |
|
const Visitor & | setCalledBy (const Visitor *visitor) |
|
void | setName (const char *name) |
|
void | visit (const IR::Node &n, const char *name, int cidx) |
|
void | visit (const IR::Node &n, const char *name=0) |
|
void | visit (const IR::Node *&n, const char *name, int cidx) |
|
void | visit (const IR::Node *&n, const char *name=0) |
|
void | visit (const IR::Node *const &n, const char *name, int cidx) |
|
void | visit (const IR::Node *const &n, const char *name=0) |
|
void | visit (IR::Node &n, const char *name, int cidx) |
|
void | visit (IR::Node &n, const char *name=0) |
|
void | visit (IR::Node *&, const char *=0, int=0) |
|
template<class T, typename = std::enable_if_t<Util::has_SourceInfo_v<T> && !std::is_pointer_v<T>>, class... Args> |
void | warn (const int kind, const char *format, const T &node, Args &&...args) |
| The const ref variant of the above.
|
|
template<class T, typename = std::enable_if_t<Util::has_SourceInfo_v<T>>, class... Args> |
void | warn (const int kind, const char *format, const T *node, Args &&...args) |
|
bool | warning_enabled (int warning_kind) const |
|
|
static bool | checkNumberArgs (const IR::Annotation *annotation, unsigned required_args, const unsigned min_required_args, bool exact_number_of_args, cstring pragma_name, cstring pragma_args_wo_pipe) |
|
static bool | checkPipeApplication (const IR::Annotation *annotation, const IR::BFN::Pipe *pipe, const IR::StringLiteral *pipe_arg) |
|
static bool | checkStringLiteralArgs (const IR::Vector< IR::Expression > &exprs) |
|
static bool | determinePipeGressArgs (const IR::Vector< IR::Expression > &exprs, unsigned &expr_index, unsigned &required_args, const IR::StringLiteral *&pipe_arg, const IR::StringLiteral *&gress_arg) |
|
static bool | gressValid (cstring gress) |
|
static void | reportNoMatchingPHV (const IR::BFN::Pipe *pipe, const IR::Expression *expr, cstring field_name=""_cs) |
|
static cstring | demangle (const char *) |
|
static bool | warning_enabled (const Visitor *visitor, int warning_kind) |
|