[all-commits] [llvm/llvm-project] 684b43: [IR] Add NoUndef attribute to Intrinsics.td

Juneyoung Lee via All-commits all-commits at lists.llvm.org
Wed Aug 26 10:55:27 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 684b43c0cfb1092a65c237b39d0662bfe0a2c97a
      https://github.com/llvm/llvm-project/commit/684b43c0cfb1092a65c237b39d0662bfe0a2c97a
  Author: Juneyoung Lee <aqjune at gmail.com>
  Date:   2020-08-27 (Thu, 27 Aug 2020)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/EarlyCSE/invariant.start.ll
    M llvm/utils/TableGen/CodeGenIntrinsics.h
    M llvm/utils/TableGen/CodeGenTarget.cpp
    M llvm/utils/TableGen/IntrinsicEmitter.cpp
    M mlir/test/Target/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [IR] Add NoUndef attribute to Intrinsics.td

This patch adds NoUndef to Intrinsics.td.
The attribute is attached to llvm.assume's operand, because llvm.assume(undef)
is UB.
It is attached to pointer operands of several memory accessing intrinsics
as well.

This change makes ValueTracking::getGuaranteedNonPoisonOps' intrinsic check
unnecessary, so it is removed.

Reviewed By: jdoerfert

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




More information about the All-commits mailing list