* Modified by:
* Created: 2000
* CVS-ID: $Id$
- * Copyright: (c) 2000-2003 Universität Karlsruhe
+ * Copyright: (c) 2000-2007 Universität Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
*/
#include "obst.h"
#include "typegmod.h"
#include "irop_t.h"
+#include "irmemory.h"
/** The name of the Global Type. */
#define GLOBAL_TYPE_NAME "GlobalType"
remove_irp_type(irp->glob_type);
remove_irp_type(irp->tls_type);
- /* set these flags for debugging */
+ /* Set these flags for debugging. */
irp->glob_type->flags |= tf_global_type;
irp->tls_type->flags |= tf_tls_type;
+ /* The global type is a class, but we cannot derive from it, so set
+ the final property to assist optimizations that checks for it. */
+ set_class_final(irp->glob_type, 1);
+
irp->const_code_irg = new_const_code_irg();
irp->phase_state = phase_building;
irp->ip_outedges = NULL;
irp->trouts_state = outs_none;
irp->class_cast_state = ir_class_casts_transitive;
+ irp->globals_adr_taken_state = ir_address_taken_not_computed;
return irp;
}