<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - missed store sinking opportunity?"
   href="http://llvm.org/bugs/show_bug.cgi?id=22476">22476</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>missed store sinking opportunity?
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Loop Optimizer
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>junyer@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=13810" name="attach_13810" title="function that returns true if a string contains 'a', 'b' or 'c'">attachment 13810</a> <a href="attachment.cgi?id=13810&action=edit" title="function that returns true if a string contains 'a', 'b' or 'c'">[details]</a></span>
function that returns true if a string contains 'a', 'b' or 'c'

It seems as though the `movb $1, %al' could be sunk from BB#3 to BB#4. :)


$ llc abc.ll 
$ cat abc.s
    .text
    .file    "abc.ll"
    .globl    F
    .align    16, 0x90
    .type    F,@function
F:                                      # @F
# BB#0:                                 # %entry
    .align    16, 0x90
.LBB0_1:                                # =>This Inner Loop Header: Depth=1
    testl    %esi, %esi
    je    .LBB0_2
# BB#3:                                 #   in Loop: Header=BB0_1 Depth=1
    movb    (%rdi), %al
    incq    %rdi
    decl    %esi
    addb    $-97, %al
    movzbl    %al, %ecx
    movb    $1, %al
    cmpl    $3, %ecx
    jae    .LBB0_1
# BB#4:                                 # %return_true
                                        # kill: AL<def> AL<kill> EAX<kill>
    retq
.LBB0_2:
    xorl    %eax, %eax
                                        # kill: AL<def> AL<kill> EAX<kill>
    retq
.Ltmp0:
    .size    F, .Ltmp0-F


    .section    ".note.GNU-stack","",@progbits
$</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>