)]}'
{
  "commit": "4a426079d60a664419dfc98855a798c4103fbbf0",
  "tree": "c2e07a49189bb5436e1bf81f3968bcc3271263db",
  "parents": [
    "548ecde42886149dd4d69366d7c2dc02076a7083"
  ],
  "author": {
    "name": "Thurston Dang",
    "email": "thurston@google.com",
    "time": "Tue Jan 28 14:56:05 2025 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Jan 28 14:56:05 2025 -0800"
  },
  "message": "[msan] Use horizontal add to compute shadow for horizontal sub (#124835)\n\nThis improves the horizontal sub handling (from\r\nhttps://github.com/llvm/llvm-project/pull/124159), by always using\r\nhorizontal add for the shadow, as recommended by Vitaly.\r\n\r\nFixes https://github.com/llvm/llvm-project/issues/124662",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fadebc3ae4266030a6e76fa3398d7f8cb076ed11",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp",
      "new_id": "da16028f6c210828cf8c45aeec43afb76ebad8e7",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp"
    },
    {
      "type": "modify",
      "old_id": "43f51a810d0d2b0c5a777b245581c0f0dbf69d0e",
      "old_mode": 33188,
      "old_path": "llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll",
      "new_id": "26e9c39696f70713a6f11cfe56d0aec975751317",
      "new_mode": 33188,
      "new_path": "llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll"
    },
    {
      "type": "modify",
      "old_id": "c68461dd367ee926298399ae7784cdb2a10a17c6",
      "old_mode": 33188,
      "old_path": "llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll",
      "new_id": "5597a9c96611f0deb34e5f9efbe09f263f6848bc",
      "new_mode": 33188,
      "new_path": "llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll"
    },
    {
      "type": "modify",
      "old_id": "61c90d0fb80d43b3cdd4801ecba2cef0d4522dc2",
      "old_mode": 33188,
      "old_path": "llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll",
      "new_id": "2b6c6ff2e2b9298b55cfa21a08bac399face9156",
      "new_mode": 33188,
      "new_path": "llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll"
    },
    {
      "type": "modify",
      "old_id": "a22ca6dd15da4d5eba3be73b23ab43e51e45d9b4",
      "old_mode": 33188,
      "old_path": "llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll",
      "new_id": "08dd27ffcaaf123352ecc94fc3c5f966c4fa6010",
      "new_mode": 33188,
      "new_path": "llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll"
    },
    {
      "type": "modify",
      "old_id": "442f0c422645af1d491220bbac64357df574e1f8",
      "old_mode": 33188,
      "old_path": "llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll",
      "new_id": "109166975eee13bffd5101d7c971d4b7923112b7",
      "new_mode": 33188,
      "new_path": "llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll"
    },
    {
      "type": "modify",
      "old_id": "f5ef8a9837b70bd582d4fb75b0aef901114451fd",
      "old_mode": 33188,
      "old_path": "llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll",
      "new_id": "15bd1755d479bf830da405a836f9cf2c598e1957",
      "new_mode": 33188,
      "new_path": "llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll"
    }
  ]
}
