[PATCH] D51654: Reland r341269: [Constant Hoisting] Hoisting Constant GEP Expressions

Z. Zheng via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 4 13:20:23 PDT 2018


zzheng created this revision.
zzheng added reviewers: efriedma, mgrang, chandlerc.
Herald added a reviewer: javed.absar.

  Reland r341269. Previous commit has no deterministic order between two GEPs
  that share the same base GV and have the same offset but are of different types.
  Now we choose the one with less number of indices as "smaller".
  
  Reverting commit, r341365:
  
    Revert r341269: [Constant Hoisting] Hoisting Constant GEP Expressions
  
    One of the tests is failing 50% of the time when expensive checks are
    enabled. Not sure how deep the problem is so just reverting while the
    author can investigate so that the bots stop repeatedly failing and
    blaming things incorrectly. Will respond with details on the original
    commit.
  
  Original commit, r341269:
  
    [Constant Hoisting] Hoisting Constant GEP Expressions
  
    Leverage existing logic in constant hoisting pass to transform constant GEP
    expressions sharing the same base global variable. Multi-dimensional GEPs are
    rewritten into single-dimensional GEPs.
  
    Differential Revision: https://reviews.llvm.org/D51396


Repository:
  rL LLVM

https://reviews.llvm.org/D51654

Files:
  include/llvm/Transforms/Scalar/ConstantHoisting.h
  lib/Transforms/Scalar/ConstantHoisting.cpp
  test/CodeGen/AArch64/consthoist-gep.ll
  test/Transforms/ConstantHoisting/AArch64/const-hoist-gep.ll
  test/Transforms/ConstantHoisting/ARM/const-hoist-gep.ll
  test/Transforms/ConstantHoisting/ARM/same-offset-multi-types.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51654.163892.patch
Type: text/x-patch
Size: 35310 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180904/52519ec8/attachment.bin>


More information about the llvm-commits mailing list