passes allow defined units of functionality to be applied on an IR structure. the pass manager can be used to schedule passes at certain depths of the IR structure and/or on or within certain types of ops (or ops that have certain traits/interfaces).
15 lines
351 B
C
15 lines
351 B
C
#ifndef MIE_PASS_PASS_H_
|
|
#define MIE_PASS_PASS_H_
|
|
|
|
#include <mie/pass/pass-definition.h>
|
|
|
|
struct mie_pass {
|
|
const struct mie_pass_definition *p_def;
|
|
};
|
|
|
|
MIE_API const char *mie_pass_get_name(const struct mie_pass *pass);
|
|
MIE_API struct mie_pass_result mie_pass_execute(
|
|
struct mie_pass *pass, struct mie_op *op, struct mie_pass_args *args);
|
|
|
|
#endif
|