[PATCH] D115460: Add FMF to hasPoisonGeneratingFlags/dropPoisonGeneratingFlags

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 9 11:48:11 PST 2021


reames created this revision.
reames added reviewers: nikic, lebedev.ri, spatel, craig.topper.
Herald added subscribers: dexonsmith, dmgreen, bollu, hiraditya, mcrosier.
reames requested review of this revision.
Herald added a project: LLVM.

These flags are documented as generating poison values for particular input values.  As such, we should really be consistent about their handling with how we handle nsw/nuw/exact/inbounds.

In terms of the test changes, a couple notes:

- I did a bunch of cleanup in previous change series to reduce the test diff.  Make sure you apply to ToT if applying locally.
- The freeze changes are correct, and desired.
- The shuffle changes look to be over conservative to me, but glancing at the history, it appears that's a complicated area.  I think we should take the potential regression in quality here to have the consistency, and revisit the basic question of where we need to drop flags separately.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D115460

Files:
  llvm/lib/Analysis/ValueTracking.cpp
  llvm/lib/IR/Instruction.cpp
  llvm/lib/IR/Operator.cpp
  llvm/test/Transforms/InstCombine/freeze.ll
  llvm/test/Transforms/InstCombine/shuffle_select-inseltpoison.ll
  llvm/test/Transforms/InstCombine/shuffle_select.ll
  llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
  llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
  llvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D115460.393239.patch
Type: text/x-patch
Size: 16826 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211209/4d06ef76/attachment.bin>


More information about the llvm-commits mailing list