X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_finish.c;h=45f616b2c7e1c9f8525227da29363741bf8f45fa;hb=afa44cc5648401a50c08458622b50de4256498c2;hp=fd706796b5bc7316d020d4c19e7780e28715e63c;hpb=3f0ee9d6099d0ded19ef63f8fa5094bc32ae02ac;p=libfirm diff --git a/ir/be/ia32/ia32_finish.c b/ir/be/ia32/ia32_finish.c index fd706796b..45f616b2c 100644 --- a/ir/be/ia32/ia32_finish.c +++ b/ir/be/ia32/ia32_finish.c @@ -4,6 +4,10 @@ * $Id$ */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "irnode.h" #include "ircons.h" #include "irgmod.h" @@ -371,6 +375,9 @@ static void fix_am_source(ir_node *irn, void *env) { /* check only ia32 nodes with source address mode */ if (! is_ia32_irn(irn) || get_ia32_op_type(irn) != ia32_AddrModeS) return; + /* no need to fix unary operations */ + if (get_irn_arity(irn) == 4) + return; base = get_irn_n(irn, 0); index = get_irn_n(irn, 1);