This is an archive of the discontinued LLVM Phabricator instance.

[flang] Unsplit COMPLEX operations
ClosedPublic

Authored by klausler on Nov 13 2020, 9:49 AM.

Details

Summary

COMPLEX negation, addition, subtraction, conversions of kind, and
equality/inequality were represented as component-wise REAL
operations. It turns out to be easier for lowering if we
do not split and recombine these COMPLEX operations, and it
avoids a potential problem with COMPLEX valued function calls
in these contexts. So add this suite of operations to the
typed expression representation in place of the component-wise
transformations, and support them in folding.

Diff Detail

Event Timeline

klausler created this revision.Nov 13 2020, 9:49 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 13 2020, 9:49 AM
klausler requested review of this revision.Nov 13 2020, 9:49 AM
jeanPerier accepted this revision.Nov 16 2020, 3:33 AM

Looks good to me.

This revision is now accepted and ready to land.Nov 16 2020, 3:33 AM
This revision was automatically updated to reflect the committed changes.