GCC Middle and Back End API Reference
tree-ssa-coalesce.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

var_map coalesce_ssa_name (void)

Function Documentation

var_map coalesce_ssa_name ( void  )

Header file for tree-ssa-coalesce.c exports. Copyright (C) 2013 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/.

Reduce the number of copies by coalescing variables in the function. Return a partition map with the resulting coalesces.

 We need to coalesce all names originating same SSA_NAME_VAR
 so debug info remains undisturbed.   
 Don't calculate live ranges for variables not in the coalesce list.   
 Build a conflict graph.   
 First, coalesce all live on entry variables to their base variable.
 This will ensure the first use is coming from the correct location.   
 Now coalesce everything in the list.