[ConstantRange] Handle wrapping range in binaryNot()
authorNikita Popov <nikita.ppv@gmail.com>
Sat, 20 Feb 2021 20:42:26 +0000 (21:42 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Sat, 20 Feb 2021 20:45:59 +0000 (21:45 +0100)
commitb6088f7465a9a6691d5d237e9c0eb002734da3bf
treef86732ac532c14411396ee4f62e63f2dff883d3a
parent1611e5473c5e30e0eea9ec5bd187ed455bdd6109
[ConstantRange] Handle wrapping range in binaryNot()

We don't need any special handling for wrapping ranges (or empty
ranges for that matter). The sub() call will already compute a
correct and precise range.

We only need to adjust the test expectation: We're now computing
an optimal result, rather than an unsigned envelope.
llvm/lib/IR/ConstantRange.cpp
llvm/unittests/IR/ConstantRangeTest.cpp