Fold __builtin_str{n}{case}cmp functions
commitac8a4f8e58d4925a9771f94336c43bd189b10737
authormarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Oct 2016 12:08:27 +0000 (14 12:08 +0000)
committermarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Oct 2016 12:08:27 +0000 (14 12:08 +0000)
treec896ce6d1d5d5cec3b0369bdda9ddacf3ad4f63f
parentff16a800057a4482d46a33e045b5522ee76fe960
Fold __builtin_str{n}{case}cmp functions

* builtins.c (fold_builtin_strcmp): Remove function.
(fold_builtin_strncmp): Likewise.
(fold_builtin_2): Remove call of the function.
(fold_builtin_3): Likewise.
* fold-const-call.c (fold_const_call): Add constant folding
for CFN_BUILT_IN_STRCASECMP and CFN_BUILT_IN_STRNCASECMP.
* fold-const-call.h (build_cmp_result): Declare the function.
* gimple-fold.c (gimple_load_first_char): New function.
(gimple_fold_builtin_string_compare): Likewise.
(gimple_fold_builtin): Call the function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241159 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/builtins.c
gcc/fold-const-call.c
gcc/fold-const-call.h
gcc/gimple-fold.c