[ValueTracking] readonly (const) is a requirement for converting sqrt to llvm.sqrt; nnan is not

As discussed in D39204, this is effectively a revert of rL265521 which required nnan

to vectorize sqrt libcalls based on the old LangRef definition of llvm.sqrt. Now that

the definition has been updated so the libcall and intrinsic have the same semantics

apart from potentially setting errno, we can remove the nnan requirement.

We have the right check to know that errno is not set:

if (!ICS.onlyReadsMemory())

...ahead of the switch.

This will solve https://bugs.llvm.org/show_bug.cgi?id=27435 assuming that's being

built for a target with -fno-math-errno.

Differential Revision: https://reviews.llvm.org/D39642

llvm-svn: 317519