Page MenuHomePhabricator

SchrodingerZhu (Schrodinger ZHU Yifan)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 28 2021, 2:56 AM (36 w, 20 h)

Recent Activity

Wed, Jul 20

SchrodingerZhu added a comment to D129009: [ThinLTO] Support aliased GlobalIFunc.

Hi, is there anything else I should do for this patch?

Wed, Jul 20, 6:59 AM · Restricted Project, Restricted Project, Restricted Project

Sun, Jul 10

SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

This commit addresses issues mentioned in code reviews:

Sun, Jul 10, 6:14 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the summary of D129009: [ThinLTO] Support aliased GlobalIFunc.
Sun, Jul 10, 5:43 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

This commit addresses problems mentioned in code reviews:

Sun, Jul 10, 6:25 AM · Restricted Project, Restricted Project, Restricted Project

Jul 7 2022

SchrodingerZhu added a comment to D129009: [ThinLTO] Support aliased GlobalIFunc.

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.

Jul 7 2022, 2:31 AM · Restricted Project, Restricted Project, Restricted Project

Jul 6 2022

SchrodingerZhu added a reviewer for D129009: [ThinLTO] Support aliased GlobalIFunc: craig.topper.
Jul 6 2022, 7:24 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu added reviewers for D129009: [ThinLTO] Support aliased GlobalIFunc: nikic, Northbadge.
Jul 6 2022, 7:23 PM · Restricted Project, Restricted Project, Restricted Project

Jul 5 2022

SchrodingerZhu added a comment to D129009: [ThinLTO] Support aliased GlobalIFunc.

@MaskRay PTAL

Jul 5 2022, 5:41 AM · Restricted Project, Restricted Project, Restricted Project

Jul 2 2022

SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

typo

Jul 2 2022, 3:26 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

more clean ups for ifunc logic

Jul 2 2022, 3:25 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu added a comment to D129009: [ThinLTO] Support aliased GlobalIFunc.
Jul 2 2022, 12:04 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

fix test arg

Jul 2 2022, 12:02 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

fix test arg

Jul 2 2022, 12:00 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

enlarge test and fix accordingly

Jul 2 2022, 11:59 AM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

fix typo

Jul 2 2022, 11:26 AM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

fix more

Jul 2 2022, 11:23 AM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

fix liveness of resolvers

Jul 2 2022, 10:30 AM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu added a comment to D129009: [ThinLTO] Support aliased GlobalIFunc.

The LTO problem is fixed but thinlto is not fully resolved:

Jul 2 2022, 9:03 AM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.
  • format
Jul 2 2022, 8:48 AM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.
  • stage
  • stage
  • fix lto
Jul 2 2022, 8:45 AM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu added a comment to D129009: [ThinLTO] Support aliased GlobalIFunc.

@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,pl -r %t.bc,baz,pl -o %t2
; RUN: llvm-nm %t2.1 | FileCheck %s
; CHECK: i foo
; CHECK: t foo_resolver
; CHECK: i bar
; CHECK: i baz

gives me another crash at LTO stage:

 #0 0x000056128a37edb9 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/schrodinger/Documents/llvm-project/llvm/cmake-build-minsizerel/bin/llvm-lto2+0x1bb4db9)
 #1 0x000056128a37ef6e SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f0ba5506150 (/usr/lib/libc.so.6+0x42150)
 #3 0x000056128a6dcdd7 std::_Function_handler<bool (llvm::GlobalValue const&), llvm::thinLTOInternalizeModule(llvm::Module&, llvm::DenseMap<unsigned long, llvm::GlobalValueSummary*, llvm::DenseMapInfo<unsigned long, void>, llvm::detail::DenseMapPair<unsigned long, llvm::GlobalValueSummary*>> const&)::$_4>::_M_invoke(std::_Any_data const&, llvm::GlobalValue const&) FunctionImport.cpp:0:0
 #4 0x000056128a7073fe llvm::InternalizePass::maybeInternalize(llvm::GlobalValue&, llvm::DenseMap<llvm::Comdat const*, llvm::InternalizePass::ComdatInfo, llvm::DenseMapInfo<llvm::Comdat const*, void>, llvm::detail::DenseMapPair<llvm::Comdat const*, llvm::InternalizePass::ComdatInfo>>&) (/home/schrodinger/Documents/llvm-project/llvm/cmake-build-minsizerel/bin/llvm-lto2+0x1f3d3fe)
 #5 0x000056128a707990 llvm::InternalizePass::internalizeModule(llvm::Module&, llvm::CallGraph*) (/home/schrodinger/Documents/llvm-project/llvm/cmake-build-minsizerel/bin/llvm-lto2+0x1f3d990)
 #6 0x000056128a6d9df0 llvm::thinLTOInternalizeModule(llvm::Module&, llvm::DenseMap<unsigned long, llvm::GlobalValueSummary*, llvm::DenseMapInfo<unsigned long, void>, llvm::detail::DenseMapPair<unsigned long, llvm::GlobalValueSummary*>> const&) (/home/schrodinger/Documents/llvm-project/llvm/cmake-build-minsizerel/bin/llvm-lto2+0x1f0fdf0)
 #7 0x000056128a181dba llvm::lto::thinBackend(llvm::lto::Config const&, unsigned int, std::function<llvm::Expected<std::unique_ptr<llvm::CachedFileStream, std::default_delete<llvm::CachedFileStream>>> (unsigned int)>, llvm::Module&, llvm::ModuleSummaryIndex const&, llvm::StringMap<std::unordered_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long>>, llvm::MallocAllocator> const&, llvm::DenseMap<unsigned long, llvm::GlobalValueSummary*, llvm::DenseMapInfo<unsigned long, void>, llvm::detail::DenseMapPair<unsigned long, llvm::GlobalValueSummary*>> const&, llvm::MapVector<llvm::StringRef, llvm::BitcodeModule, llvm::DenseMap<llvm::StringRef, unsigned int, llvm::DenseMapInfo<llvm::StringRef, void>, llvm::detail::DenseMapPair<llvm::StringRef, unsigned int>>, std::vector<std::pair<llvm::StringRef, llvm::BitcodeModule>, std::allocator<std::pair<llvm::StringRef, llvm::BitcodeModule>>>>*, std::vector<unsigned char, std::allocator<unsigned char>> const&) (/home/schrodinger/Documents/llvm-project/llvm/cmake-build-minsizerel/bin/llvm-lto2+0x19b7dba)
 #8 0x000056128a17d8b0 (anonymous namespace)::InProcessThinBackend::runThinLTOBackendThread(std::function<llvm::Expected<std::unique_ptr<llvm::CachedFileStream, std::default_delete<llvm::CachedFileStream>>> (unsigned int)>, std::function<llvm::Expected<std::function<llvm::Expected<std::unique_ptr<llvm::CachedFileStream, std::default_delete<llvm::CachedFileStream>>> (unsigned int)>> (unsigned int, llvm::StringRef)>, unsigned int, llvm::BitcodeModule, llvm::ModuleSummaryIndex&, llvm::StringMap<std::unordered_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long>>, llvm::MallocAllocator> const&, llvm::DenseSet<llvm::ValueInfo, llvm::DenseMapInfo<llvm::ValueInfo, void>> const&, std::map<unsigned long, llvm::GlobalValue::LinkageTypes, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, llvm::GlobalValue::LinkageTypes>>> const&, llvm::DenseMap<unsigned long, llvm::GlobalValueSummary*, llvm::DenseMapInfo<unsigned long, void>, llvm::detail::DenseMapPair<unsigned long, llvm::GlobalValueSummary*>> const&, llvm::MapVector<llvm::StringRef, llvm::BitcodeModule, llvm::DenseMap<llvm::StringRef, unsigned int, llvm::DenseMapInfo<llvm::StringRef, void>, llvm::detail::DenseMapPair<llvm::StringRef, unsigned int>>, std::vector<std::pair<llvm::StringRef, llvm::BitcodeModule>, std::allocator<std::pair<llvm::StringRef, llvm::BitcodeModule>>>>&)::'lambda'(std::function<llvm::Expected<std::unique_ptr<llvm::CachedFileStream, std::default_delete<llvm::CachedFileStream>>> (unsigned int)>)::operator()(std::function<llvm::Expected<std::unique_ptr<llvm::CachedFileStream, std::default_delete<llvm::CachedFileStream>>> (unsigned int)>) const LTO.cpp:0:0
 #9 0x000056128a17d1fa std::_Function_handler<void (), std::_Bind<(anonymous namespace)::InProcessThinBackend::start(unsigned int, llvm::BitcodeModule, llvm::StringMap<std::unordered_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long>>, llvm::MallocAllocator> const&, llvm::DenseSet<llvm::ValueInfo, llvm::DenseMapInfo<llvm::ValueInfo, void>> const&, std::map<unsigned long, llvm::GlobalValue::LinkageTypes, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, llvm::GlobalValue::LinkageTypes>>> const&, llvm::MapVector<llvm::StringRef, llvm::BitcodeModule, llvm::DenseMap<llvm::StringRef, unsigned int, llvm::DenseMapInfo<llvm::StringRef, void>, llvm::detail::DenseMapPair<llvm::StringRef, unsigned int>>, std::vector<std::pair<llvm::StringRef, llvm::BitcodeModule>, std::allocator<std::pair<llvm::StringRef, llvm::BitcodeModule>>>>&)::'lambda'(llvm::BitcodeModule, llvm::ModuleSummaryIndex&, llvm::StringMap<std::unordered_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long>>, llvm::MallocAllocator> const&, llvm::DenseSet<llvm::ValueInfo, llvm::DenseMapInfo<llvm::ValueInfo, void>> const&, std::map<unsigned long, llvm::GlobalValue::LinkageTypes, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, llvm::GlobalValue::LinkageTypes>>> const&, llvm::DenseMap<unsigned long, llvm::GlobalValueSummary*, llvm::DenseMapInfo<unsigned long, void>, llvm::detail::DenseMapPair<unsigned long, llvm::GlobalValueSummary*>> const&, llvm::MapVector<llvm::StringRef, llvm::BitcodeModule, llvm::DenseMap<llvm::StringRef, unsigned int, llvm::DenseMapInfo<llvm::StringRef, void>, llvm::detail::DenseMapPair<llvm::StringRef, unsigned int>>, std::vector<std::pair<llvm::StringRef, llvm::BitcodeModule>, std::allocator<std::pair<llvm::StringRef, llvm::BitcodeModule>>>>&) (llvm::BitcodeModule, std::reference_wrapper<llvm::ModuleSummaryIndex>, std::reference_wrapper<llvm::StringMap<std::unordered_set<unsigned long, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<unsigned long>>, llvm::MallocAllocator> const>, std::reference_wrapper<llvm::DenseSet<llvm::ValueInfo, llvm::DenseMapInfo<llvm::ValueInfo, void>> const>, std::reference_wrapper<std::map<unsigned long, llvm::GlobalValue::LinkageTypes, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, llvm::GlobalValue::LinkageTypes>>> const>, std::reference_wrapper<llvm::DenseMap<unsigned long, llvm::GlobalValueSummary*, llvm::DenseMapInfo<unsigned long, void>, llvm::detail::DenseMapPair<unsigned long, llvm::GlobalValueSummary*>> const>, std::reference_wrapper<llvm::MapVector<llvm::StringRef, llvm::BitcodeModule, llvm::DenseMap<llvm::StringRef, unsigned int, llvm::DenseMapInfo<llvm::StringRef, void>, llvm::detail::DenseMapPair<llvm::StringRef, unsigned int>>, std::vector<std::pair<llvm::StringRef, llvm::BitcodeModule>, std::allocator<std::pair<llvm::StringRef, llvm::BitcodeModule>>>>>)>>::_M_invoke(std::_Any_data const&) LTO.cpp:0:0
#10 0x000056128a17c851 void std::__invoke_impl<void, llvm::ThreadPool::createTaskAndFuture(std::function<void ()>)::'lambda'()&>(std::__invoke_other, llvm::ThreadPool::createTaskAndFuture(std::function<void ()>)::'lambda'()&) (/home/schrodinger/Documents/llvm-project/llvm/cmake-build-minsizerel/bin/llvm-lto2+0x19b2851)
#11 0x000056128a33eed1 llvm::ThreadPool::processTasks(llvm::ThreadPoolTaskGroup*) (/home/schrodinger/Documents/llvm-project/llvm/cmake-build-minsizerel/bin/llvm-lto2+0x1b74ed1)
Jul 2 2022, 7:29 AM · Restricted Project, Restricted Project, Restricted Project

Jul 1 2022

SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.
  • adjust comment
Jul 1 2022, 7:10 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.
  • move to proper place
Jul 1 2022, 7:01 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.
  • address cr: use IR instead
Jul 1 2022, 6:57 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.
  • address cr: code brace
Jul 1 2022, 6:50 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.
  • specify target
Jul 1 2022, 6:45 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu added a comment to D129009: [ThinLTO] Support aliased GlobalIFunc.

Sorry for the noise during the process. I am really new to LLVM.

Jul 1 2022, 5:44 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.
  • adjust run arg
Jul 1 2022, 5:43 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

address CR

Jul 1 2022, 5:40 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

address CR

Jul 1 2022, 5:39 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

undo wrong patch

Jul 1 2022, 5:16 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

address CR

Jul 1 2022, 5:13 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

address CR

Jul 1 2022, 5:12 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu abandoned D129029: address cr.
Jul 1 2022, 5:10 PM · Restricted Project, Restricted Project
SchrodingerZhu requested review of D129029: address cr.
Jul 1 2022, 5:09 PM · Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

fix integration test

Jul 1 2022, 1:41 PM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the summary of D129009: [ThinLTO] Support aliased GlobalIFunc.
Jul 1 2022, 11:49 AM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu retitled D129009: [ThinLTO] Support aliased GlobalIFunc from [Analysis] Fix LTO for aliased IFuncs. to [Analysis][LTO] Fix LTO for aliased IFuncs..
Jul 1 2022, 11:47 AM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.

update code area

Jul 1 2022, 11:44 AM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu updated the diff for D129009: [ThinLTO] Support aliased GlobalIFunc.
  1. Updating D129009: [llvm.analysis] Fix LTO for aliased IFuncs.
Jul 1 2022, 11:38 AM · Restricted Project, Restricted Project, Restricted Project
SchrodingerZhu requested review of D129009: [ThinLTO] Support aliased GlobalIFunc.
Jul 1 2022, 11:32 AM · Restricted Project, Restricted Project, Restricted Project