LLVM 20.0.0git
|
A common definition of LaneBitmask for use in TableGen and CodeGen. More...
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Printable.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Classes | |
struct | llvm::LaneBitmask |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Functions | |
Printable | llvm::PrintLaneMask (LaneBitmask LaneMask) |
Create Printable object to print LaneBitmasks on a raw_ostream. | |
A common definition of LaneBitmask for use in TableGen and CodeGen.
A lane mask is a bitmask representing the covering of a register with sub-registers.
This is typically used to track liveness at sub-register granularity. Lane masks for sub-register indices are similar to register units for physical registers. The individual bits in a lane mask can't be assigned any specific meaning. They can be used to check if two sub-register indices overlap.
Iff the target has a register such that:
getSubReg(Reg, A) overlaps getSubReg(Reg, B)
then:
(getSubRegIndexLaneMask(A) & getSubRegIndexLaneMask(B)) != 0
Definition in file LaneBitmask.h.