GCC Middle and Back End API Reference
queued_debug_insn_change Struct Reference
Collaboration diagram for queued_debug_insn_change:

Data Fields

struct queued_debug_insn_changenext
rtx insn
rtxloc
rtx new_rtx

Detailed Description

Copy propagation on hard registers for the GNU compiler. Copyright (C) 2000-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/. The following code does forward propagation of hard register copies. The object is to eliminate as many dependencies as possible, so that we have the most scheduling freedom. As a side effect, we also clean up some silly register allocation decisions made by reload. This code may be obsoleted by a new register allocator. DEBUG_INSNs aren't changed right away, as doing so might extend the lifetime of a register and get the DEBUG_INSN subsequently reset. So they are queued instead, and updated only when the register is used in some subsequent real insn before it is set.


Field Documentation

rtx queued_debug_insn_change::insn
rtx* queued_debug_insn_change::loc
rtx queued_debug_insn_change::new_rtx
struct queued_debug_insn_change* queued_debug_insn_change::next

The documentation for this struct was generated from the following file: