DistributeGeneric: Wrong secretness analysis on multiple loop carried variable #1607
Labels
analysis
Issues related to analysis passes
bug
Something isn't working
dialect: secret
Issues related to the secret dialect
Followup of #1606
For the input
After applying
--secret-distribute-generic
, in the intermediate state, it will become a valid IR likeThen, canonicalization pattern (CollapseSecretlessGeneric) will think the tensor_ext.rotate's secret.generic is a secretless generic, and it will be Collapsed into
which is clearly incorrect.
If we replace
tensor_ext.rotate
with other sentences like%3 = arith.addf %arg3, %arg3 {mgmt.mgmt = #mgmt.mgmt<level = 1>} : tensor<1x1024xf32>
, the same error happens. Note that%arg3
is the second loop carried variable.If we replace that sentence into
%3 = arith.addf %arg2, %arg2 {mgmt.mgmt = #mgmt.mgmt<level = 1>} : tensor<1x1024xf32>
, which is the first loop carried variable, then secret analysis is happy.The text was updated successfully, but these errors were encountered: