CodeGenPrep: sink extends of illegal types into use block.
authorTim Northover <tnorthover@apple.com>
Fri, 7 Mar 2014 11:04:30 +0000 (11:04 +0000)
committerTim Northover <tnorthover@apple.com>
Fri, 7 Mar 2014 11:04:30 +0000 (11:04 +0000)
commitfa9e4b52f4f73c10a060d725d181e48055ce5f45
tree29b1414ab35ed9eaf62403b9fddcc3d2a5dbb760
parent69d2b2aa5a04a6a4e296517c9b9c5160a75b3b3b
CodeGenPrep: sink extends of illegal types into use block.

This helps the instruction selector to lower an i64 * i64 -> i128
multiplication into a single instruction on targets which support it.

Patch by Manuel Jacob.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203230 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CodeGenPrepare.cpp
lib/Target/X86/README.txt
test/CodeGen/X86/mul128_sext_loop.ll [new file with mode: 0644]
test/Transforms/CodeGenPrepare/X86/extend-sink-hoist.ll [new file with mode: 0644]