search for: aa23g

Displaying 3 results from an estimated 3 matches for "aa23g".

Did you mean: a23g
2011 Oct 01
1
[LLVMdev] Tablegen: RegisterInfoEmitter.cpp
...an RHS.Data[2], so a12 < a1b. But in the case for a22 and a1b, we get the opposite, since '2'!='1', and 22 is more digits than 1. So we get a12 < a1b < a22, which is incorrect, because a12==a22. My problem was with these registers: a23g, a2g and a3g. When I renamed a23g to aa23g, it worked. Since '2'=='2', the problem was that a23g<a2g. I think the fix is to first check for two digits, and move the equality comparison to after this. Then a2g < a3g < a23g: /// compare_numeric - Compare strings, handle embedded numbers. int StringRef::compare_numer...
2011 Sep 30
3
[LLVMdev] Tablegen: RegisterInfoEmitter.cpp
...Overlaps []' /local/scratch/ejonpan/llvm/build/lib/Target/Hubble/HubbleGenRegisterInfo.inc:2717: error: 'const unsigned int llvm::<unnamed>::a67g_Overlaps [4]' previously defined here This behaved very oddly, as the error disappeared after changing register names from eg a23g to aa23g. It was the map ordering operator that was the trouble, it seems, as the problem disappeared when I used std::string::compare() instead for the RegisterAliases map. struct LessRecord { bool operator()(const Record *Rec1, const Record *Rec2) const { return StringRef(Rec1->getName()).compa...
2011 Sep 30
0
[LLVMdev] Tablegen: RegisterInfoEmitter.cpp
On Sep 30, 2011, at 8:29 AM, Jonas Paulsson wrote: > The conclusion is that the StringRef::compare_numeric() is not deterministic Thanks for tracking this down. I believe we have a bug in compare_numeric() causing it to be non-transitive sometimes. It is supposed to provide a total ordering of strings. Can you find the bug? /jakob -------------- next part -------------- An HTML attachment