/* This file contains the definitions of the GIMPLE IR tuples used in GCC. Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by Aldy Hernandez 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 . */ /* The format of this file is DEFGSCODE(GIMPLE_symbol, printable name, GSS_symbol). */ /* Error marker. This is used in similar ways as ERROR_MARK in tree.def. */ DEFGSCODE(GIMPLE_ERROR_MARK, "gimple_error_mark", GSS_BASE) /* IMPORTANT. Do not rearrange the codes between GIMPLE_COND and GIMPLE_RETURN. The ordering is exposed by gimple_has_ops calls. These are all the GIMPLE statements with register operands. */ /* GIMPLE_COND represents the conditional jump: if (OP1 COND_CODE OP2) goto TRUE_LABEL else goto FALSE_LABEL COND_CODE is the tree code used as the comparison predicate. It must be of class tcc_comparison. OP1 and OP2 are the operands used in the comparison. They must be accepted by is_gimple_operand. TRUE_LABEL and FALSE_LABEL are the LABEL_DECL nodes used as the jump target for the comparison. */ DEFGSCODE(GIMPLE_COND, "gimple_cond", GSS_WITH_OPS) /* GIMPLE_DEBUG represents a debug statement. */ DEFGSCODE(GIMPLE_DEBUG, "gimple_debug", GSS_WITH_OPS) /* GIMPLE_GOTO represents unconditional jumps. TARGET is a LABEL_DECL or an expression node for computed GOTOs. */ DEFGSCODE(GIMPLE_GOTO, "gimple_goto", GSS_WITH_OPS) /* GIMPLE_LABEL