free(self);
}
-/**
- * Get the register class which shall be used to store a value of a given mode.
- * @param self The this pointer.
- * @param mode The mode in question.
- * @return A register class which can hold values of the given mode.
- */
-static const arch_register_class_t *TEMPLATE_get_reg_class_for_mode(const ir_mode *mode)
-{
- if (mode_is_float(mode))
- return &TEMPLATE_reg_classes[CLASS_TEMPLATE_fp];
- else
- return &TEMPLATE_reg_classes[CLASS_TEMPLATE_gp];
-}
-
/**
* Get the between type for that call.
* @param self The callback object.
TEMPLATE_lower_for_target,
TEMPLATE_done,
NULL, /* handle intrinsics */
- TEMPLATE_get_reg_class_for_mode,
TEMPLATE_get_call_abi,
TEMPLATE_get_reg_class_alignment,
TEMPLATE_get_backend_params,
free(self);
}
-
-/**
- * Get the register class which shall be used to store a value of a given mode.
- * @param self The this pointer.
- * @param mode The mode in question.
- * @return A register class which can hold values of the given mode.
- */
-static const arch_register_class_t *amd64_get_reg_class_for_mode(const ir_mode *mode)
-{
- assert(!mode_is_float(mode));
- return &amd64_reg_classes[CLASS_amd64_gp];
-}
-
-
-
typedef struct {
be_abi_call_flags_bits_t flags;
ir_graph *irg;
amd64_lower_for_target,
amd64_done,
NULL, /* handle intrinsics */
- amd64_get_reg_class_for_mode,
amd64_get_call_abi,
amd64_get_reg_class_alignment,
amd64_get_backend_params,
free(self);
}
-/**
- * Get the register class which shall be used to store a value of a given mode.
- * @param self The this pointer.
- * @param mode The mode in question.
- * @return A register class which can hold values of the given mode.
- */
-static const arch_register_class_t *arm_get_reg_class_for_mode(const ir_mode *mode)
-{
- if (mode_is_float(mode))
- return &arm_reg_classes[CLASS_arm_fpa];
- else
- return &arm_reg_classes[CLASS_arm_gp];
-}
-
/**
* Returns the necessary byte alignment for storing a register of given class.
*/
arm_lower_for_target,
arm_done,
NULL, /* handle_intrinsics */
- arm_get_reg_class_for_mode,
NULL,
arm_get_reg_class_alignment,
arm_get_libfirm_params,
*/
void (*handle_intrinsics)(void);
- /**
- * Get the register class which shall be used to store a value of a given
- * mode.
- * @param self The this pointer.
- * @param mode The mode in question.
- * @return A register class which can hold values of the given mode.
- */
- const arch_register_class_t *(*get_reg_class_for_mode)(const ir_mode *mode);
-
/**
* Get the ABI restrictions for procedure calls.
* @param self The this pointer.
#define arch_env_done(env) ((env)->impl->done(env))
#define arch_env_handle_intrinsics(env) \
do { if((env)->impl->handle_intrinsics != NULL) (env)->impl->handle_intrinsics(); } while(0)
-#define arch_env_get_reg_class_for_mode(env,mode) ((env)->impl->get_reg_class_for_mode((mode)))
#define arch_env_get_call_abi(env,tp,abi) ((env)->impl->get_call_abi((env), (tp), (abi)))
#define arch_env_get_reg_class_alignment(env,cls) ((env)->impl->get_reg_class_alignment((cls)))
#define arch_env_get_params(env) ((env)->impl->get_params())
free(self);
}
-
-/**
- * Get the register class which shall be used to store a value of a given mode.
- * @param self The this pointer.
- * @param mode The mode in question.
- * @return A register class which can hold values of the given mode.
- */
-static const arch_register_class_t *ia32_get_reg_class_for_mode(const ir_mode *mode)
-{
- if (mode_is_float(mode)) {
- return ia32_cg_config.use_sse2 ? &ia32_reg_classes[CLASS_ia32_xmm] : &ia32_reg_classes[CLASS_ia32_vfp];
- }
- else
- return &ia32_reg_classes[CLASS_ia32_gp];
-}
-
/**
* Returns the register for parameter nr.
*/
ia32_lower_for_target,
ia32_done,
ia32_handle_intrinsics,
- ia32_get_reg_class_for_mode,
ia32_get_call_abi,
ia32_get_reg_class_alignment,
ia32_get_libfirm_params,
free(isa);
}
-
-/**
- * Get the register class which shall be used to store a value of a given mode.
- * @param self The this pointer.
- * @param mode The mode in question.
- * @return A register class which can hold values of the given mode.
- */
-static const arch_register_class_t *sparc_get_reg_class_for_mode(const ir_mode *mode)
-{
- if (mode_is_float(mode))
- return &sparc_reg_classes[CLASS_sparc_fp];
- else
- return &sparc_reg_classes[CLASS_sparc_gp];
-}
-
/**
* Returns the necessary byte alignment for storing a register of given class.
*/
sparc_lower_for_target,
sparc_done,
NULL, /* handle intrinsics */
- sparc_get_reg_class_for_mode,
NULL,
sparc_get_reg_class_alignment,
sparc_get_backend_params,