summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.h
diff options
context:
space:
mode:
authorZi Xuan Wu <wuzish@cn.ibm.com>2019-03-29 03:08:39 +0000
committerZi Xuan Wu <wuzish@cn.ibm.com>2019-03-29 03:08:39 +0000
commit1445b77e8c6da8e43ba12f86b010852b97aea4fb (patch)
tree01f3f19b65c3acce66a70cf93bfed7d5bda3f7ed /lldb/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.h
parent2a3f42c90d4ba2860e039e4de92a75c75cfdc351 (diff)
downloadbcm5719-llvm-1445b77e8c6da8e43ba12f86b010852b97aea4fb.tar.gz
bcm5719-llvm-1445b77e8c6da8e43ba12f86b010852b97aea4fb.zip
[PowerPC] Strength reduction of multiply by a constant by shift and add/sub in place
A shift and add/sub sequence combination is faster in place of a multiply by constant. Because the cycle or latency of multiply is not huge, we only consider such following worthy patterns. ``` (mul x, 2^N + 1) => (add (shl x, N), x) (mul x, -(2^N + 1)) => -(add (shl x, N), x) (mul x, 2^N - 1) => (sub (shl x, N), x) (mul x, -(2^N - 1)) => (sub x, (shl x, N)) ``` And the cycles or latency is subtarget-dependent so that we need consider the subtarget to determine to do or not do such transformation. Also data type is considered for different cycles or latency to do multiply. Differential Revision: https://reviews.llvm.org/D58950 llvm-svn: 357233
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud