libFirm
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Modules
Here is a list of all modules:
[detail level 123]
oAbstract Data StructuresThis module contains abstract datatypes like lists and hashmaps
|oArrays
|oDouble Ended QueueImplementation if a double ended queue data structure for generic pointers
|oGeneric HashsetGeneric Hashset
|oLinked ListsDoubly linked lists
|oMemory Allocation
|oPointer MapPointer->Pointer hashmap
|oPointer Set(Hash)sets containing pointers
|oPriority QueueA priority queue
|oUnion-FindUnion-Find data structure
|\pointer lists (deprecated)
oAlgorithmsThis module contains generic algorithms like bipartite matching or solvers for linear equation systems
|oBipartite MatchingSolved bipartite matching problem
|oGauss Jordan EliminationSolves a system of linear equations
|oHash Functions
|\Hungarian AlgorithmSolves bipartite matching problems (minimize/maximize cost function)
oAnalyses
|oBasic Block Execution FrequencyExecution frequencies specify how often a basic block is expected to get executed during execution of a function
|oCallgraphThis file contains the representation of the callgraph
|oControl Dependence
|oDominance InformationThe dominator information is stored in three fields of block nodes:
|oDynamic Reverse Edges
|oLoops
|oMemory DisambiguatorA memory disambiguator checks whether 2 given SSA values representing addresses alias
|oNode HeightsThe height is a measure for the longest data dependency path from a node to the end of a basic block
|oReverse EdgesOut-Edges are the reverse of the edges in a firm graph (also called def-use edges)
|\Value InformationInformation about SSA-values (ranges, known bits, ...)
oCode GenerationCode Generation (backend) produces machine-code
oCorrectness Tests
oEntitiesAn entity is the representation of program known objects in Firm
|\Entity Initializers
oIdentifiers
oInput and Output
oLibrary InitializationThe functions in this section deal with initialization and deinitalization of the libFirm library
oLoweringLowering is the process of transforming a highlevel representation (a representation closer to the sourcecode) into a lower-level representation (something closer to the target machine)
oPrinting and VisualisationThis module contains functions for printing and visualizing libfirm data structures like programs, graphs and nodes for humans
|oString FormattingThese functions allow printing of formated strings with support for printing firm objects in a human readable form
|\VisualisationDumps information so it can be visualised
oProcedure GraphThis struct contains all information about a procedure
|oConstruction Support
|oNodesIr_node - a datatype representing a Firm node
|\TraversingTraverse graphs:
oProgramIr_prog keeps information about a program:
oSource ReferencesFirm requires a debugging module fulfilling this interface, else no debugging information is passed to the backend
oStatistic EventsThe statistics system helps to evaluate the effects of compiler passes and transformations
oTarget Machine ValuesTarvals only represent values of mode_sort:
oTransformations and Optimizations
|oFlagsFlags to customize the behavior of libfirm
|oGraph Transformations
|\Local Optimizations
oType SystemDatastructure to hold type information
|oArrayThe array type represents linear arrangement of objects of the same type
|oClassIf the type opcode is set to type_class the type represents class types
|oCode
|oCompound
|oFrame
|oMethodA method type represents a method, function or procedure type
|oPointerPointer types:
|oPrimitivePrimitive types are types that represent atomic data values that map directly to modes
|oSegmentSegment types represent segments in the object file
|oStructA struct type represents aggregate types that consist of a list of fields
|oTraversing
|oUnionThe union type represents union types
|\UnknownThis type is an auxiliary type dedicated to support type analyses
\Value ModesThis module specifies the modes that type the firm nodes