[all-commits] [llvm/llvm-project] f988f6: [Analysis] Add support for vscale in computeKnownB...

david-arm via All-commits all-commits at lists.llvm.org
Mon Sep 20 07:02:35 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f988f680649ad38806897e7aa75e95e9fda88ffd
      https://github.com/llvm/llvm-project/commit/f988f680649ad38806897e7aa75e95e9fda88ffd
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2021-09-20 (Mon, 20 Sep 2021)

  Changed paths:
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntb.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntd.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cnth.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_cntw.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_len.c
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Transforms/InstCombine/icmp-vscale.ll
    M llvm/test/Transforms/InstSimplify/vscale.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll

  Log Message:
  -----------
  [Analysis] Add support for vscale in computeKnownBitsFromOperator

In ValueTracking.cpp we use a function called
computeKnownBitsFromOperator to determine the known bits of a value.
For the vscale intrinsic if the function contains the vscale_range
attribute we can use the maximum and minimum values of vscale to
determine some known zero and one bits. This should help to improve
code quality by allowing certain optimisations to take place.

Tests added here:

  Transforms/InstCombine/icmp-vscale.ll

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




More information about the All-commits mailing list