MWCC/includes/compiler/PCodeUtilities.h

25 lines
1.2 KiB
C
Raw Normal View History

2022-11-07 03:06:21 +00:00
#ifndef COMPILER_PCODEUTILITIES_H
#define COMPILER_PCODEUTILITIES_H
#include "compiler/common.h"
2022-12-29 12:32:55 +00:00
#include "compiler/PCodeInfo.h"
2022-11-07 03:06:21 +00:00
extern void pcsetrecordbit(PCode *pc);
extern void pcsetsideeffects(PCode *pc);
extern void pcsetlinkbit(PCode *pc);
extern void branch_label(PCodeLabel *label);
extern void branch_conditional(short a, short compareop, short c, PCodeLabel *label);
extern void branch_always(PCodeLabel *label);
2022-12-29 12:32:55 +00:00
extern void branch_decrement_always(Opcode opcode, PCodeLabel *label);
2022-11-07 03:06:21 +00:00
extern void branch_indirect(Object *obj);
extern int branch_count_volatiles(void);
extern PCodeArg *branch_record_volatiles(PCodeArg *arglist, UInt32 *masks);
extern void branch_subroutine(Object *obj, short add_nop, UInt32 *masks);
extern void branch_subroutine_ctr(UInt32 *masks);
2022-12-29 12:32:55 +00:00
extern void add_immediate(short dest_reg, short base_reg, Object *obj, SInt16 offset);
extern PCode *add_immediate_lo(short dest_reg, short base_reg, Object *obj, SInt16 offset, char add_to_block);
extern PCode *op_absolute_ha(short dest_reg, short base_reg, Object *obj, SInt16 offset, char add_to_block);
extern void load_store_register(Opcode opcode, short dest_reg, short base_reg, Object *obj, SInt32 offset);
2022-11-07 03:06:21 +00:00
#endif