Optimize sext/zext insertion algorithm in back-end.
authorJiangning Liu <jiangning.liu@arm.com>
Fri, 19 Sep 2014 05:30:35 +0000 (05:30 +0000)
committerJiangning Liu <jiangning.liu@arm.com>
Fri, 19 Sep 2014 05:30:35 +0000 (05:30 +0000)
commit61519cd69995d24d592468dc628470d1ba3cfa72
tree42cc3af6db6c666d998752f7fe3240780f9125a7
parenta562871c6749db0e6448426882c40bc4e1346e52
Optimize sext/zext insertion algorithm in back-end.

With this optimization, we will not always insert zext for values crossing
basic blocks, but insert sext if the users of a value crossing basic block
has preference of sign predicate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218101 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/FunctionLoweringInfo.h
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
test/CodeGen/AArch64/atomic-ops.ll
test/CodeGen/AArch64/rm_redundant_cmp.ll [new file with mode: 0644]