[all-commits] [llvm/llvm-project] 644e74: [ValueTracking] Let getGuaranteedNonFullPoisonOp c...

Juneyoung Lee via All-commits all-commits at lists.llvm.org
Sat Feb 29 14:45:50 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 644e74768172500e3730811d0fb3e7fba9f1380d
      https://github.com/llvm/llvm-project/commit/644e74768172500e3730811d0fb3e7fba9f1380d
  Author: Juneyoung Lee <aqjune at gmail.com>
  Date:   2020-03-01 (Sun, 01 Mar 2020)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [ValueTracking] Let getGuaranteedNonFullPoisonOp consider assume, remove mentioning about br

Summary:
This patch helps getGuaranteedNonFullPoisonOp handle llvm.assume call.
Also, a comment about the semantics of branch is removed to prevent confusion.
As llvm.assume does, branching on poison directly raises UB (as LangRef says), and this allows transformations such as introduction of llvm.assume on branch condition at each successor, or freely replacing values after conditional branch (such as at loop exit).
Handling br is not addressed in this patch. It makes SCEV more accurate, causing existing LoopVectorize/IndVar/etc tests to fail.

Reviewers: spatel, lebedev.ri, nlopes

Reviewed By: nlopes

Subscribers: hiraditya, javed.absar, llvm-commits

Tags: #llvm

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




More information about the All-commits mailing list