summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2012-04-11 04:31:33 +0000
committerAndrew Trick <atrick@apple.com>2012-04-11 04:31:33 +0000
commitb1a92d3b35f69ce3cc9ffe8aaa0c8b0c44c9260d (patch)
tree84520753515457ac875da4d0818f0f5406c1a03c
parent2620cd99032314396d2ed02c7722ca54249c6333 (diff)
downloadbcm5719-llvm-b1a92d3b35f69ce3cc9ffe8aaa0c8b0c44c9260d.tar.gz
bcm5719-llvm-b1a92d3b35f69ce3cc9ffe8aaa0c8b0c44c9260d.zip
Tablegen'd regpressure: emit the weighted pressure limit.
llvm-svn: 154477
-rw-r--r--llvm/utils/TableGen/RegisterInfoEmitter.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/RegisterInfoEmitter.cpp b/llvm/utils/TableGen/RegisterInfoEmitter.cpp
index ac89e258431..8085955baf1 100644
--- a/llvm/utils/TableGen/RegisterInfoEmitter.cpp
+++ b/llvm/utils/TableGen/RegisterInfoEmitter.cpp
@@ -152,7 +152,13 @@ EmitRegUnitPressure(raw_ostream &OS, const CodeGenRegBank &RegBank,
<< "getRegPressureSetLimit(unsigned Idx) const {\n"
<< " static const unsigned PressureLimitTable[] = {\n";
for (unsigned i = 0; i < NumSets; ++i ) {
- OS << " " << RegBank.getRegPressureSet(i).Units.size()
+ const RegUnitSet &RegUnits = RegBank.getRegPressureSet(i);
+ unsigned Weight = 0;
+ for (RegUnitSet::iterator
+ I = RegUnits.Units.begin(), E = RegUnits.Units.end(); I != E; ++I) {
+ Weight += RegBank.getRegUnitWeight(*I);
+ }
+ OS << " " << Weight
<< ", \t// " << i << ": " << RegBank.getRegPressureSet(i).Name << "\n";
}
OS << " 0 };\n"
OpenPOWER on IntegriCloud