builtins.c (expand_builtin_strlen): Revert last change.
authorRichard Henderson <rth@cygnus.com>
Sat, 11 Mar 2000 00:30:06 +0000 (16:30 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Sat, 11 Mar 2000 00:30:06 +0000 (16:30 -0800)
        * builtins.c (expand_builtin_strlen): Revert last change.
        Use emit_insn_before if we're at the beginning of a sequence.

From-SVN: r32476

gcc/ChangeLog
gcc/builtins.c

index e56848c593784160f7ad905e58527b0b29bf5d05..222f6aa0a468f03a1945c6bce0c74c6968a50344 100644 (file)
@@ -1,3 +1,8 @@
+2000-03-10  Richard Henderson  <rth@cygnus.com>
+
+       * builtins.c (expand_builtin_strlen): Revert last change.
+       Use emit_insn_before if we're at the beginning of a sequence.
+
 2000-03-10  Jason Merrill  <jason@casey.cygnus.com>
 
        * builtins.c (expand_builtin_strlen): Make sure that we have something
index 14dddf1a9db126933aec6ca705feb330625aeb65..7da5161aa9b16de85097fe5f87d6a9b57f422887 100644 (file)
@@ -1381,8 +1381,6 @@ expand_builtin_strlen (exp, target, mode)
       /* Mark the beginning of the strlen sequence so we can emit the
         source operand later.  */
       before_strlen = get_last_insn();
-      if (before_strlen == NULL_RTX)
-       before_strlen = emit_note (0, NOTE_INSN_DELETED);
 
       /* Check the string is readable and has an end.  */
       if (current_function_check_memory_usage)
@@ -1409,7 +1407,11 @@ expand_builtin_strlen (exp, target, mode)
        emit_move_insn (src_reg, pat);
       pat = gen_sequence ();
       end_sequence ();
-      emit_insn_after (pat, before_strlen);
+
+      if (before_strlen)
+       emit_insn_after (pat, before_strlen);
+      else
+       emit_insn_before (pat, get_insns ());
 
       /* Return the value in the proper mode for this function.  */
       if (GET_MODE (result) == value_mode)