Fix change detection over unpacked arrays.

This commit is contained in:
Geza Lore
2022-07-18 12:25:22 +01:00
parent 5a1f1796d7
commit c28bf9ce24
4 changed files with 72 additions and 6 deletions
+5
View File
@@ -325,6 +325,11 @@ class SenExprBuilder final {
return {nullptr, false}; // We already warn for this in V3LinkResolve
case VEdgeType::ET_CHANGED:
case VEdgeType::ET_HYBRID: //
if (VN_IS(senp->dtypep(), UnpackArrayDType)) {
AstCMethodHard* const resultp = new AstCMethodHard{flp, currp(), "neq", prevp()};
resultp->dtypeSetBit();
return {resultp, true};
}
return {new AstNeq(flp, currp(), prevp()), true};
case VEdgeType::ET_BOTHEDGE: //
return {lsb(new AstXor{flp, currp(), prevp()}), false};