forked from OSchip/llvm-project
Now fix errors in NDEBUG build.
Hope this won't break any hardware next. llvm-svn: 253799
This commit is contained in:
parent
8dd552db29
commit
dd1352499c
|
@ -31,6 +31,7 @@
|
|||
#include <queue>
|
||||
using namespace llvm;
|
||||
|
||||
#ifndef NDEBUG
|
||||
// To enable debugging, run llvm-tblgen with: "-debug-only dfa-emitter".
|
||||
//
|
||||
// dbgsInsnClass - When debugging, print instruction class stages.
|
||||
|
@ -44,6 +45,7 @@ void dbgsStateInfo(const std::set<unsigned> &stateInfo);
|
|||
// dbgsIndent - When debugging, indent by the specified amount.
|
||||
//
|
||||
void dbgsIndent(unsigned indent);
|
||||
#endif
|
||||
|
||||
//
|
||||
// class DFAPacketizerEmitter: class that generates and prints out the DFA
|
||||
|
@ -326,11 +328,13 @@ void State::AddInsnClassStages(std::vector<unsigned> &InsnClass,
|
|||
assert((chkstage < numstages) && "AddInsnClassStages: stage out of range");
|
||||
unsigned thisStage = InsnClass[chkstage];
|
||||
|
||||
DEBUG({
|
||||
dbgsIndent((1 + numstages - chkstage) << 1);
|
||||
DEBUG(dbgs() << "AddInsnClassStages " << chkstage
|
||||
<< " (0x" << utohexstr(thisStage) << ") from ");
|
||||
dbgs() << "AddInsnClassStages " << chkstage << " (0x"
|
||||
<< utohexstr(thisStage) << ") from ";
|
||||
dbgsInsnClass(InsnClass);
|
||||
DEBUG(dbgs() << "\n");
|
||||
dbgs() << "\n";
|
||||
});
|
||||
|
||||
//
|
||||
// Iterate over all possible resources used in thisStage.
|
||||
|
@ -351,13 +355,14 @@ void State::AddInsnClassStages(std::vector<unsigned> &InsnClass,
|
|||
// resource state if that resource was used.
|
||||
//
|
||||
unsigned ResultingResourceState = prevState | resourceMask | combo;
|
||||
DEBUG({
|
||||
dbgsIndent((2 + numstages - chkstage) << 1);
|
||||
DEBUG(dbgs() << "0x" << utohexstr(prevState)
|
||||
<< " | 0x" << utohexstr(resourceMask));
|
||||
if (combo) {
|
||||
DEBUG(dbgs() << " | 0x" << utohexstr(combo));
|
||||
}
|
||||
DEBUG(dbgs() << " = 0x" << utohexstr(ResultingResourceState) << " ");
|
||||
dbgs() << "0x" << utohexstr(prevState)
|
||||
<< " | 0x" << utohexstr(resourceMask);
|
||||
if (combo)
|
||||
dbgs() << " | 0x" << utohexstr(combo);
|
||||
dbgs() << " = 0x" << utohexstr(ResultingResourceState) << " ";
|
||||
});
|
||||
|
||||
//
|
||||
// If this is the final stage for this class
|
||||
|
@ -741,9 +746,11 @@ int DFAPacketizerEmitter::collectOneInsnClass(const std::string &ProcName,
|
|||
if (UnitBits.size() > 0)
|
||||
allInsnClasses.push_back(UnitBits);
|
||||
|
||||
DEBUG(dbgs() << " ");
|
||||
DEBUG({
|
||||
dbgs() << " ";
|
||||
dbgsInsnClass(UnitBits);
|
||||
DEBUG(dbgs() << "\n");
|
||||
dbgs() << "\n";
|
||||
});
|
||||
|
||||
return NStages;
|
||||
}
|
||||
|
@ -867,15 +874,19 @@ void DFAPacketizerEmitter::run(raw_ostream &OS) {
|
|||
//
|
||||
while (!WorkList.empty()) {
|
||||
const State *current = WorkList.pop_back_val();
|
||||
DEBUG(dbgs() << "---------------------\n");
|
||||
DEBUG(dbgs() << "Processing state: " << current->stateNum << " - ");
|
||||
DEBUG({
|
||||
dbgs() << "---------------------\n";
|
||||
dbgs() << "Processing state: " << current->stateNum << " - ";
|
||||
dbgsStateInfo(current->stateInfo);
|
||||
DEBUG(dbgs() << "\n");
|
||||
dbgs() << "\n";
|
||||
});
|
||||
for (unsigned i = 0; i < allInsnClasses.size(); i++) {
|
||||
std::vector<unsigned> InsnClass = allInsnClasses[i];
|
||||
DEBUG(dbgs() << i << " ");
|
||||
DEBUG({
|
||||
dbgs() << i << " ";
|
||||
dbgsInsnClass(InsnClass);
|
||||
DEBUG(dbgs() << "\n");
|
||||
dbgs() << "\n";
|
||||
});
|
||||
|
||||
std::set<unsigned> NewStateResources;
|
||||
//
|
||||
|
@ -891,9 +902,11 @@ void DFAPacketizerEmitter::run(raw_ostream &OS) {
|
|||
continue;
|
||||
}
|
||||
|
||||
DEBUG(dbgs() << "\t");
|
||||
DEBUG({
|
||||
dbgs() << "\t";
|
||||
dbgsStateInfo(NewStateResources);
|
||||
DEBUG(dbgs() << "\n");
|
||||
dbgs() << "\n";
|
||||
});
|
||||
|
||||
//
|
||||
// If we have seen this state before, then do not create a new state.
|
||||
|
@ -901,19 +914,22 @@ void DFAPacketizerEmitter::run(raw_ostream &OS) {
|
|||
auto VI = Visited.find(NewStateResources);
|
||||
if (VI != Visited.end()) {
|
||||
NewState = VI->second;
|
||||
DEBUG(dbgs() << "\tFound existing state: "
|
||||
<< NewState->stateNum << " - ");
|
||||
DEBUG({
|
||||
dbgs() << "\tFound existing state: " << NewState->stateNum
|
||||
<< " - ";
|
||||
dbgsStateInfo(NewState->stateInfo);
|
||||
DEBUG(dbgs() << "\n");
|
||||
dbgs() << "\n";
|
||||
});
|
||||
} else {
|
||||
NewState = &D.newState();
|
||||
NewState->stateInfo = NewStateResources;
|
||||
Visited[NewStateResources] = NewState;
|
||||
WorkList.push_back(NewState);
|
||||
DEBUG(dbgs() << "\tAccepted new state: "
|
||||
<< NewState->stateNum << " - ");
|
||||
DEBUG({
|
||||
dbgs() << "\tAccepted new state: " << NewState->stateNum << " - ";
|
||||
dbgsStateInfo(NewState->stateInfo);
|
||||
DEBUG(dbgs() << "\n");
|
||||
dbgs() << "\n";
|
||||
});
|
||||
}
|
||||
|
||||
current->addTransition(InsnClass, NewState);
|
||||
|
|
Loading…
Reference in New Issue