[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-21 Thread Nuri Amari via cfe-commits
https://github.com/NuriAmari updated https://github.com/llvm/llvm-project/pull/92331 >From 66ddf609c0e77867ec48c17136fb80d1e482041d Mon Sep 17 00:00:00 2001 From: Nuri Amari Date: Wed, 15 May 2024 16:33:03 -0700 Subject: [PATCH 1/6] Run ObjCContractPass in Distributed Thin-LTO Pipeline Prior

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-20 Thread Nuri Amari via cfe-commits
https://github.com/NuriAmari updated https://github.com/llvm/llvm-project/pull/92331 >From 66ddf609c0e77867ec48c17136fb80d1e482041d Mon Sep 17 00:00:00 2001 From: Nuri Amari Date: Wed, 15 May 2024 16:33:03 -0700 Subject: [PATCH 1/5] Run ObjCContractPass in Distributed Thin-LTO Pipeline Prior

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-20 Thread Steven Wu via cfe-commits
https://github.com/cachemeifyoucan approved this pull request. https://github.com/llvm/llvm-project/pull/92331 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-20 Thread Nuri Amari via cfe-commits
NuriAmari wrote: I've added the check back in, and reverted my custom check. There is too much going on in https://reviews.llvm.org/D92808 for me to quickly understand everything, but I don't see an obvious reason the check needed to be removed. @ahatanaka Please let me know if I'm missing

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-20 Thread Nuri Amari via cfe-commits
https://github.com/NuriAmari updated https://github.com/llvm/llvm-project/pull/92331 >From 66ddf609c0e77867ec48c17136fb80d1e482041d Mon Sep 17 00:00:00 2001 From: Nuri Amari Date: Wed, 15 May 2024 16:33:03 -0700 Subject: [PATCH 1/4] Run ObjCContractPass in Distributed Thin-LTO Pipeline Prior

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-20 Thread Steven Wu via cfe-commits
cachemeifyoucan wrote: > I couldn't find this check you're alluding to, so I added my own. If the > check does exist, could you point me to it? If not, does mine look > reasonable? Thanks. I was answering from my memory, now I have to check. We have this function `ModuleHasARC` which is used

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-20 Thread Nuri Amari via cfe-commits
NuriAmari wrote: > it seems like this should just be in the default codegen pipeline? you'd need > to change the pass to bail out early if there are no relevant intrinsics (by > checking if the module contains the intrinsic declaration) to not affect > compile times I've done this, and

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-20 Thread Nuri Amari via cfe-commits
@@ -101,6 +101,19 @@ class ARCRuntimeEntryPoints { llvm_unreachable("Switch should be a covered switch."); } + bool moduleContainsARCEntryPoints() { +assert(TheModule != nullptr && "Not initialized."); + +for (auto ARCInstricID : +

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-20 Thread Nuri Amari via cfe-commits
https://github.com/NuriAmari updated https://github.com/llvm/llvm-project/pull/92331 >From 66ddf609c0e77867ec48c17136fb80d1e482041d Mon Sep 17 00:00:00 2001 From: Nuri Amari Date: Wed, 15 May 2024 16:33:03 -0700 Subject: [PATCH 1/3] Run ObjCContractPass in Distributed Thin-LTO Pipeline Prior

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-20 Thread Steven Wu via cfe-commits
cachemeifyoucan wrote: > it seems like this should just be in the default codegen pipeline? you'd need > to change the pass to bail out early if there are no relevant intrinsics (by > checking if the module contains the intrinsic declaration) to not affect > compile times > it seems like

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-17 Thread Arthur Eubanks via cfe-commits
aeubanks wrote: it seems like this should just be in the default codegen pipeline? you'd need to change the pass to bail out early if there are no relevant intrinsics (by checking if the module contains the intrinsic declaration) to not affect compile times

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-17 Thread Kyungwoo Lee via cfe-commits
kyulee-com wrote: Because you now add it to `codegen` unconditionally, do you also need to delete https://github.com/llvm/llvm-project/blob/main/llvm/lib/LTO/LTOCodeGenerator.cpp#L141? https://github.com/llvm/llvm-project/pull/92331 ___ cfe-commits

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-17 Thread Nuri Amari via cfe-commits
NuriAmari wrote: > > Shouldn't this be added to the LTO code generator? In `libLTO` (used by > > Apple's linker) it is added here `llvm/lib/LTO/ThinLTOCodeGenerator.cpp` > > Presumably because the pass is likely not useful unless targeting MachO, LLD > does this via configuration hook:

[clang] [lld] [llvm] Run ObjCContractPass in Distributed Thin-LTO Pipeline (PR #92331)

2024-05-17 Thread Nuri Amari via cfe-commits
https://github.com/NuriAmari updated https://github.com/llvm/llvm-project/pull/92331 >From 66ddf609c0e77867ec48c17136fb80d1e482041d Mon Sep 17 00:00:00 2001 From: Nuri Amari Date: Wed, 15 May 2024 16:33:03 -0700 Subject: [PATCH 1/2] Run ObjCContractPass in Distributed Thin-LTO Pipeline Prior