This is an archive of the discontinued LLVM Phabricator instance.

[libc] Make the opcode parameter a compile time constant
ClosedPublic

Authored by jhuber6 on May 8 2023, 6:39 AM.

Details

Summary

Currently the opcode is only valid if it is the same between all of the
ports. This is possible to violate if the opcode is places into a memory
location and then read in a non-uniform manner by the warp / wavefront.
Moving this to a compile time constant makes it impossible to break this
invariant.

Diff Detail

Event Timeline

jhuber6 created this revision.May 8 2023, 6:39 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptMay 8 2023, 6:39 AM
jhuber6 requested review of this revision.May 8 2023, 6:39 AM
JonChesterfield accepted this revision.May 8 2023, 7:27 AM
JonChesterfield edited the summary of this revision. (Show Details)

This opcode thing should probably be an enum class

This revision is now accepted and ready to land.May 8 2023, 7:27 AM
This revision was automatically updated to reflect the committed changes.