* alias.c (nonlocal_reference_p): Take a care for
CALL_INSNS's fusage field. * calls.c (ECF_PURE): New flag. (emit_call_1): Handle ECF_PURE calls. (initialize_argument_information): Unset ECF_PURE flag too. (precompute_arguments): Precompute for ECF_PURE too. (expand_call): Handle ECF_PURE calls too. (emit_library_call_value_1): Rename no_queue argument to fn_type, accept value of 2 as pure function. (emit_library_call_value, emit_library_call): Rename no_queue argument to fn_type. * optabs.c (prepare_cmp_insn): Pass fn_type 2 to memcmp call. * tree.h (DECL_IS_PURE): New macro. (struct tree_decl): Add pure_flag. * c-common.c (enum attrs): Add attribute "pure". (init_attributes): Initialize attribute "pure" (decl_attributes): Handle attribute "pure". * extend.texi (Attribute "pure"): Document. * calls.c (expand_call): Add (mem:BLK (scratch)) to "equal from" in pure function. (flags_from_decl_or_type): Support attribute "pure". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33138 138bc75d-0d04-0410-961f-82ee72b054a4
Showing
- gcc/ChangeLog 25 additions, 0 deletionsgcc/ChangeLog
- gcc/alias.c 9 additions, 4 deletionsgcc/alias.c
- gcc/c-common.c 12 additions, 1 deletiongcc/c-common.c
- gcc/calls.c 62 additions, 39 deletionsgcc/calls.c
- gcc/extend.texi 28 additions, 12 deletionsgcc/extend.texi
- gcc/optabs.c 2 additions, 2 deletionsgcc/optabs.c
- gcc/tree.h 5 additions, 0 deletionsgcc/tree.h
Loading
Please register or sign in to comment