<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    As I said in the other thread, I do not support the current name. 
    Here are a few ideas:<br>
    - You're hoisting and sinking loads and stores across branches. 
    Maybe: LSHoistSink<br>
    - This is analogous to LICM, but without loops.  Maybe: BranchICM? 
    <br>
    <br>
    I would argue *strongly* that the current name should not be
    accepted.  It is not descriptive and is actively confusing.  <br>
    <br>
    The rest of my comments will be on the phabricator review.  I wanted
    to continue this in email since that's where it had previously
    started.  <br>
    <br>
    Philip<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 06/10/2014 01:43 PM, Gerolf
      Hoflehner wrote:<br>
    </div>
    <blockquote
cite="mid:differential-rev-PHID-DREV-uuha37g3aunjw7fmhbcy-req@reviews.llvm.org"
      type="cite">
      <pre wrap="">Hi chandlerc,

This pass iteratively hoists two loads to the same address out of a diamond (hammock) and merges them
into a single load in the header. Similar it sinks and merges two stores to the tail block. The algorithm
iterates over the instructions of one side of the diamond and attempts to find a matching load/store on
the other side. It hoists / sinks when it thinks it safe to do so.  I tailored the code as conservative as possible to catch the initial cases we are interested in, which keeps code size and complexity in check. The optimization helps hiding load latencies and triggering if-conversion.

<a class="moz-txt-link-freetext" href="http://reviews.llvm.org/D4096">http://reviews.llvm.org/D4096</a>

Files:
  bindings/ocaml/transforms/scalar/scalar_opts_ocaml.c
  include/llvm-c/Transforms/Scalar.h
  include/llvm/InitializePasses.h
  include/llvm/LinkAllPasses.h
  include/llvm/Transforms/Scalar.h
  lib/LTO/LTOCodeGenerator.cpp
  lib/Transforms/IPO/PassManagerBuilder.cpp
  lib/Transforms/Scalar/CMakeLists.txt
  lib/Transforms/Scalar/IM.cpp
  lib/Transforms/Scalar/Scalar.cpp
  test/Transforms/InstMerge/ld_hoist_st_sink.ll
</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
llvm-commits mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>