{
be_abi_call_t *call = XMALLOCZ(be_abi_call_t);
- call->flags.val = 0;
- call->params = new_set(cmp_call_arg, 16);
- call->cb = NULL;
- call->cls_addr = cls_addr;
-
- call->flags.bits.try_omit_fp = be_omit_fp;
+ call->params = new_set(cmp_call_arg, 16);
+ call->cb = NULL;
+ call->cls_addr = cls_addr;
+ call->flags.try_omit_fp = be_omit_fp;
return call;
}
/* ins collected, build the call */
throws_exception = ir_throws_exception(irn);
- if (env->call->flags.bits.call_has_imm && is_SymConst(call_ptr)) {
+ if (env->call->flags.call_has_imm && is_SymConst(call_ptr)) {
/* direct call */
low_call = be_new_Call(dbgi, irg, bl, curr_mem, sp->single_req, curr_sp,
sp->single_req, curr_sp,
/* The stack pointer will be modified in an unknown manner.
We cannot omit it. */
- env->call->flags.bits.try_omit_fp = 0;
+ env->call->flags.try_omit_fp = 0;
stack_alignment = 1 << arch_env->stack_alignment;
size = adjust_alloc_size(stack_alignment, size, block, dbg);
/* The stack pointer will be modified in an unknown manner.
We cannot omit it. */
- env->call->flags.bits.try_omit_fp = 0;
+ env->call->flags.try_omit_fp = 0;
subsp = be_new_SubSP(arch_env->sp, block, curr_sp, size);
set_irn_dbg_info(subsp, dbg);
unsigned long value = get_tarval_long(tv);
/* use ebp, so the climbframe algo works... */
if (value > 0) {
- env->call->flags.bits.try_omit_fp = 0;
+ env->call->flags.try_omit_fp = 0;
}
}
}
case iro_Call:
if (! be_omit_fp) {
/* The stack pointer will be modified due to a call. */
- env->call->flags.bits.try_omit_fp = 0;
+ env->call->flags.try_omit_fp = 0;
}
curr_sp = adjust_call(env, irn, curr_sp);
break;
}
}
- stack_layout->sp_relative = call->flags.bits.try_omit_fp;
+ stack_layout->sp_relative = call->flags.try_omit_fp;
bet_type = call->cb->get_between_type(irg);
stack_frame_init(stack_layout, arg_type, bet_type,
get_irg_frame_type(irg));
}
}
- fp_reg = call->flags.bits.try_omit_fp ? arch_env->sp : arch_env->bp;
+ fp_reg = call->flags.try_omit_fp ? arch_env->sp : arch_env->bp;
rbitset_clear(birg->allocatable_regs, fp_reg->global_index);
/* handle start block here (place a jump in the block) */
be_abi_call_flags_t call_flags = be_abi_call_get_flags(abi);
/* set abi flags for calls */
- /* call_flags.bits.try_omit_fp not changed: can handle both settings */
- call_flags.bits.call_has_imm = false; /* No call immediate, we handle this by ourselves */
+ /* call_flags.try_omit_fp not changed: can handle both settings */
+ call_flags.call_has_imm = false; /* No call immediate, we handle this by ourselves */
/* set parameter passing style */
be_abi_call_set_flags(abi, call_flags, &ia32_abi_callbacks);