Unverified Commit e8d27c90 authored by Weijia Wang's avatar Weijia Wang Committed by GitHub
Browse files

Merge pull request #299589 from mschwaig/compress-composable-kernel

rocmPackages.composable_kernel: compress output
parents 70dcf56a 772dbad3
Loading
Loading
Loading
Loading
+1191 −0

File added.

Preview size limit exceeded, changes collapsed.

+12 −3
Original line number Diff line number Diff line
@@ -72,7 +72,9 @@ in stdenv.mkDerivation (finalAttrs: {
    "info" # Avoid `attribute 'info' missing` when using with wrapCC
  ];

  patches = extraPatches;
  patches = [
    ./add-compression-to-clang-offload-bundler.patch
  ] ++ extraPatches;

  src = fetchFromGitHub {
    owner = "ROCm";
@@ -133,7 +135,14 @@ in stdenv.mkDerivation (finalAttrs: {
    "-DLLVM_EXTERNAL_LIT=${lit}/bin/.lit-wrapped"
  ] ++ extraCMakeFlags;

  postPatch = lib.optionalString finalAttrs.passthru.isLLVM ''
  prePatch = ''
    cd ../
    chmod -R u+w .
  '';

  postPatch = ''
    cd ${targetDir}
  '' + lib.optionalString finalAttrs.passthru.isLLVM ''
    patchShebangs lib/OffloadArch/make_generated_offload_arch_h.sh
  '' + lib.optionalString (buildTests && finalAttrs.passthru.isLLVM) ''
    # FileSystem permissions tests fail with various special bits
@@ -141,7 +150,7 @@ in stdenv.mkDerivation (finalAttrs: {
    rm unittests/Support/Path.cpp

    substituteInPlace unittests/Support/CMakeLists.txt \
      --replace "Path.cpp" ""
      --replace-fail "Path.cpp" ""
  '' + extraPostPatch;

  doCheck = buildTests;
+9 −2
Original line number Diff line number Diff line
@@ -2,13 +2,14 @@
, callPackage
, rocmUpdateScript
, llvm
, makeWrapper
}:

callPackage ../base.nix rec {
  inherit stdenv rocmUpdateScript;
  targetName = "clang-unwrapped";
  targetDir = "clang";
  extraBuildInputs = [ llvm ];
  extraBuildInputs = [ llvm makeWrapper ];

  extraCMakeFlags = [
    "-DCLANG_INCLUDE_DOCS=ON"
@@ -20,7 +21,7 @@ callPackage ../base.nix rec {
    ln -s ../cmake/Modules/FindLibEdit.cmake cmake/modules

    substituteInPlace CMakeLists.txt \
      --replace "include(CheckIncludeFile)" "include(CheckIncludeFile)''\nfind_package(LibEdit)"
      --replace-fail "include(CheckIncludeFile)" "include(CheckIncludeFile)''\nfind_package(LibEdit)"

    # `No such file or directory: '/build/source/clang/tools/scan-build/bin/scan-build'`
    rm test/Analysis/scan-build/*.test
@@ -41,6 +42,12 @@ callPackage ../base.nix rec {

  extraPostInstall = ''
    mv bin/clang-tblgen $out/bin
    # add wrapper to compress embedded accelerator-specific code
    # this makes the output of composable_kernel significantly smaller right now
    # TODO: remove this once ROCm does it out of the box
    mv $out/bin/clang-offload-bundler $out/bin/clang-offload-bundler-unwrapped
    makeWrapper $out/bin/clang-offload-bundler-unwrapped $out/bin/clang-offload-bundler \
      --add-flags '-compress'
  '';

  requiredSystemFeatures = [ "big-parallel" ];
+5 −5
Original line number Diff line number Diff line
@@ -14,11 +14,11 @@ callPackage ../base.nix rec {
    # `Failed to match ... against ...` `Match value not within tolerance value of MPFR result:`
    # We need a better way, but I don't know enough sed magic and patching `CMakeLists.txt` isn't working...
    substituteInPlace ../libc/test/src/math/log10_test.cpp \
      --replace "i < N" "i < 0" \
      --replace "test(mpfr::RoundingMode::Nearest);" "" \
      --replace "test(mpfr::RoundingMode::Downward);" "" \
      --replace "test(mpfr::RoundingMode::Upward);" "" \
      --replace "test(mpfr::RoundingMode::TowardZero);" ""
      --replace-fail "i < N" "i < 0" \
      --replace-fail "test(mpfr::RoundingMode::Nearest);" "" \
      --replace-fail "test(mpfr::RoundingMode::Downward);" "" \
      --replace-fail "test(mpfr::RoundingMode::Upward);" "" \
      --replace-fail "test(mpfr::RoundingMode::TowardZero);" ""
  '';

  checkTargets = [ "check-${targetName}" ];
+0 −36
Original line number Diff line number Diff line
From f1d1e10ec7e1061bf0b90abbc1e298d9438a5e74 Mon Sep 17 00:00:00 2001
From: Scott Linder <Scott.Linder@amd.com>
Date: Mon, 11 Sep 2023 18:37:37 +0000
Subject: [PATCH] [HeterogeneousDWARF] Update MLIR DI Metadata handling

Pass a default DW_MSPACE_LLVM_none to satisfy new API

Change-Id: I50df461f00b5510a715f55f61107122318102d22
---
 lib/Target/LLVMIR/DebugTranslation.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/Target/LLVMIR/DebugTranslation.cpp b/lib/Target/LLVMIR/DebugTranslation.cpp
index 2053f5bcef06aa6..635ee5d7e5fefdc 100644
--- a/lib/Target/LLVMIR/DebugTranslation.cpp
+++ b/lib/Target/LLVMIR/DebugTranslation.cpp
@@ -148,7 +148,8 @@ llvm::DIDerivedType *DebugTranslation::translateImpl(DIDerivedTypeAttr attr) {
       /*File=*/nullptr, /*Line=*/0,
       /*Scope=*/nullptr, translate(attr.getBaseType()), attr.getSizeInBits(),
       attr.getAlignInBits(), attr.getOffsetInBits(),
-      /*DWARFAddressSpace=*/std::nullopt, /*Flags=*/llvm::DINode::FlagZero);
+      /*DWARFAddressSpace=*/std::nullopt, llvm::dwarf::DW_MSPACE_LLVM_none,
+      /*Flags=*/llvm::DINode::FlagZero);
 }
 
 llvm::DIFile *DebugTranslation::translateImpl(DIFileAttr attr) {
@@ -185,7 +186,8 @@ DebugTranslation::translateImpl(DILocalVariableAttr attr) {
       llvmCtx, translate(attr.getScope()), getMDStringOrNull(attr.getName()),
       translate(attr.getFile()), attr.getLine(), translate(attr.getType()),
       attr.getArg(),
-      /*Flags=*/llvm::DINode::FlagZero, attr.getAlignInBits(),
+      /*Flags=*/llvm::DINode::FlagZero, llvm::dwarf::DW_MSPACE_LLVM_none,
+      attr.getAlignInBits(),
       /*Annotations=*/nullptr);
 }
 
Loading