X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Freassoc.c;h=3a1a138cbae697b357c4fc8283b7ee8750c6eaa1;hb=75ae7b18e06eb779d052dd10bd43762ef19f7f75;hp=4e8db32d91044f71a9a4f6b5458ef27591eaecd3;hpb=f69a170ef2d9bf23b79e1ea5e7be4e8921253b3f;p=libfirm diff --git a/ir/opt/reassoc.c b/ir/opt/reassoc.c index 4e8db32d9..3a1a138cb 100644 --- a/ir/opt/reassoc.c +++ b/ir/opt/reassoc.c @@ -27,13 +27,12 @@ #include "config.h" #endif +#include "iropt_t.h" #include "irnode_t.h" #include "irgraph_t.h" #include "irmode_t.h" -#include "iropt_t.h" #include "ircons_t.h" #include "irgmod.h" -#include "dbginfo.h" #include "iropt_dbg.h" #include "irflag_t.h" #include "irgwalk.h" @@ -182,6 +181,9 @@ static int reassoc_Sub(ir_node **in) DBG((dbg, LEVEL_5, "Applied: %n - %n => %n + (-%n)\n", get_Sub_left(n), c, get_Sub_left(n), c)); + if(n == irn) + return 0; + exchange(n, irn); *in = irn;