[PATCH] LLVM incorrectly folds xor into select

Oliver Stannard oliver.stannard at arm.com
Tue Nov 11 01:57:26 PST 2014


LLVM replaces the SelectionDAG pattern (xor (set_cc cc x y) 1) with
(set_cc !cc x y), which is only correct when the xor has type i1.
Instead, we should check that the constant operand to the xor is all
ones.

http://reviews.llvm.org/D6210

Files:
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  test/CodeGen/ARM/select_xform.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6210.16030.patch
Type: text/x-patch
Size: 1377 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141111/1d766b5a/attachment.bin>


More information about the llvm-commits mailing list