| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[LinkerWrapper] Extend with usual pass options (#96704) The goal of this patch is to enable utilizing LLVM plugin passes and remarks for GPU offload code at link time. Specifically, this patch extends clang-linker-wrapper's --offload-opt (and consequently -mllvm) to accept the various LLVM pass options that tools like opt usually accept. Those options include --passes, --load-pass-plugin, and various remarks options. Unlike many other LLVM options that are inherited from linked code by clang-linker-wrapper (e.g., -pass-remarks is already implemented in llvm/lib/IR/DiagnosticHandler.cpp), these options are implemented separately as needed by each tool (e.g., opt, llc). Fortunately, this patch is able to handle most of the implementation by passing the option values to lto::Config. For testing plugin support, this patch uses the simple Bye plugin from LLVM core, but that requires several small Clang test suite config extensions. | 2 年前 | |
[ClangLinkerWrapper] Fix intermediate file naming for multi-arch compilation (#99325) When save-temps is enabled and the given offload-archs differ only in target features with the same arch, the intermediate postlink.bc and postopt.bc files were getting overwritten. This fix, suffixes the intermediate file names with the complete TargetID. E.g. helloworld.amdgcn-amd-amdhsa.gfx90a:xnack+.postlink.bc and helloworld.amdgcn-amd-amdhsa.gfx90a:xnack+.postopt.bc | 2 年前 | |
[LinkerWrapper] Extend with usual pass options (#96704) The goal of this patch is to enable utilizing LLVM plugin passes and remarks for GPU offload code at link time. Specifically, this patch extends clang-linker-wrapper's --offload-opt (and consequently -mllvm) to accept the various LLVM pass options that tools like opt usually accept. Those options include --passes, --load-pass-plugin, and various remarks options. Unlike many other LLVM options that are inherited from linked code by clang-linker-wrapper (e.g., -pass-remarks is already implemented in llvm/lib/IR/DiagnosticHandler.cpp), these options are implemented separately as needed by each tool (e.g., opt, llc). Fortunately, this patch is able to handle most of the implementation by passing the option values to lto::Config. For testing plugin support, this patch uses the simple Bye plugin from LLVM core, but that requires several small Clang test suite config extensions. | 2 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 |