void set_irn_mode(ir_node *node, ir_mode *mode);
/** Gets the mode struct of a node. */
ir_mode *get_irn_mode(const ir_node *node);
-/** Gets the mode-enum ir_modecode. */
-ir_modecode get_irn_modecode(const ir_node *node);
/** Gets the ident for a string representation of the mode .*/
ident *get_irn_modeident(const ir_node *node);
/** Gets the string representation of the mode .*/
* get_irn_MacroBlock(). */
ir_node *get_nodes_MacroBlock(const ir_node *node);
-/**
- * @function get_irn_block()
- * @see get_nodes_block()
- */
-
/**
* Projection numbers for result of Start node: use for Proj nodes!
*/
ir_node *get_irn_MacroBlock(const ir_node *n);
/** Returns the ir_graph this Block belongs to. */
ir_graph *get_Block_irg(const ir_node *block);
-/** Returns non-zero if the block has an assigned label. */
-int has_Block_label(const ir_node *block);
-/** Returns the label of a Block. */
-ir_label_t get_Block_label(const ir_node *block);
-/** Sets a label to a block. */
-void set_Block_label(ir_node *block, ir_label_t label);
+/** Returns non-zero if the block has an entity assigned */
+int has_Block_entity(const ir_node *block);
+/** Returns the entity for a Block */
+ir_entity *get_Block_entity(const ir_node *block);
+/** Returns the entity for a Block (creating it if necessary) */
+ir_entity *create_Block_entity(ir_node *block);
+/** Set a new entity for a block */
+void set_Block_entity(ir_node *block, ir_entity *entity);
/** Gets the head of the Phi list for this block. */
ir_node *get_Block_phis(const ir_node *block);
/** Sets the head of the Phi list for this block. */
/** Returns non-zero if s symconst kind has an enum_const attribute */
#define SYMCONST_HAS_ENUM(kind) ((kind) == symconst_enum_const)
-/** Returns non-zero if s symconst kind has a label attribute */
-#define SYMCONST_HAS_LABEL(kind) ((kind) == symconst_label)
-
/** Get the kind of the SymConst. */
symconst_kind get_SymConst_kind(const ir_node *node);
/** Set the kind of the SymConst. */
void set_SymConst_symbol(ir_node *node,
union symconst_symbol sym);
-/** Only to access SymConst of kind symconst_label. Else assertion: */
-ir_label_t get_SymConst_label(const ir_node *node);
-void set_SymConst_label(ir_node *node, ir_label_t label);
-
-
/** Access the type of the value represented by the SymConst.
*
* Example: primitive type int for SymConst size. */
* operation: Cond. */
int is_irn_forking(const ir_node *node);
+/**
+ * Copies all attributes stored in the old node to the new node.
+ * Assumes both have the same opcode and sufficient size.
+ */
+void copy_node_attr(const ir_node *old_node, ir_node *new_node);
+
/** Return the type associated with the value produced by n
* if the node remarks this type as it is the case for
* Cast, Const, SymConst and some Proj nodes or unknown_type. */