<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Add acquire/release flags to B3::MemoryValue"
   href="https://bugs.webkit.org/show_bug.cgi?id=162349#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Add acquire/release flags to B3::MemoryValue"
   href="https://bugs.webkit.org/show_bug.cgi?id=162349">bug 162349</a>
              from <span class="vcard"><a class="email" href="mailto:fpizlo&#64;apple.com" title="Filip Pizlo &lt;fpizlo&#64;apple.com&gt;"> <span class="fn">Filip Pizlo</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=162349#c1">comment #1</a>)
<span class="quote">&gt; If load acquire has a range and the range is small then you can even reduce
&gt; it to a consume dependency as you talk about in 162350.</span >

I don't think that the optimizer can do that.  Consider this program, where B3 only sees procedure bar().

foo()
{
    a = load
}

bar()
{
    b = load
    c = load acquire
}

foo()
bar()

In this program, it's not valid to transform bar() into:

bar()
{
    b = load
    c = load depend b
}

because this does not create a dependency to foo()'s a = load.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>