search for: lessrecord

Displaying 4 results from an estimated 4 matches for "lessrecord".

2011 Sep 06
3
[LLVMdev] bug in TableGen when generating RegisterInfo?
...peculiar behavior of TableGen when generating [TARGET]GenRegisterInfo.inc. Some register overlaps are generated twice in this file, leading to a compilation error. I think this is because in RegisterInfoEmitter.cpp, RegisterAliases are declared as "std::map<Record*, std::set<Record*>, LessRecord>" and a requirement for std::map is that the comparison function ("LessRecord") should correspond to a strict weak ordering; in this case this points to : "StringRef1.compare_numeric(StringRef2) < 0" which does not behave like strict weak ordering predicate on t...
2011 Sep 07
0
[LLVMdev] bug in TableGen when generating RegisterInfo?
...Some register overlaps are generated twice in > this file, leading to a compilation error. Hi, What do you mean "overlapped register"? > I think this is because in RegisterInfoEmitter.cpp, RegisterAliases are > declared as "std::map<Record*, std::set<Record*>, LessRecord>" > > and a requirement for std::map is that the comparison function > ("LessRecord") should correspond to a strict weak ordering; in this case > this points to : > > "StringRef1.compare_numeric(StringRef2) < 0" > > which does not behave lik...
2019 Apr 01
3
Please expose predicates to MachineVerifier
Could we expose predicates defined in the target InstrInfo.td file to the MachineVerifier? We use BuildMI() to create many instructions after ISEL, but the predicates are not being checked at this point. Thus, I could forget to check the target and build an instruction that is illegal for a specific configuration. In such a case it would be nice if the MachineVerifier could detect this for me.
2011 Sep 30
3
[LLVMdev] Tablegen: RegisterInfoEmitter.cpp
...reviously 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()).compare_numeric(Rec2->getName()) < 0; } }; struct LessRecordRegAliases{ bool operator()(const Record *Rec1, const Record *Rec2) const { return Rec1->getName().compare(Rec2-...