MachineCombiner Pass for selecting faster instruction sequence on AArch64
authorGerolf Hoflehner <ghoflehner@apple.com>
Thu, 7 Aug 2014 21:40:58 +0000 (21:40 +0000)
committerGerolf Hoflehner <ghoflehner@apple.com>
Thu, 7 Aug 2014 21:40:58 +0000 (21:40 +0000)
commite4fa341dde3c9521b7f11bd53ecdcbeb3f8fcbda
tree24e3b211fcd72f1aa51b625f73d5887a71b1fac2
parent31dec853c6aef802175651591bd76143de22ab91
MachineCombiner Pass for selecting faster instruction sequence on AArch64

Re-commit of r214832,r21469 with a work-around that
avoids the previous problem with gcc build compilers

The work-around is to use SmallVector instead of ArrayRef
of basic blocks in preservesResourceLen()/MachineCombiner.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215151 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MachineCombiner.cpp
lib/Target/AArch64/AArch64InstrFormats.td
lib/Target/AArch64/AArch64InstrInfo.cpp
lib/Target/AArch64/AArch64InstrInfo.h
lib/Target/AArch64/AArch64MachineCombinerPattern.h [new file with mode: 0644]
lib/Target/AArch64/AArch64TargetMachine.cpp
test/CodeGen/AArch64/madd-lohi.ll [new file with mode: 0644]
test/CodeGen/AArch64/mul-lohi.ll