davide (Davide Italiano)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 12 2014, 1:58 PM (191 w, 6 d)

Recent Activity

Today

davide requested changes to D49271: Adding libc++ formattors for std::optional.

Probably last round of comments. Thanks for your patience!

Tue, Jul 17, 5:29 PM

Yesterday

davide accepted D49385: [IPSCCP] Run Solve each time we resolved an undef in a function..

LGTM modulo minor.

Mon, Jul 16, 6:37 PM
davide added a comment to D49384: [IPSCCP] Do not zap return if the return value is overdefined at any call site..

FWIW, my take is that we should kill ResolvedUndefsIn (as already pointed by Eli, and probably me, and others in the past).
My take is that the benefit of having a forth lattice state is really little compared to the amount of effort we had to put to fix bugs.
If somebody is willing to take the time to do the work I'd rather zap away undef from the lattice and see how many constant we lose (and what's the runtime cost). But I understand this is a fair amount of work. That said, I think I like Eli's proof of concept a little better than this, so I'm happy if you want to pursue that path, Florian.

Mon, Jul 16, 6:35 PM

Fri, Jul 13

davide added a comment to D49271: Adding libc++ formattors for std::optional.

This is getting really close. Please try the lldbInline test format and revert the unrelated bits and I'll take another look.
Thanks!

Fri, Jul 13, 3:29 PM

Thu, Jul 12

davide requested changes to D49271: Adding libc++ formattors for std::optional.
Thu, Jul 12, 4:38 PM
davide added a reviewer for D49271: Adding libc++ formattors for std::optional: JDevlieghere.
Thu, Jul 12, 4:38 PM
davide added a comment to D49271: Adding libc++ formattors for std::optional.

Some comments. Jonas looked at many formatters recently so he's in a good position to take a look.

Thu, Jul 12, 4:38 PM

Wed, Jul 11

davide committed rL336872: [IRInterpreter] Fix misevaluation of interpretation expressions with `urem`..
[IRInterpreter] Fix misevaluation of interpretation expressions with `urem`.
Wed, Jul 11, 5:36 PM
davide closed D49155: [IRInterpreter] Fix misevaluation of interpretation expressions with `urem`.
Wed, Jul 11, 5:36 PM
davide accepted D49155: [IRInterpreter] Fix misevaluation of interpretation expressions with `urem`.

Ack'ed by Jim offline.

Wed, Jul 11, 5:32 PM
davide accepted D49043: [llvm-objdump] Add -demangle (-C) option.

I have no more comments.

Wed, Jul 11, 7:43 AM

Tue, Jul 10

davide abandoned D49033: [test-suite] Add a decorator for the lack of libstdcxx on the system..

Was implemented differently. Closing.

Tue, Jul 10, 5:47 PM
davide created D49155: [IRInterpreter] Fix misevaluation of interpretation expressions with `urem`.
Tue, Jul 10, 2:35 PM
davide committed rL336724: [testsuite] Implement a category to skip libstdcxx tests.
[testsuite] Implement a category to skip libstdcxx tests
Tue, Jul 10, 1:42 PM
davide closed D49110: [testsuite] Implement a category to skip libstdcxx tests.
Tue, Jul 10, 1:42 PM
davide added a comment to D49110: [testsuite] Implement a category to skip libstdcxx tests.

Thank you Pavel!

Tue, Jul 10, 11:37 AM
davide added a comment to D48797: [CMake] Teach the build system to codesign built products.

Stefan (in our group) is going to look at CMake'y stuffs so I'm going to cc: him (he doesn't have a Phabricator account yet, so I just forwarded this e-mail to him for now).
Thanks for keeping us in the loop.

Tue, Jul 10, 10:56 AM
davide added a comment to D49110: [testsuite] Implement a category to skip libstdcxx tests.

@labath this is breaking several bots for us internally so I would really love to get this in.
As this seems to be reasonably close to what you ask, I might consider checking this in before end of day (PST) today and we can iterate from there.

Tue, Jul 10, 9:39 AM
davide added a reviewer for D49110: [testsuite] Implement a category to skip libstdcxx tests: zturner.
Tue, Jul 10, 9:36 AM

Mon, Jul 9

davide created D49110: [testsuite] Implement a category to skip libstdcxx tests.
Mon, Jul 9, 5:10 PM
davide added a comment to D49033: [test-suite] Add a decorator for the lack of libstdcxx on the system..

This was reverted at:

Davides-Mac-Pro:lldb davide$ git llvm push
Pushing 1 commit:
  116b1ec8e32 Rollback [test-suite] Add a decorator for the lack of libstdcxx on the system.
Sending        lldb/trunk/packages/Python/lldbsuite/test/decorators.py
Sending        lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py
Sending        lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
Sending        lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
Sending        lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/smart_ptr/TestDataFormatterStdSmartPtr.py
Sending        lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py
Sending        lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/tuple/TestDataFormatterStdTuple.py
Sending        lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/TestDataFormatterStdUniquePtr.py
Sending        lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py
Sending        lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
Transmitting file data ..........done
Committing transaction...
Committed revision 336608.
Committed 116b1ec8e32 to svn.
Mon, Jul 9, 3:02 PM
davide committed rL336608: Rollback [test-suite] Add a decorator for the lack of libstdcxx on the system..
Rollback [test-suite] Add a decorator for the lack of libstdcxx on the system.
Mon, Jul 9, 3:01 PM
davide committed rL336607: [ObjCRuntime] Add support for obfuscation in tagged pointers..
[ObjCRuntime] Add support for obfuscation in tagged pointers.
Mon, Jul 9, 2:58 PM
davide added a comment to D49033: [test-suite] Add a decorator for the lack of libstdcxx on the system..

Besides the problems I mention in inline comments, the other issue I have with this patch is that it does things completely different than how we implement the check for libc++, which is an identical problem. (libc++ detection is done by marking all libc++ tests as with a special category, and then deciding in dotest.py (checkLibcxxSupport) whether to run the category as a whole).

So, I think this should be reverted and replaced by a solution mirroring the libc++ approach. I'm not saying that one is perfect, but it is in many ways better than this one (e.g., if the default skipping logic gets things wrong, you can override it by manually skipping the corresponding category), and most importantly, it makes things consistent.

Mon, Jul 9, 11:12 AM
davide accepted D49078: [CVP] Handle calls with void return value. No need to create CVPLattice state for it..
Mon, Jul 9, 7:53 AM

Fri, Jul 6

davide added inline comments to D49043: [llvm-objdump] Add -demangle (-C) option.
Fri, Jul 6, 2:09 PM
davide requested changes to D49043: [llvm-objdump] Add -demangle (-C) option.
Fri, Jul 6, 2:08 PM
davide updated subscribers of D49033: [test-suite] Add a decorator for the lack of libstdcxx on the system..

Is this going to work with non-clang compilers? ('$CXX -x c++ -stdlib=libstdc++ ') I can imagine gcc supporting these same flags, but will this work on windows?

Fri, Jul 6, 2:04 PM
davide added a comment to D49033: [test-suite] Add a decorator for the lack of libstdcxx on the system..

I went ahead and committed this because it was breaking a downstream bot:

Fri, Jul 6, 1:46 PM
davide committed rL336463: [test-suite] Add a decorator for the lack of libstdcxx on the system..
[test-suite] Add a decorator for the lack of libstdcxx on the system.
Fri, Jul 6, 1:45 PM
davide created D49033: [test-suite] Add a decorator for the lack of libstdcxx on the system..
Fri, Jul 6, 9:48 AM

Thu, Jul 5

davide requested changes to D48892: [libc++] Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY.
Thu, Jul 5, 11:29 AM
davide reopened D48892: [libc++] Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY.

The lldb bot started failing very recently and the blamelist hints at this change.

Thu, Jul 5, 11:29 AM

Mon, Jul 2

davide added a comment to D48756: [gold-plugin] Disable section ordering for relocatable links.

This version is ok with me, question below around whether we want 2 separate options here though.

Davide, did you consider changing the default for the clang driver options instead of just in gold/lld for LTO? It might also be nice to hook up -fno-function-sections and -fno-data-sections to this new gold option (and mirror it in lld), just as I had done for the affirmative versions of those options in tools::AddGoldPlugin (which is now essentially a no-op due to the default change). In which case we would want 2 separate options here (one for functions and one for data). Thoughts?

Mon, Jul 2, 10:11 AM

Fri, Jun 29

davide requested changes to D48756: [gold-plugin] Disable section ordering for relocatable links.

FWIW, I tried this on a lot of software in several context without having issues (including a kernel, the PS4 one).
If the kernel doesn't boot, I consider this a bug in the kernel.
Now, I really understand that this might be unfixable easily in the project, but I agree with Peter it shouldn't be the default.

Fri, Jun 29, 1:06 PM

Thu, Jun 28

davide requested changes to D48704: [LLDB] Fix for "Bug 37950: ExecutionContext::GetByteOrder() always returns endian::InlHostByteOrder()".

Can you write a unittest for this? Thanks.

Thu, Jun 28, 9:23 AM · Restricted Project

Wed, Jun 27

davide accepted D47149: [SCCP] Mark CFG as preserved..

LGTM.

Wed, Jun 27, 8:18 AM

Fri, Jun 22

davide added a comment to D48500: [DWARFASTParser] Remove special cases for `llvm-gcc`.

I think it's fair and correct supporting everything we can, but I guess llvm-gcc is largely dead at this point.

Fri, Jun 22, 2:46 PM
davide created D48500: [DWARFASTParser] Remove special cases for `llvm-gcc`.
Fri, Jun 22, 11:25 AM

Thu, Jun 21

davide added a comment to D48450: [DataFormatter] Add CFDictionary data formatter.

LGTM.

Thu, Jun 21, 11:35 AM

Wed, Jun 20

davide accepted D48111: [JumpThreading] Don't try to rewrite a use if it's already valid..

LGTM. @kuhar ?

Wed, Jun 20, 4:33 PM

Jun 17 2018

davide added a comment to D48256: Fix bug to merge away entry block and update DT correctly..

I admit I haven't looked at this code in a while, but I can't understand your fix. Can you please elaborate with an example?

Jun 17 2018, 12:15 PM

Jun 14 2018

davide accepted D48192: [InstCombine] Avoid iteration/mutation conflict.

sigh at iterator invalidation issues. lgtm

Jun 14 2018, 1:57 PM

Jun 12 2018

davide accepted D48114: Add dataformatter for NSDecimalNumber.

I didn't check whether the representation was correct (although it looks lo). The structure of the patch looks fine to me, thanks for adding the comments :)

Jun 12 2018, 10:50 PM
davide accepted D48115: Make ThreadPool support running tasks that return values.

Looks fine to me. Do you plan to use It in a subsequent patch?

Jun 12 2018, 10:46 PM
davide added a comment to D47949: [callsitesplit] Limit the # of predecessors walk when recording condition.

I'll let @junbuml or @fhahn to make the call as they touched this more than me but I think we should see whether it's feasible to fix the algorithmic complexity (or understand why it's harder) before pushing this bandaid.

Jun 12 2018, 5:21 PM
davide accepted D48096: Disable warnings for the generated LLDB wrapper source.

Unfortunate, but this seems reasonable. lg.

Jun 12 2018, 2:53 PM
davide accepted D48084: [FileSpec] Delegate common operations to llvm::sys::path.

LGTM with a nit.

Jun 12 2018, 2:52 PM
davide added reviewers for D48059: CorrelatedValuePropagation: Preserve DT.: kuhar, dberlin.
Jun 12 2018, 7:36 AM

Jun 8 2018

davide added a comment to D47874: [SCEVExp] Advance found insertion point until we find a non-dbg instruction..

Or maybe it would be even more convenient to just have a new iterator type, which skips such meta instructions.

Jun 8 2018, 3:34 PM
davide added a comment to D47913: [Support] Introduce a new utility for testing child process execution.

I like the idea. Some comments inline.

Jun 8 2018, 3:04 PM
davide added a comment to D47874: [SCEVExp] Advance found insertion point until we find a non-dbg instruction..

Not sure this is the best fix. The function is named findInsertPointAfter; from the name, I would expect it to behave similarly to BasicBlock::getFirstInsertionPt (which does not try to move past debug info).

We added instructionsWithoutDebug recently to deal with this sort of issue, but it's not directly usable here.

Yeah, maybe we should have a function that takes an iterator and advances the iterator to the first non debug/meta instruction?

Jun 8 2018, 1:49 PM
davide committed rL334317: [InstCombine] Skip dbg.value(s) when looking at stack{save,restore}..
[InstCombine] Skip dbg.value(s) when looking at stack{save,restore}.
Jun 8 2018, 1:46 PM
davide added a comment to D47949: [callsitesplit] Limit the # of predecessors walk when recording condition.

The pass currently walks back the single predecessors of a call site and records conditions relevant to the call site. There are cases where doing so we end up visiting the same blocks over and over again. It would probably be better to do a single traversal of the CFG and record relevant conditions once. I have to think a bit more about it, but maybe PredicateInfo could be helpful here and allow us to avoid visiting predecessors.

Jun 8 2018, 9:51 AM
davide requested changes to D47949: [callsitesplit] Limit the # of predecessors walk when recording condition.

It seems like this is trying to hide some algorithmic problem in the pass.
I think we should try to fix the pass instead. @trentxintong can you provide such cases?

Jun 8 2018, 9:34 AM

Jun 6 2018

davide accepted D47825: [Mem2Reg] Avoid replacing load with itself in promoteSingleBlockAlloca..

It seems reasonable to me.

Jun 6 2018, 7:45 AM

May 29 2018

davide committed rL333466: [ObjC] Add a Makefile for the test added in r333465..
[ObjC] Add a Makefile for the test added in r333465.
May 29 2018, 3:24 PM
davide committed rL333465: [ObjC] Fix the formatter for NSOrderedSet..
[ObjC] Fix the formatter for NSOrderedSet.
May 29 2018, 3:12 PM

May 22 2018

davide accepted D47232: Break dependency from Expression -> Commands.

Looks fine to me, but let's wait for Pavel. Are you back working on lldb ? :)

May 22 2018, 4:07 PM
davide added a comment to D47129: Testcase for PR31593.

Good catch, thank you Craig! Did you know that you can reduce LLVM IR better than Delta? :)
Delta reduced the testcase quite well, but failed to remove this function.

May 22 2018, 2:41 PM

May 21 2018

davide accepted D45330: [IPSCCP] Use PredicateInfo to propagate facts from cmp instructions..

Sorry Florian, I completely missed this one. LGTM as well.

May 21 2018, 2:06 PM
davide added a comment to D47149: [SCCP] Mark CFG as preserved..

Right, IPSCCP does use changeToUnreachable, but it can be told to update the DT. The thing that confused me is that we use removeAllNonTerminatorInstruction... in runSCCP with a comment that we should not change the CFG. Is there a reason we use changeToUnreachable in IPSCCP but removeAllNonTerminatorInstruction... in SCCP?

May 21 2018, 1:09 PM
davide added a comment to D47149: [SCCP] Mark CFG as preserved..

Florian, I won't be opposed if you decide to preserve the dominator tree as part of changeToUnreachable, but, as we discussed with Dan in the past, do we really need to? I mean, we could just change changeToUnreachable (no pun intended) to do something sane and not modify the CFG (if the block is really unreachable, it's very likely that the next round of DCE is going to remove it anyway) [and in case it doesn't I'm really not worried about running DCE again because it's really basically free].

May 21 2018, 1:08 PM
davide added a comment to D47112: [CVP] Add tests for lshr width reduction.

I skimmed quickly through these tests and they seem fine to me (at least, they document the current state).
I'd like to give @reames or @anna an opportunity to comment as they've working in this area more than I did lately.

May 21 2018, 9:59 AM
davide requested changes to D47149: [SCCP] Mark CFG as preserved..

If I recall correctly the sparse constant propagation implementation in LLVM (interproceturally, at least), calls changeToUnreachable which modifies the CFG.
(this is, quite unfortunate, as it's declared in Local.h). So, I'm afraid the patch as is is not correct. That said, it's been a while since I last worked on this area so I might recall incorrectly :)

May 21 2018, 9:57 AM

May 18 2018

davide added a comment to D47062: Suggest lldb-dotest to reproduce a failure..

Can you commit the whitespace fixes separately?

May 18 2018, 8:25 AM

May 17 2018

davide accepted D38768: Add remarks describing when a pass changes the IR instruction count of a module.

happy to see this going in when Adam is.

May 17 2018, 4:26 PM
davide added a comment to D46738: [DebugInfo] Fix PR37395..

@HsiangKai ping

May 17 2018, 9:50 AM
davide accepted D47014: Fix _NSCFBoolean data formatter..

LGTM

May 17 2018, 9:19 AM
davide added a comment to D46635: [SimplifyCFG] Fix a debug invariant bug in FoldBranchToCommonDest().

lg

May 17 2018, 9:16 AM

May 15 2018

davide requested changes to D46878: Add DW_AT_linkage_name for DW_TAG_labels.

This needs a testcase.

May 15 2018, 7:51 AM

May 11 2018

davide committed rL332165: Revert "[LLDB] Support GNU-style compressed debug sections (.zdebug)".
Revert "[LLDB] Support GNU-style compressed debug sections (.zdebug)"
May 11 2018, 6:29 PM
davide committed rL332163: [LanguageRuntime/ObjC] Turn off ISA logging once and for all..
[LanguageRuntime/ObjC] Turn off ISA logging once and for all.
May 11 2018, 5:37 PM
davide committed rL332162: [LLDB] Support GNU-style compressed debug sections (.zdebug).
[LLDB] Support GNU-style compressed debug sections (.zdebug)
May 11 2018, 5:33 PM
This revision was not accepted when it landed; it landed in state Needs Review.
May 11 2018, 5:33 PM · Restricted Project
davide added a comment to D46738: [DebugInfo] Fix PR37395..

The fix itself looks fine, but I'll defer to @aprantl.
Do you need anybody to commit this for you?

May 11 2018, 11:07 AM
davide committed rL332100: [Reassociate] Prevent infinite loops when processing PHIs..
[Reassociate] Prevent infinite loops when processing PHIs.
May 11 2018, 8:49 AM

May 10 2018

davide requested changes to D46738: [DebugInfo] Fix PR37395..
May 10 2018, 8:33 PM
davide accepted D46696: [IRTests] Verify PDT instead of DT.

This looks correct, but I'll let Kuba comment as he wrote this unittest originally.

May 10 2018, 8:30 AM

May 9 2018

davide added inline comments to D46635: [SimplifyCFG] Fix a debug invariant bug in FoldBranchToCommonDest().
May 9 2018, 8:10 AM

May 8 2018

davide committed rL331824: [SimplifyCFG] Fix a crash when folding PHIs..
[SimplifyCFG] Fix a crash when folding PHIs.
May 8 2018, 4:31 PM
davide closed D46568: [SimplifyCFG] Fix a crash when folding PHIs.
May 8 2018, 4:31 PM
davide updated the diff for D46568: [SimplifyCFG] Fix a crash when folding PHIs.

Addressed comments. Thanks!

May 8 2018, 2:11 PM
davide accepted D46600: [MergedLoadStoreMotion] Fix a debug invariant bug in mergeStores.

Simple enough. Gerolf?

May 8 2018, 1:51 PM
davide added inline comments to D46600: [MergedLoadStoreMotion] Fix a debug invariant bug in mergeStores.
May 8 2018, 1:51 PM
davide accepted D46529: Add support to object files for accessing the .debug_types section.

Thanks for taking the time to split this!

May 8 2018, 10:10 AM
davide added a comment to D46568: [SimplifyCFG] Fix a crash when folding PHIs.

Reduced again: https://reviews.llvm.org/P8080

May 8 2018, 9:58 AM

May 7 2018

davide added a comment to D46568: [SimplifyCFG] Fix a crash when folding PHIs.

I think I found a better (but slow :() way to reduce it. I'll send an updated testcase tomorrow.

May 7 2018, 7:07 PM
davide added a comment to D46568: [SimplifyCFG] Fix a crash when folding PHIs.

Got it down to 350 lines ~ with your suggestion, but still I'm not happy if I look at the size
https://reviews.llvm.org/P8079

May 7 2018, 6:38 PM
davide added inline comments to D46564: [SSAUpdaterBulk] Sort blocks in IDF to avoid non-determinism..
May 7 2018, 5:50 PM
davide added a comment to D46568: [SimplifyCFG] Fix a crash when folding PHIs.

That testcase is huge. Do all instructions need !dbg locations?

May 7 2018, 5:47 PM
davide created D46568: [SimplifyCFG] Fix a crash when folding PHIs.
May 7 2018, 5:36 PM
davide added inline comments to D46564: [SSAUpdaterBulk] Sort blocks in IDF to avoid non-determinism..
May 7 2018, 5:30 PM

May 4 2018

davide committed rL331568: [llvm-mc-assemble-fuzzer] Catch up with API changes..
[llvm-mc-assemble-fuzzer] Catch up with API changes.
May 4 2018, 4:45 PM
davide added a comment to D46422: [LCSSA] Do not remove used PHI nodes in formLCSSAForInstructions.

@mzolotukhin can you please take a look? This broke a lot in the past and you're the one who fixed it, so you're in the best position to review the patch.

May 4 2018, 8:38 AM

May 3 2018

davide edited reviewers for D46411: [MachineCSE] Rewrite a loop checking if a block is in a set of blocks without using a set. NFC., added: efriedma; removed: eli.friedman.
May 3 2018, 5:26 PM
davide added a reviewer for D46411: [MachineCSE] Rewrite a loop checking if a block is in a set of blocks without using a set. NFC.: eli.friedman.
May 3 2018, 4:50 PM
davide accepted D46395: Remove Process references from the Host module.

lg

May 3 2018, 10:25 AM
davide added a comment to D46391: [DebugInfo] Correction for an assert in DIExpression::createFragmentExpression.

Does this fire anywhere? If so, we should try adding a test.

May 3 2018, 8:02 AM

May 2 2018

davide committed rL331415: [NSDictionary] Simplify the formatter. NFCI..
[NSDictionary] Simplify the formatter. NFCI.
May 2 2018, 4:39 PM