Page MenuHomePhabricator

sdmitriev (Sergey Dmitriev)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 7 2016, 2:42 PM (197 w, 3 d)

Recent Activity

Jul 27 2020

sdmitriev committed rGbec77ece1489: [CallGraph] Preserve call records vector when replacing call edge (authored by sdmitriev).
[CallGraph] Preserve call records vector when replacing call edge
Jul 27 2020, 6:17 AM
sdmitriev closed D84295: [CallGraph] Preserve call records vector when replacing call edge.
Jul 27 2020, 6:16 AM · Restricted Project
sdmitriev updated the diff for D84295: [CallGraph] Preserve call records vector when replacing call edge.
Jul 27 2020, 12:41 AM · Restricted Project
sdmitriev updated the diff for D84295: [CallGraph] Preserve call records vector when replacing call edge.

Added unit test for the CallGraphNode::replaceCallEdge() change. Without this change test finishes with an assertion on windows debug build.

Jul 27 2020, 12:21 AM · Restricted Project

Jul 22 2020

sdmitriev added a comment to D84295: [CallGraph] Preserve call records vector when replacing call edge.

Yes, exactly. If the number of callbacks is the same we can avoid invalidating iterators. I assume that should really cover most of the cases.

Jul 22 2020, 7:46 PM · Restricted Project
sdmitriev updated the diff for D84295: [CallGraph] Preserve call records vector when replacing call edge.
Jul 22 2020, 2:02 AM · Restricted Project
Herald added a project to D84295: [CallGraph] Preserve call records vector when replacing call edge: Restricted Project.
Jul 22 2020, 1:41 AM · Restricted Project

Jul 13 2020

sdmitriev accepted D83718: [CallGraph] Update callback call sites in RefreshCallGraph.

LGTM

Jul 13 2020, 4:42 PM · Restricted Project

Jul 1 2020

sdmitriev committed rGcb8faaacb52c: [CallGraph] Add support for callback call sites (authored by sdmitriev).
[CallGraph] Add support for callback call sites
Jul 1 2020, 2:05 PM
sdmitriev closed D82572: [CallGraph] Add support for callback call sites.
Jul 1 2020, 2:05 PM · Restricted Project

Jun 28 2020

sdmitriev updated the diff for D82572: [CallGraph] Add support for callback call sites.

Rebase after committing NFC patch (D82686).

Jun 28 2020, 8:52 PM · Restricted Project
sdmitriev committed rG1becd298b82e: [NFC] CallGraph related cleanup (authored by sdmitriev).
[NFC] CallGraph related cleanup
Jun 28 2020, 4:06 PM
sdmitriev closed D82686: [NFC] CallGraph related cleanup.
Jun 28 2020, 4:06 PM · Restricted Project

Jun 26 2020

sdmitriev added a comment to D82572: [CallGraph] Add support for callback call sites.

Sure, I have separated NFC changes to D82686.

Jun 26 2020, 2:41 PM · Restricted Project
sdmitriev created D82686: [NFC] CallGraph related cleanup.
Jun 26 2020, 2:41 PM · Restricted Project
sdmitriev added inline comments to D82572: [CallGraph] Add support for callback call sites.
Jun 26 2020, 9:17 AM · Restricted Project

Jun 25 2020

sdmitriev updated the diff for D82572: [CallGraph] Add support for callback call sites.
Jun 25 2020, 7:08 PM · Restricted Project
sdmitriev added inline comments to D82572: [CallGraph] Add support for callback call sites.
Jun 25 2020, 6:02 PM · Restricted Project
sdmitriev updated the diff for D82572: [CallGraph] Add support for callback call sites.

One more fix for pre-merge check issues.

Jun 25 2020, 2:44 PM · Restricted Project
sdmitriev updated the diff for D82572: [CallGraph] Add support for callback call sites.

Fixed 'clang-format' issue reported by pre-merge checks.

Jun 25 2020, 10:13 AM · Restricted Project
sdmitriev created D82572: [CallGraph] Add support for callback call sites.
Jun 25 2020, 9:07 AM · Restricted Project

May 12 2020

sdmitriev committed rG32f5ee830b0f: [Attributor] Fixup block addresses after rewriting function signature (authored by sdmitriev).
[Attributor] Fixup block addresses after rewriting function signature
May 12 2020, 2:00 PM
sdmitriev closed D79801: [Attributor] Fixup block addresses after rewriting function signature.
May 12 2020, 2:00 PM · Restricted Project
sdmitriev created D79801: [Attributor] Fixup block addresses after rewriting function signature.
May 12 2020, 1:27 PM · Restricted Project

May 11 2020

sdmitriev committed rG3df40007e631: [Attributor] Fix for a crash on RAUW when rewriting function signature (authored by sdmitriev).
[Attributor] Fix for a crash on RAUW when rewriting function signature
May 11 2020, 8:35 AM
sdmitriev closed D79680: [Attributor] Fix for a crash on RAUW when rewriting function signature.
May 11 2020, 8:35 AM · Restricted Project

May 9 2020

sdmitriev created D79680: [Attributor] Fix for a crash on RAUW when rewriting function signature.
May 9 2020, 5:01 PM · Restricted Project

May 4 2020

sdmitriev committed rGf637334df93f: [CallGraphUpdater] Removed references to calles when deleting function (authored by sdmitriev).
[CallGraphUpdater] Removed references to calles when deleting function
May 4 2020, 7:23 PM
sdmitriev closed D79382: [CallGraphUpdater] Removed references to calles when deleting function.
May 4 2020, 7:23 PM · Restricted Project
sdmitriev created D79382: [CallGraphUpdater] Removed references to calles when deleting function.
May 4 2020, 5:46 PM · Restricted Project

May 3 2020

sdmitriev committed rG0f70f733080e: [Attributor] Bitcast constant to the returned value type if it has different… (authored by sdmitriev).
[Attributor] Bitcast constant to the returned value type if it has different…
May 3 2020, 12:14 PM
sdmitriev closed D79277: [Attributor] Bitcast constant to the returned value type if it has different type.
May 3 2020, 12:13 PM · Restricted Project

May 1 2020

sdmitriev updated the diff for D79277: [Attributor] Bitcast constant to the returned value type if it has different type.
May 1 2020, 5:53 PM · Restricted Project
sdmitriev added inline comments to D79277: [Attributor] Bitcast constant to the returned value type if it has different type.
May 1 2020, 5:37 PM · Restricted Project
sdmitriev created D79277: [Attributor] Bitcast constant to the returned value type if it has different type.
May 1 2020, 5:18 PM · Restricted Project

Apr 30 2020

sdmitriev committed rGcfea3dc10214: [AbstractCallSite] Look though constant cast expression when checking for… (authored by sdmitriev).
[AbstractCallSite] Look though constant cast expression when checking for…
Apr 30 2020, 3:39 PM
sdmitriev closed D79188: [AbstractCallSite] Look though constant cast expression when checking for callee use.
Apr 30 2020, 3:39 PM · Restricted Project
sdmitriev created D79188: [AbstractCallSite] Look though constant cast expression when checking for callee use.
Apr 30 2020, 11:15 AM · Restricted Project

Apr 25 2020

sdmitriev committed rG67aed1469b0f: [Attributor] Do not set 'returned' attribute for arguments that cannot be… (authored by sdmitriev).
[Attributor] Do not set 'returned' attribute for arguments that cannot be…
Apr 25 2020, 10:05 AM
sdmitriev closed D78828: [Attributor] Do not set 'returned' attribute for arguments that cannot be bitcasted to function result.
Apr 25 2020, 10:04 AM · Restricted Project

Apr 24 2020

sdmitriev created D78828: [Attributor] Do not set 'returned' attribute for arguments that cannot be bitcasted to function result.
Apr 24 2020, 12:59 PM · Restricted Project

Apr 14 2020

sdmitriev committed rGc1a9dd9aea49: [AbstractCallSite] Check that callback callee index is within call arguments (authored by sdmitriev).
[AbstractCallSite] Check that callback callee index is within call arguments
Apr 14 2020, 9:40 AM
sdmitriev closed D78112: [AbstractCallSite] Check that callback callee index is within call arguments.
Apr 14 2020, 9:39 AM · Restricted Project
sdmitriev created D78112: [AbstractCallSite] Check that callback callee index is within call arguments.
Apr 14 2020, 8:33 AM · Restricted Project

Jan 30 2020

sdmitriev committed rG5be2ca29217a: [Clang][Bundler][NFC] Replace SmallString<...> with StringRef (authored by sdmitriev).
[Clang][Bundler][NFC] Replace SmallString<...> with StringRef
Jan 30 2020, 12:55 PM
sdmitriev closed D73738: [Clang][Bundler][NFC] Replace SmallString<...> with StringRef.
Jan 30 2020, 12:54 PM · Restricted Project
sdmitriev created D73738: [Clang][Bundler][NFC] Replace SmallString<...> with StringRef.
Jan 30 2020, 12:43 PM · Restricted Project
sdmitriev committed rG36bfdb7096cf: [Clang][Driver] Disable llvm passes for the first host OpenMP offload… (authored by sdmitriev).
[Clang][Driver] Disable llvm passes for the first host OpenMP offload…
Jan 30 2020, 10:31 AM
sdmitriev closed D73721: [Clang][Driver] Disable llvm passes for the first host OpenMP offload compilation.
Jan 30 2020, 10:30 AM · Restricted Project
sdmitriev created D73721: [Clang][Driver] Disable llvm passes for the first host OpenMP offload compilation.
Jan 30 2020, 9:29 AM · Restricted Project
sdmitriev committed rGc53cb2bdc78e: [Clang][Bundler] Reduce fat object size (authored by sdmitriev).
[Clang][Bundler] Reduce fat object size
Jan 30 2020, 8:32 AM
sdmitriev added a reverting change for D65819: [Driver][Bundler] Improve bundling of object files.: rGc53cb2bdc78e: [Clang][Bundler] Reduce fat object size.
Jan 30 2020, 8:32 AM · Restricted Project, Restricted Project
sdmitriev closed D73642: [Clang][Bundler] Reduce fat object size.
Jan 30 2020, 8:32 AM · Restricted Project
sdmitriev added a comment to D73642: [Clang][Bundler] Reduce fat object size.

@ABataev, do you have any additional comments?

Jan 30 2020, 7:45 AM · Restricted Project

Jan 29 2020

sdmitriev added inline comments to D73642: [Clang][Bundler] Reduce fat object size.
Jan 29 2020, 1:40 PM · Restricted Project
sdmitriev updated the diff for D73642: [Clang][Bundler] Reduce fat object size.

Addressed review comments.

Jan 29 2020, 1:40 PM · Restricted Project
sdmitriev updated the diff for D73642: [Clang][Bundler] Reduce fat object size.

Addressed review comments.

Jan 29 2020, 1:13 PM · Restricted Project
sdmitriev created D73642: [Clang][Bundler] Reduce fat object size.
Jan 29 2020, 9:58 AM · Restricted Project
sdmitriev added a reverting change for D65819: [Driver][Bundler] Improve bundling of object files.: D73642: [Clang][Bundler] Reduce fat object size.
Jan 29 2020, 9:58 AM · Restricted Project, Restricted Project
sdmitriev committed rG6e82d0dfd8df: [Clang][Bundler] Add 'exclude' flag to target objects sections (authored by sdmitriev).
[Clang][Bundler] Add 'exclude' flag to target objects sections
Jan 29 2020, 9:03 AM
sdmitriev closed D73408: [Clang][Bundler] Add 'exclude' flag to target objects sections.
Jan 29 2020, 9:03 AM · Restricted Project
sdmitriev added a comment to D73408: [Clang][Bundler] Add 'exclude' flag to target objects sections.

Any additional comments?

Jan 29 2020, 8:16 AM · Restricted Project

Jan 27 2020

sdmitriev updated the diff for D73408: [Clang][Bundler] Add 'exclude' flag to target objects sections.

Addressed review comments.

Jan 27 2020, 1:57 PM · Restricted Project
sdmitriev added inline comments to D73408: [Clang][Bundler] Add 'exclude' flag to target objects sections.
Jan 27 2020, 1:49 PM · Restricted Project
sdmitriev added inline comments to D72128: [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections.
Jan 27 2020, 6:58 AM · Restricted Project

Jan 25 2020

sdmitriev created D73408: [Clang][Bundler] Add 'exclude' flag to target objects sections.
Jan 25 2020, 1:23 AM · Restricted Project

Jan 24 2020

sdmitriev committed rGf69eba07726a: [llvm-objcopy][COFF] Add support for --set-section-flags (authored by sdmitriev).
[llvm-objcopy][COFF] Add support for --set-section-flags
Jan 24 2020, 7:18 AM
sdmitriev closed D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.
Jan 24 2020, 7:18 AM · Restricted Project
sdmitriev updated the diff for D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.

Addressed comments.

Jan 24 2020, 5:55 AM · Restricted Project
sdmitriev updated the diff for D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.

Updated documentation change.

Jan 24 2020, 4:34 AM · Restricted Project
sdmitriev added inline comments to D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.
Jan 24 2020, 3:40 AM · Restricted Project
sdmitriev updated the diff for D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.

Addressed review comments.

Jan 24 2020, 3:31 AM · Restricted Project

Jan 23 2020

sdmitriev updated the diff for D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.

Updated documentation change.

Jan 23 2020, 8:53 PM · Restricted Project
sdmitriev updated the diff for D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.

Addressed review comments.

Jan 23 2020, 8:23 PM · Restricted Project
sdmitriev added a comment to D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.

The new exclude flag is pretty ELF-centric as things stand. I don't know if there's an equivalent COFF section characteristic that really maps to it. If not, we should either a) reject it, or b) accept it and do nothing with it except perhaps clear the flags. I tentatively prefer b) for simplicity, but regardless it should at least be tested. What do others think?

Jan 23 2020, 8:37 AM · Restricted Project

Jan 22 2020

sdmitriev updated the diff for D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.

Updated patch to match GNU binutils behavior.

Jan 22 2020, 8:06 PM · Restricted Project
sdmitriev added a comment to D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.

Can you check (or did you already?) whether this matches how GNU objcopy behaves (for the cases in GNU objcopy that seem intentional/sensible at least)?

Yes, I verified that mingw objcopy produces the same results for all tests from llvm/test/tools/llvm-objcopy/COFF/set-section-flags.test except tests error messages and new "exclude" flag. But I did not check what flags it preserves .

Ok - as @MaskRay asked about that, can you test which flags are preserved and which dropped implicitly as well?

Jan 22 2020, 4:37 PM · Restricted Project
sdmitriev added a comment to D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.

Can you check (or did you already?) whether this matches how GNU objcopy behaves (for the cases in GNU objcopy that seem intentional/sensible at least)?

Jan 22 2020, 7:12 AM · Restricted Project

Jan 21 2020

sdmitriev updated the diff for D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.

Addressed review comments.

Jan 21 2020, 6:20 PM · Restricted Project
sdmitriev added inline comments to D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.
Jan 21 2020, 6:20 PM · Restricted Project
sdmitriev created D73107: [llvm-objcopy][COFF] Add support for --set-section-flags.
Jan 21 2020, 7:25 AM · Restricted Project

Jan 20 2020

sdmitriev committed rGe446322f73fe: [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections (authored by sdmitriev).
[llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections
Jan 20 2020, 7:28 PM
sdmitriev closed D72128: [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections.
Jan 20 2020, 7:28 PM · Restricted Project

Jan 17 2020

sdmitriev updated the diff for D72128: [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections.

Addressed review comments.

Jan 17 2020, 4:35 AM · Restricted Project
sdmitriev added inline comments to D72128: [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections.
Jan 17 2020, 2:01 AM · Restricted Project

Jan 16 2020

sdmitriev added inline comments to D72128: [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections.
Jan 16 2020, 5:27 AM · Restricted Project

Jan 15 2020

sdmitriev added inline comments to D72128: [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections.
Jan 15 2020, 11:21 PM · Restricted Project
sdmitriev updated the diff for D72128: [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections.

Rebased and addressed review comments.

Jan 15 2020, 11:21 PM · Restricted Project

Jan 4 2020

sdmitriev added a comment to D72128: [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections.

As you probably know llvm-objcopy tool is used by another tool clang-offload-wrapper for creating fat object files (when OpenMP offloading is enabled). Fat object is really just a normal host object file with few extra sections (one section per each offload target) which contain target object as data. Clang-offload-bundler uses llvm-objcopy for adding target sections to the fat output.

Does clang-offload-wrapper add SHF_EXCLUDE sections with llvm-objcopy?

Jan 4 2020, 10:44 PM · Restricted Project

Jan 3 2020

sdmitriev updated the diff for D72128: [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections.

Addressed review comment.

Jan 3 2020, 11:11 PM · Restricted Project
sdmitriev added a comment to D72128: [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections.

I'm assuming that GNU objcopy doesn't have this flag? Also, what is your use-case for adding it?

I think this is a perfectly reasonable extension to llvm-objcopy if there's a valid use-case, but in some cases it might just be more appropriate to remove the section.

Jan 3 2020, 10:52 PM · Restricted Project
Herald added a reviewer for D72128: [llvm-objcopy][ELF] Allow setting SHF_EXCLUDE flag for ELF sections: alexshap.
Jan 3 2020, 12:53 AM · Restricted Project

Jan 2 2020

sdmitriev added inline comments to D61446: Generalize the pass registration mechanism used by Polly to any third-party tool.
Jan 2 2020, 8:54 PM · Restricted Project, Restricted Project

Nov 22 2019

sdmitriev abandoned D70551: [clang-offload-wrapper] Add data layout to the wrapper bitcode.
Nov 22 2019, 1:57 PM · Restricted Project
sdmitriev added a comment to D70551: [clang-offload-wrapper] Add data layout to the wrapper bitcode.

Wrapper tool is invoked at link phase, therefore there just could be no .bc files available to read data layout from. Ok, looks like there is no good solution for the data layout problem, so I will drop the idea of passing wrapper .bc directly to the linker when LTO is enabled (at least for now:). I will abandon this patch.

Nov 22 2019, 11:20 AM · Restricted Project
sdmitriev added a comment to D70551: [clang-offload-wrapper] Add data layout to the wrapper bitcode.

I would agree with you if data layout was indeed available in the driver, but unfortunately driver does not have access to any existing TargetInfo instance (or maybe I just have not found it). So, I have to create TargetInfo and build data layout even for the case when driver passes it to the wrapper tool. I guess that would also be a default data layout, so it would not differ much from what I have already done in this patch. BTW, I will probably upload an alternative patch where I have implemented your suggestion, just to compare))

Nov 22 2019, 10:16 AM · Restricted Project
sdmitriev added a comment to D70551: [clang-offload-wrapper] Add data layout to the wrapper bitcode.

Ok, it is possible to do it like you suggested, but I think that teaching wrapper tool to set data layout without external help is more preferable. There is a certain difference between opt and wrapper tool – opt works on the existing .bc that is provided in command line and data-layout option just gives user an optional way to override input’s data layout while wrapper tool creates output .bc from scratch. With your proposal, data-layout would become sort of mandatory option for the wrapper tool which is not very convenient. I believe wrapper tool should be able to set it without external help, and we can always add an option to override data layout (similar to opt) if there would be a need for that.

Nov 22 2019, 9:40 AM · Restricted Project

Nov 21 2019

sdmitriev added a comment to D70551: [clang-offload-wrapper] Add data layout to the wrapper bitcode.

Why do we need this?

To pass wrapper bitcode directly to the linker when LTO is enabled. LTO plugin does not accept bc if there is no data layout.

Maybe it would better to pass it a parameter just like for opt?

In this case clang driver would need to get it from somewhere in order to pass it to the wrapper tool. I do not know where it can get it from.

TargetInfo class is not accessible in the driver?

Nov 21 2019, 2:03 PM · Restricted Project
sdmitriev added a comment to D70551: [clang-offload-wrapper] Add data layout to the wrapper bitcode.

Why do we need this?

To pass wrapper bitcode directly to the linker when LTO is enabled. LTO plugin does not accept bc if there is no data layout.

Maybe it would better to pass it a parameter just like for opt?

Nov 21 2019, 1:35 PM · Restricted Project
sdmitriev added a comment to D70551: [clang-offload-wrapper] Add data layout to the wrapper bitcode.

Why do we need this?

Nov 21 2019, 11:27 AM · Restricted Project