mergeCastle: merge common repeats from the castles

This commit is contained in:
Alex Coyte 2017-08-02 13:07:24 +10:00 committed by Matthew Barr
parent f8544505ce
commit 1f3cfdccef
2 changed files with 4 additions and 2 deletions

View File

@ -772,7 +772,7 @@ bool mergeCastle(CastleProto &c1, const CastleProto &c2,
const u32 top = m.first;
const PureRepeat &pr = m.second;
DEBUG_PRINTF("top %u\n", top);
u32 new_top = c1.add(pr);
u32 new_top = c1.merge(pr);
top_map[top] = new_top;
DEBUG_PRINTF("adding repeat: map %u->%u\n", top, new_top);
}

View File

@ -128,7 +128,9 @@ buildCastle(const CastleProto &proto,
const CompileContext &cc, const ReportManager &rm);
/**
* \brief Merge two CastleProto prototypes together, if possible.
* \brief Merge two CastleProto prototypes together, if possible. If a
* particular repeat from c2 is already in c1, then it will be reused rather
* than adding a duplicate repeat.
*
* Returns true if merge of all repeats in c2 into c1 succeeds, and fills
* mapping with the repeat indices.