From: Jim Grosbach Date: Tue, 17 Jul 2012 18:39:36 +0000 (+0000) Subject: TableGen: Pattern<> references to null_frag are a nop. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d3e31218ef7ccf96b0bc7e06e2ebd279325c97fe;p=oota-llvm.git TableGen: Pattern<> references to null_frag are a nop. A standalone pattern defined in a multiclass expansion should handle null_frag references just like patterns on instructions. Follow-up to r160333. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160384 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/TableGen/CodeGenDAGPatterns.cpp b/utils/TableGen/CodeGenDAGPatterns.cpp index 09c00dd4f7d..34f8a34e7af 100644 --- a/utils/TableGen/CodeGenDAGPatterns.cpp +++ b/utils/TableGen/CodeGenDAGPatterns.cpp @@ -2908,6 +2908,11 @@ void CodeGenDAGPatterns::ParsePatterns() { for (unsigned i = 0, e = Patterns.size(); i != e; ++i) { Record *CurPattern = Patterns[i]; DagInit *Tree = CurPattern->getValueAsDag("PatternToMatch"); + + // If the pattern references the null_frag, there's nothing to do. + if (hasNullFragReference(Tree)) + continue; + TreePattern *Pattern = new TreePattern(CurPattern, Tree, true, *this); // Inline pattern fragments into it.