This is an archive of the discontinued LLVM Phabricator instance.

[InstCombine] GEPOperator::accumulateConstantOffset does not support scalable vectors
ClosedPublic

Authored by sdesmalen on Mar 16 2020, 10:24 AM.

Details

Summary

Avoid transforming:

%0 = bitcast i8* %base to <vscale x 16 x i8>*
%1 = getelementptr <vscale x 16 x i8>, <vscale x 16 x i8>* %0, i64 1

into:

%0 = getelementptr i8, i8* %base, i64 16
%1 = bitcast i8* %0 to <vscale x 16 x i8>*

Diff Detail

Event Timeline

sdesmalen created this revision.Mar 16 2020, 10:24 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 16 2020, 10:24 AM
Herald added a subscriber: hiraditya. · View Herald Transcript

Should we add a special case for zero indexes?

  • Supported case of index being 0, and added extra test.
This revision is now accepted and ready to land.Mar 16 2020, 12:06 PM
This revision was automatically updated to reflect the committed changes.