)]}'
{
  "commit": "d413a7eecea8540646b199205b3aebeb17a18571",
  "tree": "96218fc52e2e6be07c813aa92ab3cccd9dcbe0ee",
  "parents": [
    "bb51f6f1a1b4ee619fb09a7396f449dadb211447"
  ],
  "author": {
    "name": "Stanley Winata",
    "email": "68087699+raikonenfnu@users.noreply.github.com",
    "time": "Wed Oct 04 10:40:32 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Oct 04 10:40:32 2023 -0700"
  },
  "message": "[ROCM] Build rocm device bc files from source and installation setup. (#15096)\n\n* Adds a scheme whereby compiler targets can tack dependencies onto\r\nlibIREECompiler.so by adding targets to the global property\r\n`IREE_COMPILER_DYLIB_DEPENDS` (allowing arbitrary required artifacts to\r\nbe guaranteed to be generated when the main shared library is built).\r\n* Added a global property `IREE_COMPILER_DYLIB_RELPATHS` which always\r\ncontains the relative paths of all artifacts that must exist along with\r\nlibIREECompiler.so (including itself). This is used for installing into\r\nbindings (like Python), etc without all sorts of conditional code going\r\nthe wrong way in the project.\r\n* Changed the main shared library to\r\n`CMAKE_PLATFORM_NO_VERSIONED_SONAME` mode always (we were manually\r\nsetting this only for pip builds of Python bindings). This makes a lot\r\nof things easier and more consistent. In reality, if ever major\r\nversioning, we will bake a version number into the name, since that is\r\nportable to Windows, versus relying on Unix symlink/versioning arcana.\r\n* Set `CMAKE_RUNTIME_OUTPUT_DIRECTORY`,\r\n`CMAKE_LIBRARY_OUTPUT_DIRECTORY`, and `CMAKE_ARCHIVE_OUTPUT_DIRECTORY`\r\nin the top level compiler/ directory vs having them set inconsistently\r\nthroughout the tree. As a side-effect, all libraries in the compiler now\r\nland in lib/. Since they all have fully qualified names, this is fine.\r\n* Define a `IREE_COMPILER_DYLIB_DIR` and\r\n`IREE_COMPILER_DYLIB_INSTALL_PREFIX` at the top level compiler/ dir vs\r\nad-hoc code throughout checking to see if Windows (in order to special\r\ncase DLLs installing next to binaries on that platform).\r\n* Reworked the Python compiler build so that it always builds a symlink\r\ntree in the build directory that matches how it gets installed. While\r\nnot done in this PR, this should let us remove all of the weird special\r\ncasing for how to find libraries if in a build tree vs deployed. Might\r\nneed a bit more massaging to delete the code.\r\n* Adds a `findPlatformLibDirectory(StringRef platformName)` helper that\r\ncan always find the `iree_platform_libs/{platformName}` directory\r\nlocated adjacent to the shared-library/DLL. Uses this to initialize the\r\nflag for finding ROCM bc files. We may want to do this with other\r\nprebuilts too.\r\n* Builds the ROCM bitcode files with our clang and includes them\r\nadjacent to the shared-lib/DLL under iree_platform_libs/rocm, which\r\nshould always be available in all build/deploy/install modality.\r\n\r\nci-extra: build_test_all_windows\r\n\r\n---------\r\n\r\nCo-authored-by: Stanley Winata \u003cstanley@nod-labs.com\u003e\r\nCo-authored-by: Stella Laurenzo \u003cstellaraccident@gmail.com\u003e\r\nCo-authored-by: Scott Todd \u003cscotttodd@google.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1e0db2c57a286c3d43d650e65fdabdcb4bfe864b",
      "old_mode": 33188,
      "old_path": ".gitmodules",
      "new_id": "adebdefafd96041615a46ce3d65b02f1404c9d1a",
      "new_mode": 33188,
      "new_path": ".gitmodules"
    },
    {
      "type": "modify",
      "old_id": "b5fafcf17e2a1c3ca2e4ae2c21a52a173f8baff1",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "f871771f44af9dfe12f69f0dfb9f5b062b01e8ec",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "a80004a6aff93312221c8f448cea8a708402ce27",
      "old_mode": 33188,
      "old_path": "compiler/CMakeLists.txt",
      "new_id": "4ac14b30f71c041bdefa8b153558cb0ac3a5ef54",
      "new_mode": 33188,
      "new_path": "compiler/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "ea89d0bedb68981aa1df7204b5ecf68ca2bd818c",
      "old_mode": 33188,
      "old_path": "compiler/bindings/python/CMakeLists.txt",
      "new_id": "314fe6fc34d776f47857b109aeb9e44dc3617765",
      "new_mode": 33188,
      "new_path": "compiler/bindings/python/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "6c4b976fb0ad07650edf932c3bb49a5086a32f9b",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/API/CMakeLists.txt",
      "new_id": "3ae0f6178ea561fc912c52bb228eb84723cc07a3",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/API/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "8c6323942607a152a889ff18af9f4ee5aa15fb2e",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/Target/ROCM/CMakeLists.txt",
      "new_id": "23a39e760de3c419c0aa1e25aaa37724e9b0db5c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/Target/ROCM/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "a85dc1bdd38a843da89b14c41871b3c33a106ede",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/Target/ROCM/ROCMTarget.cpp",
      "new_id": "be04a42574127513628c225027df48363af47b64",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/Target/ROCM/ROCMTarget.cpp"
    },
    {
      "type": "modify",
      "old_id": "0d8141ec7a444cfcd94b095de9011aacd2dc5159",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Utils/ToolUtils.cpp",
      "new_id": "d717b776ce11803c8fb73d2ecd3b28848bcb2f8e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Utils/ToolUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "e6239428d1dfe9608cb8814057de4715e63f6c54",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Utils/ToolUtils.h",
      "new_id": "edf40fb99fb1b5e2362968dd7d5bca972c7d4e70",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Utils/ToolUtils.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3adc16d48e2ac4536e7ea62c7c147c1c91691b20",
      "new_mode": 57344,
      "new_path": "third_party/ROCm-Device-Libs"
    }
  ]
}
