On Tue, Oct 11, 2016 at 11:33 AM, Martin Liška <mli...@suse.cz> wrote:
> Changes from the previous version:
> 1) Handle BUILT_IN_STRNCMP with length == -1.
> 2) Direct gimple stmts creation and usage gsi_replace_with_seq_vops.
> (hope using of replace_call_with_value is fine if replacing with a cst?)
> 3) lhs == NULL cases are handled (Or is it fine to replace with a nop in
> Can change a semantic as it may touch a memory.)
> 4) CFN_BUILT_IN_STRNCMP can handle strncmp (x, y, 0).
> 5) Handling of CFN_BUILT_IN_STRNCASECMP is added.
> Testing of the whole series has been running.
gimple_load_first_char needs a comment.
+ tree var = gimple_load_first_char (loc, str1, &stmts);
+ if (lhs)
+ stmt = gimple_build_assign (lhs, NOP_EXPR, var);
+ stmt = gimple_build_nop ();
I think you don't need the nop() as you have at least one stmt
from the load. Likewise for the other cases below.
Otherwise this patch looks ok now.