Commit 9b716841 authored by Matthias Braun's avatar Matthias Braun
Browse files

added license infos

[r13472]
parent c903769f
/*
* Project: libFIRM
* File name: ir/ana/analyze_irg_agrs.c
* Purpose: read/write analyze of graph argument, which have mode reference.
* Author: Beyhan Veliev
* Created:
* CVS-ID: $Id$
* Copyright: (c) 1998-2005 Universitt Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* @file analyze_irg_agrs.c
*
* @file
* @brief read/write analyze of graph argument, which have mode reference.
* @author Beyhan Veliev
* @version $Id$
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
......
/*
* Project: libFIRM
* File name: ir/ana/analyze_irg_args.h
* Purpose: rea/write analyze of graph argument, which have mode reference.
* Author: Beyhan Veliev
* Created:
* CVS-ID: $Id$
* Copyright: (c) 1998-2005 Universität Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* @file
* @brief read/write analyze of graph argument, which have mode reference
* @author Beyhan Veliev
* @version $Id$
*/
#ifndef _ANALYZE_IRG_ARGS_H_
#define _ANALYZE_IRG_ARGS_H_
#ifndef FIRM_ANA_ANALYZE_IRG_ARGS_H
#define FIRM_ANA_ANALYZE_IRG_ARGS_H
#include "irgraph.h"
#include "entity.h"
......@@ -51,4 +66,4 @@ float get_method_param_weight(ir_entity *ent, int pos);
*/
void analyze_irg_args_weight(ir_graph *irg);
#endif /*_ANALYZE_IRG_ARGS_H_ */
#endif
/*
* Project: libFIRM
* File name: ir/ana/callgraph.c
* Purpose: Representation and computation of the callgraph.
* Author: Goetz Lindenmaier
* Modified by:
* Created: 21.7.2004
* CVS-ID: $Id$
* Copyright: (c) 2004-2007 Universitt Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* @file
* @brief Representation and computation of the callgraph.
* @author Goetz Lindenmaier
* @date 21.7.2004
* @version $Id$
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
......
/*
* Project: libFIRM
* File name: ir/ana/callgraph.h
* Purpose: Representation and computation of the callgraph.
* Author: Goetz Lindenmaier
* Modified by:
* Created: 21.7.2004
* CVS-ID: $Id$
* Copyright: (c) 2004-2007 Universität Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
#ifndef _CALLGRAPH_H_
#define _CALLGRAPH_H_
/**
* @file callgraph.h
*
* This file contains the representation of the callgraph.
* The nodes of the call graph are ir_graphs. The edges between
* the nodes are calling relations. I.e., if method a calls method
* b at some point, there is an edge between a and b.
* @file
* @brief Representation and computation of the callgraph.
* @author Goetz Lindenmaier
* @date 21.7.2004
* @version $Id$
* @summary
* This file contains the representation of the callgraph.
* The nodes of the call graph are ir_graphs. The edges between
* the nodes are calling relations. I.e., if method a calls method
* b at some point, there is an edge between a and b.
*
* Further this file contains an algorithm to construct the call
* graph. The construction of the callgraph uses the callee
* information in Call nodes to determine which methods are called.
* Further this file contains an algorithm to construct the call
* graph. The construction of the callgraph uses the callee
* information in Call nodes to determine which methods are called.
*
* Finally this file contains an algorithm that computes backedges
* in the callgraph, i.e., the algorithm finds possibly recursive calls.
* The algorithm computes an upper bound of all recursive calls.
* Finally this file contains an algorithm that computes backedges
* in the callgraph, i.e., the algorithm finds possibly recursive calls.
* The algorithm computes an upper bound of all recursive calls.
*/
#ifndef FIRM_ANA_CALLGRAPH_H
#define FIRM_ANA_CALLGRAPH_H
#include "firm_types.h"
/** Flag to indicate state of callgraph. */
......
/*
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* @file
* @brief Implementation of cdep
* @version $Id$
*/
#include <assert.h>
#include <stdlib.h>
#include "irdom.h"
......
#ifndef CDEP_H
#define CDEP_H
/*
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* @file
* @brief control dependence analysis
* @author Chrsitoph Mallon
* @version $Id$
*/
#ifndef FIRM_ANA_CDEP_H
#define FIRM_ANA_CDEP_H
#include "firm_types.h"
......@@ -24,4 +49,4 @@ int is_iterated_cdep_on(ir_node *dependee, ir_node *candidate);
ir_node *get_unique_cdep(const ir_node *block);
int has_multiple_cdep(const ir_node *block);
#endif /* CDEP_H */
#endif
/*
* Project: libFIRM
* File name: ir/ana/cgana.c
* Purpose: Intraprozedural analyses to estimate the call graph.
* Author: Hubert Schmid
* Modified by:
* Created: 09.06.2002
* CVS-ID: $Id$
* Copyright: (c) 1999-2003 Universitt Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
*/
/** @file cgana.c
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Interprocedural analysis to estimate the calling relation.
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This analysis computes all entities representing methods that
* can be called at a Call node. Further it computes a set of
* methods that are 'free', i.e., their adress is handled by
* the program directly, or they are visible external.
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* @file
* @brief Intraprozedural analyses to estimate the call graph.
* @author Hubert Schmid
* @date 09.06.2002
* @version $Id$
* @summary
* Interprocedural analysis to estimate the calling relation.
*
* This analysis computes all entities representing methods that
* can be called at a Call node. Further it computes a set of
* methods that are 'free', i.e., their adress is handled by
* the program directly, or they are visible external.
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
......
/*
* Project: libFIRM
* File name: ir/ana/cgana.h
* Purpose: Intraprozedural analyses to estimate the call graph.
* Author: Hubert Schmid
* Modified by:
* Created: 09.06.2002
* CVS-ID: $Id$
* Copyright: (c) 1999-2003 Universität Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* Intraprozedurale Analyse zur Abschätzung der Aufrulrelation. Es
* wird eine Menge von freien Methoden und anschließend die an den
* Call-Operationen aufrufbaren Methoden bestimmt.
* @file
* @brief Intraprozedural analyses to estimate the call graph.
* @author Hubert Schmid
* @date 09.06.2002
* @version $Id$
* @summary
* @summary
* Interprocedural analysis to estimate the calling relation.
*
* This analysis computes all entities representing methods that
* can be called at a Call node. Further it computes a set of
* methods that are 'free', i.e., their adress is handled by
* the program directly, or they are visible external.
*/
#ifndef _CGANA_H_
#define _CGANA_H_
#ifndef FIRM_ANA_CGANA_H
#define FIRM_ANA_CGANA_H
#include "entity.h"
......@@ -83,4 +98,4 @@ void free_irp_callee_info(void);
void opt_call_addrs(void);
#endif /* _CGANA_H_ */
#endif
/*
* Project: libFIRM
* File name: ir/opt/construct_loop.c
* Purpose: Construct some loop infromation.
* Author: Beyhan Veliev
* Created:
* CVS-ID: $Id$
* Copyright: (c) 1998-2005 Universitt Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* @file
* @brief Construct some loop infromation.
* @author Beyhan Veliev
* @version $Id$
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
......
/*
* Project: libFIRM
* File name: ir/ana/compute_loop_info.h
* Purpose: Construct some loop infromation.
* Author: Beyhan Veliev
* Created:
* CVS-ID: $Id$
* Copyright: (c) 1998-2005 Universitt Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
#ifndef _COMPUTE_LOOP_INFO_
#define _COMPUTE_LOOP_INFO_
/**
* @file
* @brief Construct some loop infromation.
* @author Beyhan Veliev
* @version $Id$
*/
#ifndef FIRM_ANA_COMPUTE_LOOP_INFO_H
#define FIRM_ANA_COMPUTE_LOOP_INFO_H
#include "irgraph.h"
void compute_loop_info(ir_graph *irg);
#endif /* _COMPUTE_LOOP_INFO_ */
#endif
/*
* Project: libFIRM
* File name: ir/ana/execfreq.c
* Purpose: Compute an estimate of basic block executions.
* Author: Adam M. Szalkowski
* Modified by:
* Created: 28.05.2006
* CVS-ID: $Id$
* Copyright: (c) 2006 Universität Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* @file
* @brief Compute an estimate of basic block executions.
* @author Adam M. Szalkowski
* @date 28.05.2006
* @version $Id$
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
......@@ -371,5 +386,3 @@ free_execfreq(ir_exec_freq *ef)
unregister_hook(hook_node_info, &ef->hook);
free(ef);
}
#undef ELEM
#ifndef EXECFREQ_H_
#define EXECFREQ_H_
/*
* Project: libFIRM
* File name: ir/ana/execfreq.h
* Purpose: Compute an estimate of basic block executions.
* Author: Adam M. Szalkowski
* Modified by:
* Created: 28.05.2006
* CVS-ID: $Id$
* Copyright: (c) 2006 Universitaet Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* @file
* @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
#include "firm_types.h"
struct ir_exec_freq;
......@@ -40,4 +56,4 @@ void free_execfreq(ir_exec_freq *ef);
double get_block_execfreq(const ir_exec_freq *ef, const ir_node *block);
unsigned long get_block_execfreq_ulong(const ir_exec_freq *ef, const ir_node *block);
#endif /* EXECFREQ_H_ */
#endif
/*
* Project: libFIRM
* File name: ir/ana/execution_frequency.c
* Purpose: Compute an estimate of basic block executions.
* Author: Goetz Lindenmaier
* Modified by:
* Created: 5.11.2004
* CVS-ID: $Id$
* Copyright: (c) 2004 Universitt Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* @file
* @brief Compute an estimate of basic block executions.
* @author Goetz Lindenmaier
* @date 5.11.2004
* @version $Id$
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
......
/*
* Project: libFIRM
* File name: ir/ana/execution_frequency.h
* Purpose: Compute an estimate of basic block executions.
* Author: Goetz Lindenmaier
* Modified by:
* Created: 5.11.2004
* CVS-ID: $Id$
* Copyright: (c) 2004 Universität Karlsruhe
* Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
*/
#ifndef _EXECUTION_FREQUENCY_H_
#define _EXECUTION_FREQUENCY_H_
/** @file execution_frequency.h
* Copyrigth (C) 1995-2007 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* Estimate exectution frequencies of blocks.
* This file may be distributed and/or modified under the terms of the
* GNU General Public License version 2 as published by the Free Software
* Foundation and appearing in the file LICENSE.GPL included in the
* packaging of this file.
*
* @author Goetz Lindenmaier
* Licensees holding valid libFirm Professional Edition licenses may use
* this file in accordance with the libFirm Commercial License.
* Agreement provided with the Software.
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE.
*/
/**
* @file
* @brief Compute an estimate of basic block executions.
* @author Goetz Lindenmaier
* @date 5.11.2004
* @version $Id$
* @summary
* We assume the start block of a procedure is executed once. Based on this we
* compute the execution freqency of all blocks.
*
* The computation of the frequencies depends on the count of exception control
* flow computed during the interval analysis. The interval analysis again
* flow computed during the interval analysis. The interval analysis again
* depends on stuff computed here.
*/
#ifndef FIRM_ANA_EXECUTION_FREQUENCY_H
#define FIRM_ANA_EXECUTION_FREQUENCY_H
#include "firm_types.h"