This is an archive of the discontinued LLVM Phabricator instance.

[IR] Disallow loading and storing unsized types
ClosedPublic

Authored by sanjoy on May 31 2016, 5:39 PM.

Details

Summary

It isn't clear what is the operational meaning of loading or storing an
unsized types, since it cannot be lowered into something meaningful.
Since there does not seem to be any practical need for it either, make
such loads and stores illegal IR.

Diff Detail

Repository
rL LLVM

Event Timeline

sanjoy updated this revision to Diff 59161.May 31 2016, 5:39 PM
sanjoy retitled this revision from to [IR] Disallow loading and storing unsized types.
sanjoy updated this object.
sanjoy added reviewers: majnemer, chandlerc.
sanjoy added a subscriber: llvm-commits.
majnemer edited edge metadata.May 31 2016, 6:07 PM

What about atomicrmw and cmpxchg?

What about atomicrmw and cmpxchg?

It looks like both of them already require integer or pointer types.

chandlerc accepted this revision.May 31 2016, 11:21 PM
chandlerc edited edge metadata.

LGTM too.

This revision is now accepted and ready to land.May 31 2016, 11:21 PM
This revision was automatically updated to reflect the committed changes.