)]}'
{
  "commit": "c24e9e3d8f7d4913a69a08ab73685c75124a78ab",
  "tree": "1d7d2e34df58c09004391badcf3ef589b99a0b13",
  "parents": [
    "ed3597e2f7c4a5ae1ad70de81032f2addf78e267"
  ],
  "author": {
    "name": "Ramkumar Ramachandra",
    "email": "ramkumar.ramachandra@codasip.com",
    "time": "Thu Sep 04 15:52:33 2025 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Sep 04 15:52:33 2025 +0100"
  },
  "message": "[HashRecognize] Strip ValueEvolution (#148620)\n\nThe ValueEvolution logic is deeply flawed, and checking that zero-bits\nare shifted can be exploited for miscompiles. In an effort to redo\nHashRecognize with a pattern-matching based approach, extract and fix\nthe core logic of ValueEvolution, and strip it completely, showing that\nnone of the tests rely on the KnownBits computation of ValueEvolution.\n\nCo-authored-by: Piotr Fusik \u003cp.fusik@samsung.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0361dfcd235281549d039a2735198ec154275e06",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/Analysis/HashRecognize.h",
      "new_id": "6dea3d24885ffacf3087642c083b5f71e4124b8d",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/Analysis/HashRecognize.h"
    },
    {
      "type": "modify",
      "old_id": "d68be03d4ba7d886fb716d425472e2334d6c70e0",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/IR/PatternMatch.h",
      "new_id": "2cb78904dd799656660662388801509a8592004f",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/IR/PatternMatch.h"
    },
    {
      "type": "modify",
      "old_id": "92c9e37dbb484f84a4c6dcbe49f40a785f19eee8",
      "old_mode": 33188,
      "old_path": "llvm/lib/Analysis/HashRecognize.cpp",
      "new_id": "5b3448f5df35dfaa355b87fd05e7ad525f268e2a",
      "new_mode": 33188,
      "new_path": "llvm/lib/Analysis/HashRecognize.cpp"
    },
    {
      "type": "modify",
      "old_id": "fe140d01e8818f3826a25fa57e595dcf52c65f9c",
      "old_mode": 33188,
      "old_path": "llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll",
      "new_id": "432a4d72fafb4c4507fdebf4561fab699d5996c7",
      "new_mode": 33188,
      "new_path": "llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll"
    }
  ]
}
