[PATCH] D150443: [KnownBits] Define and use meet and join operations

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 12 05:46:22 PDT 2023


foad created this revision.
Herald added subscribers: luke, StephenFan, frasercrmck, luismarques, apazos, sameer.abuasal, pengfei, s.egerton, Jim, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, niosHD, sabuasal, simoncook, johnrusso, rbar, asb, fedor.sergeev, hiraditya, arichardson, jyknight.
Herald added a project: All.
foad requested review of this revision.
Herald added subscribers: llvm-commits, pcwang-thead, MaskRay.
Herald added a project: LLVM.

Define meet and join as two complementary ways of combining KnownBits.

The names are taken from lattice theory on the basis that KnownBits
naturally forms a lattice where Bottom is the completely undefined state
(nothing is known) and Top is an over-defined state.

Deprecate commonBits as a synonym for join.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D150443

Files:
  llvm/include/llvm/Support/KnownBits.h
  llvm/lib/Analysis/ValueTracking.cpp
  llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
  llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
  llvm/lib/Support/KnownBits.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/ARM/ARMISelLowering.cpp
  llvm/lib/Target/Lanai/LanaiISelLowering.cpp
  llvm/lib/Target/RISCV/RISCVISelLowering.cpp
  llvm/lib/Target/Sparc/SparcISelLowering.cpp
  llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D150443.521619.patch
Type: text/x-patch
Size: 20548 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230512/1894709a/attachment.bin>


More information about the llvm-commits mailing list