This is an archive of the discontinued LLVM Phabricator instance.

[GlobalISel] Fix incorrect setting of ValNo when splitting
ClosedPublic

Authored by ehjogab on Aug 25 2020, 12:59 AM.

Details

Summary

Before, for each original argument i, ValNo was set to i + PartIdx, but
ValNo is intended to reflect the index of the value before splitting.
Hence, ValNo should always be set to i and not consider the PartIdx.

Diff Detail

Event Timeline

ehjogab created this revision.Aug 25 2020, 12:59 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 25 2020, 12:59 AM
ehjogab requested review of this revision.Aug 25 2020, 12:59 AM

I should mention that this is required for split arguments to work for our target, and it is possible that we're doing something wrong on our end. I don't see it, however, so I decided to submit this for review in hopes that someone either can tell me whether our backend is incorrectly implemented or this is indeed a bug in global-isel.

arsenm accepted this revision.Aug 25 2020, 6:25 AM

LGTM. There's definitely something wrong with the call lowering API where the argument splitting responsibility seems to be randomly split between the generic and target code

This revision is now accepted and ready to land.Aug 25 2020, 6:25 AM
ehjogab updated this revision to Diff 295254.Sep 30 2020, 6:01 AM

Rebase to latest master

arsenm accepted this revision.Sep 30 2020, 6:11 AM
ehjogab updated this revision to Diff 295268.Sep 30 2020, 7:08 AM

Rebased to latest (forgot to pull)

arsenm accepted this revision.Sep 30 2020, 7:09 AM

There's no changes though

This revision was landed with ongoing or failed builds.Sep 30 2020, 7:09 AM
This revision was automatically updated to reflect the committed changes.

I submited this for ehjogab