projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More missing config.h
[libfirm]
/
ir
/
be
/
ia32
/
ia32_finish.c
diff --git
a/ir/be/ia32/ia32_finish.c
b/ir/be/ia32/ia32_finish.c
index
be3ac08
..
45f616b
100644
(file)
--- a/
ir/be/ia32/ia32_finish.c
+++ b/
ir/be/ia32/ia32_finish.c
@@
-4,6
+4,10
@@
* $Id$
*/
* $Id$
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
#include "irnode.h"
#include "ircons.h"
#include "irgmod.h"
#include "irnode.h"
#include "ircons.h"
#include "irgmod.h"
@@
-101,7
+105,7
@@
static void ia32_transform_lea_to_add(ir_node *irn, ia32_code_gen_t *cg) {
int imm = 0;
ir_node *res = NULL;
ir_node *nomem, *noreg, *base, *index, *op1, *op2;
int imm = 0;
ir_node *res = NULL;
ir_node *nomem, *noreg, *base, *index, *op1, *op2;
- const char *offs;
+ const char *offs
= NULL
;
ia32_transform_env_t tenv;
const arch_register_t *out_reg, *base_reg, *index_reg;
int imm_tp = ia32_ImmConst;
ia32_transform_env_t tenv;
const arch_register_t *out_reg, *base_reg, *index_reg;
int imm_tp = ia32_ImmConst;
@@
-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;
/* 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);
base = get_irn_n(irn, 0);
index = get_irn_n(irn, 1);