This is an archive of the discontinued LLVM Phabricator instance.

[ARM] FullFP16 LowerReturn Fix
ClosedPublic

Authored by SjoerdMeijer on Jan 31 2018, 9:16 AM.

Details

Summary

Commit r323512 introduced an optimisation in LowerReturn for half-precision
return values. A missing check caused a crash when the return value is "undef"
(i.e. a node that has no operands)

Diff Detail

Repository
rL LLVM

Event Timeline

SjoerdMeijer created this revision.Jan 31 2018, 9:16 AM

Improved the test case a bit.

olista01 added inline comments.Feb 1 2018, 2:19 AM
test/CodeGen/ARM/fp16-instructions.ll
17 ↗(On Diff #132332)

Could this just be "ret float undef"?

I thought it wasn't triggering with just "ret float undef", but it indeed does, so simplified the test case.

olista01 accepted this revision.Feb 1 2018, 5:46 AM

LGTM, thanks.

This revision is now accepted and ready to land.Feb 1 2018, 5:46 AM
This revision was automatically updated to reflect the committed changes.