[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-20 Thread Fangrui Song via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG304027206c88: [ThinLTO] Support aliased GlobalIFunc (authored by SchrodingerZhu, committed by MaskRay). Changed prior to commit:

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-20 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay updated this revision to Diff 446277. MaskRay added a comment. Add blank lines remove trailing whitespace Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files:

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-20 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment. In D129009#3665664 , @SchrodingerZhu wrote: > Hi, is there anything else I should do for this patch? There is no. I am waiting a bit to collect more response. I'll do some testing and push this. Thanks for your contribution.

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-20 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu added a comment. Hi, is there anything else I should do for this patch? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 ___ cfe-commits mailing

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-10 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 443536. SchrodingerZhu added a comment. This commit addresses issues mentioned in code reviews: - change applyAlongResolverPath to use reference since the pointer is supposed to be non-null. - update test format to align check rules under the same

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-10 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay accepted this revision. MaskRay added a comment. This revision is now accepted and ready to land. As https://github.com/llvm/llvm-project/issues/56290 indicates, when an ifunc is aliased in LTO, clang will attempt to create an alias summary; however, as ifunc is not included in the

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-10 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 443503. SchrodingerZhu marked 5 inline comments as done. SchrodingerZhu added a comment. This commit addresses problems mentioned in code reviews: - Fix format and wording for comments - Add more checks with llvm-dis - Adjust code styles for function

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-07 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added inline comments. Comment at: llvm/test/LTO/Resolution/X86/alias-indirect-function-lto.ll:15 + +@foo = ifunc i32 (i32), i32 (i32)* ()* @foo_resolver + Replace all these `xxx*` to `ptr` (opaque pointers). See recent clang's codegen. Repository:

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-07 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment. OK, I think the approach is fine. Comment at: llvm/include/llvm/IR/GlobalIFunc.h:97 + + /// Method to apply specific operation to all resolver-related values. + /// If resolver target is already a global object, then apply the operation to

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-07 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu added a comment. First of all, I am really sorry about the noise and the misbehavior here. I have to admit that some of the changes here are because I am still in the way of getting familiar with the patch system. I apologize for being careless in the progress. > I don't know

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-07 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment. I feel obliged to point out that the sheer number of updates is too large. Every update triggers an email to all reviewers and subscribers, so please be mindful. Personally I don't mind how many updates I receive, but others may do. It's usually not too bad to have too

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-05 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu added a comment. @MaskRay PTAL Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441906. SchrodingerZhu added a comment. typo Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files: llvm/include/llvm/IR/GlobalIFunc.h

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441905. SchrodingerZhu added a comment. more clean ups for ifunc logic Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files:

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu marked an inline comment as done. SchrodingerZhu added a comment. ThinLTO with IFUNC is still Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441899. SchrodingerZhu added a comment. fix test arg Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441898. SchrodingerZhu added a comment. fix test arg Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441897. SchrodingerZhu added a comment. enlarge test and fix accordingly Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files:

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441895. SchrodingerZhu added a comment. fix typo Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441894. SchrodingerZhu added a comment. fix more Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441891. SchrodingerZhu added a comment. fix liveness of resolvers Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files:

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu added a comment. The LTO problem is fixed but thinlto is not fully resolved: /home/schrodinger/Documents/llvm-project/llvm/cmake-build-debug/bin/clang test.c -o test -flto=thin -sha red -fuse-ld=lld IFunc resolver must be a definition ptr @f LLVM ERROR: Broken module

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441887. SchrodingerZhu added a comment. - format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441886. SchrodingerZhu added a comment. - stage - stage - fix lto Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files:

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu added a comment. @MaskRay unfortunately and fortunately, extending the test case to ; RUN: opt -module-summary -o %t.bc %s ; RUN: llvm-lto2 run %t.bc -r %t.bc,foo,pl -r %t.bc,bar,px -r %t.bc,baz,px -o %t2 ; RUN: llvm-nm %t2.1 | FileCheck %s ; CHECK: i foo ; CHECK: t

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-02 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added inline comments. Comment at: llvm/test/LTO/Resolution/X86/alias-indirect-function-lto.ll:1 +; RUN: opt -module-summary -o %t.bc %s + Testing a command does not crash does not make good use of the test. Please check basic properties. And add a

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441850. SchrodingerZhu added a comment. - adjust comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441849. SchrodingerZhu added a comment. - move to proper place Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files:

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441848. SchrodingerZhu added a comment. - address cr: use IR instead Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files:

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441846. SchrodingerZhu added a comment. - address cr: code brace Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files:

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay requested changes to this revision. MaskRay added inline comments. This revision now requires changes to proceed. Comment at: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp:655 + if (isa(Aliasee)) { +return; + }

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441844. SchrodingerZhu added a comment. - specify target Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu added a comment. Sorry for the noise during the process. I am really new to LLVM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 ___

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441830. SchrodingerZhu added a comment. - adjust run arg Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441829. SchrodingerZhu added a comment. address CR Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441828. SchrodingerZhu edited the summary of this revision. SchrodingerZhu added a comment. address CR Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files:

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441821. SchrodingerZhu added a comment. undo wrong patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files:

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441820. SchrodingerZhu added a comment. address CR Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Schrodinger ZHU Yifan via Phabricator via cfe-commits
SchrodingerZhu updated this revision to Diff 441819. SchrodingerZhu added a comment. address CR Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129009/new/ https://reviews.llvm.org/D129009 Files: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Nikita Popov via Phabricator via cfe-commits
nikic added inline comments. Comment at: llvm/lib/Analysis/ModuleSummaryAnalysis.cpp:654 + // summary for aliasee will not be emitted. + if (Aliasee->getValueID() != Value::ValueTy::GlobalIFuncVal) { +bool NonRenamableLocal = isNonRenamableLocal(A);

[PATCH] D129009: [LTO] Fix LTO for aliased IFuncs

2022-07-01 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment. > As https://github.com/llvm/llvm-project/issues/56290 indicates Write the description, followed by `Fix(es)? https://github.com/llvm/llvm-project/issues/56290` on a separate line. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION