This is an archive of the discontinued LLVM Phabricator instance.

SimplifyLibCalls: Replace copysign calls with intrinsic
AbandonedPublic

Authored by arsenm on Jan 9 2017, 4:21 PM.

Details

Reviewers
majnemer

Diff Detail

Event Timeline

arsenm updated this revision to Diff 83733.Jan 9 2017, 4:21 PM
arsenm retitled this revision from to SimplifyLibCalls: Replace copysign calls with intrinsic.
arsenm updated this object.
arsenm added a subscriber: llvm-commits.
arsenm updated this revision to Diff 83742.Jan 9 2017, 4:42 PM

Make sure source types match

hfinkel added a subscriber: hfinkel.Feb 1 2017, 7:57 PM

I think that most of this looks good, except as noted below...

lib/Transforms/InstCombine/InstCombineCasts.cpp
1423

I think this should be done in DAGCombine. It is not clear to me that this is always beneficial nor does it clearly make a useful canonical form. I think we should canonicalize the other way: it seems simpler.

I think that most of this looks good, except as noted below...

I think that most of this looks good, except as noted below...

I only did this to keep what it was already doing for the libcall. Should I just rip out all of those tests and drop this?

I think that most of this looks good, except as noted below...

I think that most of this looks good, except as noted below...

I only did this to keep what it was already doing for the libcall. Should I just rip out all of those tests and drop this?

DAGCombiner does something similar and more interesting because it can mismatch the source types.

If I drop this all of the interesting tested cases work if I drop that part, except for test19 in float-shrink-compare (added by D6495, which apparently was a reported bug). I could special case this in the fcmp handling

arsenm abandoned this revision.Apr 3 2020, 8:57 AM