forked from OSchip/llvm-project
[APFloat] Set losesInfo on no-op convert
losesInfo would be left unset when no conversion needs to be done. A caller such as InstCombine's fitsInFPType would then branch on an uninitialized value. Caught using valgrind on an out-of-tree target. Differential Revision: https://reviews.llvm.org/D46645 llvm-svn: 332087
This commit is contained in:
parent
0cbc1b0de4
commit
5ad5c3c7ed
|
@ -4443,8 +4443,10 @@ APFloat::APFloat(const fltSemantics &Semantics, StringRef S)
|
|||
|
||||
APFloat::opStatus APFloat::convert(const fltSemantics &ToSemantics,
|
||||
roundingMode RM, bool *losesInfo) {
|
||||
if (&getSemantics() == &ToSemantics)
|
||||
if (&getSemantics() == &ToSemantics) {
|
||||
*losesInfo = false;
|
||||
return opOK;
|
||||
}
|
||||
if (usesLayout<IEEEFloat>(getSemantics()) &&
|
||||
usesLayout<IEEEFloat>(ToSemantics))
|
||||
return U.IEEE.convert(ToSemantics, RM, losesInfo);
|
||||
|
|
Loading…
Reference in New Issue