Mercurial > hg > CbC > CbC_gcc
comparison gcc/tree-stdarg.c @ 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 | b7f97abdc517 |
comparison
equal
deleted
inserted
replaced
52:c156f1bd5cd9 | 55:77e2b8dfacca |
---|---|
1 /* Pass computing data for optimizing stdarg functions. | 1 /* Pass computing data for optimizing stdarg functions. |
2 Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. | 2 Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. |
3 Contributed by Jakub Jelinek <jakub@redhat.com> | 3 Contributed by Jakub Jelinek <jakub@redhat.com> |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 GCC is free software; you can redistribute it and/or modify | 7 GCC is free software; you can redistribute it and/or modify |
493 for (i = gsi_start_bb (bb); !gsi_end_p (i); gsi_next (&i)) | 493 for (i = gsi_start_bb (bb); !gsi_end_p (i); gsi_next (&i)) |
494 { | 494 { |
495 gimple stmt = gsi_stmt (i); | 495 gimple stmt = gsi_stmt (i); |
496 tree use; | 496 tree use; |
497 ssa_op_iter iter; | 497 ssa_op_iter iter; |
498 | |
499 if (is_gimple_debug (stmt)) | |
500 continue; | |
498 | 501 |
499 FOR_EACH_SSA_TREE_OPERAND (use, stmt, iter, SSA_OP_ALL_USES) | 502 FOR_EACH_SSA_TREE_OPERAND (use, stmt, iter, SSA_OP_ALL_USES) |
500 { | 503 { |
501 if (! bitmap_bit_p (si->va_list_escape_vars, | 504 if (! bitmap_bit_p (si->va_list_escape_vars, |
502 DECL_UID (SSA_NAME_VAR (use)))) | 505 DECL_UID (SSA_NAME_VAR (use)))) |
835 if (targetm.stdarg_optimize_hook | 838 if (targetm.stdarg_optimize_hook |
836 && targetm.stdarg_optimize_hook (&si, stmt)) | 839 && targetm.stdarg_optimize_hook (&si, stmt)) |
837 continue; | 840 continue; |
838 } | 841 } |
839 } | 842 } |
843 else if (is_gimple_debug (stmt)) | |
844 continue; | |
840 | 845 |
841 /* All other uses of va_list are either va_copy (that is not handled | 846 /* All other uses of va_list are either va_copy (that is not handled |
842 in this optimization), taking address of va_list variable or | 847 in this optimization), taking address of va_list variable or |
843 passing va_list to other functions (in that case va_list might | 848 passing va_list to other functions (in that case va_list might |
844 escape the function and therefore va_start needs to set it up | 849 escape the function and therefore va_start needs to set it up |
903 gate_optimize_stdarg, /* gate */ | 908 gate_optimize_stdarg, /* gate */ |
904 execute_optimize_stdarg, /* execute */ | 909 execute_optimize_stdarg, /* execute */ |
905 NULL, /* sub */ | 910 NULL, /* sub */ |
906 NULL, /* next */ | 911 NULL, /* next */ |
907 0, /* static_pass_number */ | 912 0, /* static_pass_number */ |
908 0, /* tv_id */ | 913 TV_NONE, /* tv_id */ |
909 PROP_cfg | PROP_ssa | PROP_alias, /* properties_required */ | 914 PROP_cfg | PROP_ssa, /* properties_required */ |
910 0, /* properties_provided */ | 915 0, /* properties_provided */ |
911 0, /* properties_destroyed */ | 916 0, /* properties_destroyed */ |
912 0, /* todo_flags_start */ | 917 0, /* todo_flags_start */ |
913 TODO_dump_func /* todo_flags_finish */ | 918 TODO_dump_func /* todo_flags_finish */ |
914 } | 919 } |