summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/lang/cpp/scope/main.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2016-08-09 17:39:11 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2016-08-09 17:39:11 +0000
commit76964e31407e28bd2bbf001b87a728ee33728ceb (patch)
treecf9ee2e5f16cf56194b6936a1e00f727f82a054b /lldb/packages/Python/lldbsuite/test/lang/cpp/scope/main.cpp
parent3be88013c6232a65a4a0430e42dbdf0218747aac (diff)
downloadbcm5719-llvm-76964e31407e28bd2bbf001b87a728ee33728ceb.tar.gz
bcm5719-llvm-76964e31407e28bd2bbf001b87a728ee33728ceb.zip
[DAGCombiner] Better support for shifting large value type by constants
As detailed on D22726, much of the shift combining code assume constant values will fit into a uint64_t value and calls ConstantSDNode::getZExtValue where it probably shouldn't (leading to asserts). Using APInt directly avoids this problem but we encounter other assertions if we attempt to compare/operate on 2 APInt of different bitwidths. This patch adds a helper function to ensure that 2 APInt values are zero extended as required so that they can be safely used together. I've only added an initial example use for this to the '(SHIFT (SHIFT x, c1), c2) --> (SHIFT x, (ADD c1, c2))' combines. Further cases can easily be added as required. Differential Revision: https://reviews.llvm.org/D23007 llvm-svn: 278141
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lang/cpp/scope/main.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud