dnl configure.ac file for libfirm, author Matthias Braun <matze@braunis.de>
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ([2.60])
-AC_REVISION([$Id$])
dnl Firm Versions
dnl * Increment major/minor/micro version as you see fit. These 3 numbers
* @file
* @brief Dynamic and flexible arrays for C.
* @author Markus Armbruster, Michael Beck, Matthias Braun, Sebastian Hack
- * @version $Id$
*/
#ifndef FIRM_ADT_ARRAY_H
#define FIRM_ADT_ARRAY_H
* @date 16.03.2007
* @brief a set of pointers with a custom compare function
* @author Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_ADT_CPSET_H
#define FIRM_ADT_CPSET_H
* instead)
* @author Hubert Schmid
* @date 09.06.2002
- * @version $Id$
* @deprecated
*/
#ifndef FIRM_ADT_ESET_H
* @file
* @brief Define the famous infame FOURCC macro.
* @date 02.01.2004
- * @version $Id$
*/
#ifndef FIRM_ADT_FOURCC_H
#define FIRM_ADT_FOURCC_H
* @file
* @brief Hash function for pointers
* @author Michael Beck, Sebastian Hack
- * @version $Id$
*/
#ifndef FIRM_ADT_HASHPTR_H
#define FIRM_ADT_HASHPTR_H
* @date 16.03.2007
* @brief Generic hashset functions
* @author Matthias Braun
- * @version $Id$
*
* You have to specialize this header by defining HashSet, HashSetIterator and
* ValueType
/**
* @file
* @brief Solving the Minimum Assignment Problem using the Hungarian Method.
- * @version $Id$
*/
#ifndef FIRM_ADT_HUNGARIAN_H
#define FIRM_ADT_HUNGARIAN_H
* Useful for formatted and unified dumping of collections of objects.
* @author Sebastian Hack
* @date 29.11.2004
- * @version $Id$
*/
#ifndef FIRM_ADT_ITERATOR_H
#define FIRM_ADT_ITERATOR_H
/**
* @file
* @brief Doubly linked lists.
- * @version $Id$
*
* Simple doubly linked list implementation.
*
* @file
* @brief Provied obstack_chunk_alloc and obstack_chunk_free for obstack.h
* @author Martin Trapp, Christian Schaefer
- * @version $Id$
*/
#ifndef FIRM_ADT_OBST_H
#define FIRM_ADT_OBST_H
* @file
* @brief double ended queue of generic pointers.
* @author Christian von Roques
- * @version $Id$
*/
#ifndef FIRM_ADT_PDEQ_H
#define FIRM_ADT_PDEQ_H
* @file
* @author Kimon Hoffmann
* @date 14.07.2005
- * @version $Id$
* @brief Simple, non circular, double linked pointer list.
* Created because the properties of the standard circular list were
* not very well suited for the interference graph implementation.
* @brief Simplified hashnap for pointer->pointer relations
* @author Hubert Schmid
* @date 09.06.2002
- * @version $Id$
*/
#ifndef FIRM_ADT_PMAP_H
#define FIRM_ADT_PMAP_H
* @author Christian Wuerdig
* @brief Implementation of a priority queue. This is the ported version of
the original Java implementation by Matthias Braun.
- * @version $Id$
*/
#ifndef FIRM_ADT_PQUEUE_H
#define FIRM_ADT_PQUEUE_H
* @brief optimized version of set for sets containing only pointers
* (deprecated)
* @author Markus Armbruster
- * @version $Id$
* @note This code has been deprecated. Use pset_new or cpset for new
* code.
*/
* @date 17.03.2007
* @brief hashset containing pointers
* @author Matthias Braun
- * @version $Id$
*
* @note This has been named pset_new_new for now until all code has been
* changed to use this instead of the old deprecated pset_new functions!
* @file
* @brief hashset: datastructure containing objects accessible by their key
* @author Markus Armbruster
- * @version $Id$
*/
#ifndef FIRM_ADT_SET_H
#define FIRM_ADT_SET_H
* @file
* @brief Union-Find datastructure
* @author Matthias Braun
- * @version $Id$
* @brief
* Union-Find datastructure
*
* @file
* @brief never failing wrappers for malloc() & friends.
* @author Markus Armbruster
- * @version $Id$
* @note The functions here never fail because they simply abort your
* program in case of an error.
*/
* @file
* @brief read/write analyze of graph argument, which have mode reference
* @author Beyhan Veliev
- * @version $Id$
*/
#ifndef FIRM_ANA_ANALYZE_IRG_ARGS_H
#define FIRM_ANA_ANALYZE_IRG_ARGS_H
* @file
* @brief Generic backend types and interfaces.
* @author Sebastian Hack
- * @version $Id$
*/
#ifndef FIRM_BE_MAIN_H
#define FIRM_BE_MAIN_H
* @file
* @brief Should be included in all public firm headers at the beginning
* @author Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BEGIN_H
#define FIRM_BEGIN_H
* @brief Representation and computation of the callgraph.
* @author Goetz Lindenmaier
* @date 21.7.2004
- * @version $Id$
* @brief
* This file contains the representation of the callgraph.
* The nodes of the call graph are ir_graphs. The edges between
* @file
* @brief control dependence analysis
* @author Christoph Mallon
- * @version $Id$
*/
#ifndef FIRM_ANA_CDEP_H
#define FIRM_ANA_CDEP_H
* @brief Intraprozedural analyses to estimate the call graph.
* @author Hubert Schmid
* @date 09.06.2002
- * @version $Id$
* @brief
* Interprocedural analysis to estimate the calling relation.
*
* @brief Implements the Firm interface to debug information.
* @author Goetz Lindenmaier, Michael Beck
* @date 2001
- * @version $Id$
* @brief
* Firm requires a debugging module fulfilling this interface, else no
* debugging information is passed to the backend.
* @file
* @brief Should be included in all public firm headers at the end
* @author Matthias Braun
- * @version $Id$
*/
/* close extern "C" block from begin.h,
* @brief Compute an estimate of basic block executions.
* @author Adam M. Szalkowski
* @date 28.05.2006
- * @version $Id$
*/
#ifndef FIRM_ANA_EXECFREQ_H
#define FIRM_ANA_EXECFREQ_H
* @file
* @brief Central firm header.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier
- * @version $Id$
* @brief
* Central FIRM header.
*
* @file
* @brief common firm declarations
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier
- * @version $Id$
*/
#ifndef FIRM_COMMON_FIRM_COMMON_H
#define FIRM_COMMON_FIRM_COMMON_H
* @file
* @brief Definition of opaque firm types
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_COMMON_FIRM_TYPES_H
#define FIRM_COMMON_FIRM_TYPES_H
* @file
* @brief Statistics for Firm.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_STAT_FIRMSTAT_H
#define FIRM_STAT_FIRMSTAT_H
* @brief Compute heights of nodes inside basic blocks
* @author Sebastian Hack
* @date 19.04.2006
- * @version $Id$
*
* The height is a measure for the longest datadependencies path from a node to
* the end of a basic block. This is usefull for scheduling heuristics and can
* @file
* @brief Data type for unique names.
* @author Goetz Lindenmaier
- * @version $Id$
* @brief
* Declarations for identifiers in the firm library
*/
* @brief Some machine dependent optimizations.
* @date 1.10.2004
* @author Sebastian Hack
- * @version $Id$
*/
#ifndef FIRM_IR_IRARCH_H
#define FIRM_IR_IRARCH_H
* @brief Removal of unreachable methods.
* @author Hubert Schmid
* @date 09.06.2002
- * @version $Id$
* @brief
* Removal of unreachable methods. The set of unreachable methods is computed
* by the callgraph.
* representation.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Boris Boesler,
* Michael Beck
- * @version $Id$
*/
/**
* @brief Construction of Confirm nodes
* @author Michael Beck
* @date 6.2005
- * @version $Id$
*/
#ifndef FIRM_ANA_IRCONSCONFIRM_H
#define FIRM_ANA_IRCONSCONFIRM_H
* @brief Construct and access dominator tree.
* @author Goetz Lindenmaier
* @date 2.2002
- * @version $Id$
* @brief
* This file contains routines to construct and access dominator information.
*
* @file
* @brief Write vcg representation of firm to file.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Hubert Schmidt
- * @version $Id$
* @brief
* Dump routines for the ir graph and all type information.
*
* @brief Public header for the automatically updating outs.
* @author Sebastian Hack
* @date 3.2.2005
- * @version $Id$
*/
#ifndef FIRM_IR_IREDGES_H
#define FIRM_IR_IREDGES_H
* @brief Extended basis block support.
* @author Michael Beck
* @date 5.2005
- * @version $Id$
*/
#ifndef FIRM_ANA_IREXTBB_H
#define FIRM_ANA_IREXTBB_H
* @file
* @brief Flags to control optimizations.
* @author Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
* @brief
* Flags to customize the behavior of libfirm.
*
* @file
* @brief Support for ir graph modification.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier
- * @version $Id$
*/
#ifndef FIRM_IR_IRGMOD_H
#define FIRM_IR_IRGMOD_H
* @file
* @brief Optimizations for a whole ir graph, i.e., a procedure.
* @author Christian Schaefer, Goetz Lindenmaier, Sebastian Felis
- * @version $Id$
*/
#ifndef FIRM_IR_IRGOPT_H
#define FIRM_IR_IRGOPT_H
* @file
* @brief Entry point to the representation of procedure code.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier
- * @version $Id$
*/
#ifndef FIRM_IR_IRGRAPH_H
#define FIRM_IR_IRGRAPH_H
* @file
* @brief Traverse an ir graph
* @author Boris Boesler, Goetz Lindenmaier
- * @version $Id$
* @brief
* Traverse an ir graph:
* - execute the pre function before recursion
* @file
* @brief Generic hooks for various libFirm functions.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IRHOOKS_H
#define FIRM_IR_IRHOOKS_H
* @file
* @brief Import/export textual representation of firm.
* @author Moritz Kroll
- * @version $Id$
*
* Note: The file format is not considered stable yet. So expect
* incompatibilities between file formats of different libfirm versions.
* @brief Loop datastructure and access functions.
* @author Goetz Lindenmaier
* @date 7.2002
- * @version $Id$
* @brief
* Computes backedges in the control and data flow.
*
* @brief Memory disambiguator
* @author Michael Beck
* @date 27.12.2006
- * @version $Id$
*/
#ifndef FIRM_ANA_IRMEMORY_H
#define FIRM_ANA_IRMEMORY_H
* @brief Data modes of operations.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Mathias Heil,
* Michael Beck
- * @version $Id$
* @brief
* This module specifies the modes that type the firm nodes. It defines
* a datasturcture that describes a mode and implements constructors and
* @file
* @brief Representation of an intermediate operation.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IRNODE_H
#define FIRM_IR_IRNODE_H
* @file
* @brief Representation of opcode of intermediate operation.
* @author Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
* @brief
* Operators of firm nodes.
*
* @file
* @brief iropt --- optimizations of an ir node.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IROPT_H
#define FIRM_IR_IROPT_H
/**
* @file
* @brief Available Optimisations of libFirm.
- * @version $Id$
*/
#ifndef FIRM_IROPTIMIZE_H
#define FIRM_IROPTIMIZE_H
* @brief Compute and access out edges (also called def-use edges).
* @author Goetz Lindenmaier, Michael Beck
* @date 1.2002
- * @version $Id$
*/
#ifndef FIRM_ANA_IROUTS_H
#define FIRM_ANA_IROUTS_H
* @file
* @brief Manager for transformation passes.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_PASS_H
#define FIRM_IR_PASS_H
* @brief A little printf understanding some firm types.
* @author Sebastian Hack
* @date 29.11.2004
- * @version $Id$
*/
#ifndef FIRM_IR_IRPRINTF_H
#define FIRM_IR_IRPRINTF_H
* @brief Entry point to the representation of a whole program.
* @author Goetz Lindenmaier
* @date 2000
- * @version $Id$
* @brief
* Intermediate Representation (IR) of a program.
*
* @brief Data structure to hold type information for nodes.
* @author Goetz Lindenmaier
* @date 28.8.2003
- * @version $Id$
* @brief
* Data structure to hold type information for nodes.
*
* @file
* @brief Check irnodes for correctness.
* @author Christian Schaefer, Goetz Lindenmaier, Till Riedel
- * @version $Id$
*/
#ifndef FIRM_IR_IRVERIFY_H
#define FIRM_IR_IRVERIFY_H
* @file
* @brief Lowering of high level constructs.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_LOWERING_H
#define FIRM_LOWERING_H
/**
* @file
* @brief platform neutral timing utilities
- * @version $Id: tv.h 17143 2008-01-02 20:56:33Z beck $
*/
#ifndef FIRM_TIMING_H
#define FIRM_TIMING_H
* @brief Reverse edges that reference types/entities.
* @author Goetz Lindenmaier
* @date 29.10.2004
- * @version $Id$
* @brief
* Trouts list all uses of types and entities.
* Each type gets a list of all Alloc nodes allocating it.
* values.
* @date 2003
* @author Mathias Heil
- * @version $Id$
* @brief
* Tarvals represent target machine values. They are typed by modes.
* Tarvals only represent values of mode_sort:
* @file
* @brief Analyse the graph with value range propagation
* @author Jonas Fietz
- * @version $Id$
*
*/
#ifndef VRP_H
* @file
* @brief Array --- dynamic & flexible arrays.
* @author Markus Armbruster
- * @version $Id$
*/
#include "config.h"
/**
* @file
* @brief Array --- dynamic & flexible arrays.
- * @version $Id: array.c 17964 2008-03-05 09:48:51Z matze $
*/
#ifndef FIRM_ADT_ARRAY_T_H
#define FIRM_ADT_ARRAY_T_H
* @file
* @brief Specialized implementation for perfect bipartite matching.
* @author Sebastian Hack
- * @version $Id$
*/
#include "config.h"
* @date 28.9.2004
* @brief Functions from hackers delight.
* @author Sebastian Hack, Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_ADT_BITFIDDLE_H
#define FIRM_ADT_BITFIDDLE_H
* @brief convenience layer over raw_bitsets (stores number of bits
* with the bitfield)
* @author Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_ADT_BITSET_H
#define FIRM_ADT_BITSET_H
* @file
* @brief Custom pointer set
* @author Matthias Braun
- * @version $Id$
*
* This implements a set of pointers which allows to specify custom callbacks
* for comparing and hashing its elements.
* @brief A pointer hash-set (WARNING: deprecated!)
* @author Hubert Schmid
* @date 09.06.2002
- * @version $Id$
*/
#include "config.h"
* @author Matthias Braun, inspiration from densehash from google sparsehash
* package
* @date 17.03.2007
- * @version $Id$
*
*
* You have to specialize this file by defining:
/**
* @file
* @brief Solving the Minimum Assignment Problem using the Hungarian Method.
- * @version $Id$
*/
#include "config.h"
* @file
* @brief iterators
* @author Sebastian Hack
- * @version $Id$
*/
#include "config.h"
* @brief double ended queue of generic pointers.
* @author Christian von Roques
* @date 1999 by getting from fiasco
- * @version $Id$
*/
#include "config.h"
* elements.
* @author Kimon Hoffmann
* @date 14.07.2005
- * @version $Id$
*/
#include <stdlib.h>
* @brief simplified hashmap for pointer -> pointer mappings
* @author Hubert Schmid
* @date 09.06.2002
- * @version $Id$
*/
#include "config.h"
* @file
* @author Christian Wuerdig, Matthias Braun
* @brief Priority Queue implementation based on the heap datastructure
- * @version $Id$
*/
#include "config.h"
/**
* @file
* @brief pset implementation
- * @version $Id$
*/
#define PSET
#include <set.c>
* @file
* @brief implementation of pset_new
* @author Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @brief raw bitsets (low-level bitset operations)
* @date 15.10.2004
* @author Matthias Braun
- * @version $Id$
*
* Raw bitsets are constructed from unsigned int arrays. Additional
* information like the size of the bitset or the used memory are not
* @file
* @brief implementation of set
* @author Markus Armbruster
- * @version $Id$
*/
/* This code is derived from:
* @file
* @brief implementation of xmalloc & friends
* @author Markus Armbruster
- * @version $Id$
*/
/* @@@ ToDo: replace this file with the one from liberty.
* @file absgraph.c
* @author Sebastian Hack
* @date 20.04.2007
- * @version $Id$
* @brief
*
* Abstract graph implementations for the CFG of a ir_graph.
* @file absgraph.h
* @author Sebastian Hack
* @date 20.04.2007
- * @version $Id$
* @brief
*
* An abstract graph "interface". Currently
* @file
* @brief read/write analyze of graph argument, which have mode reference.
* @author Beyhan Veliev
- * @version $Id$
*/
#include "config.h"
* @brief Representation and computation of the callgraph.
* @author Goetz Lindenmaier
* @date 21.7.2004
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Implementation of cdep
* @author Christoph Mallon
- * @version $Id$
*/
#include <assert.h>
#include <stdlib.h>
* @file
* @brief control dependence analysis
* @author Christoph Mallon
- * @version $Id$
*/
#ifndef FIRM_ANA_CDEP_T_H
#define FIRM_ANA_CDEP_T_H
* @brief Intraprozedural analyses to estimate the call graph.
* @author Hubert Schmid
* @date 09.06.2002
- * @version $Id$
* @brief
* Interprocedural analysis to estimate the calling relation.
*
* @file dfs.c
* @author Sebastian Hack
* @date 20.04.2007
- * @version $Id$
* @brief
*
* Simple depth first search on CFGs.
* @file dfs.h
* @author Sebastian Hack
* @date 20.04.2007
- * @version $Id$
* @brief
*
* Primitive depth-first search on the CFG.
* @file dfs_t.h
* @author Sebastian Hack
* @date 21.04.2007
- * @version $Id$
* @brief
*
* depth first search internal stuff.
* @brief Compute an estimate of basic block executions.
* @author Adam M. Szalkowski
* @date 28.05.2006
- * @version $Id$
*/
#include "config.h"
* @brief Compute heights of nodes inside basic blocks
* @author Sebastian Hack
* @date 19.04.2006
- * @version $Id$
*/
#include "config.h"
* @brief Access function for backedges.
* @author Goetz Lindenmaier
* @date 7.2002
- * @version $Id$
*/
#include "config.h"
* @brief Access function for backedges -- private header.
* @author Goetz Lindenmaier
* @date 7.2002
- * @version $Id$
*/
#ifndef FIRM_ANA_IRBACKEDGE_T_H
#define FIRM_ANA_IRBACKEDGE_T_H
* [Trapp:99], Chapter 5.2.1.2.
* @author Goetz Lindenmaier
* @date 7.2002
- * @version $Id$
*/
#include "config.h"
* @brief Construction of Confirm nodes
* @author Michael Beck
* @date 6.2005
- * @version $Id$
*/
#include "config.h"
* @brief Construct and access dominator / post dominator tree.
* @author Goetz Lindenmaier, Michael Beck, Rubino Geiss
* @date 2.2002
- * @version $Id$
*/
#include "config.h"
* @brief Construct and access dominator tree -- private datastructures.
* @author Goetz Lindenmaier
* @date 2.2002
- * @version $Id$
*/
#ifndef FIRM_ANA_IRDOM_T_H
#define FIRM_ANA_IRDOM_T_H
* @brief Extended basis block support.
* @author Michael Beck
* @date 5.2005
- * @version $Id$
*/
#include "config.h"
* @brief Alternative extended basic block computation
* @author Matthias Braun
* @date 5.2005
- * @version $Id$
* @brief
* Alternative algorithm for computing extended basic blocks (using out edges
* and execution frequencies)
* @brief Extended basis block support -- private header
* @author Michael Beck
* @date 5.2005
- * @version $Id$
*/
#ifndef FIRM_ANA_IREXTBB_T_H
#define FIRM_ANA_IREXTBB_T_H
* @file livechk.c
* @date 21.04.2007
* @author Sebastian Hack
- * @version $Id$
* @brief
*
* Liveness checks as developed by Benoit Boissinot, Fabrice Rastello and myself.
* @file irlivechk.h
* @author Sebastian Hack
* @date 22.04.2007
- * @version $Id$
* @brief
*
* Live in/end checks whose only precomputation concerns the structure of the CFG.
* @brief Loop datastructure and access functions -- private stuff.
* @author Goetz Lindenmaier
* @date 7.2002
- * @version $Id: irloop_t.h 17143 2008-01-02 20:56:33Z beck $
*/
#include "config.h"
* @brief Loop datastructure and access functions -- private stuff.
* @author Goetz Lindenmaier
* @date 7.2002
- * @version $Id$
*/
#ifndef FIRM_ANA_IRLOOP_T_H
#define FIRM_ANA_IRLOOP_T_H
* @brief Memory disambiguator
* @author Michael Beck
* @date 27.12.2006
- * @version $Id$
*/
#include "config.h"
* @brief Memory disambiguator
* @author Michael Beck
* @date 27.12.2006
- * @version $Id: irmemory.c 22135 2008-09-20 05:32:02Z beck $
*/
#ifndef FIRM_ANA_IRMEMORY_T_H
#define FIRM_ANA_IRMEMORY_T_H
* @brief Compute and access out edges (also called def-use edges).
* @author Goetz Lindenmaier, Michael Beck
* @date 1.2002
- * @version $Id$
*/
#include "config.h"
* Chapter 5.2.1.2.
* @author Goetz Lindenmaier
* @date 7.2002
- * @version $Id$
*/
#include "config.h"
* @brief Data structure to hold type information for nodes.
* @author Goetz Lindenmaier
* @date 28.8.2003
- * @version $Id$
* @brief
* Data structure to hold type information for nodes.
*
* @brief Reverse edges that reference types/entities.
* @author Goetz Lindenmaier
* @date 29.10.2004
- * @version $Id$
*/
#include "config.h"
* @file
* @brief analyze graph to provide value range information
* @author Jonas Fietz
- * @version $Id$
*/
#include "config.h"
/**
* @file
* @brief emit assembler for a backend graph
- * @version $Id$
*/
#include "config.h"
/**
* @file
* @brief declarations for emit functions
- * @version $Id$
*/
#ifndef FIRM_BE_TEMPLATE_TEMPLATE_EMITTER_H
#define FIRM_BE_TEMPLATE_TEMPLATE_EMITTER_H
* @brief This file implements the creation of the achitecture specific firm
* opcodes and the coresponding node constructors for the TEMPLATE
* assembler irg.
- * @version $Id$
*/
#include "config.h"
/**
* @file
* @brief Function prototypes for the assembler ir node constructors.
- * @version $Id$
*/
#ifndef FIRM_BE_TEMPALTE_TEMPLATE_NEW_NODES_H
#define FIRM_BE_TEMPLATE_TEMPLATE_NEW_NODES_H
/**
* @file
* @brief attributes attached to all TEMPLATE nodes
- * @version $Id$
*/
#ifndef FIRM_BE_TEMPLATE_TEMPLATE_NODES_ATTR_H
#define FIRM_BE_TEMPLATE_TEMPLATE_NODES_ATTR_H
-# Creation: 2006/02/13
-# $Id$
-
# the cpu architecture (ia32, ia64, mips, sparc, ppc, ...)
-
$arch = "TEMPLATE";
#
/**
* @file
* @brief code selection (transform FIRM into TEMPLATE FIRM)
- * @version $Id$
*/
#include "config.h"
/**
* @file
* @brief declaration for the transform function (code selection)
- * @version $Id$
*/
#ifndef FIRM_BE_TEMPLATE_TEMPLATE_TRANSFORM_H
#define FIRM_BE_TEMPLATE_TEMPLATE_TRANSFORM_H
/**
* @file
* @brief The main TEMPLATE backend driver file.
- * @version $Id$
*/
#include "config.h"
/**
* @file
* @brief declarations for TEMPALTE backend -- private header
- * @version $Id$
*/
#ifndef FIRM_BE_TEMPLATE_BEARCH_TEMPLATE_T_H
#define FIRM_BE_TEMPLATE_BEARCH_TEMPLATE_T_H
/**
* @file
* @brief emit assembler for a backend graph
- * @version $Id: amd64_emitter.c 26746 2009-11-27 08:53:15Z matze $
*/
#include "config.h"
/**
* @file
* @brief declarations for emit functions
- * @version $Id: amd64_emitter.h 26317 2009-08-05 10:53:46Z matze $
*/
#ifndef FIRM_BE_amd64_amd64_EMITTER_H
#define FIRM_BE_amd64_amd64_EMITTER_H
* @brief This file implements the creation of the achitecture specific firm
* opcodes and the coresponding node constructors for the amd64
* assembler irg.
- * @version $Id: amd64_new_nodes.c 26673 2009-10-01 16:43:13Z matze $
*/
#include "config.h"
/**
* @file
* @brief Function prototypes for the assembler ir node constructors.
- * @version $Id: amd64_new_nodes.h 26549 2009-09-18 17:48:23Z matze $
*/
#ifndef FIRM_BE_TEMPALTE_amd64_NEW_NODES_H
#define FIRM_BE_amd64_amd64_NEW_NODES_H
/**
* @file
* @brief attributes attached to all amd64 nodes
- * @version $Id: amd64_nodes_attr.h 26317 2009-08-05 10:53:46Z matze $
*/
#ifndef FIRM_BE_amd64_amd64_NODES_ATTR_H
#define FIRM_BE_amd64_amd64_NODES_ATTR_H
/**
* @file
* @brief code selection (transform FIRM into amd64 FIRM)
- * @version $Id: amd64_transform.c 26673 2009-10-01 16:43:13Z matze $
*/
#include "config.h"
/**
* @file
* @brief declaration for the transform function (code selection)
- * @version $Id: amd64_transform.h 26542 2009-09-18 09:18:32Z matze $
*/
#ifndef FIRM_BE_amd64_amd64_TRANSFORM_H
#define FIRM_BE_amd64_amd64_TRANSFORM_H
/**
* @file
* @brief The main amd64 backend driver file.
- * @version $Id: bearch_amd64.c 26909 2010-01-05 15:56:54Z matze $
*/
#include "config.h"
/**
* @file
* @brief declarations for TEMPALTE backend -- private header
- * @version $Id: bearch_amd64_t.h 26542 2009-09-18 09:18:32Z matze $
*/
#ifndef FIRM_BE_amd64_BEARCH_amd64_T_H
#define FIRM_BE_amd64_BEARCH_amd64_T_H
* @file
* @brief calling convention helpers
* @author Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief support functions for calling conventions
* @author Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_ARM_ARM_CCONV_H
#define FIRM_BE_ARM_ARM_CCONV_H
* @file
* @brief arm emitter
* @author Oliver Richter, Tobias Gneist, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief declarations for arm emitter
* @author Oliver Richter, Tobias Gneis
- * @version $Id$
*/
#ifndef FIRM_BE_ARM_ARM_EMITTER_H
#define FIRM_BE_ARM_ARM_EMITTER_H
* @file
* @brief Register mapping for firm nodes. Stolen from bearch_firm :)
* @author Oliver Richter, Tobias Gneist
- * @version $Id$
*/
#include "config.h"
* @file
* @brief declarations for ARM register allocation
* @author Oliver Richter, Tobias Gneist, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_BE_ARM_ARM_MAP_REGS_H
#define FIRM_BE_ARM_ARM_MAP_REGS_H
* opcodes and the corresponding node constructors for the arm
* assembler irg.
* @author Oliver Richter, Tobias Gneist
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Function prototypes for the assembler ir node constructors.
* @author Oliver Richter, Tobias Gneist
- * @version $Id$
*/
#ifndef FIRM_BE_ARM_ARM_NEW_NODES_H
#define FIRM_BE_ARM_ARM_NEW_NODES_H
* @file
* @brief declarations for ARM node attributes
* @author Oliver Richter, Tobias Gneist, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_BE_ARM_ARM_NODES_ATTR_H
#define FIRM_BE_ARM_ARM_NODES_ATTR_H
* @file
* @brief Implements several optimizations for ARM.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Implements several optimizations for ARM.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_BE_ARM_ARM_OPTIMIZE_H
#define FIRM_BE_ARM_ARM_OPTIMIZE_H
-# Creation: 2006/02/13
# Arm Architecure Specification
# Author: Matthias Braun, Michael Beck, Oliver Richter, Tobias Gneist
-# $Id$
$arch = "arm";
* @file
* @brief The codegenerator (transform FIRM into arm FIRM)
* @author Matthias Braun, Oliver Richter, Tobias Gneist, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief declarations for transform functions (code selection)
* @author Oliver Richter, Tobias Gneist
- * @version $Id$
*/
#ifndef FIRM_BE_ARM_ARM_TRANSFORM_H
#define FIRM_BE_ARM_ARM_TRANSFORM_H
* @file
* @brief The main arm backend driver file.
* @author Matthias Braun, Oliver Richter, Tobias Gneist
- * @version $Id$
*/
#include "config.h"
* @file
* @brief declarations for arm backend -- private header
* @author Oliver Richter, Tobias Gneist
- * @version $Id$
*/
#ifndef FIRM_BE_ARM_BEARCH_ARM_T_H
#define FIRM_BE_ARM_BEARCH_ARM_T_H
* @brief Debug output support.
* @author Michael Beck
* @date 11.9.2006
- * @version $Id$
*/
#ifndef FIRM_BE_BE_DBGOUT_H
#define FIRM_BE_BE_DBGOUT_H
* @brief Debug output support.
* @author Michael Beck
* @date 11.9.2006
- * @version $Id: be_dbgout.h 17143 2008-01-02 20:56:33Z beck $
*/
#ifndef FIRM_BE_BE_DBGOUT_T_H
#define FIRM_BE_BE_DBGOUT_T_H
* @file
* @brief Internal backend global data structures.
* @author Sebastian Hack
- * @version $Id$
*/
#ifndef FIRM_BE_BE_T_H
#define FIRM_BE_BE_T_H
* @file
* @brief Forward declarations of backend types
* @author Matthias Braun
- * @version $Id: besched.h 25982 2009-05-15 22:09:38Z matze $
*/
#ifndef FIRM_BE_TYPES_H
#define FIRM_BE_TYPES_H
* @file
* @brief Backend ABI implementation.
* @author Sebastian Hack, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Backend ABI implementation.
* @author Sebastian Hack
- * @version $Id$
*/
#ifndef FIRM_BE_BEABI_H
#define FIRM_BE_BEABI_H
* @brief Helper functions for handling ABI constraints in the code
* selection phase.
* @author Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @brief Helper functions for handling ABI constraints in the code
* selection phase.
* @author Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_BEABI_HELPER_H
#define FIRM_BE_BEABI_HELPER_H
* @file
* @brief Processor architecture specification.
* @author Sebastian Hack
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Processor architecture specification.
* @author Sebastian Hack
- * @version $Id$
*/
#ifndef FIRM_BE_BEARCH_H
#define FIRM_BE_BEARCH_H
* @brief Block-scheduling strategies.
* @author Matthias Braun, Christoph Mallon
* @date 27.09.2006
- * @version $Id$
*
* The goals of the greedy (and ILP) algorithm here works by assuming that
* we want to change as many jumps to fallthroughs as possible (executed jumps
* @brief Block schedule calculation.
* @author Matthias Braun, Christoph Mallon
* @date 27.09.2006
- * @version $Id$
*/
#ifndef FIRM_BE_BEBLOCKSCHED_H
#define FIRM_BE_BEBLOCKSCHED_H
* @brief Chordal register allocation.
* @author Sebastian Hack
* @date 08.12.2004
- * @version $Id$
*/
#include "config.h"
* @brief Chordal register allocation.
* @author Sebastian Hack
* @date 14.12.2004
- * @version $Id$
*/
#ifndef FIRM_BE_BECHORDAL_H
#define FIRM_BE_BECHORDAL_H
* @brief Common functions for chordal register allocation.
* @author Sebastian Hack
* @date 08.12.2004
- * @version $Id: bechordal.c 26750 2009-11-27 09:37:43Z bersch $
*/
#include "config.h"
* @brief Common functions for chordal register allocation.
* @author Sebastian Hack
* @date 08.12.2004
- * @version $Id: bechordal.c 26750 2009-11-27 09:37:43Z bersch $
*/
#ifndef BECHORDAL_COMMON_H_
* @brief Paint chordal graphs.
* @author Sebastian Hack
* @date 12.05.2005
- * @version $Id$
*/
#include "config.h"
* @brief Paint chordal graphs.
* @author Sebastian Hack
* @date 12.05.2005
- * @version $Id$
*/
#ifndef FIRM_BE_BECHORDAL_DRAW_H
#define FIRM_BE_BECHORDAL_DRAW_H
* @brief Driver for the chordal register allocator.
* @author Sebastian Hack
* @date 29.11.2005
- * @version $Id$
*/
#include "config.h"
* @brief Internal data structures for the chordal register allocator.
* @author Sebastian Hack
* @date 25.01.2005
- * @version $Id$
*/
#ifndef FIRM_BE_BECHORDAL_T_H
#define FIRM_BE_BECHORDAL_T_H
* @brief First simple copy minimization heuristics.
* @author Daniel Grund
* @date 12.04.2005
- * @version $Id$
*
* Heuristic for minimizing copies using a queue which holds 'qnodes' not yet
* examined. A qnode has a 'target color', nodes out of the opt unit and
* @brief More experiments on coalescing.
* @author Sebastian Hack
* @date 14.04.2006
- * @version $Id$
*/
#include "config.h"
* @brief Simple copy minimization heuristics.
* @author Christian Wuerdig
* @date 27.04.2007
- * @version $Id$
*
* This is the C implementation of the mst algorithm
* originally written in Java by Sebastian Hack.
* @brief Common stuff used by all ILP formulations.
* @author Daniel Grund
* @date 28.02.2006
- * @version $Id$
*/
#include "config.h"
* @brief ILP based copy minimization.
* @author Daniel Grund
* @date 28.02.2006
- * @version $Id$
*
* ILP formalization using G=(V, E, Q):
* - 2 class of variables: coloring vars x_ic and equal color vars y_ij
* @brief Common stuff used by all ILP formulations.
* @author Daniel Grund
* @date 28.02.2006
- * @version $Id$
*/
#ifndef FIRM_BE_BECOPYILP_T_H
#define FIRM_BE_BECOPYILP_T_H
* @brief Copy minimization driver.
* @author Daniel Grund
* @date 12.04.2005
- * @version $Id$
*
* Main file for the optimization reducing the copies needed for:
* - Phi coalescing
* @brief Copy minimization driver.
* @author Daniel Grund
* @date 11.04.2005
- * @version $Id$
*
* Main file for the optimization reducing the copies needed for:
* - Phi coalescing
* @brief Internal header for copy optimization problem.
* @author Daniel Grund
* @date 12.04.2005
- * @version $Id$
*/
#ifndef FIRM_BE_BECOPYOPT_T_H
#define FIRM_BE_BECOPYOPT_T_H
* @brief Copy node statistics.
* @author Daniel Grund
* @date 19.04.2005
- * @version $Id$
*/
#include "config.h"
* @brief Copy node statistics.
* @author Daniel Grund
* @date 11.04.2005
- * @version $Id$
*/
#ifndef FIRM_BE_BECOPYSTAT_H
#define FIRM_BE_BECOPYSTAT_H
* @brief Stabs support.
* @author Michael Beck
* @date 11.9.2006
- * @version $Id: bestabs.c 17143 2008-01-02 20:56:33Z beck $
*/
#include "config.h"
* @brief Algorithms for computing dominance frontiers.
* @author Sebastian Hack, Daniel Grund
* @date 04.05.2005
- * @version $Id$
*/
#include "config.h"
* @brief Algorithms for computing dominance frontiers
* @author Sebastian Hack, Daniel Grund
* @date: 04.05.2005
- * @version $Id$
*/
#ifndef FIRM_BE_BEDOMFRONT_H
#define FIRM_BE_BEDOMFRONT_H
* @brief Interface for assembler output.
* @author Matthias Braun
* @date 12.03.2007
- * @version $Id$
*/
#include "config.h"
* @brief Interface for assembler output.
* @author Matthias Braun
* @date 12.03.2007
- * @version $Id$
*
* This is a framework for emitting data (usually the final assembly code)
*/
* @brief Interface for machine code output
* @author Matthias Braun
* @date 12.03.2007
- * @version $Id$
*/
#include "config.h"
* @brief Interface for binary machine code output.
* @author Matthias Braun
* @date 12.03.2007
- * @version $Id$
*/
#ifndef FIRM_BE_BEEMITTER_BINARY_H
#define FIRM_BE_BEEMITTER_BINARY_H
* @file
* @brief modifies schedule so flags dependencies are respected.
* @author Matthias Braun, Christoph Mallon
- * @version $Id: besched.h 14693 2007-06-21 15:35:49Z beck $
*
* Fixup schedule to respect flag constraints by moving and rematerialisation of
* nodes.
* @file
* @brief modifies schedule so flags dependencies are respected.
* @author Matthias Braun, Christoph Mallon
- * @version $Id: besched.h 14693 2007-06-21 15:35:49Z beck $
*/
#ifndef FIRM_BE_BEFLAGS_H
#define FIRM_BE_BEFLAGS_H
* @brief Dumps global variables and constants as gas assembler.
* @author Christian Wuerdig, Matthias Braun
* @date 04.11.2005
- * @version $Id$
*/
#include "config.h"
* @brief Dumps global variables and constants as gas assembler.
* @author Christian Wuerdig, Matthias Braun
* @date 04.11.2005
- * @version $Id$
*/
#ifndef FIRM_BE_BEGNUAS_H
#define FIRM_BE_BEGNUAS_H
* @brief Interface for interference graphs.
* @author Sebastian Hack
* @date 18.11.2005
- * @version $Id$
*/
#include "config.h"
* @brief Interface for interference graphs.
* @author Sebastian Hack
* @date 18.11.2005
- * @version $Id$
*/
#ifndef FIRM_BE_BEIFG_H
#define FIRM_BE_BEIFG_H
/**
* @file
* @author Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief additional backend node infos
* @author Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_BEINFO_H
#define FIRM_BE_BEINFO_H
* @file
* @brief A data structure to treat nodes and node-proj collections uniformly.
* @author Sebastian Hack
- * @version $Id$
*/
#include "config.h"
* @file
* @brief A data structure to treat nodes and node-proj collections uniformly.
* @author Sebastian Hack
- * @version $Id$
*/
#ifndef FIRM_BE_BEINSN_T_H
#define FIRM_BE_BEINSN_T_H
* @brief Backend irg - a ir_graph with additional analysis information.
* @author Matthias Braun
* @date 13.12.2006
- * @version $Id$
*/
#include "config.h"
* @brief Backend irg - a ir_graph with additional analysis information.
* @author Matthias Braun
* @date 05.05.2006
- * @version $Id$
*/
#ifndef FIRM_BE_BEIRG_H
#define FIRM_BE_BEIRG_H
* @brief Backend IRG modification routines.
* @author Sebastian Hack, Daniel Grund, Matthias Braun, Christian Wuerdig
* @date 04.05.2005
- * @version $Id$
*
* This file contains the following IRG modifications for be routines:
* - insertion of Perm nodes
* @brief Backend IRG modification routines.
* @author Sebastian Hack, Daniel Grund, Matthias Braun, Christian Wuerdig
* @date 04.05.2005
- * @version $Id$
*
* This file contains the following IRG modifications for be routines:
* - insertion of Perm nodes
* @brief Primitive list scheduling with different node selectors.
* @author Sebastian Hack
* @date 20.10.2004
- * @version $Id$
*/
#include "config.h"
* @brief Common functions for creating listscheduling algorithms
* @author Sebastian Hack
* @date 20.10.2004
- * @version $Id$
*/
#ifndef FIRM_BE_BELISTSCHED_H
#define FIRM_BE_BELISTSCHED_H
* @brief Interblock liveness analysis.
* @author Sebastian Hack
* @date 06.12.2004
- * @version $Id$
*/
#include "config.h"
* @brief Interblock liveness analysis.
* @author Sebastian Hack
* @date 06.12.2004
- * @version $Id$
*/
#ifndef FIRM_BE_BELIVE_H
#define FIRM_BE_BELIVE_H
* @brief Internal headers for liveness analysis.
* @author Sebastian Hack
* @date 06.12.2004
- * @version $Id$
*/
#ifndef FIRM_BE_BELIVE_T_H
#define FIRM_BE_BELIVE_T_H
* @brief Compute register pressure in loops.
* @author Christian Wuerdig
* @date 19.02.2007
- * @version $Id$
*/
#include "config.h"
* @brief Compute register pressure in loops.
* @author Christian Wuerdig
* @date 20.02.2007
- * @version $Id$
*/
#ifndef FIRM_BE_BELOOPANA_H
#define FIRM_BE_BELOOPANA_H
* register constraints.
* @author Christian Wuerdig
* @date 14.12.2005
- * @version $Id$
*/
#include "config.h"
* register constraints.
* @author Christian Wuerdig
* @date 14.12.2005
- * @version $Id$
*/
#ifndef FIRM_BE_BELOWER_H
#define FIRM_BE_BELOWER_H
* @brief Main Backend driver.
* @author Sebastian Hack
* @date 25.11.2004
- * @version $Id$
*/
#include "config.h"
* @brief Backend module interface.
* @author Matthias Braun
* @date 29.09.2005
- * @version $Id$
*/
#include "config.h"
* @brief Backend module interface.
* @author Matthias Braun
* @date 11.12.2006
- * @version $Id$
*/
#ifndef FIRM_BE_BEMODULE_H
#define FIRM_BE_BEMODULE_H
* @brief Backend module interface.
* @author Matthias Braun
* @date 11.12.2006
- * @version $Id$
*/
#ifndef FIRM_BE_BEMODULE_T_H
#define FIRM_BE_BEMODULE_T_H
* @brief Backend node support for generic backend nodes.
* @author Sebastian Hack
* @date 17.05.2005
- * @version $Id$
*
* Backend node support for generic backend nodes.
* This file provides Perm, Copy, Spill and Reload nodes.
* @brief Backend node support for generic backend nodes.
* @author Sebastian Hack
* @date 17.05.2005
- * @version $Id$
*
* Backend node support for generic backend nodes.
* This file provides Perm, Copy, Spill and Reload nodes.
* @brief PBQP based register allocation.
* @author Thomas Bersch
* @date 27.11.2009
- * @version $Id: bechordal.c 26750 2009-11-27 09:37:43Z bersch $
*/
/* miscellaneous includes */
* @brief PBQP based register allocation.
* @author Thomas Bersch
* @date 27.11.2009
- * @version $Id: bechordal.c 26750 2009-11-27 09:37:43Z bersch $
*/
#ifndef BEPBQPALLOC_H_
#define BEPBQPALLOC_H_
* @file
* @brief Peephole optimisation framework keeps track of which registers contain which values
* @author Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief peephole optimisation framework
* @author Matthias Braun
- * @version $Id$
*/
#ifndef BEPEEPHOLE_H
#define BEPEEPHOLE_H
* @brief Preference Guided Register Assignment
* @author Matthias Braun
* @date 14.2.2009
- * @version $Id$
*
* The idea is to allocate registers in 2 passes:
* 1. A first pass to determine "preferred" registers for live-ranges. This
* @brief Base routines for register allocation.
* @author Sebastian Hack
* @date 22.11.2004
- * @version $Id$
*/
#include "config.h"
* @brief Base routines for register allocation.
* @author Sebastian Hack
* @date 13.01.2005
- * @version $Id$
*/
#ifndef FIRM_BE_BERA_H
#define FIRM_BE_BERA_H
* @file
* @brief Scheduling utilities for nodes in Blocks and Blocks.
* @author Sebastian Hack
- * @version $Id$
*/
#include "config.h"
* @brief data structures for scheduling nodes in basic blocks.
* (This file does not contain the scheduling algorithms)
* @author Sebastian Hack, Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_BESCHED_H
#define FIRM_BE_BESCHED_H
/**
* @brief Use the strong normal form theorem (though it does not hold)
* @author Christoph Mallon
- * @version $Id$
*/
#include "config.h"
* @brief Random node selector.
* @author Matthias Braun
* @date 29.08.2006
- * @version $Id$
*/
#include "config.h"
* @brief Register pressure node selector.
* @author Sebastian Hack
* @date 29.08.2006
- * @version $Id$
*/
#include "config.h"
* @brief Implements a trace scheduler as presented in Muchnik[TM].
* @author Michael Beck
* @date 28.08.2006
- * @version $Id$
*/
#include "config.h"
* @brief Trivial node selector.
* @author Sebastian Hack
* @date 29.08.2006
- * @version $Id$
*/
#include "config.h"
* @brief Spill module selection; Preparation steps
* @author Matthias Braun
* @date 29.09.2005
- * @version $Id$
*/
#include "config.h"
* @brief Option handling for spiller.
* @author Matthias Braun
* @date 12.10.2006
- * @version $Id$
*/
#ifndef FIRM_BE_BESPILL_H
#define FIRM_BE_BESPILL_H
* @brief Beladys spillalgorithm.
* @author Daniel Grund, Matthias Braun
* @date 20.09.2005
- * @version $Id$
*/
#include "config.h"
* @brief Naive spilling algorithm
* @author Matthias Braun
* @date 20.09.2005
- * @version $Id: bespillbelady.c 13913 2007-05-18 12:48:56Z matze $
* @brief
* This implements a naive spilling algorithm. It is designed to produce
* similar effects to the spill decisions produced by traditional graph
* @brief Spillslot coalescer.
* @author Matthias Braun
* @date 26.07.2006
- * @version $Id$
*/
#include "config.h"
* @brief Spillslot coalescer.
* @author Matthias Braun
* @date 27.07.2006
- * @version $Id$
*/
#ifndef FIRM_BE_BESPILLSLOTS_H
#define FIRM_BE_BESPILLSLOTS_H
* @brief implementation of the spill/reload placement abstraction layer
* @author Daniel Grund, Sebastian Hack, Matthias Braun
* @date 29.09.2005
- * @version $Id$
*/
#include "config.h"
* instructions and rematerialisation of values.
* @author Daniel Grund, Sebastian Hack, Matthias Braun
* @date 29.09.2005
- * @version $Id$
*/
#ifndef FIRM_BE_BESPILLUTIL_H
#define FIRM_BE_BESPILLUTIL_H
* @author Sebastian Hack, Daniel Grund, Matthias Braun, Christian Wuerdig,
* Sebastian Buchwald
* @date 04.05.2005
- * @version $Id$
*
* The problem: Given a value and a set of "copies" that are known to
* represent the same abstract value, rewire all usages of the original value
* @brief SSA construction for a set of nodes
* @author Sebastian Hack, Daniel Grund, Matthias Braun, Christian Wuerdig
* @date 30.03.2007
- * @version $Id$
*
* The problem: Given a value and a set of "copies" that are known to
* represent the same abstract value, rewire all usages of the original value
* @brief Performs SSA-Destruction.
* @author Daniel Grund
* @date 25.05.2005
- * @version $Id$
*/
#include "config.h"
* @brief Performs SSA-Destruction.
* @author Daniel Grund
* @date 25.05.2005
- * @version $Id$
*/
#ifndef FIRM_BE_BESSADESTR_H
#define FIRM_BE_BESSADESTR_H
* @brief Stabs support.
* @author Michael Beck
* @date 11.9.2006
- * @version $Id$
*/
#include "config.h"
/**
* @file
* @author Sebastian Hack, Matthias Braun
- * @version $Id$
*
* Handling of the stack frame. It is composed of three types:
* 1) The type of the arguments which are pushed on the stack.
* @brief Helper functions for handling offsets into stack frames/
* activation records.
* @author Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_BESTACK_H
#define FIRM_BE_BESTACK_H
* @file
* @brief Provides several statistic functions for the backend.
* @author Christian Wuerdig, Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Provides several statistic functions for the backend.
* @author Christian Wuerdig, Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_BESTAT_H
#define FIRM_BE_BESTAT_H
* algorithm optimized for the 1-register case.
* @author Matthias Braun
* @date 26.03.2007
- * @version $Id$
*/
#include "config.h"
* algorithm optimized for the 1-register case.
* @author Matthias Braun
* @date 26.03.2007
- * @version $Id$
*/
#ifndef FIRM_BE_BESTATE_H
#define FIRM_BE_BESTATE_H
* @brief Statistic events.
* @author Sebastian Hack
* @date 03.09.2006
- * @version $Id$
*/
#ifndef FIRM_BE_BESTATEVENT_H
#define FIRM_BE_BESTATEVENT_H
* @brief be transform helper extracted from the ia32 backend.
* @author Matthias Braun, Michael Beck
* @date 14.06.2007
- * @version $Id$
*/
#include "config.h"
* @brief be transform helper extracted from the ia32 backend.
* @author Matthias Braun, Michael Beck
* @date 14.06.2007
- * @version $Id$
*/
#ifndef FIRM_BE_BETRANSHLP_H
#define FIRM_BE_BETRANSHLP_H
* @brief Methods to compute when a value will be used again.
* @author Sebastian Hack, Matthias Braun
* @date 27.06.2005
- * @version $Id$
*/
#include "config.h"
* @brief Methods to compute when a value will be used again.
* @author Sebastian Hack, Matthias Braun
* @date 27.06.2005
- * @version $Id$
*/
#ifndef FIRM_BE_BEUSES_H
#define FIRM_BE_BEUSES_H
* @file
* @brief Contains some useful function for the backend.
* @author Sebastian Hack
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Contains some useful function for the backend.
* @author Sebastian Hack
- * @version $Id$
*/
#ifndef FIRM_BE_BEUTIL_H
#define FIRM_BE_BEUTIL_H
* @brief Various verify routines that check a scheduled graph for correctness.
* @author Matthias Braun
* @date 05.05.2006
- * @version $Id$
*/
#include "config.h"
* @brief Various verify routines that check a scheduled graph for correctness.
* @author Matthias Braun
* @date 05.05.2006
- * @version $Id$
*/
#ifndef FIRM_BE_BEVERIFY_H
#define FIRM_BE_BEVERIFY_H
* @file
* @brief This is the main ia32 firm backend driver.
* @author Christian Wuerdig
- * @version $Id$
*/
#include "config.h"
* @file
* @brief This is the main ia32 firm backend driver.
* @author Christian Wuerdig
- * @version $Id$
*/
#ifndef FIRM_BE_IA32_BEARCH_IA32_T_H
#define FIRM_BE_IA32_BEARCH_IA32_T_H
* @brief This file contains functions for matching firm graphs for
* nodes that can be used as address mode for x86 instructions
* @author Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @brief This file contains functions for matching firm graphs for
* nodes that can be used as address mode for x86 instructions
* @author Matthias Braun
- * @version $Id$
*/
#ifndef IA32_ADDRESS_MODE_H
#define IA32_ADDRESS_MODE_H
* @file
* @brief ia32 architecture variants
* @author Michael Beck, Matthias Braun
- * @version $Id: bearch_ia32_t.h 16363 2007-10-25 23:27:07Z beck $
*/
#include "config.h"
* @file
* @brief ia32 architecture variants
* @author Michael Beck, Matthias Braun
- * @version $Id: bearch_ia32_t.h 16363 2007-10-25 23:27:07Z beck $
*/
#ifndef FIRM_BE_IA32_ARCHITECTURE_H
#define FIRM_BE_IA32_ARCHITECTURE_H
* @brief This file implements the common parts of IR transformation from
* firm into ia32-Firm.
* @author Matthias Braun, Sebastian Buchwald
- * @version $Id: ia32_common_transform.c 21012 2008-08-06 13:35:17Z beck $
*/
#include "config.h"
* @brief This file implements the common parts of IR transformation from
* firm into ia32-Firm.
* @author Matthias Braun, Sebastian Buchwald
- * @version $Id: ia32_common_transform.h 20999 2008-08-05 16:48:29Z beck $
*/
#ifndef FIRM_BE_IA32_IA32_COMMON_TRANSFORM_H
#define FIRM_BE_IA32_IA32_COMMON_TRANSFORM_H
* @file
* @brief This file contains macros to update ia32 firm statistics.
* @author Christian Wuerdig
- * @version $Id$
*/
#ifndef FIRM_BE_IA32_IA32_DBG_STAT_H
#define FIRM_BE_IA32_IA32_DBG_STAT_H
* @file
* @brief This file implements the ia32 node emitter.
* @author Christian Wuerdig, Matthias Braun
- * @version $Id$
*
* Summary table for x86 floatingpoint compares:
* (remember effect of unordered on x86: ZF=1, PF=1, CF=1)
* @file
* @brief This file implements the ia32 node emitter.
* @author Christian Wuerdig, Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_IA32_IA32_EMITTER_H
#define FIRM_BE_IA32_IA32_EMITTER_H
* @file
* @brief This file implements functions to finalize the irg for emit.
* @author Christian Wuerdig
- * @version $Id$
*/
#include "config.h"
* @file
* @brief This file implements functions to finalize the irg for emit.
* @author Christian Wuerdig
- * @version $Id$
*/
#ifndef FIRM_BE_IA32_IA32_FINISH_H
#define FIRM_BE_IA32_IA32_FINISH_H
* @file
* @brief Handles fpu rounding modes
* @author Matthias Braun
- * @version $Id$
*
* The problem we deal with here is that the x86 ABI says the user can control
* the fpu rounding mode, which means that when we do some operations like float
* @file
* @brief Handles fpu rounding modes
* @author Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_IA32_IA32_FPU_H
#define FIRM_BE_IA32_IA32_FPU_H
* @brief This file implements the mapping of 64Bit intrinsic
* functions to code or library calls.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Handling of ia32 specific firm opcodes.
* @author Christian Wuerdig
- * @version $Id$
*
* This file implements the creation of the architecture specific firm opcodes
* and the corresponding node constructors for the ia32 assembler irg.
* @file
* @brief Handling of ia32 specific firm opcodes.
* @author Christian Wuerdig
- * @version $Id$
*
* This file implements the creation of the achitecture specific firm opcodes
* and the coresponding node constructors for the ia32 assembler irg.
* @file
* @brief Type definitions for ia32 node attributes.
* @author Christian Wuerdig
- * @version $Id$
*/
#ifndef FIRM_BE_IA32_IA32_NODES_ATTR_H
#define FIRM_BE_IA32_IA32_NODES_ATTR_H
* @file
* @brief Implements several optimizations for IA32.
* @author Matthias Braun, Christian Wuerdig
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Implements several optimizations for IA32.
* @author Christian Wuerdig
- * @version $Id$
*/
#ifndef FIRM_BE_IA32_IA32_OPTIMIZE_H
#define FIRM_BE_IA32_IA32_OPTIMIZE_H
-# Creation: 2005/10/19
-# $Id$
# This is the specification for the ia32 assembler Firm-operations
$arch = "ia32";
* @brief This file implements the IR transformation from firm into
* ia32-Firm.
* @author Christian Wuerdig, Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief This file implements the IR transformation from firm into ia32-Firm.
* @author Christian Wuerdig, Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_IA32_IA32_TRANSFORM_H
#define FIRM_BE_IA32_IA32_TRANSFORM_H
* @brief This file implements the x87 support and virtual to stack
* register translation for the ia32 backend.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @brief This file implements the x87 support and virtual to stack
* register translation for the ia32 backend.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_BE_IA32_IA32_X87_H
#define FIRM_BE_IA32_IA32_X87_H
# assembler ir nodes. It takes a "emit" key from the node specification
# and substitutes lines starting with . with a corresponding fprintf().
# Creation: 2005/11/07
-# $Id$
use strict;
use Data::Dumper;
# This script generates C code which emits assembler code for the
# assembler ir nodes. It takes a "emit" key from the node specification
# and substitutes lines starting with . with a corresponding fprintf().
-# Creation: 2005/11/07
-# $Id$
use strict;
use Data::Dumper;
# their coresponding node constructors for all operations in a given spec
# so they can be used as normal firm nodes.
# Creation: 2005/10/19
-# $Id$
use strict;
use Data::Dumper;
# This script generates C code which creates ands sets up functions and
# data structures for the register allocator.
# Creation: 2005/11/14
-# $Id$
use strict;
use Data::Dumper;
* @file
* @brief The main sparc backend driver file.
* @author Hannes Rapp, Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief declarations for SPARC backend -- private header
* @author Hannes Rapp, Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_SPARC_BEARCH_SPARC_T_H
#define FIRM_BE_SPARC_BEARCH_SPARC_T_H
* @file
* @brief calling convention helpers
* @author Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief support functions for calling conventions
* @author Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_SPARC_SPARC_CCONV_H
#define FIRM_BE_SPARC_SPARC_CCONV_H
* @file
* @brief emit assembler for a backend graph
* @author Hannes Rapp, Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief declarations for emit functions
* @author Hannes Rapp, Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_SPARC_EMITTER_H
#define FIRM_BE_SPARC_EMITTER_H
* @file
* @brief Peephole optimization and legalization of a sparc function
* @author Matthias Braun
- * @version $Id$
*
* A note on sparc stackpointer (sp) behaviour:
* The ABI expects SPARC_MIN_STACKSIZE bytes to be available at the
* opcodes and the coresponding node constructors for the sparc
* assembler irg.
* @author Hannes Rapp, Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Function prototypes for the assembler ir node constructors.
* @author Hannes Rapp, Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_SPARC_SPARC_NEW_NODES_H
#define FIRM_BE_SPARC_SPARC_NEW_NODES_H
* @file
* @brief attributes attached to all sparc nodes
* @author Hannes Rapp, Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_SPARC_SPARC_NODES_ATTR_H
#define FIRM_BE_SPARC_SPARC_NODES_ATTR_H
# Creation: 2006/02/13
-# $Id$
$arch = "sparc";
* @file
* @brief Manage addressing into the stackframe
* @author Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief code selection (transform FIRM into SPARC FIRM)
* @author Hannes Rapp, Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief declaration for the transform function (code selection)
* @author Hannes Rapp, Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_BE_SPARC_SPARC_TRANSFORM_H
#define FIRM_BE_SPARC_SPARC_TRANSFORM_H
* @brief Debug facility.
* @author Michael Beck, Sebastian Hack
* @date 15.12.2004
- * @version $Id$
*/
#include "config.h"
* @brief Debug facility.
* @author Michael Beck, Sebastian Hack
* @date 15.12.2004
- * @version $Id$
*/
#ifndef FIRM_COMMON_DEBUG_H
#define FIRM_COMMON_DEBUG_H
* @file
* @brief Error handling for libFirm
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Error handling for libFirm
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_COMMON_ERROR_H
#define FIRM_COMMON_ERROR_H
* @file
* @brief Central firm functionality.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier
- * @version $Id$
*/
#include "config.h"
/**
* @file
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Some often needed tool-functions
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Some often needed tool-functions
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_COMMON_IRTOOLS_H
#define FIRM_COMMON_IRTOOLS_H
/**
* @file
* @brief platform neutral timing utilities
- * @version $Id: debug.c 17143 2008-01-02 20:56:33Z beck $
*/
#include "config.h"
* @brief Implements the Firm interface to debug information.
* @author Goetz Lindenmaier, Michael Beck
* @date 2001
- * @version $Id$
*/
#include "config.h"
* @brief Implements the Firm interface to debug information -- private header.
* @author Goetz Lindenmaier
* @date 2001
- * @version $Id$
* @brief
* dbginfo: This is a empty implementation of the Firm interface to
* debugging support. It only guarantees that the Firm library compiles
* @brief Helper function for integrated debug support
* @author Michael Beck
* @date 2005
- * @version $Id$
*/
#include "config.h"
* @brief Helper function for integrated debug support
* @author Michael Beck
* @date 2005
- * @version $Id$
*/
#ifndef FIRM_DEBUG_DEBUGGER_H
#define FIRM_DEBUG_DEBUGGER_H
* @file
* @brief Hash table to store names.
* @author Goetz Lindenmaier
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Hash table to store names -- private header.
* @author Goetz Lindenmaier
- * @version $Id$
*/
#ifndef FIRM_IDENT_IDENT_T_H
#define FIRM_IDENT_IDENT_T_H
* @file
* @brief Methods to manipulate names.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @brief Instrumentation of graphs.
* @date 14.4.2008
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
/**
* @file
* @brief Instrumentation of graphs.
- * @version $Id: $
*/
#ifndef FIRM_IR_INSTRUMENT_H
#define FIRM_IR_INSTRUMENT_H
* @brief Machine dependent Firm optimizations.
* @date 28.9.2004
* @author Sebastian Hack, Michael Beck
- * @version $Id$
*
* Implements "Strength Reduction of Multiplications by Integer Constants"
* by Youfeng Wu.
* @file
* @brief Support for libcore IR object output.
* @author Sebastian Hack
- * @version $Id$
*/
#include "config.h"
/**
* @file
* @brief irargs private declarations
- * @version $Id$
*/
#ifndef FIRM_IR_IRARGS_H
#define FIRM_IR_IRARGS_H
* @brief Some convenience macros for node bitmaps.
* @author Sebastian Hack
* @date 10.05.2006
- * @version $Id$
*/
#ifndef FIRM_IR_IRBITSET_H
#define FIRM_IR_IRBITSET_H
* @brief Compilerlib entity creation related functions.
* @date 2011-09-22
* @author Manuel Mohr
- * @version $Id$
*/
#include "config.h"
* representation.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Boris Boesler
* Michael Beck, Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @brief Various irnode constructors. Automatic construction
* of SSA representation. Private Header
* @author Martin Trapp, Christian Schaefer, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IRCONS_T_H
#define FIRM_IR_IRCONS_T_H
* @brief Write vcg representation of firm to file.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Hubert Schmidt,
* Matthias Braun
- * @version $Id$
*/
#include "config.h"
/**
* @file
* @brief Private header for irdump
- * @version $Id$
*/
#ifndef FIRM_IR_IRDUMPT_T_H
#define FIRM_IR_IRDUMPT_T_H
* @brief Write text representation of firm to file.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Hubert Schmidt,
* Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @brief Always available outs.
* @author Sebastian Hack, Michael Beck, Andreas Schoesser
* @date 14.1.2005
- * @version $Id$
* @brief
* This are out-edges (also called def-use edges) that are dynamically
* updated as the graph changes.
* @brief Everlasting outs -- private header.
* @author Sebastian Hack, Andreas Schoesser
* @date 15.01.2005
- * @version $Id$
*/
#ifndef FIRM_IR_EDGES_T_H
#define FIRM_IR_EDGES_T_H
* @author Matthias Braun
* @date 12.01.2008
* @brief An edgeset.
- * @version $Id$
*/
#ifndef _FIRM_IREDGESET_H_
#define _FIRM_IREDGESET_H_
* @file
* @brief Flags to control optimizations.
* @author Michael Beck, Sebastian Hack
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Definitions for optimisation flags
* @author Michael Beck, Sebastian Hack
- * @version $Id$
*/
/*
* @file
* @brief Flags to control optimizations, inline implementation.
* @author Michael Beck, Sebastian Hack
- * @version $Id$
*/
#ifndef FIRM_IR_IRFLAG_T_H
#define FIRM_IR_IRFLAG_T_H
* @file
* @brief Support for ir graph modification.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier
- * @version $Id$
*/
#include "config.h"
* @brief Optimizations for a whole ir graph, i.e., a procedure.
* @author Christian Schaefer, Goetz Lindenmaier, Sebastian Felis,
* Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Entry point to the representation of procedure code.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Entry point to the representation of procedure code -- internal header.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IRGRAPH_T_H
#define FIRM_IR_IRGRAPH_T_H
* @file
* @brief Functions for traversing ir graphs
* @author Boris Boesler, Goetz Lindenmaier, Michael Beck
- * @version $Id$
* @brief
* traverse an ir graph
* - execute the pre function before recursion
* @file
* @brief Blockwise walker implementation
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Generic hooks for various libFirm functions.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Write textual representation of firm to file.
* @author Moritz Kroll
- * @version $Id$
*/
#include "config.h"
* @file
* @author Michael Beck
* @brief A linked nodemap.
- * @version $Id$
*/
#include "config.h"
* @file
* @author Michael Beck
* @brief A linked nodemap.
- * @version $Id$
*/
#ifndef _FIRM_IRLINKEDNODEMAP_H_
#define _FIRM_IRLINKEDNODEMAP_H_
* @file
* @author Michael Beck
* @brief A linked nodeset.
- * @version $Id$
*/
#include "config.h"
* @file
* @author Michael Beck
* @brief A linked nodeset.
- * @version $Id$
*/
#ifndef _FIRM_IRLINKEDNODESET_H_
#define _FIRM_IRLINKEDNODESET_H_
* @file
* @brief Data modes of operations.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Mathias Heil
- * @version $Id$
*/
#include "config.h"
* @brief Data modes of operations -- private header.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Mathias Heil,
* Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IRMODE_T_H
#define FIRM_IR_IRMODE_T_H
* @file
* @brief Representation of an intermediate operation.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Representation of an intermediate operation -- private header.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IRNODE_T_H
#define FIRM_IR_IRNODE_T_H
* @date 30.03.2007
* @brief A nodeset. This should be preferred over a simple pset, because it
tries to guarantee deterministic behavior.
- * @version $Id$
*/
#include "config.h"
* @date 30.03.2007
* @brief A nodeset. This should be prefered over a simple pset, because it
* tries to guarantee deterministic behavior. (and is faster)
- * @version $Id$
* @note Actually the bits to make the behaviour deterministic are not
* implemented yet...
*/
* @file
* @brief Representation of opcode of intermediate operation.
* @author Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Representation of opcode of intermediate operation -- private header.
* @author Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IROP_T_H
#define FIRM_IR_IROP_T_H
* @file
* @brief iropt --- optimizations intertwined with IR construction.
* @author Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief iropt --- optimizations intertwined with IR construction -- private header.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IROPT_T_H
#define FIRM_IR_IROPT_T_H
* @file
* @brief Manager for optimization passes.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Manager for optimization passes. Private Header
* @author Michael Beck
- * @version $Id$
*/
#include "firm_types.h"
#include "firm_common.h"
* @brief A little printf helper unterstanding firm types
* @author Sebastian Hack
* @date 29.11.2004
- * @version $Id$
*/
#include "config.h"
* @brief A little printf understanding some firm types.
* @author Sebastian Hack
* @date 29.11.2004
- * @version $Id$
*/
#ifndef FIRM_IR_IRPRINTF_T_H
#define FIRM_IR_IRPRINTF_T_H
* @brief Code instrumentation and execution count profiling.
* @author Adam M. Szalkowski, Steven Schaefer
* @date 06.04.2006, 11.11.2010
- * @version $Id$
*/
#include "config.h"
* @brief Code instrumentation and execution count profiling.
* @author Adam M. Szalkowski
* @date 06.04.2006
- * @version $Id$
*/
#ifndef FIRM_BE_BEPROFILE_H
#define FIRM_BE_BEPROFILE_H
* @brief Entry point to the representation of a whole program.
* @author Goetz Lindenmaier, Michael Beck
* @date 2000
- * @version $Id$
*/
#include "config.h"
* @brief Entry point to the representation of a whole program 0-- private header.
* @author Goetz Lindenmaier
* @date 2000
- * @version $Id$
*/
#ifndef FIRM_IR_IRPROG_T_H
#define FIRM_IR_IRPROG_T_H
* @file
* @brief restarting SSA construction for values.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Definition of the Firm IR base types, concentrated here
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IRDEFS_H
#define FIRM_IR_IRDEFS_H
* @file
* @brief Check irnodes for correctness.
* @author Christian Schaefer, Goetz Lindenmaier, Till Riedel, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief New checker of irnodes for correctness.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IRVERIFY_T_H
#define FIRM_IR_IRVERIFY_T_H
* @file
* @author Michael Beck
* @brief A value set, containing expression for values.
- * @version $Id$
*/
#include "config.h"
* @file
* @author Michael Beck
* @brief A value set, containing expression for values.
- * @version $Id$
*/
#ifndef _FIRM_VALUESET_H_
#define _FIRM_VALUESET_H_
* @brief Brute force PBQP solver.
* @date 02.12.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#include "config.h"
* @brief Brute force PBQP solver.
* @date 02.12.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_BRUTE_FORCE_H
#define KAPS_BRUTE_FORCE_H
* @brief Buckets for nodes and edges.
* @date 30.11.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#include "config.h"
* @brief Buckets for nodes and edges.
* @date 30.11.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_BUCKET_H
#define KAPS_BUCKET_H
* @brief Node/edge bucket data types.
* @date 30.11.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_BUCKET_T_H
#define KAPS_BUCKET_T_H
* @brief Heuristic PBQP solver.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#include "config.h"
* @brief Heuristic PBQP solver.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_HEURISTICAL_CO_H
#define KAPS_HEURISTICAL_CO_H
* @brief Heuristic PBQP solver for SSA-based register allocation.
* @date 18.09.2009
* @author Thomas Bersch
- * @version $Id$
*/
#include "config.h"
* @brief Heuristic PBQP solver for SSA-based register allocation.
* @date 18.09.2009
* @author Thomas Bersch
- * @version $Id$
*/
#ifndef KAPS_HEURISTICAL_H
#define KAPS_HEURISTICAL_H
* @brief HTML dumper for PBQP.
* @date 03.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#include "config.h"
* @brief HTML dumper for PBQP.
* @date 03.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_HTML_DUMPER_H
#define KAPS_HTML_DUMPER_H
* @brief Partitioned Boolean Quadratic Problem (PBQP) solver.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#include "config.h"
* @brief Partitioned Boolean Quadratic Problem (PBQP) solver.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_KAPS_H
#define KAPS_KAPS_H
* @brief PBQP matrix.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#include "config.h"
* @brief PBQP matrix.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_MATRIX_H
#define KAPS_MATRIX_H
* @brief PBQP matrix data types.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_MATRIX_T_H
#define KAPS_MATRIX_T_H
* @brief Optimal reductions and helper functions.
* @date 28.12.2009
* @author Sebastian Buchwald
- * @version $Id$
*/
#include "config.h"
* @brief Heuristic PBQP solver.
* @date 28.12.2009
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_OPTIMAL_H
#define KAPS_OPTIMAL_H
* @brief PBQP edges.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#include "config.h"
* @brief PBQP edges.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_PBQP_EDGE_H
#define KAPS_PBQP_EDGE_H
* @brief PBQP edge data types.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_PBQP_EDGE_T_H
#define KAPS_PBQP_EDGE_T_H
* @brief PBQP nodes.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#include "config.h"
* @brief PBQP nodes.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_PBQP_NODE_H
#define KAPS_PBQP_NODE_H
* @brief PBQP node data types.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_PBQP_NODE_T_H
#define KAPS_PBQP_NODE_T_H
* @brief PBQP data types.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_PBQP_T_H
#define KAPS_PBQP_T_H
* @brief PBQP vector.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#include "config.h"
* @brief PBQP vector.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#ifndef KAPS_VECTOR_H
#define KAPS_VECTOR_H
* @brief PBQP vector data types.
* @date 02.10.2008
* @author Sebastian Buchwald
- * @version $Id$
*/
#include "config.h"
#ifndef KAPS_VECTOR_T_H
* @file
* @brief Lowering of calls with compound arguments
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_LOWER_CALLS_H
#define FIRM_LOWER_CALLS_H
* @file
* @brief Lower small CopyB nodes into a series of Load/Store nodes
* @author Michael Beck, Matthias Braun, Manuel Mohr
- * @version $Id$
*/
#include "config.h"
* @brief Lower double word operations, i.e. 64bit -> 32bit, 32bit -> 16bit etc.
* @date 8.10.2004
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Lower some High-level constructs, moved from the firmlower.
* @author Boris Boesler, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief lowering of Calls of intrinsic functions
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief lower mode_b operations to something the backend can handle
* @author Matthias Braun, Christoph Mallon
- * @version $Id$
*/
#include "config.h"
* @file
* @brief lower mode_b operations to something the backend can handle
* @author Matthias Braun, Christoph Mallon
- * @version $Id$
*
* Most machines can't really manipulate mode_b values (which are usually
* modeled as cpu flags). So you often have to convert them into machine words
* @file
* @brief Replaces Mux nodes with control-flow
* @author Olaf Liebe
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Lowering of Switches if necessary or advantageous.
* @author Moritz Kroll
- * @version $Id$
*/
#include "config.h"
* @file
* @brief boolean condition/control flow optimizations
* @author Matthias Braun, Christoph Mallon, Michael Beck
- * @version $Id: cfopt.c 22579 2008-10-07 14:54:04Z beck $
*/
#include "config.h"
* @file
* @brief Control flow optimizations.
* @author Goetz Lindenmaier, Michael Beck, Sebastian Hack
- * @version $Id$
*
* Removes Bad control flow predecessors and empty blocks. A block is empty
* if it contains only a Jmp node. Blocks can only be removed if they are not
* often.
* @author Christian Schaefer, Goetz Lindenmaier, Sebastian Felis,
* Michael Beck
- * @version $Id$
*
* The idea here is to push nodes as deep into the dominance tree as their
* dependencies allow. After pushing them back up out of as many loops as
* @file
* @brief Cliff Click's Combined Analysis/Optimization
* @author Michael Beck
- * @version $Id$
*
* This is a slightly enhanced version of Cliff Clicks combo algorithm
* - support for commutative nodes is added, Add(a,b) and Add(b,a) ARE congruent
* @file
* @brief conv node optimisation
* @author Matthias Braun, Christoph Mallon
- * @version $Id$
*
* Try to minimize the number of conv nodes by changing modes of operations.
* The typical example is the following structure:
* @brief Remove critical edges.
* @author Christian Schaefer, Goetz Lindenmaier, Sebastian Felis,
* Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Dead node elimination
* @author Michael Beck, Goetz Lindenmaier
- * @version $Id: opt_inline.c 27265 2010-03-07 15:13:00Z matze $
*
* Strictly speaking dead node elimination is unnecessary in firm - everthying
* which is not used can't be found by any walker.
* PURPOSE.
*/
-/*
- * Project: libFIRM
- * File name: ir/opt/escape_ana.c
- * Purpose: escape analysis and optimization
- * Author: Michael Beck
- * Modified by:
- * Created: 03.11.2005
- * CVS-ID: $Id$
- * Copyright: (c) 1999-2005 Universität Karlsruhe
- */
-
/**
- * @file escape_ana.c
- *
- * A fast and simple Escape analysis.
+ * @file
+ * @author Michael Beck
+ * @date 03.11.2005
+ * @brief A fast and simple Escape analysis.
*/
#include "config.h"
* @file
* @brief Data-flow driven minimal fixpoint value range propagation
* @author Christoph Mallon
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Optimization of function calls.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Removal of unreachable methods.
* @author Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @brief Global Value Numbering Partial Redundancy Elimination
* (VanDrunen Hosking 2004)
* @author Michael Beck
- * @version $Id$
* @brief
*/
#include "config.h"
* @file ir/opt/ifconv.c
* @brief If conversion
* @author Christoph Mallon
- * @version $Id$
*/
#include "config.h"
* @brief Removal of unreachable methods.
* @author Hubert Schmid
* @date 09.06.2002
- * @version $Id$
*/
/*
* @file
* @brief Debug macros used in iropt.
* @author Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_IR_IROPT_DBG_H
#define FIRM_IR_IROPT_DBG_H
* @brief Path-Sensitive Jump Threading
* @date 10. Sep. 2006
* @author Christoph Mallon, Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Load/Store optimizations.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @author Christian Helmer
* @brief loop inversion and loop unrolling
*
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Combining congruent blocks
* @author Michael Beck
- * @version $Id$
*
* This phase find congruent blocks.
* Two block are congruent, if they contains only equal calculations.
* @file
* @brief Optimizations regarding Confirm nodes.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @brief Optimize the frame type.
* @date 15.03.2006
* @author Michael Beck
- * @version $Id$
* @brief
* Optimize the frame type by removing unused type members.
*/
* @file
* @author Matthias Braun
* @brief Init functions for various optimisations
- * @version $Id$
*/
#ifndef FIRM_OPT_INIT_H
#define FIRM_OPT_INIT_H
* @file
* @brief Dead node elimination and Procedure Inlining.
* @author Michael Beck, Goetz Lindenmaier
- * @version $Id$
*/
#include "config.h"
* @brief Dataflow driven Load/Store optimizations, uses some ideas from
* VanDrunen's LEPRE
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Optimization wrapper for specifying requirements
* @author Andreas Zwinkau
- * @version $Id$
*/
#ifndef FIRM_OPT_MANAGE_H
#define FIRM_OPT_MANAGE_H
* @brief Operator Strength Reduction.
* @date 12.5.2006
* @author Michael Beck
- * @version $Id$
* @brief
* Implementation of the Operator Strength Reduction algorithm
* by Keith D. Cooper, L. Taylor Simpson, Christopher A. Vick.
* @file
* @brief Optimize polymorphic Sel and Load nodes.
* @author Goetz Lindenmaier, Michael Beck
- * @version $Id$
* @brief
* This file subsumes optimization code from cgana.
*/
* @file
* @brief Optimize polymorphic Sel and Load nodes.
* @author Goetz Lindenmaier, Michael Beck
- * @version $Id$
* @brief
* This file subsumes optimization code from cgana.
*/
* @file
* @brief parallelizing Load/Store optimisation
* @author Christoph Mallon
- * @version $Id: $
*/
#include "config.h"
* @file
* @brief Procedure cloning.
* @author Beyhan Veliev, Michael Beck
- * @version $Id$
* @brief
*
* The purpose is first to find and analyze functions, that are called
* @file
* @brief Reassociation
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* PURPOSE.
*/
-/*
- * Project: libFIRM
- * File name: ir/opt/reassoc_t.h
- * Purpose: Reassociation
- * Author: Michael Beck
- * Created:
- * CVS-ID: $Id$
- * Copyright: (c) 1998-2004 Universität Karlsruhe
- */
-
/**
- * @file reassoc_t.h
- *
- * Reassociation optimization.
- *
+ * @file
* @author Michael Beck
+ * @brief Reassociation optimization.
*/
#ifndef REASSOC_T_H
#define REASSOC_T_H
* @file
* @brief Normalize returns.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Scalar replacement of compounds.
* @author Beyhan Veliev, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Scalar replacement of compounds.
* @author Beyhan Veliev, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_OPT_SCALAR_REPLACE_H
#define FIRM_OPT_SCALAR_REPLACE_H
* @brief Tail-recursion call optimization.
* @date 08.06.2004
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @brief Perform optimizations of the type representation.
* @date 20.4.2005
* @author Goetz Lindenmaier
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Statistic functions for constant counting.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Statistics for Firm. Counter implementation.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_STAT_COUNTER_H
#define FIRM_STAT_COUNTER_H
* @file
* @brief Statistics for Firm. DAG's in graphs.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Statistics for Firm. DAG's in graphs.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_STAT_DAGS_H
#define FIRM_STAT_DAGS_H
* @file
* @brief Statistics for Firm. Distribution tables.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Statistics for Firm.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Statistics for Firm. Internal data structures.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_STAT_FIRMSTAT_T_H
#define FIRM_STAT_FIRMSTAT_T_H
* @file
* @brief Statistics for Firm. Pattern history.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Statistics for Firm. Pattern history.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_STAT_PATTERN_H
#define FIRM_STAT_PATTERN_H
* @file
* @brief Statistics for Firm. Dumping patterns.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Statistics for Firm. Dumping patterns.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_STAT_PATTERN_DMP_H
#define FIRM_STAT_PATTERN_DMP_H
* @file
* @brief Statistics for Firm. Dumping.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Statistics for Firm. Dumping.
* @author Michael Beck
- * @version $Id$
*/
#ifndef FIRM_STAT_STAT_DMP_H
#define FIRM_STAT_STAT_DMP_H
* @file
* @brief OS abstraction from time measurement
* @author Sebastian Hack, Michael Beck, Matthias Braun
- * @version $Id$
*/
#include "config.h"
* @file
* @brief OS abstraction from time measurement
* @author Sebastian Hack, Michael Beck, Matthias Braun
- * @version $Id$
*/
#ifndef FIRM_STAT_TIMING_H
#define FIRM_STAT_TIMING_H
* @brief Statistic events.
* @author Sebastian Hack
* @date 17.06.2007
- * @version $Id$
*/
#include "config.h"
* @brief Statistic events.
* @author Sebastian Hack
* @date 17.06.2007
- * @version $Id$
*/
#ifndef FIRM_STATEVENT_H
/**
* @file
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#include "config.h"
/*
* @file
- * @version $Id$
*/
#ifndef FIRM_TR_COMPOUND_PATH_T_H
#define FIRM_TR_COMPOUND_PATH_T_H
* @file
* @brief Representation of all program known entities.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Representation of all program known entities -- private header.
* @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_TR_ENTITY_T_H
#define FIRM_TR_ENTITY_T_H
* @file
* @brief Opcode of types.
* @author Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Opcode of types -- private header.
* @author Goetz Lindenmaier, Michael Beck
- * @version $Id$
*/
#ifndef FIRM_TR_TPOP_T_H
#define FIRM_TR_TPOP_T_H
* @file tr_inheritance.c
* @brief Utility routines for inheritance representation
* @author Goetz Lindenmaier
- * @version $Id$
*/
#include "config.h"
* @brief Check types and entities for correctness.
* @date 29.1.2003
* @author Michael Beck, Goetz Lindenmaier
- * @version $Id$
*/
#include "config.h"
* @file type.c
* @brief Representation of types.
* @author Goetz Lindenmaier, Michael Beck
- * @version $Id$
* @brief
*
* Implementation of the datastructure to hold
* @brief Calculate finalization of classes and entities by
* inspecting the class hierarchy.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
* @file
* @brief Representation of types -- private header.
* @author Goetz Lindenmaier, Michael Beck
- * @version $Id$
* @see type.h tpop_t.h tpop.h
*/
#ifndef FIRM_TR_TYPE_T_H
* @file typewalk.c
* @brief Functionality to modify the type graph.
* @author Goetz Lindenmaier
- * @version $Id$
* @brief
*
* Traverse the type information. The walker walks the whole ir graph
* @brief tarval floating point calculations
* @date 2003
* @author Mathias Heil
- * @version $Id$
*/
#include "config.h"
* @brief tarval floating point calculations
* @date 2003
* @author Mathias Heil
- * @version $Id$
*/
#ifndef FIRM_TV_FLTCALC_H
#define FIRM_TV_FLTCALC_H
* @brief Provides basic mathematical operations on values represented as strings.
* @date 2003
* @author Mathias Heil
- * @version $Id$
*/
#include "config.h"
* @brief Provides basic mathematical operations on values represented as strings.
* @date 2003
* @author Mathias Heil
- * @version $Id$
* @brief
*
* The module uses a string to represent values, and provides operations
* values.
* @date 2003
* @author Mathias Heil
- * @version $Id$
* @brief
*
* Values are stored in a format depending upon chosen arithmetic
* values -- private header.
* @date 2003
* @author Mathias Heil
- * @version $Id$
*/
#ifndef FIRM_TV_TV_T_H
#define FIRM_TV_TV_T_H
# initialization function
#
# author: Michael Beck
-#
-# $Id$
import sys
import os