Mercurial > hg > CbC > CbC_gcc
comparison gcc/tree-dfa.c @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | 77e2b8dfacca |
children | f6334be47118 |
comparison
equal
deleted
inserted
replaced
56:3c8a44c06a95 | 63:b7f97abdc517 |
---|---|
1 /* Data flow functions for trees. | 1 /* Data flow functions for trees. |
2 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009 | 2 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010 |
3 Free Software Foundation, Inc. | 3 Free Software Foundation, Inc. |
4 Contributed by Diego Novillo <dnovillo@redhat.com> | 4 Contributed by Diego Novillo <dnovillo@redhat.com> |
5 | 5 |
6 This file is part of GCC. | 6 This file is part of GCC. |
7 | 7 |
24 #include "coretypes.h" | 24 #include "coretypes.h" |
25 #include "tm.h" | 25 #include "tm.h" |
26 #include "hashtab.h" | 26 #include "hashtab.h" |
27 #include "pointer-set.h" | 27 #include "pointer-set.h" |
28 #include "tree.h" | 28 #include "tree.h" |
29 #include "rtl.h" | |
30 #include "tm_p.h" | 29 #include "tm_p.h" |
31 #include "hard-reg-set.h" | |
32 #include "basic-block.h" | 30 #include "basic-block.h" |
33 #include "output.h" | 31 #include "output.h" |
34 #include "timevar.h" | 32 #include "timevar.h" |
35 #include "expr.h" | 33 #include "expr.h" |
36 #include "ggc.h" | 34 #include "ggc.h" |
37 #include "langhooks.h" | 35 #include "langhooks.h" |
38 #include "flags.h" | 36 #include "flags.h" |
39 #include "function.h" | 37 #include "function.h" |
40 #include "diagnostic.h" | 38 #include "diagnostic.h" |
39 #include "tree-pretty-print.h" | |
41 #include "tree-dump.h" | 40 #include "tree-dump.h" |
42 #include "gimple.h" | 41 #include "gimple.h" |
43 #include "tree-flow.h" | 42 #include "tree-flow.h" |
44 #include "tree-inline.h" | 43 #include "tree-inline.h" |
45 #include "tree-pass.h" | 44 #include "tree-pass.h" |
191 /* Build a temporary. Make sure and register it to be renamed. */ | 190 /* Build a temporary. Make sure and register it to be renamed. */ |
192 | 191 |
193 tree | 192 tree |
194 make_rename_temp (tree type, const char *prefix) | 193 make_rename_temp (tree type, const char *prefix) |
195 { | 194 { |
196 tree t = create_tmp_var (type, prefix); | 195 tree t = create_tmp_reg (type, prefix); |
197 | |
198 if (TREE_CODE (TREE_TYPE (t)) == COMPLEX_TYPE | |
199 || TREE_CODE (TREE_TYPE (t)) == VECTOR_TYPE) | |
200 DECL_GIMPLE_REG_P (t) = 1; | |
201 | 196 |
202 if (gimple_referenced_vars (cfun)) | 197 if (gimple_referenced_vars (cfun)) |
203 { | 198 { |
204 add_referenced_var (t); | 199 add_referenced_var (t); |
205 mark_sym_for_renaming (t); | 200 mark_sym_for_renaming (t); |
267 print_generic_expr (file, var, dump_flags); | 262 print_generic_expr (file, var, dump_flags); |
268 | 263 |
269 ann = var_ann (var); | 264 ann = var_ann (var); |
270 | 265 |
271 fprintf (file, ", UID D.%u", (unsigned) DECL_UID (var)); | 266 fprintf (file, ", UID D.%u", (unsigned) DECL_UID (var)); |
267 if (DECL_PT_UID (var) != DECL_UID (var)) | |
268 fprintf (file, ", PT-UID D.%u", (unsigned) DECL_PT_UID (var)); | |
272 | 269 |
273 fprintf (file, ", "); | 270 fprintf (file, ", "); |
274 print_generic_expr (file, TREE_TYPE (var), dump_flags); | 271 print_generic_expr (file, TREE_TYPE (var), dump_flags); |
275 | 272 |
276 if (TREE_ADDRESSABLE (var)) | 273 if (TREE_ADDRESSABLE (var)) |
279 if (is_global_var (var)) | 276 if (is_global_var (var)) |
280 fprintf (file, ", is global"); | 277 fprintf (file, ", is global"); |
281 | 278 |
282 if (TREE_THIS_VOLATILE (var)) | 279 if (TREE_THIS_VOLATILE (var)) |
283 fprintf (file, ", is volatile"); | 280 fprintf (file, ", is volatile"); |
284 | |
285 if (is_call_clobbered (var)) | |
286 fprintf (file, ", call clobbered"); | |
287 else if (is_call_used (var)) | |
288 fprintf (file, ", call used"); | |
289 | 281 |
290 if (ann && ann->noalias_state == NO_ALIAS) | 282 if (ann && ann->noalias_state == NO_ALIAS) |
291 fprintf (file, ", NO_ALIAS (does not alias other NO_ALIAS symbols)"); | 283 fprintf (file, ", NO_ALIAS (does not alias other NO_ALIAS symbols)"); |
292 else if (ann && ann->noalias_state == NO_ALIAS_GLOBAL) | 284 else if (ann && ann->noalias_state == NO_ALIAS_GLOBAL) |
293 fprintf (file, ", NO_ALIAS_GLOBAL (does not alias other NO_ALIAS symbols" | 285 fprintf (file, ", NO_ALIAS_GLOBAL (does not alias other NO_ALIAS symbols" |