)]}'
{
  "commit": "b9a2c291d840ed2e7a5181416fcc09bf36714f23",
  "tree": "5829b9494fdcb118994ecb2b4ecc36c968af13f5",
  "parents": [
    "204c3f88bb2e2c92b103b0cfbf4e0a4863c12c87"
  ],
  "author": {
    "name": "Yi Liu",
    "email": "yi@quantstamp.com",
    "time": "Tue Feb 17 21:49:44 2026"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Feb 17 21:49:44 2026"
  },
  "message": "Fix Precompute visitArrayGet missing memory ordering check (#8327)\n\n- `visitStructGet` in the precompute pass correctly checks `MemoryOrder`\nbefore allowing precomputation of immutable fields—blocking `SeqCst`\nentirely and blocking shared `AcqRel`—but `visitArrayGet` skipped this\ncheck.\n- This causes `array.atomic.get` with `SeqCst` or `AcqRel` ordering on\nimmutable array elements to be incorrectly constant-folded, removing\nsynchronization semantics.\n- Added the same `MemoryOrder` switch to `visitArrayGet` matching the\nexisting pattern in `visitStructGet`.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "02cf27a26b609dd80ff4aef2644ad6d2afce3f94",
      "old_mode": 33188,
      "old_path": "src/passes/Precompute.cpp",
      "new_id": "274689c016763380b0aa396df74b8f45637d7a6b",
      "new_mode": 33188,
      "new_path": "src/passes/Precompute.cpp"
    },
    {
      "type": "modify",
      "old_id": "1f2d07753b47d6168cc5a1ac16424b836f7443b5",
      "old_mode": 33188,
      "old_path": "test/lit/passes/precompute-gc-atomics.wast",
      "new_id": "37e1fd4ad3a109c12454a26326a0554e57a5c8b1",
      "new_mode": 33188,
      "new_path": "test/lit/passes/precompute-gc-atomics.wast"
    }
  ]
}
