GraphColoring.xcc

Cedric Vincent (openlinuxfree.fr) Alain Darte (Alain.Darteens-lyon.fr)

Copyright 2002 - 2003 STMicroelectronics.0

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.

*****************************Public members declarations * *****************************Entrance point of the implementation. \param codeRegion Code region of the program. \return \e true in success, else \e false.

//
//@XCC.h
bool
GraphColoring_allocateCodeRegion(CodeRegion codeRegion, SSAForm ssaForm);

Allocate and initialize global variables.

//
void
GraphColoring_INIT(void);

Free global variables.

//
void
GraphColoring_FINI(void);

Needed by other graphcolorin algorithm

extern void
GraphColoring_initialize(void);

Get the temporary used in the condition for the contional branch.

//
//
Temporary 
Operation_getCondition(Operation operation);

this = E = (A,B). Create C on E

//
BasicBlock
BasicBlockEdge_splitFalseWithLiveness (Liveness* liveness, Memory memory, CodeRegion codeRegion, BasicBlockEdge this);

this = E = (A,B). Create C on E

//
BasicBlock
BasicBlockEdge_splitCriticalWithLiveness (Liveness* liveness, Memory memory, CodeRegion codeRegion, BasicBlockEdge this);

this = E = (A,B). Create C on E

//
BasicBlock
BasicBlockEdge_splitWithLiveness (Liveness* liveness, Memory memory, CodeRegion codeRegion, BasicBlockEdge this, bool canReuseBB, Operation *point);