X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeutil.h;h=84a59ede84a3b70a07e563eb03a40129dbf9b91a;hb=e4691fe2e5046a9b2ae912e23e92ddcdcd2bb6e9;hp=386d86a7f233d8e71292c74e88fa8174be5bf275;hpb=4080eec4a207a1f6d231230677ecaacc16b87207;p=libfirm diff --git a/ir/be/beutil.h b/ir/be/beutil.h index 386d86a7f..84a59ede8 100644 --- a/ir/be/beutil.h +++ b/ir/be/beutil.h @@ -2,11 +2,12 @@ #ifndef _BEUTIL_H #define _BEUTIL_H +#include "firm_config.h" + #include +#include "pset.h" #include "irnode.h" -#include "config.h" - #include "bearch.h" /** Undefine this to disable debugging mode. */ @@ -41,10 +42,6 @@ static INLINE int is_data_node(const ir_node *irn) { int i, n; - /* Unknowns do not exist, so they produce nothing */ - if(get_irn_opcode(irn) == iro_Unknown) - return 0; - /* If the node produces a data value, return immediately. */ if(is_firm_be_mode(get_irn_mode(irn))) return 1; @@ -98,3 +95,10 @@ static INLINE FILE *ffopen(const char *base, const char *ext, const char *mode) void dump_ir_block_graph_sched(ir_graph *irg, const char *suffix); #endif + +/** + * Search for an irn in @p accept. + * The search is started at @p start_point_exclusive and continues upwards the dom-tree + * @return The first node out of accept if found. Else NULL is returned. + */ +ir_node *dom_up_search(pset *accept, ir_node *start_point_exclusive);