aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
diff options
context:
space:
mode:
authorTobias Grosser <tobias@grosser.es>2017-02-16 18:39:14 +0000
committerTobias Grosser <tobias@grosser.es>2017-02-16 18:39:14 +0000
commit3281f601bb9d279d4569fa958290c945cb0cd62c (patch)
treeabd2008d0fec07549accca876e3dd26d64715a7c /llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
parent78395f23dcd44f2a17a343efb839942f4b54b9ef (diff)
downloadllvm-3281f601bb9d279d4569fa958290c945cb0cd62c.zip
llvm-3281f601bb9d279d4569fa958290c945cb0cd62c.tar.gz
llvm-3281f601bb9d279d4569fa958290c945cb0cd62c.tar.bz2
[ScopInfo] Always derive upper and lower bounds for parameters
Commit r230230 introduced the use of range metadata to derive bounds for parameters, instead of just looking at the type of the parameter. As part of this commit support for wrapping ranges was added, where the lower bound of a parameter is larger than the upper bound: { 255 < p || p < 0 } However, at the same time, for wrapping ranges support for adding bounds given by the size of the containing type has acidentally been dropped. As a result, the range of the parameters was not guaranteed to be bounded any more. This change makes sure we always add the bounds given by the size of the type and then additionally add bounds based on signed wrapping, if available. For a parameter p with a type size of 32 bit, the valid range is then: { -2147483648 <= p <= 2147483647 and (255 < p or p < 0) } llvm-svn: 295349
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp')
0 files changed, 0 insertions, 0 deletions