summaryrefslogtreecommitdiff
path: root/gcc/doc/extend.texi
diff options
context:
space:
mode:
authormarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>2015-01-19 15:20:16 +0000
committermarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>2015-01-19 15:20:16 +0000
commit85fbea9709061ce97395dec59cddefcc62e787a9 (patch)
tree606d4253fc1a5473eb60955880ac752e49f992bb /gcc/doc/extend.texi
parentc16b7ed55398d2ea55d9ab35519f20cc053b9d0a (diff)
downloadgcc-85fbea9709061ce97395dec59cddefcc62e787a9.tar.gz
IPA ICF: add no_icf attribute.
* c-common.c (handle_noicf_attribute): New function. * doc/extend.texi (no_icf): Add new attribute description. * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases where the pass attempts to merge a function with no_icf attribute. * gcc.dg/ipa/ipa-icf-33.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219848 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/extend.texi')
-rw-r--r--gcc/doc/extend.texi6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index bf6d7102147..ba921e914bd 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -2195,6 +2195,7 @@ attribute specification inside double parentheses. The following
attributes are currently defined for functions on all targets:
@code{aligned}, @code{alloc_size}, @code{alloc_align}, @code{assume_aligned},
@code{noreturn}, @code{returns_twice}, @code{noinline}, @code{noclone},
+@code{no_icf},
@code{always_inline}, @code{flatten}, @code{pure}, @code{const},
@code{nothrow}, @code{sentinel}, @code{format}, @code{format_arg},
@code{no_instrument_function}, @code{no_split_stack},
@@ -3475,6 +3476,11 @@ cloning---a mechanism that produces specialized copies of functions
and which is (currently) performed by interprocedural constant
propagation.
+@item no_icf
+@cindex @code{no_icf} function attribute
+This function attribute prevents a functions from being merged with another
+semantically equivalent function.
+
@item nonnull (@var{arg-index}, @dots{})
@cindex @code{nonnull} function attribute
The @code{nonnull} attribute specifies that some function parameters should