This is an archive of the discontinued LLVM Phabricator instance.

Few bug fixes in HexagonVectorCombine
ClosedPublic

Authored by quic_aankit on Sep 7 2021, 5:01 PM.

Details

Summary
Use getTypeAllocSize to compute difference between objects

The code was using getTypeStoreSize to calculate the difference
between consecutive objects. The calculation was incorrect due
to padding that is added between consecutive objects. The
getTypeAllocSize includes the padding amount. For example,
if the type is [19 x i8], the difference between consecutive
objects is 32 bytes, not 19 bytes.

A second case for getTypeAllocSize is needed when computing
the pointer values for the vector accesses. The calculation needs
to account for the padding as well.

Patch authored by: Brendon Cahoon <bcahoon@quicinc.com>

Diff Detail

Event Timeline

quic_aankit created this revision.Sep 7 2021, 5:01 PM
quic_aankit requested review of this revision.Sep 7 2021, 5:01 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 7 2021, 5:01 PM
This comment was removed by quic_aankit.
quic_aankit edited the summary of this revision. (Show Details)
kparzysz accepted this revision.Sep 13 2021, 12:50 PM
This revision is now accepted and ready to land.Sep 13 2021, 12:50 PM