aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objcopy/llvm-objcopy.cpp
diff options
context:
space:
mode:
authorQingShan Zhang <qshanz@cn.ibm.com>2018-09-07 07:56:05 +0000
committerQingShan Zhang <qshanz@cn.ibm.com>2018-09-07 07:56:05 +0000
commitabbb894ff58cff160f81954d794d009c3cb92eb9 (patch)
tree54b3d22f3eaaabc253c5a786e0a828cec9c9011f /llvm/tools/llvm-objcopy/llvm-objcopy.cpp
parent9e6845d8e12e4dba18e62a04a7980860eb3f46d2 (diff)
downloadllvm-abbb894ff58cff160f81954d794d009c3cb92eb9.zip
llvm-abbb894ff58cff160f81954d794d009c3cb92eb9.tar.gz
llvm-abbb894ff58cff160f81954d794d009c3cb92eb9.tar.bz2
[PowerPC] Combine ADD to ADDZE
On the ppc64le platform, if ir has the following form, define i64 @addze1(i64 %x, i64 %z) local_unnamed_addr #0 { entry: %cmp = icmp ne i64 %z, CONSTANT (-32767 <= CONSTANT <= 32768) %conv1 = zext i1 %cmp to i64 %add = add nsw i64 %conv1, %x ret i64 %add } we can optimize it to the form below. when C == 0 --> addze X, (addic Z, -1)) / add X, (zext(setne Z, C))-- \ when -32768 <= -C <= 32767 && C != 0 --> addze X, (addic (addi Z, -C), -1) Patch By: HLJ2009 (Li Jia He) Differential Revision: https://reviews.llvm.org/D51403 Reviewed By: Nemanjai llvm-svn: 341634
Diffstat (limited to 'llvm/tools/llvm-objcopy/llvm-objcopy.cpp')
0 files changed, 0 insertions, 0 deletions