* @author Moritz Kroll, Jens Mueller
* @version $Id$
*/
-#ifdef HAVE_CONFIG_H
#include "config.h"
-#endif
#include <limits.h>
extern int isleaf;
-static const arch_env_t *arch_env;
-static const ppc32_code_gen_t *cg;
-
/*************************************************************
* _ _ __ _ _
in register we need. */
op = get_irn_n(irn, pos);
- reg = arch_get_irn_register(arch_env, op);
+ reg = arch_get_irn_register(op);
assert(reg && "no in register found");
return reg;
/* Proj with the corresponding projnum for the register */
if (get_irn_mode(irn) != mode_T) {
- reg = arch_get_irn_register(arch_env, irn);
+ reg = arch_get_irn_register(irn);
} else if (is_ppc32_irn(irn)) {
reg = get_ppc32_out_reg(irn, pos);
} else {
proj = get_edge_src_irn(edge);
assert(is_Proj(proj) && "non-Proj from mode_T node");
if (get_Proj_proj(proj) == pos) {
- reg = arch_get_irn_register(arch_env, proj);
+ reg = arch_get_irn_register(proj);
break;
}
}
* Emits code for a backend Copy node
*/
static void emit_be_Copy(const ir_node *irn) {
- const arch_register_class_t *regclass = arch_get_irn_reg_class(arch_env, irn, 0);
+ const arch_register_class_t *regclass = arch_get_irn_reg_class(irn, 0);
if (regclass == &ppc32_reg_classes[CLASS_ppc32_gp]) {
be_emit_cstring("\tmr ");
* Emits code for a backend Perm node
*/
static void emit_be_Perm(const ir_node *irn) {
- const arch_register_class_t *regclass = arch_get_irn_reg_class(arch_env, irn, 0);
+ const arch_register_class_t *regclass = arch_get_irn_reg_class(irn, 0);
if (regclass == &ppc32_reg_classes[CLASS_ppc32_gp]) {
be_emit_cstring("\txor ");
/**
* Set a node emitter. Make it a bit more type safe.
*/
-static INLINE void set_emitter(ir_op *op, emit_func ppc32_emit_node) {
+static inline void set_emitter(ir_op *op, emit_func ppc32_emit_node) {
op->ops.generic = (op_func)ppc32_emit_node;
}
*/
static void ppc32_emit_start(ir_graph *irg) {
const char *irg_name = get_entity_ld_name(get_irg_entity(irg));
- int framesize = get_type_size_bytes(get_irg_frame_type(cg->irg));
+ int framesize = get_type_size_bytes(get_irg_frame_type(irg));
if(! strcmp(irg_name, "main")) { // XXX: underscore hack
irg_name = "_main";
* Emits code for function end
*/
static void ppc32_emit_end(ir_graph *irg) {
- int framesize = get_type_size_bytes(get_irg_frame_type(cg->irg));
+ int framesize = get_type_size_bytes(get_irg_frame_type(irg));
(void) irg;
/* if(!isleaf) {
/**
* Main driver: generates code for one routine
*/
-void ppc32_gen_routine(const ppc32_code_gen_t *ppc32_cg, ir_graph *irg)
+void ppc32_gen_routine(const ppc32_code_gen_t *cg, ir_graph *irg)
{
ir_node *block;
int i, n;
- cg = ppc32_cg;
- arch_env = cg->arch_env;
-
ppc32_register_emitters();
ppc32_emit_start(irg);