Migrating from the llvm-commits thread of the same name...
There's a copysign xform in the DAGCombiner that replaces safe FP code
with unsafe code. Attached is a patch to guard this xform.
The issue here (see test case) is the first copysign is removed before
the cvt is performed. If the input to the cvt is unordered, it will
raise an exception. The purpose of the first copysign is to create a
safe value (i.e. 1.0 or -1.0) to feed the cvt.
Also, I'm not the most versed in FileCheck. I'd appreciate any
critiques on the test case I've added.
You talked about "convert" between two "copysign". That's what you put in your test. Looks like "fpext" is handled 3 lines bellow.