st registers are allocated by the x87 simulator and don't need a noreg
+/**
+ * Put all registers which are saved by the prologue/epilogue in a set.
+ *
+ * @param self The callback object.
+ * @param s The result set.
+ */
static void ia32_abi_dont_save_regs(void *self, pset *s)
{
ia32_abi_env_t *env = self;
static void ia32_abi_dont_save_regs(void *self, pset *s)
{
ia32_abi_env_t *env = self;
/**
* Generate the routine prologue.
/**
* Generate the routine prologue.
* @param self The callback object.
* @param mem A pointer to the mem node. Update this if you define new memory.
* @param reg_map A map mapping all callee_save/ignore/parameter registers to their defining nodes.
* @param self The callback object.
* @param mem A pointer to the mem node. Update this if you define new memory.
* @param reg_map A map mapping all callee_save/ignore/parameter registers to their defining nodes.
* @return The register which shall be used as a stack frame base.
*
* All nodes which define registers in @p reg_map must keep @p reg_map current.
* @return The register which shall be used as a stack frame base.
*
* All nodes which define registers in @p reg_map must keep @p reg_map current.
ia32_register_init(isa);
ia32_create_opcodes();
ia32_register_init(isa);
ia32_create_opcodes();
- ia32_register_copy_attr_func();
if ((ARCH_INTEL(isa->arch) && isa->arch < arch_pentium_4) ||
(ARCH_AMD(isa->arch) && isa->arch < arch_athlon))
if ((ARCH_INTEL(isa->arch) && isa->arch < arch_pentium_4) ||
(ARCH_AMD(isa->arch) && isa->arch < arch_athlon))
*/
int is_ia32_Cnst(const ir_node *node);
*/
int is_ia32_Cnst(const ir_node *node);
-/**
- * Allocates num register slots for node.
- */
-void alloc_ia32_reg_slots(ir_node *node, int num);
-
/**
* Initializes the nodes attributes.
*/
void init_ia32_attributes(ir_node *node, arch_irn_flags_t flags, const ia32_register_req_t **in_reqs, \
const ia32_register_req_t **out_reqs, int n_res);
/**
* Initializes the nodes attributes.
*/
void init_ia32_attributes(ir_node *node, arch_irn_flags_t flags, const ia32_register_req_t **in_reqs, \
const ia32_register_req_t **out_reqs, int n_res);
-/**
- * Registers the ia32_copy_attr function for all ia32 opcodes.
- */
-void ia32_register_copy_attr_func(void);
-
/* Include the generated headers */
#include "gen_ia32_new_nodes.h"
/* Include the generated headers */
#include "gen_ia32_new_nodes.h"
{ "name" => "st5", "type" => 1 },
{ "name" => "st6", "type" => 1 },
{ "name" => "st7", "type" => 1 },
{ "name" => "st5", "type" => 1 },
{ "name" => "st6", "type" => 1 },
{ "name" => "st7", "type" => 1 },
- { "name" => "st_NOREG", "type" => 6 }, # we need a dummy register for NoReg nodes
- { "name" => "st_UKNWN", "type" => 6 }, # we need a dummy register for Unknown nodes
{ "mode" => "mode_E" }
]
); # %reg_classes
{ "mode" => "mode_E" }
]
); # %reg_classes