|
ACSE 2.0.3
Advanced Compiler System for Education
|
Transformation pass for lowering target machine details implementation. More...
#include <stdarg.h>#include <stdbool.h>#include <stddef.h>#include <stdint.h>#include "target_transform.h"#include "codegen.h"#include "list.h"#include "target_info.h"Go to the source code of this file.
Macros | |
| #define | RD(i) |
| #define | RS1(i) |
| #define | RS2(i) |
| #define | IMM(i) |
| #define | SYSCALL_ID_PRINT_INT 1 |
| #define | SYSCALL_ID_READ_INT 5 |
| #define | SYSCALL_ID_EXIT_0 10 |
| #define | SYSCALL_ID_PRINT_CHAR 11 |
Functions | |
| t_listNode * | addInstrAfter (t_program *program, t_listNode *prev, t_instruction *instr) |
| void | setMCRegisterWhitelist (t_instrArg *regObj,...) |
| bool | isImmediateArgumentInstrOpcode (int opcode) |
| int | getMatchingNonImmediateOpcode (int orig) |
| bool | isInt12 (int immediate) |
| void | fixUnsupportedImmediates (t_program *program) |
| void | fixPseudoInstructions (t_program *program) |
| void | fixSyscalls (t_program *program) |
| void | doTargetSpecificTransformations (t_program *program) |
Transformation pass for lowering target machine details implementation.
Definition in file target_transform.c.
| #define IMM | ( | i | ) |
Definition at line 17 of file target_transform.c.
| #define RD | ( | i | ) |
Definition at line 14 of file target_transform.c.
| #define RS1 | ( | i | ) |
Definition at line 15 of file target_transform.c.
| #define RS2 | ( | i | ) |
Definition at line 16 of file target_transform.c.
| #define SYSCALL_ID_EXIT_0 10 |
Definition at line 21 of file target_transform.c.
| #define SYSCALL_ID_PRINT_CHAR 11 |
Definition at line 22 of file target_transform.c.
| #define SYSCALL_ID_PRINT_INT 1 |
Definition at line 19 of file target_transform.c.
| #define SYSCALL_ID_READ_INT 5 |
Definition at line 20 of file target_transform.c.
| t_listNode * addInstrAfter | ( | t_program * | program, |
| t_listNode * | prev, | ||
| t_instruction * | instr ) |
Definition at line 25 of file target_transform.c.
| void fixPseudoInstructions | ( | t_program * | program | ) |
Definition at line 179 of file target_transform.c.
| void fixSyscalls | ( | t_program * | program | ) |
Definition at line 282 of file target_transform.c.
| void fixUnsupportedImmediates | ( | t_program * | program | ) |
Definition at line 141 of file target_transform.c.
| int getMatchingNonImmediateOpcode | ( | int | orig | ) |
Definition at line 85 of file target_transform.c.
| bool isImmediateArgumentInstrOpcode | ( | int | opcode | ) |
Definition at line 55 of file target_transform.c.
| bool isInt12 | ( | int | immediate | ) |
Definition at line 135 of file target_transform.c.
| void setMCRegisterWhitelist | ( | t_instrArg * | regObj, |
| ... ) |
Definition at line 36 of file target_transform.c.