This is an archive of the discontinued LLVM Phabricator instance.

[RFC][AMDGPU] Uniform values being used outside loop marked non-divergent
AbandonedPublic

Authored by nhaehnle on Jun 3 2019, 1:23 AM.

Details

Summary

Introduce a collection of cross-module pass IDs, currently for only a
single pass, to allow a pass to be marked as preserved from a pass in
a different module.

The remainder of the patch fixes an issue in the AMDGPU backend where
values are uniform inside of a loop but the uses of that value outside
the loop can be divergent.

Change-Id: Ic8c9c24be9e317c40001baae2e68a8a8f40055dd

Diff Detail

Event Timeline

nhaehnle created this revision.Jun 3 2019, 1:23 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 3 2019, 1:24 AM

Note, this patch potentially supercedes / extends D60834.

Instead of making LCSSA preserve StackProtector, could you run LCSSA before StackProtector, and make StackProtector preserve LCSSA?

nhaehnle abandoned this revision.Jan 29 2020, 6:08 AM