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)
commit66b12088cba33f19fcc7266f2dedf633cc723e92
tree614aa50d8d5ed887610f006732e4236818497442
parent104dab3e04decd662a9016d6dba18972bcb80b73
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242436 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64ISelLowering.cpp
lib/Target/AArch64/AArch64ISelLowering.h
lib/Target/AArch64/AArch64InstrFormats.td
lib/Target/AArch64/AArch64InstrInfo.td
test/CodeGen/AArch64/arm64-ccmp.ll