mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-30 06:38:14 +00:00
Fix 80-col and early exit in cost model
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172877 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d32eea9636
commit
065db2347f
@ -289,7 +289,9 @@ ImmutablePass *llvm::createNoTargetTransformInfoPass() {
|
|||||||
|
|
||||||
//======================================= COST TABLES ==
|
//======================================= COST TABLES ==
|
||||||
|
|
||||||
CostTable::CostTable(const CostTableEntry *table, const size_t size, unsigned numTypes)
|
CostTable::CostTable(const CostTableEntry *table,
|
||||||
|
const size_t size,
|
||||||
|
unsigned numTypes)
|
||||||
: table(table), size(size), numTypes(numTypes) {
|
: table(table), size(size), numTypes(numTypes) {
|
||||||
assert(table && "missing cost table");
|
assert(table && "missing cost table");
|
||||||
assert(size > 0 && "empty cost table");
|
assert(size > 0 && "empty cost table");
|
||||||
@ -297,22 +299,23 @@ CostTable::CostTable(const CostTableEntry *table, const size_t size, unsigned nu
|
|||||||
|
|
||||||
unsigned CostTable::_findCost(int ISD, MVT *Types) const {
|
unsigned CostTable::_findCost(int ISD, MVT *Types) const {
|
||||||
for (unsigned i = 0; i < size; ++i) {
|
for (unsigned i = 0; i < size; ++i) {
|
||||||
if (table[i].ISD == ISD) {
|
if (table[i].ISD != ISD)
|
||||||
bool found = true;
|
continue;
|
||||||
for (unsigned t=0; t<numTypes; t++) {
|
bool found = true;
|
||||||
if (table[i].Types[t] != Types[t]) {
|
for (unsigned t=0; t<numTypes; t++) {
|
||||||
found = false;
|
if (table[i].Types[t] != Types[t]) {
|
||||||
break;
|
found = false;
|
||||||
}
|
break;
|
||||||
}
|
}
|
||||||
if (found)
|
|
||||||
return table[i].Cost;
|
|
||||||
}
|
}
|
||||||
|
if (found)
|
||||||
|
return table[i].Cost;
|
||||||
}
|
}
|
||||||
return COST_NOT_FOUND;
|
return COST_NOT_FOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
UnaryCostTable::UnaryCostTable(const CostTableEntry *table, const size_t size)
|
UnaryCostTable::UnaryCostTable(const CostTableEntry *table,
|
||||||
|
const size_t size)
|
||||||
: CostTable(table, size, 1) { }
|
: CostTable(table, size, 1) { }
|
||||||
|
|
||||||
unsigned UnaryCostTable::findCost(int ISD, MVT Type) const {
|
unsigned UnaryCostTable::findCost(int ISD, MVT Type) const {
|
||||||
@ -320,7 +323,8 @@ unsigned UnaryCostTable::findCost(int ISD, MVT Type) const {
|
|||||||
return _findCost(ISD, tys);
|
return _findCost(ISD, tys);
|
||||||
}
|
}
|
||||||
|
|
||||||
BinaryCostTable::BinaryCostTable(const CostTableEntry *table, const size_t size)
|
BinaryCostTable::BinaryCostTable(const CostTableEntry *table,
|
||||||
|
const size_t size)
|
||||||
: CostTable(table, size, 2) { }
|
: CostTable(table, size, 2) { }
|
||||||
|
|
||||||
unsigned BinaryCostTable::findCost(int ISD, MVT Type, MVT SrcType) const {
|
unsigned BinaryCostTable::findCost(int ISD, MVT Type, MVT SrcType) const {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user