LLVM 19.0.0git
Classes | Namespaces | Functions
LaneBitmask.h File Reference

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.
 

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)

then:

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

Definition in file LaneBitmask.h.