-/**
- * Returns the argument register requirements of a TEMPLATE node.
- */
-const arch_register_req_t **get_TEMPLATE_in_req_all(const ir_node *node) {
- const TEMPLATE_attr_t *attr = get_TEMPLATE_attr_const(node);
- return attr->in_req;
-}
-
-/**
- * Returns the result register requirements of an TEMPLATE node.
- */
-const arch_register_req_t **get_TEMPLATE_out_req_all(const ir_node *node) {
- const TEMPLATE_attr_t *attr = get_TEMPLATE_attr_const(node);
- return attr->out_req;
-}
-
-/**
- * Returns the argument register requirement at position pos of an TEMPLATE node.
- */
-const arch_register_req_t *get_TEMPLATE_in_req(const ir_node *node, int pos) {
- const TEMPLATE_attr_t *attr = get_TEMPLATE_attr_const(node);
- return attr->in_req[pos];
-}
-
-/**
- * Returns the result register requirement at position pos of an TEMPLATE node.
- */
-const arch_register_req_t *get_TEMPLATE_out_req(const ir_node *node, int pos) {
- const TEMPLATE_attr_t *attr = get_TEMPLATE_attr_const(node);
- return attr->out_req[pos];
-}
-
-/**
- * Sets the OUT register requirements at position pos.
- */
-void set_TEMPLATE_req_out(ir_node *node, const arch_register_req_t *req, int pos) {
- TEMPLATE_attr_t *attr = get_TEMPLATE_attr(node);
- attr->out_req[pos] = req;
-}
-
-/**
- * Sets the IN register requirements at position pos.
- */
-void set_TEMPLATE_req_in(ir_node *node, const arch_register_req_t *req, int pos) {
- TEMPLATE_attr_t *attr = get_TEMPLATE_attr(node);
- attr->in_req[pos] = req;
-}
-
-/**
- * Returns the register flag of an TEMPLATE node.
- */
-arch_irn_flags_t get_TEMPLATE_flags(const ir_node *node) {
- const TEMPLATE_attr_t *attr = get_TEMPLATE_attr_const(node);
- return attr->flags;
-}
-
-/**
- * Sets the register flag of an TEMPLATE node.
- */
-void set_TEMPLATE_flags(ir_node *node, arch_irn_flags_t flags) {
- TEMPLATE_attr_t *attr = get_TEMPLATE_attr(node);
- attr->flags = flags;
-}
-
-/**
- * Returns the result register slots of an TEMPLATE node.
- */
-const arch_register_t **get_TEMPLATE_slots(ir_node *node) {
- TEMPLATE_attr_t *attr = get_TEMPLATE_attr(node);
- return attr->slots;
-}
-
-/**
- * Returns the result register slots of an TEMPLATE node.
- */
-const arch_register_t * const *get_TEMPLATE_slots_const(const ir_node *node) {
- const TEMPLATE_attr_t *attr = get_TEMPLATE_attr_const(node);
- return attr->slots;
-}
-
-/**
- * Returns the name of the OUT register at position pos.
- */
-const char *get_TEMPLATE_out_reg_name(const ir_node *node, int pos) {
- const TEMPLATE_attr_t *attr = get_TEMPLATE_attr_const(node);
-
- assert(is_TEMPLATE_irn(node) && "Not an TEMPLATE node.");
- assert(pos < ARR_LEN(attr->slots) && "Invalid OUT position.");
- assert(attr->slots[pos] && "No register assigned");
-
- return arch_register_get_name(attr->slots[pos]);
-}
-
-/**
- * Returns the index of the OUT register at position pos within its register class.
- */
-int get_TEMPLATE_out_regnr(const ir_node *node, int pos) {
- const TEMPLATE_attr_t *attr = get_TEMPLATE_attr_const(node);
-
- assert(is_TEMPLATE_irn(node) && "Not an TEMPLATE node.");
- assert(pos < ARR_LEN(attr->slots) && "Invalid OUT position.");
- assert(attr->slots[pos] && "No register assigned");
-
- return arch_register_get_index(attr->slots[pos]);
-}
-
-/**
- * Returns the OUT register at position pos.
- */
-const arch_register_t *get_TEMPLATE_out_reg(const ir_node *node, int pos) {
- const TEMPLATE_attr_t *attr = get_TEMPLATE_attr_const(node);
-
- assert(is_TEMPLATE_irn(node) && "Not an TEMPLATE node.");
- assert(pos < ARR_LEN(attr->slots) && "Invalid OUT position.");
- assert(attr->slots[pos] && "No register assigned");
-
- return attr->slots[pos];
-}
-
-/**
- * Returns the number of results.
- */
-int get_TEMPLATE_n_res(const ir_node *node) {
- const TEMPLATE_attr_t *attr = get_TEMPLATE_attr_const(node);
- return ARR_LEN(attr->slots);
-}
-