GRA.xcc

Benoit Dupont de Dinechin (Benoit.Dupont-de-Dinechin@st.com).

Copyright 2002 - 2007 STMicroelectronics. Copyright 1995 - 1998 Commissariat a l'Energie Atomique.

This program is free software; you can redistribute it and/or modify it under the terms of either (at your option): the GNU General Public License (GPL) version 2; the GNU Lesser General Public License (LGPL) version 2.1; any later version of these licences as published by the Free Software Foundation.

GRA_allocateCodeRegion -- Allocate the code region. Returns true if the code region changed.

extern bool
GRA_allocateCodeRegion(CodeRegion codeRegion, SSAForm ssaForm);

Export solution of coloring in fout using Florent format. Florent format is: First line is: #Nodes #Colors Other line: number separate by space Ieme number is the color of ieme node

@pre: tmpTable is sorted by index of temporaries

extern void
GRA_exportSolution(TemporaryTable tmpTable, FILE* fout, RegFile regFile);

display statistic on detected spill code

extern void
GRA_statisticOnCodeRegion(CodeRegion codeRegion, const char* message,
                          FILE* file);
GRA_TRACE— File handle used to trace the GRA.
extern FILE *GRA_TRACE;
#ifdef ECL_NTRACE
#define GRA_TRACE NULL
#endif//ECL_NTRACE
GRA_DISP_INTERFERENCE— File handle used to disp inteference graph.
extern FILE *GRA_DISP_INTERFERENCE;
#ifdef ECL_NTRACE
#define GRA_DISP_INTERFERENCE NULL
#endif//ECL_NTRACE
GRA_DISP_COST— File handle used to disp cost of spill and copies.
extern FILE *GRA_DISP_COST;
#ifdef ECL_NTRACE
#define GRA_DISP_COST NULL
#endif//ECL_NTRACE
GRA_DISP_COLORING— File handle used to disp cost of spill and copies.
extern FILE *GRA_DISP_COLORING;
#ifdef ECL_NTRACE
#define GRA_DISP_COLORING NULL
#endif//ECL_NTRACE
GRA_DISP_COST— File handle used to disp cost of spill and copies.
extern FILE *GRA_DISP_PCOPY_COST;
#ifdef ECL_NTRACE
#define GRA_DISP_PCOPY_COST NULL
#endif//ECL_NTRACE

GraphColoring SSA statistics.

extern FILE *GRA_STAT;
#ifdef ECL_NTRACE
#define GRA_STAT NULL
#endif//ECL_NTRACE

GraphColoring multiplexing region statistics.

extern FILE *GRA_MULTREGION;
#ifdef ECL_NTRACE
#define GRA_MULTREGION NULL
#endif//ECL_NTRACE

Variables used to control GRA in non-release mode.

GRA_INIT— Initialize the GRA library.
void
GRA_INIT(void);
GRA_FINI— Finalize the GRA library.
void
GRA_FINI(void);