[PATCH] D44076: [PatternMatch] define m_Not using m_Xor and cst_pred_ty
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Mar 4 07:01:46 PST 2018
spatel created this revision.
spatel added reviewers: craig.topper, RKSimon, arsenm.
Herald added subscribers: wdng, mcrosier.
As the tests show, using cst_pred_ty in the definition allows us to match vectors with undef elements.
This appears to do what I was hoping for with maximal reuse of the existing code, but my grasp of C++ templates is too weak to know if I've broken any laws here.
My initial patch just replaced the lines in the existing not_match struct like this:
- if (isAllOnes(O->getOperand(1))
++ if (m_AllOnes().match(O->getOperand(1)))
This is a continuation of to make pattern matchers allow
...and that seems to work too, but this way removes more code (assuming it's ok).
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 4521 bytes
Desc: not available
More information about the llvm-commits