[PATCH] Fix optimisations of SELECT_CC which assumed result is boolean

Oliver Stannard oliver.stannard at arm.com
Thu Nov 13 07:01:25 PST 2014


Hi jroelofs, arsenm,

Some optimisations in DAGCombiner cause miscompilations for targets that use TargetLowering::UndefinedBooleanContent, because they assume that the results of a SELECT_CC node are boolean values, and can be safely ANDed, ORed and XORed. These optimisations are only valid for targets that use ZeroOrOneBooleanContent or ZeroOrNegativeOneBooleanContent.

This is a follow-up to D6210/r221693.

http://reviews.llvm.org/D6249

Files:
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  test/CodeGen/ARM/select_xform.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6249.16157.patch
Type: text/x-patch
Size: 3786 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141113/540f011a/attachment.bin>


More information about the llvm-commits mailing list