comparison gcc/tree-affine.h @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents a06113de4d67
children 04ced10e8804
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
1 /* Operations with affine combinations of trees. 1 /* Operations with affine combinations of trees.
2 Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc. 2 Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
3 3
4 This file is part of GCC. 4 This file is part of GCC.
5 5
6 GCC is free software; you can redistribute it and/or modify it 6 GCC is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the 7 under the terms of the GNU General Public License as published by the
8 Free Software Foundation; either version 3, or (at your option) any 8 Free Software Foundation; either version 3, or (at your option) any
9 later version. 9 later version.
10 10
11 GCC is distributed in the hope that it will be useful, but WITHOUT 11 GCC is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 for more details. 14 for more details.
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING3. If not see 17 along with GCC; see the file COPYING3. If not see
18 <http://www.gnu.org/licenses/>. */ 18 <http://www.gnu.org/licenses/>. */
19 19
20 /* Affine combination of trees. We keep track of at most MAX_AFF_ELTS elements 20 /* Affine combination of trees. We keep track of at most MAX_AFF_ELTS elements
26 26
27 struct aff_comb_elt 27 struct aff_comb_elt
28 { 28 {
29 /* The value of the element. */ 29 /* The value of the element. */
30 tree val; 30 tree val;
31 31
32 /* Its coefficient in the combination. */ 32 /* Its coefficient in the combination. */
33 double_int coef; 33 double_int coef;
34 }; 34 };
35 35
36 typedef struct affine_tree_combination 36 typedef struct affine_tree_combination
45 unsigned n; 45 unsigned n;
46 46
47 /* Elements and their coefficients. Type of elements may be different from 47 /* Elements and their coefficients. Type of elements may be different from
48 TYPE, but their sizes must be the same (STRIP_NOPS is applied to the 48 TYPE, but their sizes must be the same (STRIP_NOPS is applied to the
49 elements). 49 elements).
50 50
51 The coefficients are always sign extended from the precision of TYPE 51 The coefficients are always sign extended from the precision of TYPE
52 (regardless of signedness of TYPE). */ 52 (regardless of signedness of TYPE). */
53 struct aff_comb_elt elts[MAX_AFF_ELTS]; 53 struct aff_comb_elt elts[MAX_AFF_ELTS];
54 54
55 /* Remainder of the expression. Usually NULL, used only if there are more 55 /* Remainder of the expression. Usually NULL, used only if there are more
56 than MAX_AFF_ELTS elements. Type of REST will be either sizetype for 56 than MAX_AFF_ELTS elements. Type of REST will be either sizetype for
57 TYPE of POINTER_TYPEs or TYPE. */ 57 TYPE of POINTER_TYPEs or TYPE. */
58 tree rest; 58 tree rest;
59 } aff_tree; 59 } aff_tree;
60 60
61 double_int double_int_ext_for_comb (double_int, aff_tree *); 61 double_int double_int_ext_for_comb (double_int, aff_tree *);