davide (Davide Italiano)
User

Projects

User does not belong to any projects.
User Since
Nov 12 2014, 1:58 PM (123 w, 6 d)

Recent Activity

Sun, Mar 26

davide committed rL298825: [Target] Remove some code probably copy/pasted from another backend..
[Target] Remove some code probably copy/pasted from another backend.
Sun, Mar 26, 2:57 PM
davide committed rL298823: [MachineScheduler] Reference the correct header..
[MachineScheduler] Reference the correct header.
Sun, Mar 26, 2:39 PM

Fri, Mar 24

davide committed rL298760: [NewGVN] Adjust NDEBUG markers..
[NewGVN] Adjust NDEBUG markers.
Fri, Mar 24, 7:52 PM
davide added a comment to D30572: Remove equal BBs from a function.

Now I found and fixed issues raised during bootstrap. The bootstrap works perfectly now. And I got some numbers: on such huge files like clang, llc, etc. we have about 0.1% size of file decreasing. At the moment I'm using the most possible conservative approach but collected numbers show that we can get better results: it's for sure.

Davide, I'm doing this transformation at this point of pipeline because I'd like to do it after all other layout related transformations. Is it the answer on your question? And the same answer about middle level: I'd like to do this transformation when all others are done but there are still something what can be optimized. Maybe I'm wrong?

Fri, Mar 24, 4:38 PM
davide added inline comments to D31099: [WebAssembly] Improve support for WebAssembly binary format.
Fri, Mar 24, 2:57 PM
davide committed rL298736: [MachineScheduler] Add missing machine pass dependency..
[MachineScheduler] Add missing machine pass dependency.
Fri, Mar 24, 2:05 PM
davide accepted D31351: [yaml2obj] Improve error message when output file cannot be opened.

Can you add a testcase to show the difference?

Fri, Mar 24, 1:49 PM
davide added a comment to D30350: [LSR] Add a cap for reassociation of AllFixupsOutsideLoop type LSRUse to protect compile time.

@qcolombet Ping?

Fri, Mar 24, 12:29 PM

Thu, Mar 23

davide accepted D31304: [MetaRenamer] Don't rename library functions..

Oh, sure. Sounds sensible (modulo nits).

Thu, Mar 23, 2:28 PM
davide added a comment to D31304: [MetaRenamer] Don't rename library functions..

What happens if there's a conflict between a meta-renamed function and originally named extern? For instance,

declare void @pluto()

define void @dont_rename_lib_funcs(...) {  ; metarenames to pluto.
  ...
}

?

Thu, Mar 23, 2:24 PM
davide added a comment to D31304: [MetaRenamer] Don't rename library functions..

I mean, all external functions, not just libcalls, e.g.

declare noalias i8* @blahgoo(i32)  
[...]
  call void @blahgoo(i8* %tmp)

... unless they're already preserved, in which case, feel free to ignore this comment.

Thu, Mar 23, 2:07 PM
davide added a comment to D31304: [MetaRenamer] Don't rename library functions..

You want to do this for all the external functions, maybe?

Thu, Mar 23, 1:30 PM
davide added inline comments to D31099: [WebAssembly] Improve support for WebAssembly binary format.
Thu, Mar 23, 1:27 PM

Wed, Mar 22

davide added a comment to D31232: [IR] Use a binary search in DataLayout::getAlignmentInfo.

lg, thanks for the fix.

Wed, Mar 22, 11:34 PM
davide committed rL298572: [ARM] Reduce code duplication by factoring out in a lambda. NFCI..
[ARM] Reduce code duplication by factoring out in a lambda. NFCI.
Wed, Mar 22, 6:47 PM
davide added a comment to D31122: [LLD] Add -z nodlopen option.

r298567.

Wed, Mar 22, 6:07 PM
davide committed rL298567: [ELF] Add -z nodlopen option..
[ELF] Add -z nodlopen option.
Wed, Mar 22, 6:06 PM
davide added a comment to D31122: [LLD] Add -z nodlopen option.

I'll run this through the testsuite and commit on your behalf soon.

Wed, Mar 22, 6:02 PM
davide committed rL298563: [AArch64] Drive-by cleanup, make this code shorter. NFCI..
[AArch64] Drive-by cleanup, make this code shorter. NFCI.
Wed, Mar 22, 4:50 PM

Tue, Mar 21

davide added a comment to D30468: Simplify the CFG after loop pass cleanup..

I thought about the same problem Mehdi mentioned, but I have to say it's not Filipe's fault. In fact, the root cause is lack of proper integration testing in LLVM (GCC has infrastructure for that, FWIW).

Tue, Mar 21, 3:54 PM
davide committed rL298423: [X86] Remove extra semicolon to placate GCC. NFCI..
[X86] Remove extra semicolon to placate GCC. NFCI.
Tue, Mar 21, 12:29 PM
davide added a comment to D30468: Simplify the CFG after loop pass cleanup..

No other comments from me, I'll be happy if @chandlerc can take a look

Tue, Mar 21, 10:58 AM
davide added a comment to D31099: [WebAssembly] Improve support for WebAssembly binary format.

Some initial comments inline. Meta comment, I think this patch can be split in multiple ones, (e.g. you can have yaml2asm separately).
That would make the review easier/quicker, and so would be my life as reviewer.

Tue, Mar 21, 12:17 AM

Mon, Mar 20

davide added a comment to D31091: [InstCombine] Print a debug message when we constant fold an operand during worklist creation.

Sure, why not. Feel free to commit debug cleanups without pre-commit review.

Mon, Mar 20, 11:01 AM

Sun, Mar 19

davide added inline comments to D26954: Remove unnecessary IDom check.
Sun, Mar 19, 12:59 PM
davide accepted D31122: [LLD] Add -z nodlopen option.

LGTM

Sun, Mar 19, 12:57 PM

Sat, Mar 18

davide accepted D30524: Extract FindAvailablePtrLoadStore out of FindAvailableLoadedValue. NFCI.

LGTM

Sat, Mar 18, 10:35 PM
davide added a comment to D31094: [BuildLibCalls] emitPutChar should infer its function attributes.

Can you add a testcase?

Sat, Mar 18, 5:57 PM

Fri, Mar 17

davide committed rL298160: [Sema] Unbreak GCC -Werror build (enum compare)..
[Sema] Unbreak GCC -Werror build (enum compare).
Fri, Mar 17, 4:36 PM
davide added a comment to D30928: Templatize parts of VNCoercion, and add constant-only versions of the functions to be used in NewGVN. NFCI..

I actually reviewed/LGTM'ed this one days ago but phab didn't send the message. Oh, well.

Fri, Mar 17, 2:33 PM
davide accepted D30928: Templatize parts of VNCoercion, and add constant-only versions of the functions to be used in NewGVN. NFCI..

LGTM, thanks.

Fri, Mar 17, 2:33 PM
davide added a comment to D31011: recommend using llvm-ar when finding undefined references and empty archives.
In D31011#704298, @ruiu wrote:

Still LGTM

Fri, Mar 17, 2:28 PM

Thu, Mar 16

davide accepted D31011: recommend using llvm-ar when finding undefined references and empty archives.

Other than the comments, this looks good

Thu, Mar 16, 3:46 PM
davide added inline comments to D31011: recommend using llvm-ar when finding undefined references and empty archives.
Thu, Mar 16, 3:46 PM

Wed, Mar 15

davide updated subscribers of D31011: recommend using llvm-ar when finding undefined references and empty archives.

Reid (@rnk) pointed out this comes up during Chromium build so please make sure to verify the output is still reasonable with this patch (if I recall correctly libtool emits something similar (but it's more verbose) and the Chromium folks have to filter it out).

Wed, Mar 15, 5:52 PM

Tue, Mar 14

davide added a comment to D30350: [LSR] Add a cap for reassociation of AllFixupsOutsideLoop type LSRUse to protect compile time.

@qcolombet ping

Tue, Mar 14, 10:09 PM
davide accepted D30965: [CodeGen] Use APInt::setLowBits/setHighBits/setBitsFrom in more places.

lgtm

Tue, Mar 14, 10:06 PM

Sun, Mar 12

davide accepted D30873: Make PredIteratorCache size() logically const. Do not require copying predecessors to get size..

LGTM. I personally like your plan of removing the cache altogether supported by benchmarks.

Sun, Mar 12, 1:16 PM

Sat, Mar 11

davide added inline comments to D30468: Simplify the CFG after loop pass cleanup..
Sat, Mar 11, 6:08 PM
davide requested changes to D30468: Simplify the CFG after loop pass cleanup..

I agree with what Simon said. Some comments inline.

Sat, Mar 11, 6:07 PM
davide added a comment to D30572: Remove equal BBs from a function.

You fixed all the style comments, so thanks. But you glossed over the design questions I asked. In particular, before getting performance numbers, there are two questions unanswered:

  1. Why can't you do this in the middle-end? I assume there's a valid reason, but I'll be happy if you can actually elaborate.
  2. Granted we want this in the backend, why are you putting the pass at that specific point in the pipeline?
Sat, Mar 11, 1:12 PM

Fri, Mar 10

davide committed rL297506: [ProfileSummaryInfo] Remove unneeded braces. NFCI..
[ProfileSummaryInfo] Remove unneeded braces. NFCI.
Fri, Mar 10, 1:02 PM

Thu, Mar 9

davide committed rL297423: [Unittests] Fix a build failure with clang 3.8. NFCI..
[Unittests] Fix a build failure with clang 3.8. NFCI.
Thu, Mar 9, 4:01 PM

Wed, Mar 8

davide added a reviewer for D30350: [LSR] Add a cap for reassociation of AllFixupsOutsideLoop type LSRUse to protect compile time: atrick.
Wed, Mar 8, 10:50 AM
davide added a comment to D30350: [LSR] Add a cap for reassociation of AllFixupsOutsideLoop type LSRUse to protect compile time.

Wei, any progress on this? We should either commit a workaround or revert the patchset to unblock folks.

Wed, Mar 8, 10:50 AM
davide updated subscribers of D30350: [LSR] Add a cap for reassociation of AllFixupsOutsideLoop type LSRUse to protect compile time.
Wed, Mar 8, 10:49 AM

Tue, Mar 7

davide committed rL297253: [SCCP] Merge markOverdefined and markAnythingOverdefined..
[SCCP] Merge markOverdefined and markAnythingOverdefined.
Tue, Mar 7, 5:38 PM

Mon, Mar 6

davide added a comment to D30570: Option parsing: implement decrement operators for arg_iterator.

In other words, if you find other cases where this help, fair enough, but I'm reluctant to introduce new code in ArgList with a single consumer for cosmetic reasons only.

Mon, Mar 6, 1:02 AM
davide added a comment to D30570: Option parsing: implement decrement operators for arg_iterator.

I'm not entirely sure it's worth the complexity. This just allows the lld driver to return early.

Mon, Mar 6, 12:59 AM

Sun, Mar 5

davide accepted D30602: [APInt] Add getBitsSetFrom and setBitsFrom to set upper bits starting at a bit.
Sun, Mar 5, 3:41 PM
davide requested changes to D30570: Option parsing: implement decrement operators for arg_iterator.

ehm, what's your use case for iterating lld arguments in reverse order?

Sun, Mar 5, 3:38 PM
davide accepted D30614: [APInt] Move operator~ out of line to make it better able to reused memory allocation from temporary objects.

This looks fine. It would be nice if you could keep the doxygen comment.

Sun, Mar 5, 3:37 PM
davide accepted D30478: Move memory coercion functions from GVN.cpp to VNCoercion.cpp so they can be shared between GVN and NewGVN..

LGTM, with the inline comment addressed. Thanks!

Sun, Mar 5, 3:35 PM
davide requested changes to D30572: Remove equal BBs from a function.

Is it possible to address this at IR level? Anyway, comments inline.

Sun, Mar 5, 3:34 PM

Wed, Mar 1

davide added inline comments to D30526: [Support] Add functions to get and set thread name..
Wed, Mar 1, 11:59 PM
davide added a comment to D30526: [Support] Add functions to get and set thread name..

The FreeBSD related bits are correct. The whole chain of #ifdef is a little nasty, but I'm not sure there's an easy way to avoid it.

Wed, Mar 1, 11:55 PM
davide added inline comments to D30525: [APInt] Add setLowBits/setHighBits methods to APInt..
Wed, Mar 1, 11:50 PM
davide added a comment to D30525: [APInt] Add setLowBits/setHighBits methods to APInt..

Reducing malloc() traffic is generally a good thing, so is this patch. It's particularly slow on some systems (Windows), and FWIW, not great also on Linux with the default allocator (I ended up replacing my malloc() with tcmalloc everywhere, but that's a story for another day). That said, I'm curious if you're actually able to measure any compile time reduction with this change on the cases you plan to switch.

Wed, Mar 1, 11:47 PM
davide added a comment to D30322: [SCCP] Resolve indirect branch target when possible..

I really apologize for the delay in providing you the patch. I'm at GDC this week and that limits my ability to work on LLVM upstream things. I will provide the patch to you next week, and if I don't because I forget, feel free to ping me again.

Wed, Mar 1, 11:02 PM
davide added a comment to D30524: Extract FindAvailablePtrLoadStore out of FindAvailableLoadedValue. NFCI.

I don't think this is bad, but can you please upload the other change to show up how you want to use it?

Wed, Mar 1, 10:48 PM
davide accepted D30509: ELF: Add ThinLTO caching support..

The logic looks good. I'll let Rui review the style.

Wed, Mar 1, 2:50 PM

Tue, Feb 28

davide added a comment to D29705: Fix PR 24415 (at least), by making our post-dominator tree behavior sane..

LGTM, then

Tue, Feb 28, 11:45 AM
davide accepted D29705: Fix PR 24415 (at least), by making our post-dominator tree behavior sane..

The Domtree changes look good to me but I can't comment on StructurizeCFG

Tue, Feb 28, 11:31 AM

Mon, Feb 27

davide added a comment to D30350: [LSR] Add a cap for reassociation of AllFixupsOutsideLoop type LSRUse to protect compile time.

@qcolombet what do you think?

Mon, Feb 27, 11:58 AM

Feb 25 2017

davide committed rL296294: [LoopDeletion] Modernize and simplify a bit. NFCI..
[LoopDeletion] Modernize and simplify a bit. NFCI.
Feb 25 2017, 11:20 PM
davide added a comment to D30350: [LSR] Add a cap for reassociation of AllFixupsOutsideLoop type LSRUse to protect compile time.

Also, I think the test from the PR (after some polishing, maybe) is good to add. If somebody removes these lines at least all (or a subset of) the bots will timeout and we'll notice the regression.

Feb 25 2017, 6:05 PM
davide added inline comments to D30350: [LSR] Add a cap for reassociation of AllFixupsOutsideLoop type LSRUse to protect compile time.
Feb 25 2017, 6:04 PM
davide accepted D30381: [SCCP] Remove manual folding of terminator instructions..

I actually forgot to recommit this one :(
The issue with the original patch was that I folded the call inside the assert so ConstantFoldTerminator() was compiled away in !DEBUG mode.
Oh, well. Your reasoning is correct (actually, was my original reasoning when I committed the patch).

Feb 25 2017, 6:02 PM

Feb 24 2017

davide added a reviewer for D30350: [LSR] Add a cap for reassociation of AllFixupsOutsideLoop type LSRUse to protect compile time: dberlin.
Feb 24 2017, 1:55 PM
davide added a comment to D30350: [LSR] Add a cap for reassociation of AllFixupsOutsideLoop type LSRUse to protect compile time.

Probably this is OK as stopgap solution but I'm generally very wary of adding cutoffs to the code as they add technical debt etc..

Feb 24 2017, 1:55 PM
davide committed rL296153: [Target/MIPS] Kill dead code, no functional change intended..
[Target/MIPS] Kill dead code, no functional change intended.
Feb 24 2017, 11:00 AM
davide added inline comments to D30322: [SCCP] Resolve indirect branch target when possible..
Feb 24 2017, 10:34 AM
davide accepted D30336: [APInt] Add APInt::extractBits() method to extract APInt subrange.

LGTM

Feb 24 2017, 8:38 AM

Feb 23 2017

davide added inline comments to D30322: [SCCP] Resolve indirect branch target when possible..
Feb 23 2017, 8:24 PM
davide accepted D30280: [InstCombine] don't try SimplifyDemandedInstructionBits from zext/sext because it's slow and unnecessary.

lg

Feb 23 2017, 3:55 PM

Feb 22 2017

davide accepted D30270: [InstCombine] don't try SimplifyDemandedInstructionBits from add/sub because it's slow and unlikely to succeed.

Agree with Eli. LGTM.

Feb 22 2017, 2:23 PM
davide accepted D29747: PredicateInfo: Support switch statements.

LGTM. Thanks.

Feb 22 2017, 11:37 AM
davide committed rL295861: [ModuleSummaryAnalysis] Don't crash when referencing unnamed globals..
[ModuleSummaryAnalysis] Don't crash when referencing unnamed globals.
Feb 22 2017, 11:05 AM

Feb 21 2017

davide added inline comments to D29747: PredicateInfo: Support switch statements.
Feb 21 2017, 10:22 AM

Feb 20 2017

davide committed rL295678: [IR/Verifier] List the CU we weren't able to find in `llvm.dbg.cu`..
[IR/Verifier] List the CU we weren't able to find in `llvm.dbg.cu`.
Feb 20 2017, 3:03 PM

Feb 19 2017

davide committed rL295617: [X86] Prefer static_cast<> to C-style cast. NFCI..
[X86] Prefer static_cast<> to C-style cast. NFCI.
Feb 19 2017, 1:47 PM
davide committed rL295615: [AArch64] Prefer static_cast<> to C-style cast. NFCI..
[AArch64] Prefer static_cast<> to C-style cast. NFCI.
Feb 19 2017, 1:43 PM

Feb 18 2017

davide accepted D30154: MemorySSA: Add support for renaming uses in the updater..

LGTM

Feb 18 2017, 11:30 PM
davide added inline comments to D30154: MemorySSA: Add support for renaming uses in the updater..
Feb 18 2017, 10:25 PM
davide added a comment to D30154: MemorySSA: Add support for renaming uses in the updater..

Oh, just realized I commented while you're updating. Oh well.

Feb 18 2017, 10:23 PM
davide added a comment to D30154: MemorySSA: Add support for renaming uses in the updater..

The code logic looks fine. Some minor comments inline.

Feb 18 2017, 10:22 PM
davide added a comment to D29998: Add initial support for debug counting.

I think some documentation in the dev guide would be welcome!

Feb 18 2017, 4:14 PM
davide accepted D29998: Add initial support for debug counting.

LGTM! (after some minor comments inline have been addressed).
I used this (yesterday) to track down an issue internally, so very happy about this feature already.
I'd commit the PredicateInfo bits separately (it would be awesome if you can actually a test for that).

Feb 18 2017, 3:50 PM

Feb 17 2017

davide added a comment to D30128: [LazyMachineBFI] Reimplement with getAnalysisIfAvailable.

What's the compile time savings you're seeing from not computing these analyses unnecessarily?

Feb 17 2017, 7:15 PM
davide committed rL295537: [IR/Verifier] Don't visit DISubprograms more than needed..
[IR/Verifier] Don't visit DISubprograms more than needed.
Feb 17 2017, 7:14 PM
davide added a comment to D29705: Fix PR 24415 (at least), by making our post-dominator tree behavior sane..

I think a test for infinite loops (the one attached to the PR or/and slight modification of them) are fine (at least for me)

Feb 17 2017, 5:23 PM
davide added a comment to D29705: Fix PR 24415 (at least), by making our post-dominator tree behavior sane..

The approach looks good to me, if you add a testcase and revert the unrelated changes I'll give it another look (possibly today)

Feb 17 2017, 5:21 PM
davide requested changes to D29998: Add initial support for debug counting.
Feb 17 2017, 3:28 PM
davide added a comment to D29998: Add initial support for debug counting.

When I saw this GCC feature I was really jealous =) Thanks for working on this, reviewing it now.

Feb 17 2017, 3:19 PM
davide requested changes to D29989: [BasicAA] Take attributes into account when requesting modref info for a call site.
Feb 17 2017, 3:18 PM
davide added inline comments to D29989: [BasicAA] Take attributes into account when requesting modref info for a call site.
Feb 17 2017, 3:18 PM
davide accepted D30109: [MemorySSA] NFC small fixes.

You can probably on and commit a subset of this. I'm in doubt about the first chunk so I asked Danny/George to take a look.

Feb 17 2017, 3:15 PM
davide committed rL295503: [NewGVN] isOnlyReachableViaThisEdge() is dead now. NFCI..
[NewGVN] isOnlyReachableViaThisEdge() is dead now. NFCI.
Feb 17 2017, 2:33 PM
davide committed rL295500: [NewGVN] createVariableOrConstant is not required anymore. NFCI..
[NewGVN] createVariableOrConstant is not required anymore. NFCI.
Feb 17 2017, 2:33 PM

Feb 13 2017

davide committed rL294971: [LTO] Add support for optimization remarks..
[LTO] Add support for optimization remarks.
Feb 13 2017, 10:00 AM