projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use Lea instead of Add in the ia32 transformer.
[libfirm]
/
ir
/
tr
/
type_finalization.c
diff --git
a/ir/tr/type_finalization.c
b/ir/tr/type_finalization.c
index
29686af
..
7fec331
100644
(file)
--- a/
ir/tr/type_finalization.c
+++ b/
ir/tr/type_finalization.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (C) 1995-200
7
University of Karlsruhe. All right reserved.
+ * Copyright (C) 1995-200
8
University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
*
* This file is part of libFirm.
*
@@
-24,9
+24,7
@@
* @author Michael Beck
* @version $Id$
*/
* @author Michael Beck
* @version $Id$
*/
-#ifdef HAVE_CONFIG_H
#include "config.h"
#include "config.h"
-#endif
#include "typerep.h"
#include "irprog_t.h"
#include "typerep.h"
#include "irprog_t.h"
@@
-36,11
+34,12
@@
DEBUG_ONLY(static firm_dbg_module_t *dbg;)
DEBUG_ONLY(static firm_dbg_module_t *dbg;)
-static void do_finalization(type_or_ent *tore, void *env) {
- ir_type *glob_tp = env;
+static void do_finalization(type_or_ent tore, void *env)
+{
+ ir_type *glob_tp = (ir_type*)env;
- if (is_type(tore)) {
- ir_type *cls =
(ir_type *)tore
;
+ if (is_type(tore
.typ
)) {
+ ir_type *cls =
tore.typ
;
if (! is_Class_type(cls) || cls == glob_tp)
return;
if (! is_Class_type(cls) || cls == glob_tp)
return;
@@
-49,13
+48,13
@@
static void do_finalization(type_or_ent *tore, void *env) {
return;
if (get_class_n_subtypes(cls) == 0) {
/* Note that we set the final property even for the
return;
if (get_class_n_subtypes(cls) == 0) {
/* Note that we set the final property even for the
- frame/
tls
types this way. Should not made any problems. */
+ frame/
global
types this way. Should not made any problems. */
set_class_final(cls, 1);
DB((dbg, LEVEL_1, " made final Class %s\n",
set_class_final(cls, 1);
DB((dbg, LEVEL_1, " made final Class %s\n",
- get_
type
_name(cls)));
+ get_
class
_name(cls)));
}
} else {
}
} else {
- ir_entity *ent =
(ir_entity *)tore
;
+ ir_entity *ent =
tore.ent
;
ir_type *owner;
if (is_entity_final(ent))
ir_type *owner;
if (is_entity_final(ent))
@@
-70,11
+69,11
@@
static void do_finalization(type_or_ent *tore, void *env) {
assert(get_entity_n_overwrittenby(ent) == 0);
set_entity_final(ent, 1);
DB((dbg, LEVEL_1, " made final %s::%s\n",
assert(get_entity_n_overwrittenby(ent) == 0);
set_entity_final(ent, 1);
DB((dbg, LEVEL_1, " made final %s::%s\n",
- get_
type
_name(owner), get_entity_name(ent)));
+ get_
compound
_name(owner), get_entity_name(ent)));
} else if (get_entity_n_overwrittenby(ent) == 0) {
set_entity_final(ent, 1);
DB((dbg, LEVEL_1, " made final %s::%s\n",
} else if (get_entity_n_overwrittenby(ent) == 0) {
set_entity_final(ent, 1);
DB((dbg, LEVEL_1, " made final %s::%s\n",
- get_
type
_name(owner), get_entity_name(ent)));
+ get_
compound
_name(owner), get_entity_name(ent)));
}
}
} /* do_finalization */
}
}
} /* do_finalization */
@@
-85,9
+84,10
@@
static void do_finalization(type_or_ent *tore, void *env) {
* After this is done, all classes and entities that are not overridden
* anymore have the final property set.
*/
* After this is done, all classes and entities that are not overridden
* anymore have the final property set.
*/
-void types_calc_finalization(void) {
- if (! get_opt_closed_world())
- return;
+void types_calc_finalization(void)
+{
+ if (! get_opt_closed_world())
+ return;
FIRM_DBG_REGISTER(dbg, "firm.tr.finalization");
FIRM_DBG_REGISTER(dbg, "firm.tr.finalization");