[all-commits] [llvm/llvm-project] fa496c: [Intrinsic] Give "is.constant" the "convergent" at...

Bill Wendling via All-commits all-commits at lists.llvm.org
Mon Mar 30 11:47:28 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: fa496ce3c6774097080c8a9cb808da56f383b938
      https://github.com/llvm/llvm-project/commit/fa496ce3c6774097080c8a9cb808da56f383b938
  Author: Bill Wendling <isanbard at gmail.com>
  Date:   2020-03-30 (Mon, 30 Mar 2020)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    A llvm/test/Transforms/JumpThreading/is_constant.ll

  Log Message:
  -----------
  [Intrinsic] Give "is.constant" the "convergent" attribute

Summary:
Code frequently relies upon the results of "is.constant" intrinsics to
DCE invalid code paths. We don't want the intrinsic to be made control-
dependent on any additional values. For instance, we can't split a PHI
into a "constant" and "non-constant" part via jump threading in order
to "optimize" the constant part, because the "is.constant" intrinsic is
meant to return "false".

Reviewers: wmi, kazu, MaskRay

Reviewed By: kazu

Subscribers: jdoerfert, efriedma, joerg, lebedev.ri, nikic, xbolva00, hiraditya, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list