X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Freassoc.c;h=3a1a138cbae697b357c4fc8283b7ee8750c6eaa1;hb=75ae7b18e06eb779d052dd10bd43762ef19f7f75;hp=9f16ce889f126fe9822fdef77d7cad8e9355b007;hpb=0952881a2714f8ec2e87a6f4829bd55f41a0c68d;p=libfirm diff --git a/ir/opt/reassoc.c b/ir/opt/reassoc.c index 9f16ce889..3a1a138cb 100644 --- a/ir/opt/reassoc.c +++ b/ir/opt/reassoc.c @@ -1,24 +1,38 @@ /* - * Project: libFIRM - * File name: ir/opt/reassoc.c - * Purpose: Reassociation - * Author: Michael Beck - * Created: - * CVS-ID: $Id$ - * Copyright: (c) 1998-2007 Universität Karlsruhe - * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + * Copyright (C) 1995-2007 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 Reassociation + * @author Michael Beck + * @version $Id$ */ #ifdef HAVE_CONFIG_H #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" @@ -167,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;