Go to the source code of this file.
|
| | STATISTIC (ByteArraySizeBits,"Byte array size in bits") |
| |
| | STATISTIC (ByteArraySizeBytes,"Byte array size in bytes") |
| |
| | STATISTIC (NumByteArraysCreated,"Number of byte arrays created") |
| |
| | STATISTIC (NumBitSetCallsLowered,"Number of bitset calls lowered") |
| |
| | STATISTIC (NumBitSetDisjointSets,"Number of disjoint sets of bitsets") |
| |
| | INITIALIZE_PASS_BEGIN (LowerBitSets,"lowerbitsets","Lower bitset metadata", false, false) INITIALIZE_PASS_END(LowerBitSets |
| |
| static Value * | createMaskedBitTest (IRBuilder<> &B, Value *Bits, Value *BitOffset) |
| | Build a test that bit BitOffset mod sizeof(Bits)*8 is set in Bits. More...
|
| |
| #define DEBUG_TYPE "lowerbitsets" |
Build a test that bit BitOffset mod sizeof(Bits)*8 is set in Bits.
This pattern matches to the bt instruction on x86.
Definition at line 293 of file LowerBitSets.cpp.
References llvm::IRBuilder< preserveNames, T, Inserter >::CreateAnd(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateICmpNE(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateShl(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateZExtOrTrunc(), llvm::ConstantInt::get(), and llvm::Value::getType().
| INITIALIZE_PASS_BEGIN |
( |
LowerBitSets |
, |
|
|
"lowerbitsets" |
, |
|
|
"Lower bitset metadata" |
, |
|
|
false |
, |
|
|
false |
|
|
) |
| |
| STATISTIC |
( |
ByteArraySizeBits |
, |
|
|
"Byte array size in bits" |
|
|
) |
| |
| STATISTIC |
( |
ByteArraySizeBytes |
, |
|
|
"Byte array size in bytes" |
|
|
) |
| |
| STATISTIC |
( |
NumByteArraysCreated |
, |
|
|
"Number of byte arrays created" |
|
|
) |
| |
| STATISTIC |
( |
NumBitSetCallsLowered |
, |
|
|
"Number of bitset calls lowered" |
|
|
) |
| |
| STATISTIC |
( |
NumBitSetDisjointSets |
, |
|
|
"Number of disjoint sets of bitsets" |
|
|
) |
| |
| cl::opt<bool> AvoidReuse("lowerbitsets-avoid-reuse", cl::desc("Try to avoid reuse of byte array addresses using aliases"), cl::Hidden, cl::init(true)) |
|
static |