AArch64: Implement conditional compare sequence matching.
authorMatthias Braun <matze@braunis.de>
Thu, 16 Jul 2015 20:02:37 +0000 (20:02 +0000)
committerMatthias Braun <matze@braunis.de>
Thu, 16 Jul 2015 20:02:37 +0000 (20:02 +0000)
commitaf7d7709d697ac7d0dbb726dd57466264ef89dad
tree66c0f5963259bc06beb1b3272822951730527bbd
parentb887da1db30b59f1a12cb6fa1400baa9255af92a
AArch64: Implement conditional compare sequence matching.

This is a new iteration of the reverted r238793 /
http://reviews.llvm.org/D8232 which wrongly assumed that any and/or
trees can be represented by conditional compare sequences, however there
are some restrictions to that. This version fixes this and adds comments
that explain exactly what types of and/or trees can actually be
implemented as conditional compare sequences.

Related to http://llvm.org/PR20927, rdar://18326194

Differential Revision: http://reviews.llvm.org/D10579

llvm-svn: 242436
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/lib/Target/AArch64/AArch64InstrFormats.td
llvm/lib/Target/AArch64/AArch64InstrInfo.td
llvm/test/CodeGen/AArch64/arm64-ccmp.ll