[all-commits] [llvm/llvm-project] c261a0: [DAG] Add initial SelectionDAG::isGuaranteedNotToB...

Simon Pilgrim via All-commits all-commits at lists.llvm.org
Sat Jul 24 03:38:46 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c261a06b7a98549ab7be858337bb80c9259c2be8
      https://github.com/llvm/llvm-project/commit/c261a06b7a98549ab7be858337bb80c9259c2be8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2021-07-24 (Sat, 24 Jul 2021)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  [DAG] Add initial SelectionDAG::isGuaranteedNotToBeUndefOrPoison framework (PR51129)

I've setup the basic framework for the isGuaranteedNotToBeUndefOrPoison call and updated DAGCombiner::visitFREEZE to use it, further Opcodes can be handled when we have test coverage.

I'm not aware of any vector test freeze coverage so the DemandedElts (and the Depth) args are not being used yet - but they are in place.

SelectionDAG::isGuaranteedNotToBePoison wrappers have also been added.

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




More information about the All-commits mailing list