[PATCH] D11443: Create constant GEP first to allow more LICM.

Lawrence Hu lawrence at codeaurora.org
Wed Jul 22 18:17:10 PDT 2015


hulx2000 created this revision.
hulx2000 added a subscriber: llvm-commits.
hulx2000 set the repository for this revision to rL LLVM.
Herald added subscribers: srhines, danalbert, tberghammer.

    This patch changes the order of GEPs generated by Split GEPs pass,
    specially when one of the GEPs has constant and the base is loop
    invariant, then we will generate the GEP with constant first when
    beneficial, to expose more cases for LICM.
    
    For no-loop cases, the original way of generating GEPs seems to
    expose more CSE cases, so we don't change the logic for no-loop
    cases, and only limit our change to the specific case we are
    interested in.


Repository:
  rL LLVM

http://reviews.llvm.org/D11443

Files:
  lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
  test/CodeGen/AArch64/aarch64-loop-gep-opt.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11443.30437.patch
Type: text/x-patch
Size: 6992 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150723/96d9d8b8/attachment.bin>


More information about the llvm-commits mailing list