2 * This file is part of libFirm.
3 * Copyright (C) 2012 University of Karlsruhe.
8 * @brief Central firm functionality.
9 * @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier
13 #ifdef HAVE_FIRM_REVISION_H
14 # include "firm_revision.h"
31 #include "irgraph_t.h"
37 #include "iredges_t.h"
38 #include "irmemory_t.h"
43 #include "execfreq_t.h"
44 #include "firmstat_t.h"
46 /* returns the firm root */
47 lc_opt_entry_t *firm_opt_get_root(void)
49 static lc_opt_entry_t *grp = NULL;
51 grp = lc_opt_get_grp(lc_opt_root_grp(), "firm");
57 /* for historical reasons be_init must be run first */
60 /* initialize firm flags */
62 /* initialize all ident stuff */
64 /* Edges need hooks. */
66 /* create the type kinds. */
68 /* create an obstack and put all tarvals in a pdeq */
69 init_tarval_1(0l, /* support_quad_precision */0);
70 /* Builds a basic program representation, so modes can be added. */
72 /* initialize all modes an ir node can consist of */
74 /* initialize tarvals, and floating point arithmetic */
76 /* initialize node opcodes */
78 /* init graph construction */
80 /* kind of obstack initialization */
82 /* initialize reassociation */
83 firm_init_reassociation();
84 /* initialize function call optimization */
85 firm_init_funccalls();
86 /* initialize function inlining */
88 /* initialize scalar replacement */
89 firm_init_scalar_replace();
90 /* Builds a construct allowing to access all information to be constructed
93 /* memory disambiguation */
94 firm_init_memory_disambiguator();
97 /* Init architecture dependent optimizations. */
98 arch_dep_set_opts(arch_dep_none);
105 /* integrated debugger extension */
106 firm_init_debugger();
113 firm_finish_debugger();
123 firm_finish_mangle();
127 unsigned ir_get_version_major(void)
129 return libfirm_VERSION_MAJOR;
132 unsigned ir_get_version_minor(void)
134 return libfirm_VERSION_MINOR;
137 const char *ir_get_version_revision(void)
139 #ifdef libfirm_VERSION_REVISION
140 return libfirm_VERSION_REVISION;
146 const char *ir_get_version_build(void)