Commit d7337be4 authored by Matthias Braun's avatar Matthias Braun
Browse files

remove unused/broken interprocedural view

[r27762]
parent 6eb6226f
...@@ -75,7 +75,6 @@ ...@@ -75,7 +75,6 @@
#include "ident.h" #include "ident.h"
#include "interval_analysis.h" #include "interval_analysis.h"
#include "irarch.h" #include "irarch.h"
#include "ircgcons.h"
#include "ircgopt.h" #include "ircgopt.h"
#include "irconsconfirm.h" #include "irconsconfirm.h"
#include "ircons.h" #include "ircons.h"
......
...@@ -72,18 +72,6 @@ typedef struct ir_settings_if_conv_t ir_settings_if_conv_t; ...@@ -72,18 +72,6 @@ typedef struct ir_settings_if_conv_t ir_settings_if_conv_t;
/* states */ /* states */
/** The state of the interprocedural view.
*
* This value indicates the state of the interprocedural view.
*/
typedef enum {
ip_view_no, /**< The interprocedural view is not constructed. There are no
view specific nodes (EndReg, Filter, Break ...) in any graph. */
ip_view_valid, /**< The interprocedural view is valid. */
ip_view_invalid /**< The interprocedural view is invalid. Specific nodes are
all still in the representation, but the graph is no more complete. */
} ip_view_state;
/** /**
* This function is called, whenever a local variable is used before definition * This function is called, whenever a local variable is used before definition
* *
......
/*
* Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* @file
* @brief Construction and removal of interprocedural representation
* (explicit interprocedural dependencies).
* @author Hubert Schmid
* @date 09.06.2002
* @version $Id$
*/
#ifndef FIRM_IR_IRCGCONS_H
#define FIRM_IR_IRCGCONS_H
#ifdef INTERPROCEDURAL_VIEW
#include "firm_types.h"
#include "begin.h"
/** Return the current state of the interprocedural view. */
FIRM_API ip_view_state get_irp_ip_view_state(void);
/** Set the state of the interprocedural view to invalid. */
FIRM_API void set_irp_ip_view_invalid(void);
/** Construction of the interprocedural view.
*
* Construction of the interprocedural view. A prior analysis must have set
* all possible callees in the corresponding fields of Call nodes. Sets
* ip_view_valid in irp.
*
* @arg free_methods_arr: An array of all free methods, i.e., methods that
* are external visible. These methods get an 'Unknown'
* caller.
* @arg arr_len The number of free methods. */
FIRM_API void cg_construct(int arr_len, ir_entity *free_methods_arr[]);
/** Deconstruction of the interprocedural view. Reduces memory consumption of
the ir. Sets ip_view_no in irp. */
FIRM_API void cg_destruct(void);
#include "end.h"
#endif
#endif
...@@ -409,9 +409,7 @@ ...@@ -409,9 +409,7 @@
* is mature. As other constructors calls optimization and vrfy for the * is mature. As other constructors calls optimization and vrfy for the
* block. If one of the predecessors is Unknown (as it has to be filled in * block. If one of the predecessors is Unknown (as it has to be filled in
* later) optimizations are skipped. This is necessary to * later) optimizations are skipped. This is necessary to
* construct Blocks in loops. Leaving Unknown in the Block after finishing * construct Blocks in loops.
* the construction may have strange effects, especially for interprocedural
* representation and analysis.
* *
* *
* CONTROL FLOW OPERATIONS * CONTROL FLOW OPERATIONS
...@@ -831,9 +829,7 @@ ...@@ -831,9 +829,7 @@
* of in's of current_block. This is not checked by the library! * of in's of current_block. This is not checked by the library!
* If one of the predecessors is Unknown (as it has to be filled in * If one of the predecessors is Unknown (as it has to be filled in
* later) optimizations are skipped. This is necessary to * later) optimizations are skipped. This is necessary to
* construct Phi nodes in loops. Leaving Unknown in the Phi after finishing * construct Phi nodes in loops.
* the construction may have strange effects, especially for interprocedural
* representation and analysis.
* *
* Parameter * Parameter
* arity number of predecessors * arity number of predecessors
...@@ -1190,18 +1186,6 @@ FIRM_API ir_node *new_rd_Jmp(dbg_info *db, ir_node *block); ...@@ -1190,18 +1186,6 @@ FIRM_API ir_node *new_rd_Jmp(dbg_info *db, ir_node *block);
*/ */
FIRM_API ir_node *new_rd_IJmp(dbg_info *db, ir_node *block, ir_node *tgt); FIRM_API ir_node *new_rd_IJmp(dbg_info *db, ir_node *block, ir_node *tgt);
/** Constructor for a Break node.
*
* Break represents control flow to a single control successor just as Jmp.
* The blocks separated by a break may not be concatenated by an optimization.
* It is used for the interprocedural representation where blocks are parted
* behind Call nodes to represent the control flow to called procedures.
*
* @param *db A pointer for debug information.
* @param *block The block the node belong to.
*/
FIRM_API ir_node *new_rd_Break(dbg_info *db, ir_node *block);
/** Constructor for a Cond node. /** Constructor for a Cond node.
* *
* If c is mode_b represents a conditional branch (if/else). If c is * If c is mode_b represents a conditional branch (if/else). If c is
...@@ -1891,61 +1875,6 @@ FIRM_API ir_node *new_rd_Confirm(dbg_info *db, ir_node *block, ...@@ -1891,61 +1875,6 @@ FIRM_API ir_node *new_rd_Confirm(dbg_info *db, ir_node *block,
*/ */
FIRM_API ir_node *new_rd_Unknown(dbg_info *db, ir_graph *irg, ir_mode *m); FIRM_API ir_node *new_rd_Unknown(dbg_info *db, ir_graph *irg, ir_mode *m);
/** Constructor for a CallBegin node.
*
* CallBegin represents control flow depending of the pointer value
* representing the called method to the called methods. The
* constructor copies the method pointer input from the passed Call
* node.
*
* @param *db A pointer for debug information.
* @param *block The block the node belong to.
* @param *ptr pointer to the called function
* @param *call associated call operation
*/
FIRM_API ir_node *new_rd_CallBegin(dbg_info *db, ir_node *block, ir_node *ptr,
ir_node *call);
/** Constructor for a EndReg node.
*
* Used to represent regular procedure end in interprocedual view.
*
* @param *db A pointer for debug information.
* @param *irg The IR graph the node belong to.
* @param *block The block the node belong to.
*/
FIRM_API ir_node *new_rd_EndReg(dbg_info *db, ir_graph *irg, ir_node *block);
/** Constructor for a EndExcept node.
*
* Used to represent exceptional procedure end in interprocedural view.
*
* @param *db A pointer for debug information.
* @param *irg The IR graph the node belong to.
* @param *block The block the node belong to.
*/
FIRM_API ir_node *new_rd_EndExcept(dbg_info *db, ir_graph *irg, ir_node *block);
/** Constructor for a Filter node.
*
* Adds the node to the block in current_ir_block. Filter is a node
* with two views used to construct the interprocedural view. In
* intraprocedural view its semantics are identical to the Proj node.
* In interprocedural view the Filter performs the Phi operation on
* method parameters or results. Other than a Phi a Filter node may
* not be removed if it has only a single input.
*
* The constructor builds the Filter in intraprocedural view.
*
* @param *db A pointer for debug information.
* @param *block The block the node belong to.
* @param *arg The tuple value to project from.
* @param *mode The mode of the projected value.
* @param proj The position in the tuple to project from.
*/
FIRM_API ir_node *new_rd_Filter(dbg_info *db,ir_node *block, ir_node *arg,
ir_mode *mode, long proj);
/** Constructor for a Mux node. /** Constructor for a Mux node.
* *
* @param *db A pointer for debug information. * @param *db A pointer for debug information.
...@@ -2674,67 +2603,6 @@ FIRM_API ir_node *new_r_Confirm(ir_node *block, ir_node *val, ir_node *bound, ...@@ -2674,67 +2603,6 @@ FIRM_API ir_node *new_r_Confirm(ir_node *block, ir_node *val, ir_node *bound,
*/ */
FIRM_API ir_node *new_r_Unknown(ir_graph *irg, ir_mode *m); FIRM_API ir_node *new_r_Unknown(ir_graph *irg, ir_mode *m);
/** Constructor for a CallBegin node.
*
* CallBegin represents control flow depending of the pointer value
* representing the called method to the called methods. The
* constructor copies the method pointer input from the passed Call
* node.
*
* @param *block The block the node belong to.
* @param *ptr pointer to the called function
* @param *call associated call operation
*/
FIRM_API ir_node *new_r_CallBegin(ir_node *block, ir_node *ptr, ir_node *call);
/** Constructor for a EndReg node.
*
* Used to represent regular procedure end in interprocedual view.
*
* @param *irg The IR graph the node belong to.
* @param *block The block the node belong to.
*/
FIRM_API ir_node *new_r_EndReg(ir_graph *irg, ir_node *block);
/** Constructor for a EndExcept node.
*
* Used to represent exceptional procedure end in interprocedural view.
*
* @param *irg The IR graph the node belong to.
* @param *block The block the node belong to.
*/
FIRM_API ir_node *new_r_EndExcept(ir_graph *irg, ir_node *block);
/** Constructor for a Break node.
*
* Break represents control flow to a single control successor just as Jmp.
* The blocks separated by a break may not be concatenated by an optimization.
* It is used for the interprocedural representation where blocks are parted
* behind Call nodes to represent the control flow to called procedures.
*
* @param *block The block the node belong to.
*/
FIRM_API ir_node *new_r_Break(ir_node *block);
/** Constructor for a Filter node.
*
* Constructor for a Filter node. Adds the node to the block in current_ir_block.
* Filter is a node with two views used to construct the interprocedural view.
* In intraprocedural view its semantics are identical to the Proj node.
* In interprocedural view the Filter performs the Phi operation on method
* parameters or results. Other than a Phi a Filter node may not be removed
* if it has only a single input.
*
* The constructor builds the Filter in intraprocedural view.
*
* @param *block The block the node belong to.
* @param *arg The tuple value to project from.
* @param *mode The mode of the projected value.
* @param proj The position in the tuple to project from.
*/
FIRM_API ir_node *new_r_Filter(ir_node *block, ir_node *arg, ir_mode *mode,
long proj);
/** Constructor for a NoMem node. /** Constructor for a NoMem node.
* *
* Returns the unique NoMem node of the graph. The same as * Returns the unique NoMem node of the graph. The same as
...@@ -3531,70 +3399,6 @@ FIRM_API ir_node *new_d_Confirm(dbg_info *db, ir_node *val, ir_node *bound, ...@@ -3531,70 +3399,6 @@ FIRM_API ir_node *new_d_Confirm(dbg_info *db, ir_node *val, ir_node *bound,
*/ */
FIRM_API ir_node *new_d_Unknown(dbg_info *db, ir_mode *m); FIRM_API ir_node *new_d_Unknown(dbg_info *db, ir_mode *m);
/** Constructor for a CallBegin node.
*
* CallBegin represents control flow depending of the pointer value
* representing the called method to the called methods. The
* constructor copies the method pointer input from the passed Call
* node.Adds the node to the block in current_ir_block.
*
* @param *db A pointer for debug information.
* @param *ptr pointer to the called function
* @param *call associated call operation
*/
FIRM_API ir_node *new_d_CallBegin(dbg_info *db, ir_node *ptr, ir_node *call);
/** Constructor for an EndReg node.
*
*Adds the node to the block in current_ir_block.
*
* @param *db A pointer for debug information.
*/
FIRM_API ir_node *new_d_EndReg(dbg_info *db);
/** Constructor for an EndExcept node.
*
* Used to represent regular procedure end in interprocedual view.
* Adds the node to the block in current_ir_block.
*
* @param *db A pointer for debug information.
*/
FIRM_API ir_node *new_d_EndExcept(dbg_info *db);
/** Constructor for a Break node.
*
* Used to represent exceptional procedure end in interprocedural view.
* Adds the node to the block in current_ir_block.
*
* Break represents control flow to a single control successor just as Jmp.
* The blocks separated by a break may not be concatenated by an optimization.
* It is used for the interprocedural representation where blocks are parted
* behind Call nodes to represent the control flow to called procedures.
*
* @param *db A pointer for debug information.
*/
FIRM_API ir_node *new_d_Break(dbg_info *db);
/** Constructor for a Filter node.
*
* Constructor for a Filter node. Adds the node to the block in
* current_ir_block. Filter is a node with two views used to
* construct the interprocedural view. In intraprocedural view its
* semantics are identical to the Proj node. In interprocedural view
* the Filter performs the Phi operation on method parameters or
* results. Other than a Phi a Filter node may not be removed if it
* has only a single input.
*
* The constructor builds the Filter in intraprocedural view.
*
* @param *db A pointer for debug information.
* @param *arg The tuple value to project from.
* @param *mode The mode of the projected value.
* @param proj The position in the tuple to project from.
*/
FIRM_API ir_node *new_d_Filter(dbg_info *db, ir_node *arg, ir_mode *mode,
long proj);
/** Constructor for a Mux node. /** Constructor for a Mux node.
* *
* @param *db A pointer for debug information. * @param *db A pointer for debug information.
...@@ -3705,20 +3509,6 @@ FIRM_API ir_node *new_Start(void); ...@@ -3705,20 +3509,6 @@ FIRM_API ir_node *new_Start(void);
*/ */
FIRM_API ir_node *new_End(void); FIRM_API ir_node *new_End(void);
/** Constructor for an EndReg node.
*
* Used to represent regular procedure end in interprocedual view.
* Adds the node to the block in current_ir_block.
*/
FIRM_API ir_node *new_EndReg(void);
/** Constructor for an EndExpcept node.
*
* Used to represent exceptional procedure end in interprocedural view.
* Adds the node to the block in current_ir_block.
*/
FIRM_API ir_node *new_EndExcept(void);
/** Constructor for a Jump node. /** Constructor for a Jump node.
* *
* Adds the node to the block in current_ir_block. * Adds the node to the block in current_ir_block.
...@@ -3736,15 +3526,6 @@ FIRM_API ir_node *new_Jmp(void); ...@@ -3736,15 +3526,6 @@ FIRM_API ir_node *new_Jmp(void);
*/ */
FIRM_API ir_node *new_IJmp(ir_node *tgt); FIRM_API ir_node *new_IJmp(ir_node *tgt);
/** Constructor for a Break node.
* Break represents control flow to a single control successor just as Jmp.
* The blocks separated by a break may not be concatenated by an optimization.
* It is used for the interprocedural representation where blocks are parted
* behind Call nodes to represent the control flow to called procedures.
* Adds the node to the block in current_ir_block.
*/
FIRM_API ir_node *new_Break(void);
/** Constructor for a Cond node. /** Constructor for a Cond node.
* *
* If c is mode_b represents a conditional branch (if/else). If c is * If c is mode_b represents a conditional branch (if/else). If c is
...@@ -3936,18 +3717,6 @@ FIRM_API ir_node *new_Call(ir_node *store, ir_node *callee, ...@@ -3936,18 +3717,6 @@ FIRM_API ir_node *new_Call(ir_node *store, ir_node *callee,
FIRM_API ir_node *new_Builtin(ir_node *store, int arity, ir_node *in[], FIRM_API ir_node *new_Builtin(ir_node *store, int arity, ir_node *in[],
ir_builtin_kind kind, ir_type *tp); ir_builtin_kind kind, ir_type *tp);
/** Constructor for a CallBegin node.
*
* CallBegin represents control flow depending of the pointer value
* representing the called method to the called methods. The
* constructor copies the method pointer input from the passed Call
* node. Adds the node to the block in current_ir_block.
*
* @param *ptr pointer to the called function
* @param *call associated call operation
*/
FIRM_API ir_node *new_CallBegin(ir_node *ptr, ir_node *call);
/** Constructor for a Add node. /** Constructor for a Add node.
* *
* Adds the node to the block in current_ir_block. * Adds the node to the block in current_ir_block.
...@@ -4285,23 +4054,6 @@ FIRM_API ir_node *new_Sync(int arity, ir_node *in[]); ...@@ -4285,23 +4054,6 @@ FIRM_API ir_node *new_Sync(int arity, ir_node *in[]);
*/ */
FIRM_API ir_node *new_Proj(ir_node *arg, ir_mode *mode, long proj); FIRM_API ir_node *new_Proj(ir_node *arg, ir_mode *mode, long proj);
/** Constructor for a Filter node.
*
* Constructor for a Filter node. Adds the node to the block in current_ir_block.
* Filter is a node with two views used to construct the interprocedural view.
* In intraprocedural view its semantics are identical to the Proj node.
* In interprocedural view the Filter performs the Phi operation on method
* parameters or results. Other than a Phi a Filter node may not be removed
* if it has only a single input.
*
* The constructor builds the Filter in intraprocedural view.
*
* @param *arg The tuple value to project from.
* @param *mode The mode of the projected value.
* @param proj The position in the tuple to project from.
*/
FIRM_API ir_node *new_Filter(ir_node *arg, ir_mode *mode, long proj);
/** Constructor for a defaultProj node. /** Constructor for a defaultProj node.
* *
* Represents the default control flow of a Switch-Cond node. * Represents the default control flow of a Switch-Cond node.
......
...@@ -313,7 +313,7 @@ typedef enum { ...@@ -313,7 +313,7 @@ typedef enum {
* edges from constant to block are skipped. Vcg then layouts the graphs * edges from constant to block are skipped. Vcg then layouts the graphs
* more compact, this makes them better readable. */ * more compact, this makes them better readable. */
ir_dump_flag_consts_local = 1U << 4, ir_dump_flag_consts_local = 1U << 4,
/** if set node idx will be added to node labels */ /** if set node idx will be added to node labels */
ir_dump_flag_idx_label = 1U << 5, ir_dump_flag_idx_label = 1U << 5,
/** if set node number will be added to node labels */ /** if set node number will be added to node labels */
ir_dump_flag_number_label = 1U << 6, ir_dump_flag_number_label = 1U << 6,
...@@ -324,7 +324,7 @@ typedef enum { ...@@ -324,7 +324,7 @@ typedef enum {
/** if set dumps edges from blocks to their immediate dominator */ /** if set dumps edges from blocks to their immediate dominator */
ir_dump_flag_dominance = 1U << 9, ir_dump_flag_dominance = 1U << 9,
/** If set the dumper dumps loop nodes and edges from these nodes to the /** If set the dumper dumps loop nodes and edges from these nodes to the
* contained ir nodes. Nodes can be missing for interprocedural loops */ * contained ir nodes. */
ir_dump_flag_loops = 1U << 10, ir_dump_flag_loops = 1U << 10,
/** if set (and backedge info is computed) dump backedges */ /** if set (and backedge info is computed) dump backedges */
ir_dump_flag_back_edges = 1U << 11, ir_dump_flag_back_edges = 1U << 11,
......
...@@ -122,13 +122,6 @@ FIRM_API ir_graph *current_ir_graph; ...@@ -122,13 +122,6 @@ FIRM_API ir_graph *current_ir_graph;
FIRM_API ir_graph *get_current_ir_graph(void); FIRM_API ir_graph *get_current_ir_graph(void);
FIRM_API void set_current_ir_graph(ir_graph *graph); FIRM_API void set_current_ir_graph(ir_graph *graph);
#ifdef INTERPROCEDURAL_VIEW
/** This flag indicate the current view. The behavior of some methods
* (get_irn_*, set_irn_*) is influenced by this flag. */
FIRM_API int get_interprocedural_view(void);
FIRM_API void set_interprocedural_view(int state);
#endif
/** /**
* Create a new ir graph to build ir for a procedure. * Create a new ir graph to build ir for a procedure.
* *
...@@ -224,15 +217,6 @@ FIRM_API ir_node *get_irg_end(const ir_graph *irg); ...@@ -224,15 +217,6 @@ FIRM_API ir_node *get_irg_end(const ir_graph *irg);
/** Sets the End node of an IR graph. */ /** Sets the End node of an IR graph. */
FIRM_API void set_irg_end(ir_graph *irg, ir_node *node); FIRM_API void set_irg_end(ir_graph *irg, ir_node *node);
/* The fields end_reg and end_except contain the end nodes of the
interprocedural view. If the view is not constructed they contain
the normal end node. */
FIRM_API ir_node *get_irg_end_reg(const ir_graph *irg);
FIRM_API void set_irg_end_reg(ir_graph *irg, ir_node *node);
FIRM_API ir_node *get_irg_end_except(const ir_graph *irg);
FIRM_API void set_irg_end_except(ir_graph *irg, ir_node *node);
/** Returns the node that represents the initial control flow of the given /** Returns the node that represents the initial control flow of the given
* IR graph. */ * IR graph. */
FIRM_API ir_node *get_irg_initial_exec(const ir_graph *irg); FIRM_API ir_node *get_irg_initial_exec(const ir_graph *irg);
......
<
...@@ -74,8 +74,7 @@ FIRM_API void irg_walk_core(ir_node *node, irg_walk_func *pre, ...@@ -74,8 +74,7 @@ FIRM_API void irg_walk_core(ir_node *node, irg_walk_func *pre,
* *
* Like irg_walk(), but walks over all reachable nodes in the ir * Like irg_walk(), but walks over all reachable nodes in the ir
* graph, starting at the end operation. During the walk current_ir_graph * graph, starting at the end operation. During the walk current_ir_graph
* is set to irg. Does not use the link field. If interprocedural_view * is set to irg. Does not use the link field.
* is set, visits all reachable irgs.
*/ */
FIRM_API void irg_walk_graph(ir_graph *irg, irg_walk_func *pre, FIRM_API void irg_walk_graph(ir_graph *irg, irg_walk_func *pre,
irg_walk_func *post, void *env); irg_walk_func *post, void *env);
...@@ -114,7 +113,6 @@ FIRM_API void irg_walk_in_or_dep(ir_node *node, irg_walk_func *pre, ...@@ -114,7 +113,6 @@ FIRM_API void irg_walk_in_or_dep(ir_node *node, irg_walk_func *pre,
* graph, starting at the end operation. During the walk current_ir_graph * graph, starting at the end operation. During the walk current_ir_graph
* is set to irg. Does not use the link field. * is set to irg. Does not use the link field.
* This walker also follows additional dependency egdes. * This walker also follows additional dependency egdes.
* interprocedural_view is not yet supported.
*/ */
FIRM_API void irg_walk_in_or_dep_graph(ir_graph *irg, irg_walk_func *pre, FIRM_API void irg_walk_in_or_dep_graph(ir_graph *irg, irg_walk_func *pre,
irg_walk_func *post, void *env); irg_walk_func *post, void *env);
...@@ -128,25 +126,10 @@ FIRM_API void irg_walk_in_or_dep_graph(ir_graph *irg, irg_walk_func *pre, ...@@ -128,25 +126,10 @@ FIRM_API void irg_walk_in_or_dep_graph(ir_graph *irg, irg_walk_func *pre,
* *
* This function executes irg_walk(end, pre, post, env) for all irgraphs in irprog. * This function executes irg_walk(end, pre, post, env) for all irgraphs in irprog.
* Sets current_ir_graph properly for each walk. Conserves current * Sets current_ir_graph properly for each walk. Conserves current
* current_ir_graph. In interprocedural view nodes can be visited several * current_ir_graph. Does not use the link field.
* times. Does not use the link field.
*/ */
FIRM_API void all_irg_walk(irg_walk_func *pre, irg_walk_func *post, void *env); FIRM_API void all_irg_walk(irg_walk_func *pre, irg_walk_func *post, void *env);
#ifdef INTERPROCEDURAL_VIEW
/**
* Walks all irgs in interprocedural view.
*
* @param pre walker function, executed before the predecessor of a node are visited
* @param post walker function, executed after the predecessor of a node are visited
* @param env environment, passed to pre and post
*
* This function walks all irgs in interprocedural view.
* Visits each node only once. Sets current_ir_graph properly. Does not use the link field.
*/
FIRM_API void cg_walk(irg_walk_func *pre, irg_walk_func *post, void *env);
#endif
/** Walks only over Block nodes in the graph. /** Walks only over Block nodes in the graph.
* *
* @param node the start node * @param node the start node
...@@ -199,7 +182,6 @@ FIRM_API void walk_const_code(irg_walk_func *pre, irg_walk_func *post, ...@@ -199,7 +182,6 @@ FIRM_API void walk_const_code(irg_walk_func *pre, irg_walk_func *post,
* flag. It marks the node as visited before executing pre. * flag. It marks the node as visited before executing pre.
* The void *env can be used to pass status information between the * The void *env can be used to pass status information between the
* pre and post functions. Does not use the link fields. * pre and post functions. Does not use the link fields.
* Walks only intraprocedural, even in interprocedural view.
* *
* @param irg the irg graph * @param irg the irg graph
* @param pre walker function, executed before the predecessor of a node are visited * @param pre walker function, executed before the predecessor of a node are visited
...@@ -219,7 +201,6 @@ FIRM_API void irg_walk_blkwise_graph(ir_graph *irg, irg_walk_func *pre, ...@@ -219,7 +201,6 @@ FIRM_API void irg_walk_blkwise_graph(ir_graph *irg, irg_walk_func *pre,
* flag. It marks the node as visited before executing pre. * flag. It marks the node as visited before executing pre.
* The void *env can be used to pass status information between the * The void *env can be used to pass status information between the
* pre and post functions. Does not use the link fields. * pre and post functions. Does not use the link fields.
* Walks only intraprocedural, even in interprocedural view.
* This walker also follows dependency edges. * This walker also follows dependency edges.
* *
* @param irg the irg graph * @param irg the irg graph
...@@ -242,7 +223,6 @@ FIRM_API void irg_walk_in_or_dep_blkwise_graph(ir_graph *irg, ...@@ -242,7 +223,6 @@ FIRM_API void irg_walk_in_or_dep_blkwise_graph(ir_graph *irg,
* flag. It marks the node as visited before executing pre. * flag. It marks the node as visited before executing pre.
* The void *env can be used to pass status information between the * The void *env can be used to pass status information between the
* pre and post functions. Does not use the link fields. * pre and post functions. Does not use the link fields.
* Walks only intraprocedural, even in interprocedural view.
* *
* @param irg the irg graph * @param irg the irg graph
* @param pre walker function, executed before the predecessor of a node are visited * @param pre walker function, executed before the predecessor of a node are visited
......