[all-commits] [llvm/llvm-project] 5c1d1a: [InstCombine][SVE] Fix visitGetElementPtrInst for ...

huihzhang via All-commits all-commits at lists.llvm.org
Tue Apr 14 12:38:58 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5c1d1a62e3754e5f3aa3f5e5e03d13acd9f973e4
      https://github.com/llvm/llvm-project/commit/5c1d1a62e3754e5f3aa3f5e5e03d13acd9f973e4
  Author: Huihui Zhang <huihuiz at quicinc.com>
  Date:   2020-04-14 (Tue, 14 Apr 2020)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/Transforms/InstCombine/vscale_gep.ll

  Log Message:
  -----------
  [InstCombine][SVE] Fix visitGetElementPtrInst for scalable type.

Summary:
This patch fix the following issues in InstCombiner::visitGetElementPtrInst

    1. Skip for scalable type if transformation requires fixed size number of
    vector element.
    2. Skip for scalable type if transformation relies on compile-time known type
    alloc size.
    3. Use VectorType::getElementCount when scalable property is used to construct
    new VectorType.
    4. Use TypeSize::getKnownMinSize when minimal size of a scalable type is valid to determine GEP 'inbounds'.
    5. Explicitly call TypeSize::getFixedSize to avoid implicit type conversion to uint64_t.

Reviewers: sdesmalen, efriedma, spatel, ctetreau

Reviewed By: efriedma

Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D78081




More information about the All-commits mailing list