[llvm-dev] DAGCombiner folds (xor (and x, y), y) -> (and (not x), y). Can I do the reverse for a target?

Assem Bsoul via llvm-dev llvm-dev at lists.llvm.org
Tue Jun 21 09:49:14 PDT 2016


DAGCombiner currently folds  (xor (and x, y), y) -> (and (not x), y)

I was trying to do the reverse of this transformation, i.e., (and (xor x,
-1), y) -> (xor (and x, y), y), and recognized that this causes an infinite
loop. What's the advantage of doing the above folding? if I want to do the
reverse for a specific target where I can place that and make sure it
doesn't get reversed by the above folding?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160621/bbf99b91/attachment.html>

More information about the llvm-dev mailing list