tree a5955aebe3472ad11b665dcd23ba51edd06f4a63
parent 4b11e1da59b1303d497ebf2f0c49c4d4bb422188
author Pooja Hemashekar <hemashekar@roofline.ai> 1784227880 +0200
committer GitHub <noreply@github.com> 1784227880 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJqWSgoCRC1aQ7uu5UhlAAAkegQAKvG7gzoRWKHkVb/rF6CXmAr
 3uF+cO5gt2gjWq+k8ndWLDHajvxlUrURsYwjx6ikWjA4LS2ozkEMiJuzIU2945MJ
 ZUM6DAwjq8DNAr+wk9cCCiGGPG2Mv+xi0iNW7XBq9K8/nQ9yzFgmzVKUDJQ3cSbY
 wZtUVIiGbcLBqmX+eeyIsgglJCCpB+8z1rxvJTQByFTKQC1xZHKLaqr0oc6/B6M5
 DoCUvO8hQc+b/0RZWwKOAKQIDKHI/ZnfCDzvR7rISihJb6jZir0Z8mNPIyRfoId8
 zGnEV2nf5+Z5LOZSQw9gcWHcHhO3ZljkPZ33NBwqJlom3J1H4T+thWzk5Ecd514c
 NNMK/1IuBnwNVvfXnIczKZgDQ+ox2oVN77uqzG3Ghx/+hyw2fM/nbL+X8qEmR77K
 MbrKsS7jz8fJl1XJLuJHj93aPhbvdwAz1SmbEFH6XeP3IRwGnrYYyK2jD1S7/+lY
 8WAAOa+6UnY7x5LVcwMsTRQI6nhkMWhLdKjGaNFPEZtR6L7x+vLM1tANHsAZvy/N
 1WoHvSAV9pHeo84vH5/TkZ/QJklUEvzJz/8OaIyJOWXNtCPAzUjyadRSOibkxT8/
 YGCK37FEeeO6uzp/NQKvRSOipjX7Y+oCpWhdetDpElhuFAYqRaEwjtmgJvZcZsoE
 nGAJYD6NtETOn+l4+f5T
 =adxt
 -----END PGP SIGNATURE-----
 

[DispatchCreation] Register enum literals for parsing data-tiling hint op types (#24711)

The CLI option that lists op families eligible for data-tiling
annotation takes `EncodingOpType` enum values, but no `cl::values` were
registered for it. Hence, passing a keyword such as `convolution` on the
command line to
`--iree-dispatch-creation-experimental-set-data-tiling-ops` failed to
parse. Register the literals (`matmul`, `scaled_matmul`, `convolution`)
so the option is actually usable from `iree-compile`.

Signed-off-by: Pooja Hemashekar <hemashekar@roofline.ai>