This is an archive of the discontinued LLVM Phabricator instance.

Remove isNew from getOrCreateAlloca
ClosedPublic

Authored by grosser on Aug 29 2015, 11:29 PM.

Details

Summary

As we already model external (escaping uses) as explicit memory accesses and
the block builder generates scalar stores for all memory accesses, all scalar
values inside a basic block should already be initialized when generating
escape values. Hence, isNew will always be false and the corresponding code
path is never executed. This change passes both 'make check-polly' as well as
LNT.

Johannes, do you remember why you introduced this code path? Did I miss
something? If so, could you provide a test case that would fail with this
patch applied?

Diff Detail

Repository
rL LLVM

Event Timeline

grosser updated this revision to Diff 33521.Aug 29 2015, 11:29 PM
grosser retitled this revision from to Remove isNew from getOrCreateAlloca.
grosser updated this object.
grosser added a reviewer: jdoerfert.
grosser added subscribers: llvm-commits, pollydev.
jdoerfert accepted this revision.Aug 30 2015, 6:53 AM
jdoerfert edited edge metadata.

I think if we model each espacing value as a write in the SCoP this patch is fine.

This revision is now accepted and ready to land.Aug 30 2015, 6:53 AM
This revision was automatically updated to reflect the committed changes.