LLVM  16.0.0git
Classes | Namespaces | Functions
LaneBitmask.h File Reference
#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"
Include dependency graph for LaneBitmask.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  llvm::LaneBitmask


 This is an optimization pass for GlobalISel generic memory operations.


Printable llvm::PrintLaneMask (LaneBitmask LaneMask)
 Create Printable object to print LaneBitmasks on a raw_ostream. More...

Detailed Description

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)


(getSubRegIndexLaneMask(A) & getSubRegIndexLaneMask(B)) != 0

Definition in file LaneBitmask.h.