This is an archive of the discontinued LLVM Phabricator instance.

DAG: Cleanup assertion in EmitFuncArgumentDbgValue
ClosedPublic

Authored by cdevadas on Apr 29 2021, 9:26 PM.

Details

Summary

Removing an assertion introduced with D68945. The
patch was later reverted with 6531a78ac4b5, but failed
to remove this assertion. It causes a problem while
trying to split a 64-bit argument into sub registers.

Diff Detail

Event Timeline

cdevadas created this revision.Apr 29 2021, 9:26 PM
cdevadas requested review of this revision.Apr 29 2021, 9:26 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 29 2021, 9:26 PM
arsenm added inline comments.Apr 30 2021, 4:41 PM
llvm/test/CodeGen/AMDGPU/sret-arg-dbg-value.ll
5 ↗(On Diff #341765)

I'm prefer this not use an sret argument since this IR is broken and the verifier should reject it since the pointer has the wrong address space

arsenm requested changes to this revision.Apr 30 2021, 4:41 PM
This revision now requires changes to proceed.Apr 30 2021, 4:41 PM
cdevadas updated this revision to Diff 342106.Apr 30 2021, 8:02 PM

Test re-written with a pointer argument instead of sret arg.

arsenm added inline comments.May 3 2021, 11:57 AM
llvm/test/CodeGen/AMDGPU/ptr-arg-dbg-value.ll
5

Add a comment explaining what this tests

15

Maybe also add a case where the pointer ends up passed in memory, and another where half is in memory and half in a register

cdevadas updated this revision to Diff 342523.May 3 2021, 1:17 PM

Added a comment in the lit test.
This test is sufficient to prove that the assertion is really broken.

cdevadas updated this revision to Diff 342676.May 4 2021, 2:13 AM

Captured more use cases of pointer argument split between register and memory or argument fully in memory.
Also, put a note for the incomplete/missing Debug value handling for the cases involved with memory.

arsenm accepted this revision.May 4 2021, 8:29 AM
This revision is now accepted and ready to land.May 4 2021, 8:29 AM
This revision was automatically updated to reflect the committed changes.