)]}'
{
  "commit": "0d81062a8ffabf3561e9d6cc758b8250b2f607d3",
  "tree": "6c309112c47a9900c3c44b39c17168ee5bd6ad2a",
  "parents": [
    "9cf4f917d6f4e762c726265310dd46658a0655af"
  ],
  "author": {
    "name": "bjacob",
    "email": "benoitjacob@google.com",
    "time": "Thu Jun 01 14:32:37 2023 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jun 01 14:32:37 2023 -0400"
  },
  "message": "Fixes and simplifications to CPU-data handling (#13881)\n\nIn DispatchABI.cpp:\r\n* Was not checking if CPU feature bits in the schema applied to the\r\ntarget architecture.\r\n* Was not checking if CPU feature bits belonged to field 0 even though\r\nthe current code only handles that. Other fields are currently unused\r\nbut at least now we will get an assert failure if that changes.\r\n* Was building a vector of bits, then creating one `LLVM::OrOp`for each\r\nbit. Instead, why not OR those bits in C++ and create a single\r\n`LLVM::OrOp` with the resulting OR-ed value?\r\n* Was not checking that the first character of each feature string was a\r\n`\u0027+\u0027` before dropping it.\r\n* Was room for simplification in how the schema was used.\r\n\r\nAdditionally, folding into this PR a simplification to `iree-cpuinfo` (a\r\nstandalone tool to report the host CPU\u0027s features exactly as detected by\r\nIREE). It was quadratic-time, as it unnecessarily called\r\n`iree_cpu_lookup_data_by_key` for each feature.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "25c2ffbc6575df058d0ed69a9f7d78f83685805f",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/DispatchABI.cpp",
      "new_id": "39709b28d1a82703743082e74558d8f13490d488",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/DispatchABI.cpp"
    },
    {
      "type": "modify",
      "old_id": "7acae651a54f4dc10ed80d6caee529da09bb2386",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/test/convert_to_llvm.mlir",
      "new_id": "3a3cb25d751e99eedeaeff485ec286e593061559",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/LLVMCPU/test/convert_to_llvm.mlir"
    },
    {
      "type": "modify",
      "old_id": "d7404652d2b112a5bd5959210fc689aa9efdc8ff",
      "old_mode": 33188,
      "old_path": "tools/iree-cpuinfo.c",
      "new_id": "f5324d09b9f94c52f5ccf5d3924e034f0123b03a",
      "new_mode": 33188,
      "new_path": "tools/iree-cpuinfo.c"
    }
  ]
}
