Change assert to diagnostic. Message still needs work, but it's better than

an assert, at least.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121166 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Grosbach 2010-12-07 19:35:36 +00:00
parent bd3af09cef
commit 76612b549f

View File

@ -20,6 +20,7 @@
#include "FastISelEmitter.h" #include "FastISelEmitter.h"
#include "Record.h" #include "Record.h"
#include "llvm/Support/Debug.h" #include "llvm/Support/Debug.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/VectorExtras.h" #include "llvm/ADT/VectorExtras.h"
using namespace llvm; using namespace llvm;
@ -380,9 +381,14 @@ void FastISelMap::CollectPatterns(CodeGenDAGPatterns &CGP) {
SubRegNo, SubRegNo,
PhysRegInputs PhysRegInputs
}; };
assert(!SimplePatterns[Operands][OpcodeName][VT][RetVT] // FIXME: Source location information for the diagnostic.
.count(PredicateCheck) && if (SimplePatterns[Operands][OpcodeName][VT][RetVT]
"Duplicate pattern!"); .count(PredicateCheck)) {
SmallString<128> PatText;
raw_svector_ostream OS(PatText);
Pattern.SrcPattern->print(OS);
throw "Duplicate record: " + OS.str().str();
}
SimplePatterns[Operands][OpcodeName][VT][RetVT][PredicateCheck] = Memo; SimplePatterns[Operands][OpcodeName][VT][RetVT][PredicateCheck] = Memo;
} }
} }