libFirm
|
Topics | |
Just in Time Compilation | |
Typedefs | |
typedef void(* | after_transform_func) (ir_graph *irg, const char *name) |
Functions | |
void | be_lower_for_target (void) |
Lowers current program for the target architecture. | |
void | be_set_after_transform_func (after_transform_func func) |
Sets a callback that is called after each transformation step in be_lower_for_target(). | |
void | be_main (FILE *output, const char *compilation_unit_name) |
Main interface to the frontend. | |
asm_constraint_flags_t | be_parse_asm_constraints (const char *constraints) |
parse assembler constraint strings and returns flags (so the frontend knows which operands are inputs/outputs and whether memory is required) | |
int | be_is_valid_clobber (const char *clobber) |
tests whether a string is a valid clobber in an ASM instruction | |
void | be_dwarf_set_source_language (dwarf_source_language language) |
Sets source language for dwarf debug information. | |
void | be_dwarf_set_compilation_directory (const char *directory) |
Sets working directory of the compiler (or directory where the compiler searched for sources) for dwarf debug information. | |
Code Generation (backend) produces machine-code.
typedef void(* after_transform_func) (ir_graph *irg, const char *name) |
flags categorizing assembler constraint specifications
Dwarf source language codes.
void be_dwarf_set_compilation_directory | ( | const char * | directory | ) |
Sets working directory of the compiler (or directory where the compiler searched for sources) for dwarf debug information.
void be_dwarf_set_source_language | ( | dwarf_source_language | language | ) |
Sets source language for dwarf debug information.
int be_is_valid_clobber | ( | const char * | clobber | ) |
tests whether a string is a valid clobber in an ASM instruction
void be_lower_for_target | ( | void | ) |
Lowers current program for the target architecture.
This must be run once before using be_main. The idea here is that the backend can perform lowerings like doubleword-lowering, ABI adjustments or implementation of boolean values, if-conversion, with target specific settings. The resulting graph is still a "normal" firm-graph on which you can and should perform further architecture-neutral optimizations before be_main.
void be_main | ( | FILE * | output, |
const char * | compilation_unit_name ) |
Main interface to the frontend.
asm_constraint_flags_t be_parse_asm_constraints | ( | const char * | constraints | ) |
parse assembler constraint strings and returns flags (so the frontend knows which operands are inputs/outputs and whether memory is required)
void be_set_after_transform_func | ( | after_transform_func | func | ) |
Sets a callback that is called after each transformation step in be_lower_for_target().
This is typically used to run dump & verify steps to help debugging.