Revert CostTable algorithm, will re-write

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172992 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Renato Golin
2013-01-20 20:57:20 +00:00
parent 01812bebcc
commit 053a211983
3 changed files with 102 additions and 163 deletions

View File

@@ -286,48 +286,3 @@ char NoTTI::ID = 0;
ImmutablePass *llvm::createNoTargetTransformInfoPass() {
return new NoTTI();
}
//======================================= COST TABLES ==
CostTable::CostTable(const CostTableEntry *table,
const size_t size,
unsigned numTypes)
: table(table), size(size), numTypes(numTypes) {
assert(table && "missing cost table");
assert(size > 0 && "empty cost table");
}
unsigned CostTable::_findCost(int ISD, MVT *Types) const {
for (unsigned i = 0; i < size; ++i) {
if (table[i].ISD != ISD)
continue;
bool found = true;
for (unsigned t=0; t<numTypes; t++) {
if (table[i].Types[t] != Types[t]) {
found = false;
break;
}
}
if (found)
return table[i].Cost;
}
return COST_NOT_FOUND;
}
UnaryCostTable::UnaryCostTable(const CostTableEntry *table,
const size_t size)
: CostTable(table, size, 1) { }
unsigned UnaryCostTable::findCost(int ISD, MVT Type) const {
MVT tys[1] = { Type };
return _findCost(ISD, tys);
}
BinaryCostTable::BinaryCostTable(const CostTableEntry *table,
const size_t size)
: CostTable(table, size, 2) { }
unsigned BinaryCostTable::findCost(int ISD, MVT Type, MVT SrcType) const {
MVT tys[2] = { Type, SrcType };
return _findCost(ISD, tys);
}