Switch to using BitIntegerState for each of the inputs, and invert
their meanings.
This now diverges more from the old AMDGPUAnnotateKernelFeatures, but
this isn't used yet anyway.
| Paths 
 |  Differential  D108158  
AMDGPU: Invert AMDGPUAttributor ClosedPublic Authored by arsenm on Aug 16 2021, 1:24 PM. 
Details 
Diff Detail Event Timelinearsenm added a child revision: D108161: AMDGPU: Use attributor to propagate uniform-work-group-size.Aug 16 2021, 1:32 PM arsenm added a child revision: D108162: AMDGPU: Optimize amdgpu-no-* attributes.Aug 16 2021, 1:36 PM Comment Actions I think it makes sense to reverse the attributes. 
 
 
 arsenm marked 5 inline comments as done.Comment Actions Use pair/mask. Return state changed, which also fixes recursive function handling dfukalov added a child revision: D108285: [NFC][AMDGPU] Cleanup attributor' util functions and table..Aug 25 2021, 3:01 AM Comment Actions All but one comment are nits. That one we should probably clarify but generally this is otherwise good to go. 
 arsenm marked an inline comment as done.Comment Actions Fix handling of existing attributes on declarations This revision is now accepted and ready to land.Aug 26 2021, 8:26 AM Comment Actions 
 
Revision Contents 
 
Diff 368724 llvm/docs/AMDGPUUsage.rst
 
 llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
 llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
 llvm/test/CodeGen/AMDGPU/annotate-existing-abi-attributes.ll
 
 llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
 llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
 llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
 llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
 llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
 llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
 llvm/test/CodeGen/AMDGPU/uniform-work-group-attribute-missing.ll
 llvm/test/CodeGen/AMDGPU/uniform-work-group-multistep.ll
 llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
 llvm/test/CodeGen/AMDGPU/uniform-work-group-prevent-attribute-propagation.ll
 llvm/test/CodeGen/AMDGPU/uniform-work-group-propagate-attribute.ll
 llvm/test/CodeGen/AMDGPU/uniform-work-group-recursion-test.ll
 llvm/test/CodeGen/AMDGPU/uniform-work-group-test.ll
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Btw. this is great. Was missing before and a pain for @kuter .