void arch_dump_reqs_and_registers(FILE *F, const ir_node *node);
/**
- * Node classification. Used for statistics.
+ * Node classification. Used for statistics and for detecting reload nodes.
*/
typedef enum arch_irn_class_t {
arch_irn_class_spill = 1 << 0,
*/
arch_irn_class_t arch_irn_classify(const ir_node *irn);
-#define arch_irn_class_is(irn, irn_class) ((arch_irn_classify(irn) & arch_irn_class_ ## irn_class) != 0)
-
/**
* Get the flags of a node.
* @param irn The node.
const arch_register_class_t *cls;
int align;
- /* classify returns classification of the irn the proj is attached to */
- if (is_Proj(node))
- return;
-
- if (!arch_irn_class_is(node, reload))
+ if (! (arch_irn_classify(node) & arch_irn_class_reload))
return;
mode = get_irn_mode(node);
{
be_verify_spillslots_env_t *env = data;
- /* @@@ ia32_classify returns classification of Proj_pred :-/ */
- if (is_Proj(node))
- return;
-
- if (arch_irn_class_is(node, reload)) {
+ if (arch_irn_classify(node) & arch_irn_class_reload) {
ir_node *spill = get_memory_edge(node);
ir_entity *ent;