The current deduction of AAValueConstantRange is (maybe mistakenly) too conservative.
The following are the revised points:
- unionKnown in IntegerRangeState ... I think we should not take union with a given range for assumed range.
- AAValueConstantRangeFloating::initialize
- Although we handle CallBase case in updateImpl, we give up in initialize in the case.
- Propagate known states for cast instructions.
This looks dangerous as we might end up with a known range that is not subsumed in the assumed range.