![]() |
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.