This is an archive of the discontinued LLVM Phabricator instance.

Vector GEP - a fix in InstCombine
ClosedPublic

Authored by delena on Nov 8 2015, 5:14 AM.

Details

Summary

The current implementation of GEP visitor in InstCombine fails with assertion on Vector GEP with mix of scalar and vector types, like this:

getelementptr double, double* %a, <8 x i32> %i
(It fails to create a "sext" from <8 x i32> to <8 x i64>)

I fixed it and added some tests.

Diff Detail

Repository
rL LLVM

Event Timeline

delena updated this revision to Diff 39650.Nov 8 2015, 5:14 AM
delena retitled this revision from to Vector GEP - a fix in InstCombine.
delena updated this object.
delena added a reviewer: joker-eph-DISABLED.
delena set the repository for this revision to rL LLVM.
delena added a subscriber: llvm-commits.

The logic seems OK to me, but I'd rather have David looking at it. Thks.

David, could you, please, take a look?

Thanks.

majnemer accepted this revision.Nov 12 2015, 9:40 AM
majnemer edited edge metadata.

LGTM

This revision is now accepted and ready to land.Nov 12 2015, 9:40 AM
This revision was automatically updated to reflect the committed changes.