|
void | collect (Node &node) override |
|
bool | prune_uses (Node &node) override |
|
result_t | operator() (const Module &m, position_t p) |
|
bool | operator() (const declaration::Constant &x, position_t p) |
|
bool | operator() (const expression::ResolvedID &x, position_t p) |
|
std::optional< bool > | tryAsBoolLiteral (const Expression &x) |
|
bool | operator() (const statement::If &x, position_t p) |
|
bool | operator() (const expression::LogicalOr &x, position_t p) |
|
bool | operator() (const expression::LogicalAnd &x, position_t p) |
|
bool | operator() (const expression::LogicalNot &x, position_t p) |
|
template<typename Position > |
void | replaceNode (Position &p, const Node &replacement) |
|
template<typename Position > |
void | removeNode (Position &p) |
|
virtual bool | prune_decls (Node &) |
|
virtual void | preDispatch (const Erased &, int) |
|
auto | dispatch (position_t &i) |
|
auto | dispatch (const_position_t &i) |
|
auto | dispatch (Erased *n) |
|
auto | dispatch (const Erased &n) |
|
auto | walk (const Erased &root) |
|
auto | walk (Erased *root) |
|
|
std::map< ID, bool > | _constants |
|
Stage | _stage = Stage::COLLECT |
|
Module * | _current_module = nullptr |
|
|
enum | Stage { COLLECT,
PRUNE_USES,
PRUNE_DECLS
} |
|
using | result_t = Result |
|
using | erased_t = Erased |
|
using | base_t = Visitor< Result, Dispatcher, Erased, order > |
|
using | visitor_t = Dispatcher |
|
using | iterator_t = Iterator< Erased, order, false > |
|
using | const_iterator_t = Iterator< Erased, order, true > |
|
using | position_t = typename iterator_t::Position |
|
using | const_position_t = typename const_iterator_t::Position |
|
static const Order | order_ = order |
|
The documentation for this struct was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/spicy-docs/checkouts/v1.4.1/hilti/toolchain/src/compiler/optimizer.cc