)]}'
{
  "commit": "2c8c2bdf6aa8e5c5ee5acd9bb60445e256a37c79",
  "tree": "241a194c21d6fc9495132aae72981460c0ad1e90",
  "parents": [
    "8f89591748ea5201e8ad249d8bdfd0691ddc8c5d"
  ],
  "author": {
    "name": "Finn Plummer",
    "email": "mail@inbelic.dev",
    "time": "Mon Apr 20 09:18:25 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Apr 20 09:18:25 2026 -0700"
  },
  "message": "[HLSL][DirectX] Emit convergence control tokens when targeting DirectX (#188792)\n\nThis pr allows codegen to generate convergence control tokens. This\nallows for a more accurate description of convergence behaviour to\nprevent (or allow) invalid control flow graph transforms. As noted, the\nuse of convergence control tokens is the ideal norm and this follows\nthat by enabling it for `DirectX`.\n\nThis was done now under the precedent of preventing a convergent exit\ncondition of a loop from being illegally moved across control flow. Test\ncases for this are explicitly added.\n\nPlease see the individual commits for logically similar chunks.\nUnfortunately, it is tricky to stage this in smaller individual commits.\n\nResolves https://github.com/llvm/llvm-project/issues/180621.\n\nhttps://github.com/llvm/llvm-project/pull/188537 is a pre-requisite of\nthis passing HLSL offload suite tests.\n\nAssisted by: Github Copilot",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3a4291719da74fed11113d9736d4bc2cd340a19c",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CGExprAgg.cpp",
      "new_id": "d3dc1014471ecdd0a17de19d7cf82d8b5a6295a9",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CGExprAgg.cpp"
    },
    {
      "type": "modify",
      "old_id": "f510195dbd6cb3690465cddd14d006794a8c5f7e",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CGHLSLBuiltins.cpp",
      "new_id": "d0d8eed26d8c2035915de46bdeb1c57a04b9df18",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CGHLSLBuiltins.cpp"
    },
    {
      "type": "modify",
      "old_id": "1e25172d1889066af8305b84e1598aa3634793b4",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CGHLSLRuntime.cpp",
      "new_id": "99b3a140b48c2660f534029f3ba381e9d6b59757",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CGHLSLRuntime.cpp"
    },
    {
      "type": "modify",
      "old_id": "29b87a0616992207cf81aac5ffc70d9a36bc8fb3",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CodeGenFunction.h",
      "new_id": "d1752b86b6603b711ac683d8b306e362170dc873",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CodeGenFunction.h"
    },
    {
      "type": "modify",
      "old_id": "d62707a3355c97fbf4304a86e4d77e4ea1e32698",
      "old_mode": 33188,
      "old_path": "clang/lib/CodeGen/CodeGenModule.h",
      "new_id": "dc296919aa32f59d08e59d3abfd209635cfd2dda",
      "new_mode": 33188,
      "new_path": "clang/lib/CodeGen/CodeGenModule.h"
    },
    {
      "type": "modify",
      "old_id": "4275a285012b02f14c1a9e9c6f5bb0b47eac65ac",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenDirectX/Builtins/dot2add.c",
      "new_id": "bc5073995522eed49ca390dd0e30ae951bfe06ca",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenDirectX/Builtins/dot2add.c"
    },
    {
      "type": "modify",
      "old_id": "832c4ac9b10f5e162893ac821cdc28eedb2e1247",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl",
      "new_id": "b4235eed318e41c4fe335c831a96b34b0f6386fb",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl"
    },
    {
      "type": "modify",
      "old_id": "9c42da8962c2d338b0a1461dc1e60ade81659bb2",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl",
      "new_id": "40f32c28ad5ed9c1d25c4abcd34ccd5727119af3",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl"
    },
    {
      "type": "modify",
      "old_id": "467fb38673d9544369197c7b420adb83c4e0ac05",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixConstructor.hlsl",
      "new_id": "3d3214901ad672f6ce78b1832c224f6d3c1fc541",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixConstructor.hlsl"
    },
    {
      "type": "modify",
      "old_id": "dd9dd706aae26c2e17f05fd345f55b2d6b2796ac",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl",
      "new_id": "ec8c794dc8677b0b48a456912a99a0d66ae8f3a1",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixElementTypeCast.hlsl"
    },
    {
      "type": "modify",
      "old_id": "587ccfe88a627302b0ba04548c3a988257109c64",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl",
      "new_id": "4ab82faac41784b2190c8d1dd8a881a6dd46b2ba",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixExplicitTruncation.hlsl"
    },
    {
      "type": "modify",
      "old_id": "1a9a953ef8367efcaadacbae8bc66bc6906f5ca9",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl",
      "new_id": "52105b8c615d0e38f3c0bb564e495eb3774c6c55",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixImplicitTruncation.hlsl"
    },
    {
      "type": "modify",
      "old_id": "378bd04bba8596de87c551eea273348ec8af13d9",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl",
      "new_id": "3df51ea6a606a9197a9c734a8cedf0de005bd057",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptConstSwizzle.hlsl"
    },
    {
      "type": "modify",
      "old_id": "36e351523d305f1f15655f268869f1e73172bcaf",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl",
      "new_id": "cf8f2faad813598cbe0044e51b713daa166bfcdb",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptDynamicSwizzle.hlsl"
    },
    {
      "type": "modify",
      "old_id": "735884911fc061f0f49d6b61255b3d33ea3169ce",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl",
      "new_id": "03c20d5f757a3bb34e7441a5d956a75d07073f75",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptGetter.hlsl"
    },
    {
      "type": "modify",
      "old_id": "8595bb932dac85b6fe432740073f38d553f7e390",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl",
      "new_id": "50f4305dc8376d190be73f6e5d921506e0a6be64",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixSingleSubscriptSetter.hlsl"
    },
    {
      "type": "modify",
      "old_id": "b65bcdf425a204cb691bf616e5d2d50b9f1eab3f",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl",
      "new_id": "8ddd575a6293ad5dad1c4a3e9120559201d9c182",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixSplat.hlsl"
    },
    {
      "type": "modify",
      "old_id": "2b3fafef9c496b43c40d74803f4123553fc6f450",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl",
      "new_id": "96859cabddb9681877688e175cbd93d45d704629",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BasicFeatures/MatrixToAndFromVectorConstructors.hlsl"
    },
    {
      "type": "modify",
      "old_id": "e9841ae6c9a90b6415828608542cc42971e1321c",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/BoolMatrix.hlsl",
      "new_id": "f87a054d6cd063358e0d14d6661aebe2c5995b0b",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/BoolMatrix.hlsl"
    },
    {
      "type": "modify",
      "old_id": "5553f8c17c6c85c10a86a4fd4b2ded8ffb9f091a",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl",
      "new_id": "2b039b135e16547f240fa60317da9b6ad129ff1d",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/GlobalConstructorFunction.hlsl"
    },
    {
      "type": "modify",
      "old_id": "0ef4b432019bb839124637bfeb3b27a9dec28339",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl",
      "new_id": "93d44924c97db71714a0f674ab5a0cec10d64dd0",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl"
    },
    {
      "type": "modify",
      "old_id": "7b26dba0d190109e5e49e9affe313631af327a02",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/GlobalConstructors.hlsl",
      "new_id": "cd79c9288987a9ba3662bd35c3bad19dbf90e3e2",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/GlobalConstructors.hlsl"
    },
    {
      "type": "modify",
      "old_id": "9d8c2e65a9598c3dc5670034a29726f08048eb45",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/GlobalDestructors.hlsl",
      "new_id": "4b0fbe8bfaf81d1f434962db67766735e7f3a6a1",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/GlobalDestructors.hlsl"
    },
    {
      "type": "modify",
      "old_id": "5ec6720c673136f5f82388e5626e02927801264d",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/builtins/AddUint64.hlsl",
      "new_id": "ba866f90896c1fd17aa3efa7bca88ead6650df82",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/builtins/AddUint64.hlsl"
    },
    {
      "type": "modify",
      "old_id": "484c3ba79cf8b98c630c3ce2a00e19193af63b17",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl",
      "new_id": "008758025e582f06397ea7d0691f32316b0e2b6a",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl"
    },
    {
      "type": "modify",
      "old_id": "45cc907c0ada9140c4c4e700c56527fef37fea8b",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/builtins/abs.hlsl",
      "new_id": "1eb8ff4c8b03ec6465ff0009e345dd4b4d5d0c9d",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/builtins/abs.hlsl"
    },
    {
      "type": "modify",
      "old_id": "d87d56edd9443af435a346e3273363fb2370e701",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/builtins/ceil.hlsl",
      "new_id": "bda9e35fbc353d619957e9907aaabb996c5aa6bd",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/builtins/ceil.hlsl"
    },
    {
      "type": "modify",
      "old_id": "e7be39a6102d720b5d3d79c945877264d5fcdb59",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/builtins/f16tof32-builtin.hlsl",
      "new_id": "e98a8f852b131d8aa95c56a90e35d42011bcc4b3",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/builtins/f16tof32-builtin.hlsl"
    },
    {
      "type": "modify",
      "old_id": "d4ab8631823d3a2c2a6fba793de7946c41172076",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/builtins/f16tof32.hlsl",
      "new_id": "0e1d3ba5453766cb9170d56b27ba62cec19f7fbc",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/builtins/f16tof32.hlsl"
    },
    {
      "type": "modify",
      "old_id": "da46af1bc6e43cf2355e59a0947e6b7078ef143f",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/builtins/f32tof16-builtin.hlsl",
      "new_id": "c4b90331c86e5851dd087a0e2118fb878ef9137e",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/builtins/f32tof16-builtin.hlsl"
    },
    {
      "type": "modify",
      "old_id": "93bcea3e6be77fa18c44180a76b263bf86a834c6",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/builtins/f32tof16.hlsl",
      "new_id": "551f30ea6592b39a3db22087f5b1380b648b712f",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/builtins/f32tof16.hlsl"
    },
    {
      "type": "modify",
      "old_id": "4763e54f92b8ea181c9583445d932e157d66764c",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/builtins/floor.hlsl",
      "new_id": "9a91545fdf38fc8553811a5a0cf50d0c04402b7e",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/builtins/floor.hlsl"
    },
    {
      "type": "modify",
      "old_id": "f5014454156476927cdc9dc5579711373825a85f",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/builtins/mad.hlsl",
      "new_id": "82ec27646eaa57eabef5ff4f3cbc2aeb2df2d2d0",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/builtins/mad.hlsl"
    },
    {
      "type": "modify",
      "old_id": "2f08854f84d955b61903139c86762313ce137696",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/convergence/cf.for.plain.hlsl",
      "new_id": "ea27d9d5acecc4da9144761cb99ec9883f0d0bdd",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/convergence/cf.for.plain.hlsl"
    },
    {
      "type": "modify",
      "old_id": "9aabbfd54e539f6b4d6d879ba44245f98cc1ac50",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/convergence/do.while.hlsl",
      "new_id": "f19660019d1711896032d26f945ed8e7c8fdd9c0",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/convergence/do.while.hlsl"
    },
    {
      "type": "modify",
      "old_id": "337a9ad5026c16155b158f9e83f8393e724fce1d",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/convergence/entry.point.hlsl",
      "new_id": "9a8ae830aae496f893bf2b2bee51680334bc7ee9",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/convergence/entry.point.hlsl"
    },
    {
      "type": "modify",
      "old_id": "b7b11e9959ea8342f6b2a4bc8040f63d942bd306",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/convergence/for.hlsl",
      "new_id": "c4c1770c267307be596ecfc38873fd2f880d59bd",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/convergence/for.hlsl"
    },
    {
      "type": "modify",
      "old_id": "c594e3a3e62ae0c7a93864cf47879ce6e09e19b0",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/convergence/global_array.hlsl",
      "new_id": "851b61e64407e1e6d23b48020112d022c18df1cd",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/convergence/global_array.hlsl"
    },
    {
      "type": "modify",
      "old_id": "32579e863100123be44335e37c267f678f4a9bac",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/convergence/while.hlsl",
      "new_id": "4e8cdcdaa7563738f5779335074c673ef634291d",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/convergence/while.hlsl"
    },
    {
      "type": "modify",
      "old_id": "b0d5a783fb3725c8e9033048a9b4595b51b71c74",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/inline-constructors.hlsl",
      "new_id": "2116a63a82d7ebda5ccada8475a78c7100366825",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/inline-constructors.hlsl"
    },
    {
      "type": "modify",
      "old_id": "6d8a3ce6ecbb6dc0d4803e3acbc46b6dc8a02de9",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl",
      "new_id": "09b40e215f88af711288d4179e65ea9ee3428bd2",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-load.hlsl"
    },
    {
      "type": "modify",
      "old_id": "9ea292ecea00743564a3001118fde22514d7cf63",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl",
      "new_id": "868514b9de7c1fc1a768b5af4fa9236da2321061",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/matrix-member-one-based-accessor-scalar-store.hlsl"
    },
    {
      "type": "modify",
      "old_id": "6567d49f04dcf2b0d13bfaf8961a8f73139aec51",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl",
      "new_id": "de6b78dc50862a1398494850b34924a7b483a9fa",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-load.hlsl"
    },
    {
      "type": "modify",
      "old_id": "d6a3744dd11287f15b063be6ac95265604054846",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl",
      "new_id": "b30f62ec468caa55f4ed3ce882189bcb6d136241",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/matrix-member-one-based-swizzle-store.hlsl"
    },
    {
      "type": "modify",
      "old_id": "def0b884290dab0783f216ebdfd897f41cea80f0",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl",
      "new_id": "e076b881b751697922bf17432de573cb470eda79",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-load.hlsl"
    },
    {
      "type": "modify",
      "old_id": "ab5b69cb794b6476998437383ea3cdd1b6dd0722",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl",
      "new_id": "ba220b6dbb759df0ce48313185b7aa8015111161",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/matrix-member-zero-based-accessor-scalar-store.hlsl"
    },
    {
      "type": "modify",
      "old_id": "d9daf6ed7305ba9dd2d468a8e0be642700b8fe43",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl",
      "new_id": "6c0953a54cd01d3cd2c4dcdefa23ab8fdef39b77",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-load.hlsl"
    },
    {
      "type": "modify",
      "old_id": "001f47007579c87a1c348bc61b6bb47b4ba39d2a",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl",
      "new_id": "011cadc93b53bf5b8b08701cda26d80494d598ea",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/matrix-member-zero-based-swizzle-store.hlsl"
    },
    {
      "type": "modify",
      "old_id": "4ac71d0093b8bb8859c68e26502a7d253d6e6c14",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl",
      "new_id": "4d0e79f2ae88ade030af7365bab9d371e3534cae",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/ByteAddressBuffers-constructors.hlsl"
    },
    {
      "type": "modify",
      "old_id": "fa04d82d54fb0d14aac88fbb2d3681d5e77ad1f5",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl",
      "new_id": "ac5ceddd3e8ef5083daa6b4960b82c6d47ba88c7",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/ByteAddressBuffers-methods.hlsl"
    },
    {
      "type": "modify",
      "old_id": "fe74e9845cbba4fe5e9550224ba9373f10116253",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/CBufferMatrixSingleSubscriptSwizzle.hlsl",
      "new_id": "ad6c352add0e14dd5c090b2c79b1452231f76f41",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/CBufferMatrixSingleSubscriptSwizzle.hlsl"
    },
    {
      "type": "modify",
      "old_id": "0b4dc5b9c648550116cd590e6e9ca60495cb9299",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/MatrixElement_cbuffer.hlsl",
      "new_id": "bcb8b4bb9e82ddb2e6a58e74b01af39c4945bb79",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/MatrixElement_cbuffer.hlsl"
    },
    {
      "type": "modify",
      "old_id": "12a644b4d4355b64165b857c54159b8b8bf53904",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl",
      "new_id": "1815ab653ec8c549b5f4e14da54bc0044e18eebd",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-lib.hlsl"
    },
    {
      "type": "modify",
      "old_id": "85ca449bc6ea336c4ee983fbe4d7bad2c1914a54",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl",
      "new_id": "83bcc6e37b9c3d02ccad5fddaa3f56cb17fdfcb9",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/StructuredBuffers-methods-ps.hlsl"
    },
    {
      "type": "modify",
      "old_id": "b84df2b1842839b2ff3ac2eb6e735abb8309a9fc",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/Texture2D-Mips.hlsl",
      "new_id": "335ebe11349aa5dd2664e267dd44e609d066e50c",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/Texture2D-Mips.hlsl"
    },
    {
      "type": "modify",
      "old_id": "1ec9f0f54441e1648b7746e785a520c0f33ba48b",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/TypedBuffers-constructor.hlsl",
      "new_id": "d027d76e426eb66c1e53531f6b503cd5cdb8d784",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/TypedBuffers-constructor.hlsl"
    },
    {
      "type": "modify",
      "old_id": "bdf7f4d7fd388217f8aa84a00c2471f7c97e18d5",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/TypedBuffers-methods.hlsl",
      "new_id": "2c92c517d8efbda9121486d48432b47d9d45f79c",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/TypedBuffers-methods.hlsl"
    },
    {
      "type": "modify",
      "old_id": "335e68e2e8d92e91c08d710b46a963e11c20508c",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/cbuffer.hlsl",
      "new_id": "ef9c63a9c8a41ea4708bd912363c9fcca091b0bf",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/cbuffer.hlsl"
    },
    {
      "type": "modify",
      "old_id": "48463e8b1c0e61e34156b7147f7501522ac98c26",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl",
      "new_id": "818786c591189cd7afbd58a6fafced61a26a59b3",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/cbuffer_with_packoffset.hlsl"
    },
    {
      "type": "modify",
      "old_id": "036feec39f1dd385583326c02c299c34a0613ac2",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/res-array-global-subarray-many.hlsl",
      "new_id": "5264c43dfc22e595b253a4956afe54522b1d89f0",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/res-array-global-subarray-many.hlsl"
    },
    {
      "type": "modify",
      "old_id": "bbd48b7ddea52b45521e2e4fcb564ee10b0ee4bd",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/res-array-global-subarray-one.hlsl",
      "new_id": "8f41020c27a4f83976f762b3a26893f486868dfc",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/res-array-global-subarray-one.hlsl"
    },
    {
      "type": "modify",
      "old_id": "92dba219f2295db5406a2448a4a82d3436c507b2",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/res-array-local-multi-dim.hlsl",
      "new_id": "d3ad02cd8c07ba41406ef6bb89aff7f41742ddb2",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/res-array-local-multi-dim.hlsl"
    },
    {
      "type": "modify",
      "old_id": "9e31f4f150c52ecde846af7d48972a44d52b9772",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/res-array-local1.hlsl",
      "new_id": "bb8fb393990f6c1ebcd5cbc790a2ceb73fd183ea",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/res-array-local1.hlsl"
    },
    {
      "type": "modify",
      "old_id": "4a02b9f8ced4505d640b50540379708430023a8b",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/res-array-local2.hlsl",
      "new_id": "82fbdc13e7910cf78a166f543d284f2bde75ab49",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/res-array-local2.hlsl"
    },
    {
      "type": "modify",
      "old_id": "21ca3f4a98f99440ddadcf71f2590f0909623062",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/resources/res-array-local3.hlsl",
      "new_id": "c21afba048c4cb274cdee9dd12d27e2d4b343e4f",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/resources/res-array-local3.hlsl"
    },
    {
      "type": "modify",
      "old_id": "fd92e413bb3fa3fd757d9d5aebc77db1262e9da8",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/static-local-ctor.hlsl",
      "new_id": "d7637793ec952c0508c2d618ec6779af042c1112",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/static-local-ctor.hlsl"
    },
    {
      "type": "modify",
      "old_id": "a2df307038774d224d168e61d0e4eac131b9977a",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/this-assignment-overload.hlsl",
      "new_id": "843cab1fd906990572c785d19709a74b1d65791f",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/this-assignment-overload.hlsl"
    },
    {
      "type": "modify",
      "old_id": "efccc964992422aa26ebb7121fbeeb4a99639d6c",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/this-assignment.hlsl",
      "new_id": "c79f94d55965b317e841cf1982586a5a3a2f6f52",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/this-assignment.hlsl"
    },
    {
      "type": "modify",
      "old_id": "edf1abf6bd81a18cf74d80fb47bb240f61474e86",
      "old_mode": 33188,
      "old_path": "clang/test/CodeGenHLSL/this-reference.hlsl",
      "new_id": "e19d0a42ec1393e24ba1980f2caa985a1c59e8c2",
      "new_mode": 33188,
      "new_path": "clang/test/CodeGenHLSL/this-reference.hlsl"
    },
    {
      "type": "modify",
      "old_id": "0ea64a3cb14a5e8f82c76ebf40f1d4a4cba180a0",
      "old_mode": 33188,
      "old_path": "clang/test/SemaHLSL/Resources/static_resources.hlsl",
      "new_id": "a5395826849f4dceb40f7f1e6dcb9e05c0cc713e",
      "new_mode": 33188,
      "new_path": "clang/test/SemaHLSL/Resources/static_resources.hlsl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c023a8e1ad3f3dfef59ceb6d1379e79d36628d9b",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/IndVarSimplify/convergent-controlled-loop.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bef76177623b6af4944934e1ce77ffc74a125d41",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/LoopRotate/convergent-controlled.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e7642757bafc8014f75a6e2306f3851bc8562fb1",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SimpleLoopUnswitch/convergent-controlled.ll"
    }
  ]
}
