[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2023-02-23 Thread Paul Kirth via Phabricator via cfe-commits
paulkirth commandeered this revision. paulkirth edited reviewers, added: arda; removed: paulkirth. paulkirth added a comment. I'll be updating this patch soon with a rebased version. Likely that will need to be split up into a series of smaller patches. There is also some design work that needs

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-29 Thread Arda Unal via Phabricator via cfe-commits
arda marked an inline comment as done. arda added inline comments. Comment at: llvm/lib/Bitcode/Writer/EmbedBitcodePass.cpp:26 + +PreservedAnalyses EmbedBitcodePass::run(Module &M, ModuleAnalysisManager &AM) { + if (M.getGlobalVariable("llvm.embedded.module", true))

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-23 Thread Arda Unal via Phabricator via cfe-commits
arda marked 2 inline comments as done. arda added inline comments. Comment at: llvm/lib/Bitcode/Writer/EmbedBitcodePass.cpp:26 + +PreservedAnalyses EmbedBitcodePass::run(Module &M, ModuleAnalysisManager &AM) { + if (M.getGlobalVariable("llvm.embedded.module", true))

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-23 Thread Sean Fertile via Phabricator via cfe-commits
sfertile added inline comments. Comment at: llvm/lib/Bitcode/Writer/EmbedBitcodePass.cpp:26 + +PreservedAnalyses EmbedBitcodePass::run(Module &M, ModuleAnalysisManager &AM) { + if (M.getGlobalVariable("llvm.embedded.module", true)) From the discourse discussion:

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-22 Thread Arda Unal via Phabricator via cfe-commits
arda marked 2 inline comments as done. arda added inline comments. Comment at: lld/ELF/InputFiles.cpp:1721 +Expected fatLTOData = IRObjectFile::findBitcodeInMemBuffer(mb); +if (!errorToBool(fatLTOData.takeError())) + return make(*fatLTOData, archiveName, offsetInArc

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-22 Thread Paul Kirth via Phabricator via cfe-commits
paulkirth added a comment. I think the test strategy here needs to be: - Format checking -. llvm generates the correct object file sections when configured for fatlto 1. clang generates fatlto objects correctly (i.e. correctly sets up the codegen pipeline in llvm) Comment a

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-22 Thread Arda Unal via Phabricator via cfe-commits
arda added inline comments. Comment at: lld/test/ELF/fatlto/fatlto.test:4-6 +; clang -c -ffat-lto-objects -o a-fatLTO.o a.c +; clang -c -ffat-lto-objects -o main-fatLTO.o main.c +; clang -c a.c main.c phosek wrote: > LLD tests cannot depend on `clang`, that's a l

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-22 Thread Arda Unal via Phabricator via cfe-commits
arda updated this revision to Diff 454585. arda marked 9 inline comments as done. arda added a comment. Herald added a subscriber: mgorny. Reimplement embed-bitcode part as a separate pass Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131618/new/ h

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-19 Thread Petr Hosek via Phabricator via cfe-commits
phosek added inline comments. Comment at: lld/test/ELF/fatlto/Inputs/a-fatLTO.yaml:23 +AddressAlign:0x1 +Content: 4243C0DE35140500620C30244D59BE669DFBB44F1BC8244401320500210C7B020B022100020016000781239141C80449061032399201840C250508191

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-19 Thread Paul Kirth via Phabricator via cfe-commits
paulkirth added inline comments. Comment at: lld/ELF/InputFiles.cpp:1721 +Expected fatLTOData = IRObjectFile::findBitcodeInMemBuffer(mb); +if (!errorToBool(fatLTOData.takeError())) + return make(*fatLTOData, archiveName, offsetInArchive, /*lazy=*/false); --

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-19 Thread Petr Hosek via Phabricator via cfe-commits
phosek added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:7125-7127 + // Currently FatLTO objects only embed ThinLTO bitcode + if (Args.hasArg(options::OPT_ffat_lto_objects)) +CmdArgs.push_back("-flto=thin"); Rather than assuming ThinL

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-19 Thread Arda Unal via Phabricator via cfe-commits
arda updated this revision to Diff 454048. arda added a comment. Invoke -flto=thin in the first stage of -ffat-lto-objects Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131618/new/ https://reviews.llvm.org/D131618 Files: clang/include/clang/Basi

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-18 Thread Paul Kirth via Phabricator via cfe-commits
paulkirth added inline comments. Comment at: llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:5080 + +void llvm::embedBitcodeInFatObject(llvm::Module &M, llvm::MemoryBufferRef Buf) { + // Save llvm.compiler.used and remove it. Since this has been merged into this comm

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-18 Thread Arda Unal via Phabricator via cfe-commits
arda updated this revision to Diff 453751. arda added a comment. Add a clang Driver test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131618/new/ https://reviews.llvm.org/D131618 Files: clang/include/clang/Basic/CodeGenOptions.def clang/inclu

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-18 Thread Arda Unal via Phabricator via cfe-commits
arda updated this revision to Diff 453550. arda added a comment. Use obj2yaml and yaml2obj to avoid unreadable object files Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131618/new/ https://reviews.llvm.org/D131618 Files: clang/include/clang/Bas

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-17 Thread Arda Unal via Phabricator via cfe-commits
arda updated this revision to Diff 453386. arda added a comment. Replace section name from .fatlto to .llvm.lto Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131618/new/ https://reviews.llvm.org/D131618 Files: clang/include/clang/Basic/CodeGenOp

[PATCH] D131618: [WIP][Do NOT review] LLD related changes for -ffat-lto-objects support

2022-08-17 Thread Arda Unal via Phabricator via cfe-commits
arda updated this revision to Diff 453345. arda added a comment. Herald added subscribers: cfe-commits, aheejin. Herald added a project: clang. Add clang and llvm related changes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D131618/new/ https://rev