Page MenuHomePhabricator
Feed Advanced Search

Thu, Aug 15

twoh committed rG213d8a9f1389: [NewPM][PassInstrumentation] IR printing support for (Thin)LTO (authored by twoh).
[NewPM][PassInstrumentation] IR printing support for (Thin)LTO
Thu, Aug 15, 10:49 AM
twoh committed rL369024: [NewPM][PassInstrumentation] IR printing support for (Thin)LTO.
[NewPM][PassInstrumentation] IR printing support for (Thin)LTO
Thu, Aug 15, 10:48 AM
twoh closed D66253: [NewPM][PassInstrumentation] IR printing support for (Thin)LTO.
Thu, Aug 15, 10:48 AM · Restricted Project
twoh updated the diff for D66253: [NewPM][PassInstrumentation] IR printing support for (Thin)LTO.

Remove redundant lines from the test.

Thu, Aug 15, 10:17 AM · Restricted Project
twoh updated the diff for D66253: [NewPM][PassInstrumentation] IR printing support for (Thin)LTO.

Addressed @tejohnson's comment on the test case. Thanks!

Thu, Aug 15, 10:17 AM · Restricted Project

Wed, Aug 14

twoh created D66253: [NewPM][PassInstrumentation] IR printing support for (Thin)LTO.
Wed, Aug 14, 1:28 PM · Restricted Project
twoh committed rGdf7022825c0e: [DebugInfo] Consider debug label scope has an extra lexical block file (authored by twoh).
[DebugInfo] Consider debug label scope has an extra lexical block file
Wed, Aug 14, 11:01 AM
twoh committed rL368891: [DebugInfo] Consider debug label scope has an extra lexical block file.
[DebugInfo] Consider debug label scope has an extra lexical block file
Wed, Aug 14, 10:58 AM
twoh closed D66187: [DebugInfo] Consider debug label scope has an extra lexical block file.
Wed, Aug 14, 10:58 AM · debug-info, Restricted Project
twoh committed rGd4c50f7326a0: [NewPM][PassInstrumentation] IR printing support from clang driver (authored by twoh).
[NewPM][PassInstrumentation] IR printing support from clang driver
Wed, Aug 14, 12:12 AM
twoh committed rL368804: [NewPM][PassInstrumentation] IR printing support from clang driver.
[NewPM][PassInstrumentation] IR printing support from clang driver
Wed, Aug 14, 12:12 AM
twoh closed D65975: [NewPM][PassInstrumentation] IR printing support from clang driver.
Wed, Aug 14, 12:12 AM · Restricted Project, Restricted Project

Tue, Aug 13

twoh added a comment to D66187: [DebugInfo] Consider debug label scope has an extra lexical block file.

@dblaikie Thank you for the comment. I encountered this problem while manipulating LLVM IR, and not sure how realistic the code can be if I synthesize one to reproduce this problem. Still, I think this is worth fixing unless we can guarantee that debug label scope won't have a DILexicalBlockFile.

Tue, Aug 13, 6:19 PM · debug-info, Restricted Project
twoh created D66187: [DebugInfo] Consider debug label scope has an extra lexical block file.
Tue, Aug 13, 4:30 PM · debug-info, Restricted Project
twoh added a comment to D65975: [NewPM][PassInstrumentation] IR printing support from clang driver.

@fedor.sergeev Sorry for the late reply. I missed your comment.

Tue, Aug 13, 9:26 AM · Restricted Project, Restricted Project
twoh updated the diff for D65975: [NewPM][PassInstrumentation] IR printing support from clang driver.

Avoid -O2 from the test.

Tue, Aug 13, 9:24 AM · Restricted Project, Restricted Project

Fri, Aug 9

twoh committed rG6c99bb2d9a42: Revert the test commit (authored by twoh).
Revert the test commit
Fri, Aug 9, 1:54 PM
twoh committed rL368485: Revert the test commit.
Revert the test commit
Fri, Aug 9, 1:54 PM
twoh committed rG20ead38653f0: Test commit. (authored by twoh).
Test commit.
Fri, Aug 9, 1:50 PM
twoh committed rL368483: Test commit..
Test commit.
Fri, Aug 9, 1:50 PM

Thu, Aug 8

twoh added a comment to D65975: [NewPM][PassInstrumentation] IR printing support from clang driver.

@fedor.sergeev @yamauchi I saw your discussions over llvm-dev mailing list regarding IR printing with the new pass manager, and though this might be the reason why IR printing is not supported under new PM with clang. I would appreciate if you can take a look.

Thu, Aug 8, 2:27 PM · Restricted Project, Restricted Project
twoh created D65975: [NewPM][PassInstrumentation] IR printing support from clang driver.
Thu, Aug 8, 2:26 PM · Restricted Project, Restricted Project

Tue, Aug 6

twoh abandoned D65816: [libcxx] Mark unsupported tests under root user.

@ldionne Got it. Thank you for your explanation!

Tue, Aug 6, 11:51 AM · Restricted Project
twoh added a comment to D65816: [libcxx] Mark unsupported tests under root user.

I explained it over libcxx-dev mailing list, but our internal build system requires root permission when running the build and test from the remote container. I admit that this is not a common case, but still, wouldn't it be better to make the tests working under any circumstance?

Tue, Aug 6, 11:40 AM · Restricted Project
twoh created D65816: [libcxx] Mark unsupported tests under root user.
Tue, Aug 6, 10:14 AM · Restricted Project

Jun 19 2019

twoh added a comment to rL336869: IR: Skip -print-*-all after -print-*.

@dexonsmith Thank you for your reply. Are you considering the case where -print-after-all is used along with -print-* pass? If so, shouldn't we have -print-module explicitly in the test case?

Jun 19 2019, 10:39 AM

Jun 18 2019

twoh added a comment to rL336869: IR: Skip -print-*-all after -print-*.

Hello, can you please explain a bit more about this change? What kind of redundant outputs avoided by this? Thanks!

Jun 18 2019, 11:25 PM

Jun 5 2019

twoh added a comment to D62841: [openmp] Use libffi only when LLVM_ENABLE_FFI is on.

@Hahnfeld Got it. Then it seems that there's not much we can do here :(

Jun 5 2019, 1:00 AM · Restricted Project

Jun 4 2019

twoh added a comment to D62841: [openmp] Use libffi only when LLVM_ENABLE_FFI is on.

@Hahnfeld I'm not an OpenMP expert and don't have much strong argument here, but IMHO it might be confusing to have LLVM_ENABLE_FFI and LIBOMPTARGET_ENABLE_FFI have different default value from user's perspective. I wonder if we can set it off by default and explicitly turn it on for builds with test?

Jun 4 2019, 11:33 PM · Restricted Project
twoh updated the diff for D62841: [openmp] Use libffi only when LLVM_ENABLE_FFI is on.

@grokos Thanks for the suggestion. What about this?

Jun 4 2019, 10:32 PM · Restricted Project

Jun 3 2019

twoh updated the diff for D62841: [openmp] Use libffi only when LLVM_ENABLE_FFI is on.

Addressed comments from @Hahnfeld. Thanks!

Jun 3 2019, 11:47 PM · Restricted Project
twoh created D62841: [openmp] Use libffi only when LLVM_ENABLE_FFI is on.
Jun 3 2019, 11:18 PM · Restricted Project

May 15 2019

twoh committed rG9d020de3e867: [PredicateInfo] Do not process unreachable operands. (authored by twoh).
[PredicateInfo] Do not process unreachable operands.
May 15 2019, 12:35 PM
twoh committed rL360796: [PredicateInfo] Do not process unreachable operands..
[PredicateInfo] Do not process unreachable operands.
May 15 2019, 12:35 PM
twoh closed D61154: [PredicateInfo] Do not process unreachable operands..
May 15 2019, 12:35 PM · Restricted Project
twoh updated the diff for D61154: [PredicateInfo] Do not process unreachable operands..

Use isReachableFromEntry. Thank you for the suggestion!

May 15 2019, 12:23 PM · Restricted Project
twoh updated the diff for D61154: [PredicateInfo] Do not process unreachable operands..

Thank you for your comments @efriedma! I addressed your comments and added a test case. The test segfaults clang without proposed change.

May 15 2019, 11:22 AM · Restricted Project

May 14 2019

twoh added a comment to D61154: [PredicateInfo] Do not process unreachable operands..

Friendly ping again. This is a fix for a compiler crash.

May 14 2019, 11:50 AM · Restricted Project

May 3 2019

twoh added a comment to D61154: [PredicateInfo] Do not process unreachable operands..

Friendly ping. Thanks!

May 3 2019, 9:43 AM · Restricted Project

Apr 30 2019

twoh added a comment to D38061: Set AnonymousTagLocations false for ASTContext if column info is expected not to be used.

Friendly ping for comments. Thanks!

Apr 30 2019, 8:43 AM · Restricted Project

Apr 29 2019

twoh added inline comments to D61282: [InlineCost] Check if caller formulates indirect recursion..
Apr 29 2019, 3:55 PM · Restricted Project
twoh created D61282: [InlineCost] Check if caller formulates indirect recursion..
Apr 29 2019, 2:35 PM · Restricted Project

Apr 25 2019

twoh created D61154: [PredicateInfo] Do not process unreachable operands..
Apr 25 2019, 2:32 PM · Restricted Project

Apr 22 2019

Herald added a project to D38061: Set AnonymousTagLocations false for ASTContext if column info is expected not to be used: Restricted Project.

Hello @rsmith, @wenlei and I took another look at this, and we couldn't find any use of AnonymousTagLocations outside of debug info. If that's actually the case, wouldn't it make sense to have DebugColumnInfo to control the field even if AnonymousTagLocations the part of generic printing policy?

Apr 22 2019, 10:23 AM · Restricted Project

Apr 3 2019

twoh committed rGa960f8996288: [ProfileSummary] Count callsite samples when computing total samples. (authored by twoh).
[ProfileSummary] Count callsite samples when computing total samples.
Apr 3 2019, 12:57 PM
twoh committed rL357627: [ProfileSummary] Count callsite samples when computing total samples..
[ProfileSummary] Count callsite samples when computing total samples.
Apr 3 2019, 12:53 PM
twoh closed D59835: [ProfileSummary] Count callsite samples when computing total samples..
Apr 3 2019, 12:53 PM · Restricted Project

Apr 2 2019

twoh added a comment to D60086: [SampleProfile] Check entry count instead of total count to decide if inlined callsite is hot..

@wmi Thank you for the concrete example! I think what we need for your example is context-sensitive profiling and function specialization, not inlining. Admittedly we don't have an infrastructure in LLVM to support context-sensitive profiling for non-inlined case and we don't perform context sensitive function specialization...

Apr 2 2019, 4:00 PM · Restricted Project
twoh added a comment to D60086: [SampleProfile] Check entry count instead of total count to decide if inlined callsite is hot..

@wmi Thank you for the detailed explanation!

Apr 2 2019, 12:04 PM · Restricted Project
twoh added a comment to D59835: [ProfileSummary] Count callsite samples when computing total samples..

@wmi Thanks for taking a look! Performance numbers were neutral from our side.

Apr 2 2019, 10:50 AM · Restricted Project
twoh committed rG6a27c48be223: [SampleProfile] Repeat indirect call promotion only when the target is actually… (authored by twoh).
[SampleProfile] Repeat indirect call promotion only when the target is actually…
Apr 2 2019, 8:47 AM
twoh committed rL357484: [SampleProfile] Repeat indirect call promotion only when the target is actually….
[SampleProfile] Repeat indirect call promotion only when the target is actually…
Apr 2 2019, 8:46 AM
twoh closed D59940: [SampleProfile] Repeat indirect call promotion only when the target is actually hot..
Apr 2 2019, 8:46 AM · Restricted Project

Apr 1 2019

twoh updated the diff for D59940: [SampleProfile] Repeat indirect call promotion only when the target is actually hot..

Check for the new pass manager added. Thanks @wmi for the comment!

Apr 1 2019, 11:34 PM · Restricted Project
twoh added a comment to D60086: [SampleProfile] Check entry count instead of total count to decide if inlined callsite is hot..

@wmi Thanks for the reply! I can totally understand that entry count is not as precise as total count, but still don't think current implementation is the right way to address the issue. As I mentioned in the summary it compares two different things (instruction level counter vs function level counter), opens up a possibility for optimizing against wrong function (e.g. long and cold function), and makes it hard to find the root cause of the performance issue.

Apr 1 2019, 5:06 PM · Restricted Project
twoh created D60086: [SampleProfile] Check entry count instead of total count to decide if inlined callsite is hot..
Apr 1 2019, 11:55 AM · Restricted Project

Mar 28 2019

twoh updated the diff for D59940: [SampleProfile] Repeat indirect call promotion only when the target is actually hot..

Remove unnecessary metadata.

Mar 28 2019, 8:51 AM · Restricted Project
twoh created D59940: [SampleProfile] Repeat indirect call promotion only when the target is actually hot..
Mar 28 2019, 8:48 AM · Restricted Project

Mar 26 2019

twoh created D59835: [ProfileSummary] Count callsite samples when computing total samples..
Mar 26 2019, 12:21 PM · Restricted Project

Feb 8 2019

twoh committed rOMP353538: Guard a feature that unsupported by old GCC.
Guard a feature that unsupported by old GCC
Feb 8 2019, 9:17 AM
twoh committed rG91c32fd8c8fa: Guard a feature that unsupported by old GCC (authored by twoh).
Guard a feature that unsupported by old GCC
Feb 8 2019, 9:16 AM
twoh committed rL353538: Guard a feature that unsupported by old GCC.
Guard a feature that unsupported by old GCC
Feb 8 2019, 9:16 AM
twoh closed D57851: Guard a feature that unsupported by old GCC.
Feb 8 2019, 9:16 AM · Restricted Project, Restricted Project

Feb 7 2019

twoh updated the diff for D57851: Guard a feature that unsupported by old GCC.

Addressing comments from @Hahnfeld. Thanks!

Feb 7 2019, 11:59 PM · Restricted Project, Restricted Project

Feb 6 2019

twoh added a comment to D57851: Guard a feature that unsupported by old GCC.

@kkwli0 Thanks for letting me know! But wouldn't https://reviews.llvm.org/D57848 always fall to "else" case added if the compiler is not GCC?

Feb 6 2019, 3:12 PM · Restricted Project, Restricted Project
twoh created D57851: Guard a feature that unsupported by old GCC.
Feb 6 2019, 2:47 PM · Restricted Project, Restricted Project

Feb 4 2019

twoh accepted D57537: Adjust cardinality of internal inliner thresholds.

LGTM

Feb 4 2019, 8:52 AM · Restricted Project

Jan 9 2019

twoh added a comment to D56505: expand DIContext interface a bit.

Can you please provide a bit more context about when the client might want this function?

Jan 9 2019, 10:56 AM
twoh accepted D56499: refactor BlockFrequencyInfo::view to take a title parameter.

LGTM

Jan 9 2019, 10:51 AM

Nov 5 2018

twoh committed rL346151: [MergeICmps] Do not perform the transformation if GEP is used outside of block.
[MergeICmps] Do not perform the transformation if GEP is used outside of block
Nov 5 2018, 10:19 AM
twoh closed D54089: [MergeICmps] Do not perform the transformation if GEP is used outside of block.
Nov 5 2018, 10:19 AM
twoh updated the diff for D54089: [MergeICmps] Do not perform the transformation if GEP is used outside of block.

Comments for the test updated. Thanks for the comment!

Nov 5 2018, 10:13 AM
twoh added a comment to D53911: [Orc] make getResponsibilitySetWithLegacyFn behavior match with LegacyJITSymbolResolver::getResponsibilitySet.

Friendly ping. Thanks!

Nov 5 2018, 8:59 AM

Nov 4 2018

twoh created D54089: [MergeICmps] Do not perform the transformation if GEP is used outside of block.
Nov 4 2018, 9:36 PM

Oct 30 2018

twoh added a comment to D53860: [SemaCXX] Don't check base's dtor is accessible.

@rsmith I see. Thank you for the clarification!

Oct 30 2018, 6:48 PM
twoh created D53911: [Orc] make getResponsibilitySetWithLegacyFn behavior match with LegacyJITSymbolResolver::getResponsibilitySet.
Oct 30 2018, 4:45 PM
twoh added a comment to D53860: [SemaCXX] Don't check base's dtor is accessible.

I think the context is Derived here. My understanding of http://wg21.link/p0968r0#2227 (in this patch's context) is that when Derived is aggregate initialized, the destructor for each element of Base is potentially invoked as well.

Oct 30 2018, 12:57 PM

Oct 29 2018

twoh added a comment to D38061: Set AnonymousTagLocations false for ASTContext if column info is expected not to be used.

@rsmith @dblaikie Thank you for the comments! It seems that this is not the appropriate way to handle the issue. I'll find different way to resolve the problem.

Oct 29 2018, 11:17 AM · Restricted Project

Oct 25 2018

twoh added a comment to D38061: Set AnonymousTagLocations false for ASTContext if column info is expected not to be used.

@dblaikie I see. The problem we're experiencing is that with Clang's naming scheme we end up having different function name between the original source and the preprocessed source (as macro expansion changes the column number). This doesn't work well for me if I want to use distcc on top of our caching system, as the caching scheme expects the output to be same as far as the original source has not been changed (regardless of it's compiled directly or first preprocessed then compiled), but the distcc preprocesses the source locally then sends it to the remote build machine (and we do not turn distcc on for all workflow). I wonder if you have any suggestion to resolve this issue? Thanks!

Oct 25 2018, 8:34 AM · Restricted Project

Oct 22 2018

twoh added a comment to D38061: Set AnonymousTagLocations false for ASTContext if column info is expected not to be used.

@aprantl It is a debug info. If you compile test/CodeGenCXX/debug-info-anonymous.cpp file with clang -g2 -emit-llvm -S , you will find debug metadata something like distinct !DISubprogram(name: "foo<X::(anonymous enum at /home/twoh/llvms/llvm/tools/clang/test/CodeGenCXX/debug-info-anonymous.cpp:9:3)>", linkageName: "_Z3fooIN1XUt_EEiT_" ..., which will eventually be included in .debug_info section.

Oct 22 2018, 10:47 AM · Restricted Project

Oct 19 2018

twoh updated the diff for D34796: upporting -f(no)-reorder-functions flag, clang side change.

Remove conflict line.

Oct 19 2018, 8:49 AM
twoh added a comment to D34796: upporting -f(no)-reorder-functions flag, clang side change.

@joerg Sorry but I'm not sure if I understand your question. This doesn't pretend to honor source code order, but makes linker to place "hot" functions under .text.hot section (There's no guarantee of ordering between functions inside .hot.text section) while "cold" functions under .text.unlikely section. This is purely for performance.

Oct 19 2018, 8:48 AM

Oct 18 2018

twoh updated the diff for D34795: Supporting -f(no)-reorder-functions flag, llvm side change.

Rebase. Tests are provided in the clang counterpart (D34796).

Oct 18 2018, 11:40 PM
twoh updated the diff for D34796: upporting -f(no)-reorder-functions flag, clang side change.

Rebase. Sorry I somehow missed the recent comments. I addresses @davidxl's comment on documentation. Thanks!

Oct 18 2018, 11:39 PM

Sep 19 2018

twoh added a comment to D38061: Set AnonymousTagLocations false for ASTContext if column info is expected not to be used.

ping!

Sep 19 2018, 8:52 AM · Restricted Project

Sep 7 2018

twoh updated the diff for D38061: Set AnonymousTagLocations false for ASTContext if column info is expected not to be used.

Addressing comments from @echristo. Reverted option name change, and added a test case. Sorry I haven't work on this code for a while so it took time to invent a test case.

Sep 7 2018, 10:54 PM · Restricted Project

Sep 5 2018

twoh added a comment to D37310: [Atomic] Merge alignment information from Decl and from Type when emit atomic expression..

Hello, I observed a case where atomic builtin generates libcall when the corresponding sync builtin generates an atomic instruction (https://bugs.llvm.org/show_bug.cgi?id=38846). It seems that the alignment checking for __atomic builtins (line 759 of this patch) results the difference, and wonder if the check is actually necessary. Could anyone please shed some light on understanding this? Thanks!

Sep 5 2018, 9:24 AM

Aug 16 2018

twoh added a comment to D43690: [ThinLTO] Keep available_externally symbols live.

Hello, I wonder if we need to keep linkonce_odr symbols live here as well. I observe a case that a vtable for template class initiated has linkonce_odr linkage and marked dead here, which results compiler crash at WholeProgramDevirt because the global variable for vtable doesn't have initializer (https://github.com/llvm-mirror/llvm/blob/master/lib/Transforms/IPO/WholeProgramDevirt.cpp#L676 assumes that GV has the initializer). Thanks!

Aug 16 2018, 12:23 AM

Jul 16 2018

twoh updated the diff for D49386: Make tests unsupported if libatomic cannot be found..

Addressing comments from @Hahnfeld. Thanks!

Jul 16 2018, 11:42 AM
twoh added inline comments to D49386: Make tests unsupported if libatomic cannot be found..
Jul 16 2018, 11:12 AM
twoh created D49386: Make tests unsupported if libatomic cannot be found..
Jul 16 2018, 9:51 AM

Apr 25 2018

twoh committed rL330844: [ICP] Do not attempt type matching for variable length arguments..
[ICP] Do not attempt type matching for variable length arguments.
Apr 25 2018, 10:22 AM
twoh closed D46026: [ICP] Do not attempt type matching for variable length arguments..
Apr 25 2018, 10:22 AM
twoh updated the diff for D46026: [ICP] Do not attempt type matching for variable length arguments..

Addressing comment from @mssimpso. Thanks!

Apr 25 2018, 12:39 AM

Apr 24 2018

twoh added a comment to D45527: [OpenMP] Fix affinity API for KMP_AFFINITY=none|compact|scatter.

Hello @jlpeyton @tlwilmar, is there a chance that this breaks runtime/test/ompt/misc/api_calls_from_other_thread.cpp test? ompt_get_num_places() is expected to return 0 from the test but with this patch it returns 1, and I think it is because kmp_affinity_num_masks is set to 1 from kmp_create_affinity_none_places().

Apr 24 2018, 11:41 PM · Restricted Project
twoh created D46026: [ICP] Do not attempt type matching for variable length arguments..
Apr 24 2018, 12:16 PM

Apr 4 2018

twoh committed rL329250: [CallSiteSplitting] Do not perform callsite splitting inside landing pad.
[CallSiteSplitting] Do not perform callsite splitting inside landing pad
Apr 4 2018, 9:20 PM
twoh closed D45130: [CallSiteSplitting] Do not perform callsite splitting inside landing pad.
Apr 4 2018, 9:20 PM
twoh added inline comments to D45130: [CallSiteSplitting] Do not perform callsite splitting inside landing pad.
Apr 4 2018, 9:17 PM
twoh added inline comments to D45130: [CallSiteSplitting] Do not perform callsite splitting inside landing pad.
Apr 4 2018, 12:29 AM