mirror of
https://github.com/pound-emu/ballistic.git
synced 2026-01-31 01:15:21 +01:00
ir: add initial ir translation module
Signed-off-by: Ronald Caesar <github43132@proton.me>
This commit is contained in:
@@ -10,6 +10,7 @@
|
|||||||
|
|
||||||
typedef uint64_t bal_instruction_t;
|
typedef uint64_t bal_instruction_t;
|
||||||
typedef uint16_t bal_instruction_count_t;
|
typedef uint16_t bal_instruction_count_t;
|
||||||
|
typedef uint16_t bal_ssa_id_t;
|
||||||
typedef uint8_t bal_bit_width_t;
|
typedef uint8_t bal_bit_width_t;
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
|
|||||||
31
src/bal_translator.h
Normal file
31
src/bal_translator.h
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
/** @file bal_translator.h
|
||||||
|
*
|
||||||
|
* @brief ARM to Ballistic IR Translation Interface.
|
||||||
|
*
|
||||||
|
* @details
|
||||||
|
*
|
||||||
|
* This module represents the frontend of Ballistic. It performas the following
|
||||||
|
* in a single pass:
|
||||||
|
*
|
||||||
|
* 1. Fetch
|
||||||
|
* 2. Decode
|
||||||
|
* 3. SSA Construction
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef BAL_TRANSLATOR_H
|
||||||
|
#define BAL_TRANSLATOR_H
|
||||||
|
|
||||||
|
#include "bal_engine.h"
|
||||||
|
#include "bal_types.h"
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
bal_instruction_t *instructions;
|
||||||
|
bal_bit_width_t *ssa_bit_widths;
|
||||||
|
bal_source_variable_t *source_variables;
|
||||||
|
size_t instruction_count;
|
||||||
|
} bal_translation_context_t;
|
||||||
|
|
||||||
|
#endif /* BAL_TRANSLATOR_H */
|
||||||
|
|
||||||
|
/*** end of file ***/
|
||||||
Reference in New Issue
Block a user