if (info->io.genUserClip > 0) {
info->io.clipDistanceMask = (1 << info->io.genUserClip) - 1;
- for (unsigned int n = 0; n < ((info->io.genUserClip + 3) / 4); ++n) {
+ const unsigned int nOut = (info->io.genUserClip + 3) / 4;
+
+ for (unsigned int n = 0; n < nOut; ++n) {
unsigned int i = info->numOutputs++;
info->out[i].id = i;
info->out[i].sn = TGSI_SEMANTIC_CLIPDIST;
bool run(const std::list<ValuePair>&);
- Symbol *assignSlot(const Interval&, unsigned int size);
+ Symbol *assignSlot(const Interval&, const unsigned int size);
inline int32_t getStackSize() const { return stackSize; }
private:
}
Symbol *
-SpillCodeInserter::assignSlot(const Interval &livei, unsigned int size)
+SpillCodeInserter::assignSlot(const Interval &livei, const unsigned int size)
{
SpillSlot slot;
int32_t offsetBase = stackSize;
slot.sym = NULL;
for (offset = offsetBase; offset < stackSize; offset += size) {
+ const int32_t entryEnd = offset + size;
while (it != slots.end() && it->offset < offset)
++it;
if (it == slots.end()) // no slots left
break;
std::list<SpillSlot>::iterator bgn = it;
- while (it != slots.end() && it->offset < (offset + size)) {
+ while (it != slots.end() && it->offset < entryEnd) {
it->occup.print();
if (it->occup.overlaps(livei))
break;
++it;
}
- if (it == slots.end() || it->offset >= (offset + size)) {
+ if (it == slots.end() || it->offset >= entryEnd) {
// fits
- for (; bgn != slots.end() && bgn->offset < (offset + size); ++bgn) {
+ for (; bgn != slots.end() && bgn->offset < entryEnd; ++bgn) {
bgn->occup.insert(livei);
if (bgn->size() == size)
slot.sym = bgn->sym;
{
public:
CodeEmitter(const Target *);
+ virtual ~CodeEmitter();
// returns whether the instruction was encodable and written
virtual bool emitInstruction(Instruction *) = 0;
{
public:
Target(bool j, bool s) : joinAnterior(j), hasSWSched(s) { }
+ virtual ~Target();
static Target *create(uint32_t chipset);
static void destroy(Target *);