/* This file contains the definitions of the GIMPLE IR tuples used in GCC. Copyright (C) 2007-2014 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