mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-27 14:34:58 +00:00
enhance comment output to specify what recorded slot
numbers a ComplexPat will match into. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97696 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6900a39d28
commit
d1aca7c8b4
@ -609,11 +609,15 @@ private:
|
||||
/// the current node.
|
||||
class CheckComplexPatMatcher : public Matcher {
|
||||
const ComplexPattern &Pattern;
|
||||
/// FirstResult - This is the first slot in the RecordedNodes list that the
|
||||
/// result of the match populates.
|
||||
unsigned FirstResult;
|
||||
public:
|
||||
CheckComplexPatMatcher(const ComplexPattern &pattern)
|
||||
: Matcher(CheckComplexPat), Pattern(pattern) {}
|
||||
CheckComplexPatMatcher(const ComplexPattern &pattern, unsigned firstresult)
|
||||
: Matcher(CheckComplexPat), Pattern(pattern), FirstResult(firstresult) {}
|
||||
|
||||
const ComplexPattern &getPattern() const { return Pattern; }
|
||||
unsigned getFirstResult() const { return FirstResult; }
|
||||
|
||||
static inline bool classof(const Matcher *N) {
|
||||
return N->getKind() == CheckComplexPat;
|
||||
|
@ -375,9 +375,12 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx,
|
||||
OS << "OPC_CheckComplexPat, " << getComplexPat(Pattern) << ',';
|
||||
if (!OmitComments) {
|
||||
OS.PadToColumn(CommentIndent) << "// " << Pattern.getSelectFunc();
|
||||
OS << ": " << Pattern.getNumOperands() << " operands";
|
||||
OS << ':';
|
||||
for (unsigned i = 0, e = Pattern.getNumOperands(); i != e; ++i)
|
||||
OS << " #" << cast<CheckComplexPatMatcher>(N)->getFirstResult()+i;
|
||||
|
||||
if (Pattern.hasProperty(SDNPHasChain))
|
||||
OS << " + chain result and input";
|
||||
OS << " + chain result";
|
||||
}
|
||||
OS << '\n';
|
||||
return 2;
|
||||
|
@ -252,7 +252,7 @@ void MatcherGen::EmitLeafMatchCode(const TreePatternNode *N) {
|
||||
|
||||
// Emit a CheckComplexPat operation, which does the match (aborting if it
|
||||
// fails) and pushes the matched operands onto the recorded nodes list.
|
||||
AddMatcher(new CheckComplexPatMatcher(CP));
|
||||
AddMatcher(new CheckComplexPatMatcher(CP, NextRecordedOperandNo));
|
||||
|
||||
// Record the right number of operands.
|
||||
NextRecordedOperandNo += CP.getNumOperands();
|
||||
|
Loading…
x
Reference in New Issue
Block a user