This revision was automatically updated to reflect the committed changes. Closed by commit rG534e23e47b03: [ThinLTO][Matrix] Forward -enable-matrix flag to the LTO plugin (authored by w2yehia). Herald added a project: clang. Herald added a subscriber: cfe-commits.
Changed prior to commit: https://reviews.llvm.org/D153583?vs=549038&id=555242#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153583/new/ https://reviews.llvm.org/D153583 Files: clang/lib/Driver/ToolChains/CommonArgs.cpp clang/test/Driver/matrix.c Index: clang/test/Driver/matrix.c =================================================================== --- /dev/null +++ clang/test/Driver/matrix.c @@ -0,0 +1,8 @@ +// RUN: touch %t.o +// RUN: %clang -flto=thin -fenable-matrix %t.o -### --target=powerpc64-ibm-aix-xcoff 2>&1 \ +// RUN: | FileCheck %s -check-prefix=CHECK-THINLTO-MATRIX-AIX +// CHECK-THINLTO-MATRIX-AIX: "-bplugin_opt:-enable-matrix" + +// RUN: %clang -flto=thin -fenable-matrix %t.o -### --target=x86_64-unknown-linux 2>&1 \ +// RUN: | FileCheck %s -check-prefix=CHECK-THINLTO-MATRIX +// CHECK-THINLTO-MATRIX: "-plugin-opt=-enable-matrix" Index: clang/lib/Driver/ToolChains/CommonArgs.cpp =================================================================== --- clang/lib/Driver/ToolChains/CommonArgs.cpp +++ clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -680,6 +680,12 @@ else if (IsThinLTO && IsOSAIX) CmdArgs.push_back(Args.MakeArgString(Twine("-bdbg:thinlto"))); + // Matrix intrinsic lowering happens at link time with ThinLTO. Enable + // LowerMatrixIntrinsicsPass, which is transitively called by + // buildThinLTODefaultPipeline under EnableMatrix. + if (IsThinLTO && Args.hasArg(options::OPT_fenable_matrix)) + CmdArgs.push_back( + Args.MakeArgString(Twine(PluginOptPrefix) + "-enable-matrix")); StringRef Parallelism = getLTOParallelism(Args, D); if (!Parallelism.empty())
Index: clang/test/Driver/matrix.c =================================================================== --- /dev/null +++ clang/test/Driver/matrix.c @@ -0,0 +1,8 @@ +// RUN: touch %t.o +// RUN: %clang -flto=thin -fenable-matrix %t.o -### --target=powerpc64-ibm-aix-xcoff 2>&1 \ +// RUN: | FileCheck %s -check-prefix=CHECK-THINLTO-MATRIX-AIX +// CHECK-THINLTO-MATRIX-AIX: "-bplugin_opt:-enable-matrix" + +// RUN: %clang -flto=thin -fenable-matrix %t.o -### --target=x86_64-unknown-linux 2>&1 \ +// RUN: | FileCheck %s -check-prefix=CHECK-THINLTO-MATRIX +// CHECK-THINLTO-MATRIX: "-plugin-opt=-enable-matrix" Index: clang/lib/Driver/ToolChains/CommonArgs.cpp =================================================================== --- clang/lib/Driver/ToolChains/CommonArgs.cpp +++ clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -680,6 +680,12 @@ else if (IsThinLTO && IsOSAIX) CmdArgs.push_back(Args.MakeArgString(Twine("-bdbg:thinlto"))); + // Matrix intrinsic lowering happens at link time with ThinLTO. Enable + // LowerMatrixIntrinsicsPass, which is transitively called by + // buildThinLTODefaultPipeline under EnableMatrix. + if (IsThinLTO && Args.hasArg(options::OPT_fenable_matrix)) + CmdArgs.push_back( + Args.MakeArgString(Twine(PluginOptPrefix) + "-enable-matrix")); StringRef Parallelism = getLTOParallelism(Args, D); if (!Parallelism.empty())
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits