Displaying 20 results from an estimated 8000 matches similar to: "Hash of a module"
2015 Dec 21
3
Hash of a module
Yes, I'm running all the existing passes that I know how to run. I didn't
know they returned change-made. Thanks!
On Mon, Dec 21, 2015 at 12:36 PM, Artur Pilipenko <
apilipenko at azulsystems.com> wrote:
> Are you going to run some of the existing passes? Why can’t you just use
> the returned change-made value from the passes?
>
> Artur
>
> > On 20 Dec 2015, at
2015 Dec 21
2
Hash of a module
| (canonicalizeOperands swaps arguments of an and and then ReassociateExpression swaps them back).
That feels like its own bug, canonicalize and reassociate having different opinions of canonical order. Just saying.
--paulr
From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Artur Pilipenko via llvm-dev
Sent: Monday, December 21, 2015 9:11 AM
To: Russell Wallace
Cc: llvm-dev
2019 Jan 31
5
Status of the function merging pass?
Hi,
I'm interested in finding ways to reduce code size. LLVM's MergeFunctions pass seems like a promising option, and I'm curious about its status in tree.
Enabling MergeFunctions gives a 1% code size reduction across the entire iOS shared cache (a collection of a few hundred system-critical DSO's). The numbers are even more compelling for Swift code. In fact, the swift compiler
2014 Oct 07
2
[LLVMdev] Debug Info and MergeFunctions Transform
Hi Stepan,
After discovering several bugs in ArgumentPromotion and
DeadArgumentElimination where llvm::Functions were replaced with similar
functions (with the same name) to transform their type in some way, I
started looking at all calls to llvm::Function::takeName to see if there
were any other debug info quality bugs in similar callers.
One such caller is MergeFunctions, and I don't see
2019 Feb 01
6
Status of the function merging pass?
Hi Nikita,
Glad to hear that Rust code can benefit a lot from this.
I have put patches to enable merge-similar functions with thinLTO.
https://reviews.llvm.org/D52896 etc.
<https://reviews.llvm.org/D52896>
This is more powerful than existing merge-functions pass and all we need to do is port these patches to trunk llvm. I'd be happy to help with this effort.
-Aditya
2014 Jan 17
6
[LLVMdev] MergeFunctions: reduce complexity to O(log(N))
Hi all,
I propose simple improvement for MergeFunctions pass, that reduced its
complexity from O(N^2) to O(log(N)), where N is number of functions in
module.
The idea, is to replace the result of comparison from "bool" to
"-1,0,1". In another words: define order relation on functions set.
To be sure, that functions could be comparable that way, we have to
prove that order
2018 Feb 06
2
[RFC] Make LoopVectorize Aware of SLP Operations
Hello,
We would like to propose making LoopVectorize aware of SLP operations,
to improve the generated code for loops operating on struct fields or
doing complex math.
At the moment, LoopVectorize uses interleaving to vectorize loops that
operate on values loaded/stored from consecutive addresses: vector
loads/stores are generated to combine consecutive loads/stores and then
shufflevector
2011 Feb 28
3
[LLVMdev] llvm-diff
Hi all,
I'm considering adding debug metadata logic to llvm-diff, but it looks
like some heavy refactoring will be needed to do so. Who's the owner
of it?
There is too much logic in DifferenceEngine, classes being declared in
the cpp file, sub-classes of DifferenceEngine that could be used by
the metadata diff, but with the current style
(FunctionDifferenceEngine(*this)) will be hard to
2014 Jan 22
2
[LLVMdev] MergeFunctions: reduce complexity to O(log(N))
Hi Tobias,
> I can't really see a way to combine our approach with your patch. What
> are your thoughts?
I think it is possible. Even more - we need to combine our efforts, in order to bring this pass into real live.
I'have read your presentation file, and unfortunately read your patch only a little.
How exactly you scan functions on 2nd stage? Could you explain the algorithm in
2014 Oct 12
2
[LLVMdev] Debug Info and MergeFunctions Transform
Hi David,
After merging we always remove body of "G" (function we want to merge with "existing" one).
In case with "writeThunk" we could add such info for "G", but it would be just a single string: reference to first string of "G".
Ideal way here, is to merge debug information itself, and provide "F" with information for "G"
2009 Oct 20
2
[LLVMdev] Opportunities for meeting more frequently than once a year?
Hi Jean-Daniel
On Mon, Oct 19, 2009 at 3:24 PM, Jean-Daniel Dupas
<devlists at shadowlab.org>wrote:
>
> Le 19 oct. 2009 à 15:05, Kenneth Uildriks a écrit :
> FWIW, there is a LLVM bar camp planed in Paris the next month:
>
> http://barcamp.org/LLVM%20BarCamp%20Paris (French web page)
>
>
> -- Jean-Daniel
>
Could you please tell me if it will be in French or
2014 Jan 31
2
[LLVMdev] MergeFunctions: reduce complexity to O(log(N))
Hi all,
Please find the updated patch in attachment:
* Added some comments.
* Fixed some typos.
-Stepan
Nick Lewycky wrote:
> On 30 January 2014 01:27, Stepan Dyatkovskiy <stpworld at narod.ru
> <mailto:stpworld at narod.ru>> wrote:
>
> Hello Sean and Tobias,
>
> Sean,
> Thank you. Could you describe Nick's ideas in few words or give me
>
2013 Oct 27
2
[LLVMdev] Two questions about MergeFunctions pass
Hi Nick.
Can you help me sort some things out in MergeFucntions pass. While I was
working on MergeFunctions pass I got several questions. I hardly tried
to find all the answers by myself, but there are still two questions
without answer.
It is about merging functions itself (not comparing).
First question is:
Why sometimes we use RAUW and sometimes replaceDirectCallers. Would you
help me
2014 Feb 03
4
[LLVMdev] MergeFunctions: reduce complexity to O(log(N))
Hi all,
Previous patch has been split onto series of small changes.
On each stage (after each patch) MergeFunctions pass is compilable and
stable.
Please find patches in attachment for review.
To apply all patches at once, use "apply-patches.sh" script as follows:
0. Place "apply-patches.sh" in same directory with patches.
1. cd <llvm-sources-dir>
2. "bash
2006 May 16
1
[LLVMdev] CloneModule ValueMap
After cloning a Module with CloneModule, there doesn't seem to be any
easy way to convert a Value pointing into the old Module to a Value
pointing into the new one.
The CloneModule implementation already has to keep such a mapping
internally, so I've written a patch that exposes it as a second inout
parameter to CloneModule(), with the one param version being a simple
wrapper for backward
2009 Oct 20
0
[LLVMdev] Opportunities for meeting more frequently than once a year?
Le 20 oct. 2009 à 10:27, Artur Pietrek a écrit :
> Hi Jean-Daniel
>
> On Mon, Oct 19, 2009 at 3:24 PM, Jean-Daniel Dupas <devlists at shadowlab.org
> > wrote:
>
> Le 19 oct. 2009 à 15:05, Kenneth Uildriks a écrit :
> FWIW, there is a LLVM bar camp planed in Paris the next month:
>
> http://barcamp.org/LLVM%20BarCamp%20Paris (French web page)
>
>
> --
2013 Oct 29
0
[LLVMdev] Two questions about MergeFunctions pass
On 27 October 2013 11:30, Stepan Dyatkovskiy <stpworld at narod.ru> wrote:
> Hi Nick.
>
> Can you help me sort some things out in MergeFucntions pass. While I was
> working on MergeFunctions pass I got several questions. I hardly tried to
> find all the answers by myself, but there are still two questions without
> answer.
>
> It is about merging functions itself
2018 Nov 02
2
error Cached MIME parts don't match message during parsing: Cached header size mismatch (parts=)
I have a problem for specific mailbox. In mail.err file I see a lot:
Nov 2 07:41:17 s1 dovecot: imap(artur at example.pl): Error:
unlink(/var/vmail/example.pl/artur/Maildir/dovecot.index.cache)
failed: No such file or directory (in mail-cache.c:28)
Nov 2 07:41:17 s1 dovecot: imap(artur at example.pl): Error: Corrupted
index cache file
/var/vmail/example.pl/artur/Maildir/dovecot.index.cache:
2016 Jan 26
2
Handling of metadata in llvm::CloneModule
Sorry if this has been discussed already...
I am trying to understand whether there is an underlying reason why llvm::CloneModule takes argument function ShouldCloneDefinition to discriminate on objects being cloned, but blindly copies all named metadata...?
In my case this results in debug nodes that are creating uses/relocations for global objects that were _not_ copied per
2016 Sep 28
3
Load combine pass
Hi,
I'm trying to optimize a pattern like this into a single i16 load:
%1 = bitcast i16* %pData to i8*
%2 = load i8, i8* %1, align 1
%3 = zext i8 %2 to i16
%4 = shl nuw i16 %3, 8
%5 = getelementptr inbounds i8, i8* %1, i16 1
%6 = load i8, i8* %5, align 1
%7 = zext i8 %6 to i16
%8 = shl nuw nsw i16 %7, 0
%9 = or i16 %8, %4
I came across load combine pass which is motivated