Use CHAR_BIT instead of hard-coding 8 in several places where it

is appropriate. This helps visually differentiate host-oriented
calculations from target-oriented calculations.

llvm-svn: 68227
This commit is contained in:
Dan Gohman 2009-04-01 18:45:54 +00:00
parent 3ba6a84085
commit 770f4158e5
13 changed files with 32 additions and 22 deletions

View File

@ -18,6 +18,7 @@
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/MathExtras.h"
#include <cassert>
#include <climits>
#include <cstring>
#include <string>
@ -81,7 +82,8 @@ class APInt {
/// This enum is used to hold the constants we needed for APInt.
enum {
/// Bits in a word
APINT_BITS_PER_WORD = static_cast<unsigned int>(sizeof(uint64_t)) * 8,
APINT_BITS_PER_WORD = static_cast<unsigned int>(sizeof(uint64_t)) *
CHAR_BIT,
/// Byte size of a word
APINT_WORD_SIZE = static_cast<unsigned int>(sizeof(uint64_t))
};

View File

@ -17,6 +17,7 @@
#include "llvm/Support/MathExtras.h"
#include <algorithm>
#include <cassert>
#include <climits>
#include <cstring>
namespace llvm {
@ -24,7 +25,7 @@ namespace llvm {
class BitVector {
typedef unsigned long BitWord;
enum { BITWORD_SIZE = (unsigned)sizeof(BitWord) * 8 };
enum { BITWORD_SIZE = (unsigned)sizeof(BitWord) * CHAR_BIT };
BitWord *Bits; // Actual bits.
unsigned Size; // Size of bitvector in bits.

View File

@ -16,6 +16,7 @@
#define LLVM_ADT_SPARSEBITVECTOR_H
#include <cassert>
#include <climits>
#include <cstring>
#include "llvm/Support/DataTypes.h"
#include "llvm/ADT/STLExtras.h"
@ -44,7 +45,7 @@ struct SparseBitVectorElement
public:
typedef unsigned long BitWord;
enum {
BITWORD_SIZE = sizeof(BitWord) * 8,
BITWORD_SIZE = sizeof(BitWord) * CHAR_BIT,
BITWORDS_PER_ELEMENT = (ElementSize + BITWORD_SIZE - 1) / BITWORD_SIZE,
BITS_PER_ELEMENT = ElementSize
};

View File

@ -16,6 +16,7 @@
#define BITSTREAM_READER_H
#include "llvm/Bitcode/BitCodes.h"
#include <climits>
#include <vector>
namespace llvm {
@ -114,7 +115,7 @@ public:
/// GetCurrentBitNo - Return the bit # of the bit we are reading.
uint64_t GetCurrentBitNo() const {
return (NextChar-FirstChar)*8 + ((32-BitsInCurWord) & 31);
return (NextChar-FirstChar)*CHAR_BIT + ((32-BitsInCurWord) & 31);
}
/// JumpToBit - Reset the stream to the specified bit number.

View File

@ -25,6 +25,7 @@
#include "llvm/Support/Allocator.h"
#include <iosfwd>
#include <cassert>
#include <climits>
namespace llvm {
class MachineInstr;
@ -115,7 +116,7 @@ namespace llvm {
LiveInterval(unsigned Reg, float Weight, bool IsSS = false)
: reg(Reg), weight(Weight), preference(0) {
if (IsSS)
reg = reg | (1U << (sizeof(unsigned)*8-1));
reg = reg | (1U << (sizeof(unsigned)*CHAR_BIT-1));
}
typedef Ranges::iterator iterator;
@ -159,14 +160,14 @@ namespace llvm {
/// isStackSlot - Return true if this is a stack slot interval.
///
bool isStackSlot() const {
return reg & (1U << (sizeof(unsigned)*8-1));
return reg & (1U << (sizeof(unsigned)*CHAR_BIT-1));
}
/// getStackSlotIndex - Return stack slot index if this is a stack slot
/// interval.
int getStackSlotIndex() const {
assert(isStackSlot() && "Interval is not a stack slot interval!");
return reg & ~(1U << (sizeof(unsigned)*8-1));
return reg & ~(1U << (sizeof(unsigned)*CHAR_BIT-1));
}
bool hasAtLeastOneValue() const { return !valnos.empty(); }

View File

@ -17,6 +17,7 @@
#define LLVM_CODEGEN_MACHINECONSTANTPOOL_H
#include <cassert>
#include <climits>
#include <vector>
namespace llvm {
@ -81,7 +82,7 @@ public:
MachineConstantPoolEntry(MachineConstantPoolValue *V, unsigned A)
: Alignment(A) {
Val.MachineCPVal = V;
Alignment |= 1 << (sizeof(unsigned)*8-1);
Alignment |= 1 << (sizeof(unsigned)*CHAR_BIT-1);
}
bool isMachineConstantPoolEntry() const {
@ -89,7 +90,7 @@ public:
}
int getAlignment() const {
return Alignment & ~(1 << (sizeof(unsigned)*8-1));
return Alignment & ~(1 << (sizeof(unsigned)*CHAR_BIT-1));
}
const Type *getType() const;

View File

@ -32,6 +32,7 @@
#include "llvm/Support/DataTypes.h"
#include "llvm/CodeGen/DebugLoc.h"
#include <cassert>
#include <climits>
namespace llvm {
@ -1864,7 +1865,7 @@ protected:
getSDVTList(VT)), Offset(o), Alignment(0) {
assert((int)Offset >= 0 && "Offset is too large");
Val.MachineCPVal = v;
Offset |= 1 << (sizeof(unsigned)*8-1);
Offset |= 1 << (sizeof(unsigned)*CHAR_BIT-1);
}
ConstantPoolSDNode(bool isTarget, MachineConstantPoolValue *v,
MVT VT, int o, unsigned Align)
@ -1873,7 +1874,7 @@ protected:
getSDVTList(VT)), Offset(o), Alignment(Align) {
assert((int)Offset >= 0 && "Offset is too large");
Val.MachineCPVal = v;
Offset |= 1 << (sizeof(unsigned)*8-1);
Offset |= 1 << (sizeof(unsigned)*CHAR_BIT-1);
}
public:
@ -1892,7 +1893,7 @@ public:
}
int getOffset() const {
return Offset & ~(1 << (sizeof(unsigned)*8-1));
return Offset & ~(1 << (sizeof(unsigned)*CHAR_BIT-1));
}
// Return the alignment of this constant pool object, which is either 0 (for

View File

@ -25,6 +25,7 @@
#include "llvm/Support/Compiler.h"
#include "llvm/ADT/SmallVector.h"
#include <cassert>
#include <climits>
#include <cstdarg>
#include <string>
#include <utility>
@ -1109,7 +1110,7 @@ class bits_storage {
template<class T>
static unsigned Bit(const T &V) {
unsigned BitPos = reinterpret_cast<unsigned>(V);
assert(BitPos < sizeof(unsigned) * 8 &&
assert(BitPos < sizeof(unsigned) * CHAR_BIT &&
"enum exceeds width of bit vector!");
return 1 << BitPos;
}
@ -1150,7 +1151,7 @@ class bits_storage<DataType, bool> {
template<class T>
static unsigned Bit(const T &V) {
unsigned BitPos = reinterpret_cast<unsigned>(V);
assert(BitPos < sizeof(unsigned) * 8 &&
assert(BitPos < sizeof(unsigned) * CHAR_BIT &&
"enum exceeds width of bit vector!");
return 1 << BitPos;
}

View File

@ -1092,10 +1092,10 @@ GenericValue Interpreter::executeBitCastInst(Value *SrcVal, const Type *DstTy,
Dest.PointerVal = Src.PointerVal;
} else if (DstTy->isInteger()) {
if (SrcTy == Type::FloatTy) {
Dest.IntVal.zext(sizeof(Src.FloatVal) * 8);
Dest.IntVal.zext(sizeof(Src.FloatVal) * CHAR_BIT);
Dest.IntVal.floatToBits(Src.FloatVal);
} else if (SrcTy == Type::DoubleTy) {
Dest.IntVal.zext(sizeof(Src.DoubleVal) * 8);
Dest.IntVal.zext(sizeof(Src.DoubleVal) * CHAR_BIT);
Dest.IntVal.doubleToBits(Src.DoubleVal);
} else if (SrcTy->isInteger()) {
Dest.IntVal = Src.IntVal;

View File

@ -18,6 +18,7 @@
#include <map>
#include <vector>
#include <cassert>
#include <climits>
#include <cstdio>
#include <cstdlib>
#include <cstring>
@ -48,7 +49,7 @@ namespace {
/// BlockSize - This is the size in bytes of this memory block,
/// including this header.
uintptr_t BlockSize : (sizeof(intptr_t)*8 - 2);
uintptr_t BlockSize : (sizeof(intptr_t)*CHAR_BIT - 2);
/// getBlockAfter - Return the memory block immediately after this one.

View File

@ -1631,7 +1631,7 @@ void APInt::divide(const APInt LHS, unsigned lhsWords,
// can't use 64-bit operands here because we don't have native results of
// 128-bits. Furthermore, casting the 64-bit values to 32-bit values won't
// work on large-endian machines.
uint64_t mask = ~0ull >> (sizeof(unsigned)*8);
uint64_t mask = ~0ull >> (sizeof(unsigned)*CHAR_BIT);
unsigned n = rhsWords * 2;
unsigned m = (lhsWords * 2) - n;
@ -1661,7 +1661,7 @@ void APInt::divide(const APInt LHS, unsigned lhsWords,
for (unsigned i = 0; i < lhsWords; ++i) {
uint64_t tmp = (LHS.getNumWords() == 1 ? LHS.VAL : LHS.pVal[i]);
U[i * 2] = (unsigned)(tmp & mask);
U[i * 2 + 1] = (unsigned)(tmp >> (sizeof(unsigned)*8));
U[i * 2 + 1] = (unsigned)(tmp >> (sizeof(unsigned)*CHAR_BIT));
}
U[m+n] = 0; // this extra word is for "spill" in the Knuth algorithm.
@ -1670,7 +1670,7 @@ void APInt::divide(const APInt LHS, unsigned lhsWords,
for (unsigned i = 0; i < rhsWords; ++i) {
uint64_t tmp = (RHS.getNumWords() == 1 ? RHS.VAL : RHS.pVal[i]);
V[i * 2] = (unsigned)(tmp & mask);
V[i * 2 + 1] = (unsigned)(tmp >> (sizeof(unsigned)*8));
V[i * 2 + 1] = (unsigned)(tmp >> (sizeof(unsigned)*CHAR_BIT));
}
// initialize the quotient and remainder

View File

@ -2909,7 +2909,7 @@ SPUTargetLowering::computeMaskedBitsForTargetNode(const SDValue Op,
const SelectionDAG &DAG,
unsigned Depth ) const {
#if 0
const uint64_t uint64_sizebits = sizeof(uint64_t) * 8;
const uint64_t uint64_sizebits = sizeof(uint64_t) * CHAR_BIT;
switch (Op.getOpcode()) {
default:

View File

@ -425,7 +425,7 @@ static int AnalyzeBitcode() {
if (Dump) std::cerr << "\n\n";
uint64_t BufferSizeBits = Buffer->getBufferSize()*8;
uint64_t BufferSizeBits = Buffer->getBufferSize()*CHAR_BIT;
// Print a summary of the read file.
std::cerr << "Summary of " << InputFilename << ":\n";
std::cerr << " Total size: ";