)]}'
{
  "commit": "10085390c6d4d0df04bf412f4c9ce7ebaaa5e3f3",
  "tree": "65f04604fa7d7923b79b954d21abd2775e7827b6",
  "parents": [
    "9820248e0aaaffbee87edeb6a73ced54b4e25be4"
  ],
  "author": {
    "name": "Alexey Bataev",
    "email": "a.bataev@outlook.com",
    "time": "Mon Mar 10 10:06:39 2025 -0400"
  },
  "committer": {
    "name": "Alexey Bataev",
    "email": "a.bataev@outlook.com",
    "time": "Wed Mar 12 08:18:51 2025 -0700"
  },
  "message": "[SLP]Reduce number of alternate instruction, where possible\n\nPrevious version was reviewed here https://github.com/llvm/llvm-project/pull/123360\nIt is mostly the same, adjusted after graph-to-tree transformation\n\nPatch tries to remove wide alternate operations.\nCurrently SLP vectorizer emits something like this:\n```\n%0 \u003d add i32\n%1 \u003d sub i32\n%2 \u003d add i32\n%3 \u003d sub i32\n%4 \u003d add i32\n%5 \u003d sub i32\n%6 \u003d add i32\n%7 \u003d sub i32\n\ntransformes to\n\n%v1 \u003d add \u003c8 x i32\u003e\n%v2 \u003d sub \u003c8 x i32\u003e\n%res \u003d shuffle %v1, %v2, \u003c0, 9, 2, 11, 4, 13, 6, 15\u003e\n```\ni.e. half of the results are just unused. This leads to increased\nregister pressure and potentially doubles number of operations.\n\nPatch introduces SplitVectorize mode, where it splits the operations by\nopcodes and produces instead something like this:\n```\n%v1 \u003d add \u003c4 x i32\u003e\n%v2 \u003d sub \u003c4 x i32\u003e\n%res \u003d shuffle %v1, %v2, \u003c0, 4, 1, 5, 2, 6, 3, 7\u003e\n```\nIt allows to improve the performance by reducing number of ops. Also, it\nturns on some other improvements, like improved graph reordering.\n\n-O3+LTO, AVX512\nMetric: size..text\nProgram                                                                         size..text\n                                                                                results     results0    diff\n                       test-suite :: MultiSource/Benchmarks/Olden/tsp/tsp.test     2788.00     2820.00  1.1%\ntest-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test   278168.00   280904.00  1.0%\n               test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test    82682.00    83258.00  0.7%\n                    test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test   139344.00   139712.00  0.3%\n     test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test    27149.00    27197.00  0.2%\n               test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test  1008188.00  1009948.00  0.2%\n          test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test    39226.00    39290.00  0.2%\n   test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test    39229.00    39293.00  0.2%\n test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test  2074533.00  2076549.00  0.1%\ntest-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test  2074533.00  2076549.00  0.1%\n             test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test   798440.00   798952.00  0.1%\n     test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test    44123.00    44139.00  0.0%\n                       test-suite :: MultiSource/Benchmarks/Bullet/bullet.test   318942.00   319038.00  0.0%\n        test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  1159880.00  1160152.00  0.0%\n     test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniAMR/miniAMR.test    73595.00    73611.00  0.0%\n                test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test  1146124.00  1146348.00  0.0%\n       test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/CLAMR/CLAMR.test   203831.00   203847.00  0.0%\n test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test   207662.00   207678.00  0.0%\n                test-suite :: External/SPEC/CFP2006/447.dealII/447.dealII.test   589851.00   589883.00  0.0%\n      test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test  1398543.00  1398559.00  0.0%\n     test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test  1398543.00  1398559.00  0.0%\n        test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test  2050990.00  2051006.00  0.0%\n\n      test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12559687.00 12559591.00 -0.0%\n                     test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test  3074157.00  3074125.00 -0.0%\n         test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test  1092252.00  1092188.00 -0.0%\n            test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test   779763.00   779715.00 -0.0%\n         test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test   253517.00   253485.00 -0.0%\n                  test-suite :: MultiSource/Applications/JM/lencod/lencod.test   848259.00   848035.00 -0.0%\n     test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test    93064.00    93016.00 -0.1%\n                  test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test   383747.00   383475.00 -0.1%\n          test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   673051.00   662907.00 -1.5%\n           test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   673051.00   662907.00 -1.5%\n\nOlden/tsp - small variations\nProlangs-C/TimberWolfMC - small variations, some code not inlined\nFreeBench/pifft - extra store \u003c8 x double\u003e vectorized, some other extra\nvectorizations\nCFP2006/433.milc - better vector code\nFreeBench/fourinarow - better vector code\nBenchmarks/tramp3d-v4 - extra vector code, small variations\nmediabench/gsm/toast - small variations\nMiBench/telecomm-gsm - small variations\nCINT2017rate/500.perlbench_r\nCINT2017speed/600.perlbench_s - better vector code, small variations\nCINT2006/464.h264ref - some smaller code + changes similar to x264\nDOE-ProxyApps-C/miniGMG - small variations\nBenchmarks/Bullet - small variations\nCFP2017rate/511.povray_r - small variations\nDOE-ProxyApps-C/miniAMR - small variations\nCFP2006/453.povray - small variations\nDOE-ProxyApps-C++/CLAMR - small variations\nMiBench/consumer-lame - small variations\nCFP2006/447.dealII - small variations\nCFP2017rate/538.imagick_r\nCFP2017speed/638.imagick_s - small variations\nCFP2017rate/510.parest_r - better vector code, small variations\nCFP2017rate/526.blender_r - small variations\nCINT2006/403.gcc - small variations\nCINT2006/400.perlbench - small variations\nCFP2017rate/508.namd_r - small variations\nASCI_Purple/SMG2000 - small variations\nJM/lencod - extra store \u003c16 x i32\u003e, small variations\nDOE-ProxyApps-C++/miniFE - small variations\nJM/ldecod - extra vector code, small variations, less shuffles\nCINT2017speed/625.x264_s\nCINT2017rate/525.x264_r - the number of instructions increased, but\nlooks like they are more performant. E.g., for function\nx264_pixel_satd_8x8, llvm-mca reports better throughput - 84 for the\ncurrent version and 59 for the new version.\n\n-O3+LTO, mcpu\u003dsifive-p470\n\nMetric: size..text\n\n                                                                               results    results0   diff\n                                 test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test  580768.00  581118.00   0.1%\n                                        test-suite :: MultiSource/Applications/d/make_dparser.test   78854.00   78894.00   0.1%\n                                      test-suite :: MultiSource/Applications/JM/lencod/lencod.test  633448.00  633750.00   0.0%\n                                           test-suite :: MultiSource/Benchmarks/Bullet/bullet.test  277002.00  277080.00   0.0%\n                             test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test  931938.00  931960.00   0.0%\n                                         test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 2512806.00 2512822.00   0.0%\n                                test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 7659880.00 7659876.00  -0.0%\n                                 test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 7659880.00 7659876.00  -0.0%\n                            test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 1602448.00 1602434.00  -0.0%\n                          test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9496664.00 9496542.00  -0.0%\n                     test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test  147424.00  147422.00  -0.0%\n                    test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 1764608.00 1764578.00  -0.0%\n                     test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 1764608.00 1764578.00  -0.0%\n                                     test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  841656.00  841632.00  -0.0%\n                                    test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test  949026.00  948962.00  -0.0%\n                            test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test  946348.00  946284.00  -0.0%\n                                      test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test  279794.00  279764.00  -0.0%\n                       test-suite :: MultiSource/Benchmarks/mediabench/g721/g721encode/encode.test    4776.00    4772.00  -0.1%\n                              test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test   25074.00   25028.00  -0.2%\n                       test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test   25074.00   25028.00  -0.2%\n                         test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C/miniGMG/miniGMG.test   29336.00   29184.00  -0.5%\n                               test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test  535390.00  510124.00  -4.7%\n                              test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test  535390.00  510124.00  -4.7%\ntest-suite :: SingleSource/Regression/C/gcc-c-torture/execute/ieee/GCC-C-execute-ieee-pr50310.test     886.00     608.00 -31.4%\n\nCINT2006/464.h264ref - extra v16i32 reduction\nd/make_dparser - better vector code\nJM/lencod - extra v16i32 reduction\nBenchmarks/Bullet - smaller vector code\nCINT2006/400.perlbench - better vector code\nCINT2006/403.gcc - small variations\nCINT2017speed/602.gcc_s\nCINT2017rate/502.gcc_r - small variations\nCFP2017rate/510.parest_r - small variations\nCFP2017rate/526.blender_r - small variations\nMiBench/consumer-lame - small variations\nCINT2017speed/600.perlbench_s\nCINT2017rate/500.perlbench_r - small variations\nBenchmarks/7zip - small variations\nCFP2017rate/511.povray_r - small variations\nJM/ldecod - extra vector code\nmediabench/g721/g721encode - extra vector code\nmediabench/gsm - extra vector code\nMiBench/telecomm-gsm - extra vector code\nDOE-ProxyApps-C/miniGMG - extra vector code\nCINT2017rate/525.x264_r\nCINT2017speed/625.x264_s - reduced number of wide operations and\nshuffles, saving the registers, similar to X86, extra code in\npixel_hadamard_ac vectorized\nieee/GCC-C-execute-ieee-pr50310 - extra code vectorized\n\nCINT2006/464.h264ref - extra vector code in find_sad_16x16\nJM/lencod - extra vector code in find_sad_16x16\nd/make_dparser - smaller vector code\nBenchmarks/Bullet - small variations\nCINT2006/400.perlbench - smaller vector code\nCFP2017rate/526.blender_r - small variations, extra store \u003c8 x float\u003e in\nthe loop, extra store \u003c8 x i8\u003e in loop\nCINT2017rate/500.perlbench_r\nCINT2017speed/600.perlbench_s - small variations\nMiBench/consumer-lame - small variations\nJM/ldecod - extra vector code\nmediabench/g721/g721encode - small variations\n\nReviewers: hiraditya\n\nReviewed By: hiraditya\n\nPull Request: https://github.com/llvm/llvm-project/pull/128907\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3081379bafd06b93ae12fd3fa5ff4ea7fe3b7bee",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/Analysis/TargetTransformInfo.h",
      "new_id": "4d311e7e9fd6aba5b4a6e2f0613ec5454571a59a",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/Analysis/TargetTransformInfo.h"
    },
    {
      "type": "modify",
      "old_id": "63fe7debfb8c7ba96d6ed9d063e4a1892998f9d2",
      "old_mode": 33188,
      "old_path": "llvm/include/llvm/Analysis/TargetTransformInfoImpl.h",
      "new_id": "c15694916a732486729f7d716022ccbc1dded242",
      "new_mode": 33188,
      "new_path": "llvm/include/llvm/Analysis/TargetTransformInfoImpl.h"
    },
    {
      "type": "modify",
      "old_id": "3d43f394396251685683dfe4ad15b45c184dfa83",
      "old_mode": 33188,
      "old_path": "llvm/lib/Analysis/TargetTransformInfo.cpp",
      "new_id": "36f2983390a48644f3d4ad5c4cb450241473e81e",
      "new_mode": 33188,
      "new_path": "llvm/lib/Analysis/TargetTransformInfo.cpp"
    },
    {
      "type": "modify",
      "old_id": "020a2b8d4edfbccdff964e2ab3233b8b9265f3fb",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h",
      "new_id": "ac46db5faf28d526cf6b9ee78174db7368723be5",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h"
    },
    {
      "type": "modify",
      "old_id": "8fcaee0c7017f76c725b242c1858f7417418ffb0",
      "old_mode": 33188,
      "old_path": "llvm/lib/Target/X86/X86TargetTransformInfo.h",
      "new_id": "c916da7f275d7d251f48811734107d90b5d29466",
      "new_mode": 33188,
      "new_path": "llvm/lib/Target/X86/X86TargetTransformInfo.h"
    },
    {
      "type": "modify",
      "old_id": "4decf5bec9514884d49c6aa98786ee49fe00488d",
      "old_mode": 33188,
      "old_path": "llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp",
      "new_id": "3ffcdb550f8ff9e33a93c018e649c2ab9d3e2677",
      "new_mode": 33188,
      "new_path": "llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp"
    },
    {
      "type": "modify",
      "old_id": "c431b058f0d2d5dc7074521c8d1da3af3e69cac5",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll",
      "new_id": "92027d0043f76c88c9d4e042622ab90c6ce4afc7",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll"
    },
    {
      "type": "modify",
      "old_id": "18acae583572461de5b7c6109a5661b1cd6f6948",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll",
      "new_id": "0f56862446a9d5c086230292d0cfc64dabfecaf3",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll"
    },
    {
      "type": "modify",
      "old_id": "7723746dda301e68ee89d3e841d09dd149bb14c1",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll",
      "new_id": "5d9975b25c3810c79a2d2caed694953e9b759645",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll"
    },
    {
      "type": "modify",
      "old_id": "e24c52ba81ddf46b80fafd69820f5e8710cf7d45",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll",
      "new_id": "3e2c305dbed65e301cc280edd6f24ec2bb1adeb9",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/alternate-cast-inseltpoison.ll"
    },
    {
      "type": "modify",
      "old_id": "0f8751a6da7f578002e3d31e9799618b0df12ea1",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll",
      "new_id": "880523d6474acf77055b803bcac65e79ea46674d",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/alternate-cast.ll"
    },
    {
      "type": "modify",
      "old_id": "5a1de4f3e3d7fd6df6cc7fc61a9361de03818638",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll",
      "new_id": "5cee6984df04fe7f718130bb26dc0616d1c12b6d",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/alternate-fp-inseltpoison.ll"
    },
    {
      "type": "modify",
      "old_id": "046ed781f4c8d0ee26a450c5c4d963c038ae559b",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll",
      "new_id": "9a2f959ac63bc50242baac7f75b75a6689249f9f",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/alternate-fp.ll"
    },
    {
      "type": "modify",
      "old_id": "8839fc22817888bf8cde10ad9a48cb8dd7827a03",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll",
      "new_id": "f8c5df99445385fc8046bff739cc84cb10a2005d",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll"
    },
    {
      "type": "modify",
      "old_id": "dfa918a6ea4532bfb9b5ccd9ac84816b6e4a16e2",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll",
      "new_id": "b84ef027f67c501df725ad4ca2e5084738ad39ce",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll"
    },
    {
      "type": "modify",
      "old_id": "b659c10bb2fbf93e7fe1d3ced67fbce193b00efa",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll",
      "new_id": "7ed5f33c9dc6cb4b6ade4357a3d8fcd25427bdf2",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll"
    },
    {
      "type": "modify",
      "old_id": "48b04201d1acce7d0376963dc875d59db62c3f79",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll",
      "new_id": "e42e6183b8cae628cf398a866b78113df0158e13",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/gathered-shuffle-resized.ll"
    },
    {
      "type": "modify",
      "old_id": "9fc2b7d6e786560cf42e7378f9a0449d71af0c32",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll",
      "new_id": "70c67ff251d6d5e4ed769f72b389ccc8bc727446",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/long-full-reg-stores.ll"
    },
    {
      "type": "modify",
      "old_id": "c3122d991da20c69aa6af8cbe1328091e80bc55a",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll",
      "new_id": "faaac0c7614f6d70fa588a44dcc0e7979563b1f9",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll"
    },
    {
      "type": "modify",
      "old_id": "cfbfd0ebc37bcab44c3a6ade2f965c603597fa8c",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll",
      "new_id": "ea497c95d4114167f86011352c00662b4fc2803b",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/matched-shuffled-entries.ll"
    },
    {
      "type": "modify",
      "old_id": "2f49a2e6a212e628c0d545a384bd32160a58687b",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll",
      "new_id": "e9a65bf6d6f0d4811799924e6bc0b1ee233b5286",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/non-load-reduced-as-part-of-bv.ll"
    },
    {
      "type": "modify",
      "old_id": "df85656800aac2954602ffa17f61cb7c99d9ea7a",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/phi.ll",
      "new_id": "17ae33652b6d876ac41327ff3fafc6e09fe60229",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/phi.ll"
    },
    {
      "type": "modify",
      "old_id": "787bd39759dc78e89604695a5d4ba01b499bbc97",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll",
      "new_id": "b4e66138578df7c2ebe13118c0d4af09f8096f81",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/reorder-phi-operand.ll"
    },
    {
      "type": "modify",
      "old_id": "9682567b173c3eb38d16904e9c6c83c717a05484",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll",
      "new_id": "cda88620ab88a12d1aa22a567094b55838d1253f",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll"
    },
    {
      "type": "modify",
      "old_id": "8a017a397cff93932420e23f9d45ba0a6f73f2cc",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll",
      "new_id": "3b9222b7d5ed17897f02e1129414c6f76cb0cb81",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/same-values-sub-node-with-poisons.ll"
    },
    {
      "type": "modify",
      "old_id": "c01c44ff03c15351def7173a03f88ab2a4a4365a",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll",
      "new_id": "1294a87ff696797250833c4919959cc6c2d30fe5",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll"
    },
    {
      "type": "modify",
      "old_id": "33fa00c1881da3dcd6ba224a36a2671cbf1b686b",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll",
      "new_id": "38e9ba7ce7028d91c900bf625888600fb5860c1a",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e9884b24e1078af9a86e90e455d0d738a0f5b5a4",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5bfbd6933056414c698f4ec8896848b603d607bf",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/split-node-reorder-node-with-ops.ll"
    },
    {
      "type": "modify",
      "old_id": "0ed12760b563fa9548147313325db22cc03a987f",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll",
      "new_id": "e3a6020a542fb265db27799e7e0362f825c4183f",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll"
    },
    {
      "type": "modify",
      "old_id": "f47373747e578a041f6d8d4d3c5600ccfcbb044a",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll",
      "new_id": "cea98bf55b6ffa7e54ba09df6bb34f44012e4cbc",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias.ll"
    },
    {
      "type": "modify",
      "old_id": "d650a972ad8ca26d65c451841e659f511fad6db2",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll",
      "new_id": "7060288d739bd573f8423fe9a71aa102d7ab723c",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias_external_insert_shuffled.ll"
    },
    {
      "type": "modify",
      "old_id": "3961250d564518f1f08aa461bb89194abaf55746",
      "old_mode": 33188,
      "old_path": "llvm/test/Transforms/SLPVectorizer/addsub.ll",
      "new_id": "6814bc0f566f607f85f93da163e54b3981603ecb",
      "new_mode": 33188,
      "new_path": "llvm/test/Transforms/SLPVectorizer/addsub.ll"
    }
  ]
}
