Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)"
2015 May 19
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Tue, May 19, 2015 at 12:41 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
>
> On Mon, May 18, 2015 at 9:09 PM, Teresa Johnson <tejohnson at google.com>
> wrote:
>>
>> On Fri, May 15, 2015 at 11:20 PM, Teresa Johnson <tejohnson at google.com>
>> wrote:
>> > On Fri, May 15, 2015 at 2:52 PM, David Blaikie <dblaikie at gmail.com>
2015 Jun 03
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Tue, May 19, 2015 at 1:18 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
>
> On Tue, May 19, 2015 at 1:05 PM, Teresa Johnson <tejohnson at google.com>
> wrote:
>>
>> On Tue, May 19, 2015 at 12:41 PM, David Blaikie <dblaikie at gmail.com>
>> wrote:
>> >
>> >
>> > On Mon, May 18, 2015 at 9:09 PM, Teresa Johnson
2015 May 15
3
[LLVMdev] RFC: ThinLTO Impementation Plan
On Fri, May 15, 2015 at 9:53 AM, Teresa Johnson <tejohnson at google.com>
wrote:
> On Fri, May 15, 2015 at 9:20 AM, David Blaikie <dblaikie at gmail.com> wrote:
> >
> >
> > On Fri, May 15, 2015 at 9:18 AM, David Blaikie <dblaikie at gmail.com>
> wrote:
> >>>
> >>>
> >>> >> - Marking of imported functions (for use
2015 Jun 04
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Wed, Jun 3, 2015 at 2:07 PM, Duncan P. N. Exon Smith
<dexonsmith at apple.com> wrote:
>
>> On 2015-Jun-03, at 09:56, Teresa Johnson <tejohnson at google.com> wrote:
>>
>> On Tue, May 19, 2015 at 1:18 PM, David Blaikie <dblaikie at gmail.com> wrote:
>>>
>>>
>>> On Tue, May 19, 2015 at 1:05 PM, Teresa Johnson <tejohnson at
2015 Jun 04
3
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Thu, Jun 4, 2015 at 9:51 AM, Duncan P. N. Exon Smith
<dexonsmith at apple.com> wrote:
>
>> On 2015-Jun-04, at 07:10, Teresa Johnson <tejohnson at google.com> wrote:
>>
>> On Wed, Jun 3, 2015 at 2:07 PM, Duncan P. N. Exon Smith
>> <dexonsmith at apple.com> wrote:
>>>
>>>> On 2015-Jun-03, at 09:56, Teresa Johnson <tejohnson at
2015 May 15
2
[LLVMdev] RFC: ThinLTO Impementation Plan
On Fri, May 15, 2015 at 9:18 AM, David Blaikie <dblaikie at gmail.com> wrote:
>
>> >> - Marking of imported functions (for use in ThinLTO-specific symbol
>> >> linking and global DCE, for example).
>> >
>> > Marking how? Do you mean giving them internal linkage, or something
>> > else?
>>
>> Mentioned just after this: either
2015 Jun 05
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Thu, Jun 4, 2015 at 5:33 PM, Reid Kleckner <rnk at google.com> wrote:
> On Thu, Jun 4, 2015 at 5:17 PM, Teresa Johnson <tejohnson at google.com> wrote:
>>
>> Agreed. Although I assume you mean invoke the new pass under a
>> ThinLTO-only option so that avail extern are not dropped in the
>> compile pass before the LTO link?
>
>
> No, this pass
2015 Jun 04
5
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Thu, Jun 4, 2015 at 3:58 PM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:
>
> > Personally, I think the right approach is to add a bool to
> createGlobalDCEPass defaulting to true named something like
> IsAfterInlining. In most standard pass pipelines, GlobalDCE runs after
> inlining for obvious reasons, so the default makes sense. The special case
> is
2015 Jun 08
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
Talked to Eric Fri and he suggested that this might be the first of
several places where we want behavior of LTO compiles to diverge from
normal -O2 compiles. So for now I have implemented this such that we
pass down -flto to the -cc1 job, and that gets propagated as a code
gen option and into the PassManagerBuilder. I have left the current
logic translating -flto to the -emit-llvm-bc option,
2015 Jun 04
3
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Thu, Jun 4, 2015 at 11:27 AM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:
> Since the compiler is always free to delete available_externally
> functions, I think you could just add a pass to the -flto=thin pipeline
> that deletes all of them (referenced or not) -- it's just a single loop
> through all the functions deleting the bodies of those with the right
2015 Jun 08
4
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Mon, Jun 8, 2015 at 11:33 AM, Reid Kleckner <rnk at google.com> wrote:
> The clang patch lgtm, and I had some comments on the LLVM patch. Duncan, do
> you want to say more there?
>
> --- include/llvm/Transforms/IPO/PassManagerBuilder.h (revision 237590)
> +++ include/llvm/Transforms/IPO/PassManagerBuilder.h (working copy)
> @@ -121,6 +121,7 @@ class PassManagerBuilder {
2015 Jun 05
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On Thu, Jun 4, 2015 at 5:02 PM, Duncan P. N. Exon Smith
<dexonsmith at apple.com> wrote:
>
>> On 2015 Jun 4, at 16:51, Reid Kleckner <rnk at google.com> wrote:
>>
>> On Thu, Jun 4, 2015 at 3:58 PM, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote:
>> > Personally, I think the right approach is to add a bool to createGlobalDCEPass defaulting to
2017 Oct 26
2
LLVM v6.0 Internalize and GlobalDCE PASS can not work together?
Hi Hal,
Thanks for your hint!
$ /opt/llvm-svn/bin/opt -S -internalize
-internalize-public-api-list=main -globaldce hello3.ll -o
hello3.dce.ll it works :)
But I argue that `main` Function should be inserted into ExternalNames
by default:
Index: lib/Transforms/IPO/Internalize.cpp
===================================================================
--- lib/Transforms/IPO/Internalize.cpp
2017 Oct 25
3
LLVM v6.0 Internalize and GlobalDCE PASS can not work together?
Hi LLVM developers,
$ cat hello.c
#include <stdio.h>
void foo() {
}
int main(int argc, char *argv[]) {
for (int i = 0; i < 10; i++) {
printf("%d\n", i);
}
return 0;
}
$ /opt/llvm-svn/bin/clang --version
Fedora clang version 6.0.0 (trunk 316308) (based on LLVM 6.0.0svn)
Target: x86_64-redhat-linux
Thread model: posix
InstalledDir: /opt/llvm-svn/bin
$
2010 Jan 13
2
[LLVMdev] Cross-module function inlining
On 13 Jan 2010, at 16:43, Nick Lewycky wrote:
> Mark Muir wrote:
>> - Run the existing Clang tool on each source file, using -emit-llvm to generate a .bc file for each module.
>> - Run llvm-link to merge them into a single .bc file.
>> - Run llc to generate a complete machine assembly.
>>
>> However, with optimisations enabled, the resulting code is not as
2015 Jun 08
2
[LLVMdev] Removing AvailableExternal values in GlobalDCE (was Re: RFC: ThinLTO Impementation Plan)
On 8 Jun 2015, at 21:08, Eric Christopher <echristo at gmail.com> wrote:
>
> I'd rather not have it be an llvm option at all. Just construct a different set of passes...
>
> This would also solve the problem of needing multiple sets of options to be passed to the builder. It'd be a bit of a change (i.e. having clang do the pass setup), but I think it'd be worth it
2011 Oct 20
0
[LLVMdev] Inlining functions
On Thu, Oct 20, 2011 at 12:48 PM, Gabriel Quadros
<gquadrossilva at gmail.com> wrote:
> Dear LLVMers,
>
> I am trying to use your inline pass, and I would like to know if it is
> possible to remove a function from the bitcode file once it is inlined.
> Basically, I try:
>
> $> opt -inline file2.bc > file2.in.bc
>
> and I see that all the functions
2009 Jan 25
0
[LLVMdev] -O4 limitations in llvm/llvm-gcc-4.2 2.5?
Jack Howarth wrote:
> I've had better luck compiling all of pymol 1.1r2 with
> -O4 on darwin9. Everythink links and there appears to be
> no regressions in the resulting code. I take it that LTO
> in llvm 2.5 is still limited to dead code elimination,
> correct?
No.
libLTO does the equivalent to opt -internalize -ipsccp -globalopt
-constmerge -deadargelim -instcombine
2011 Jan 06
2
[LLVMdev] Marking a function prototype as being "persistent"
On 6 janv. 2011, at 19:00, llvmdev-request at cs.uiuc.edu wrote:
>> I'm using LLVM to JIT-compile the XL programming language. I've recently added a whole-program optimization phase that gives excellent results, but I noticed that the StripDeadPrototypesPass was removing all references to my runtime support functions.
>
> why is that a problem?
Because I have pointers to
2010 Feb 26
0
[LLVMdev] 2nd attempt for a working patch for bug 2606
Hi Jeffrey,
On Feb 26, 2010, at 16:02, Jeffrey Yasskin wrote:
> [sidenote: Please try to avoid extraneous whitespace and line wrapping changes in your patches. It makes it harder to see what you're actually changing]
Sorry just saw some preexisting code was not in 80 columns.
>
> On Fri, Feb 26, 2010 at 4:57 AM, Garrison Venn <gvenn.cfe.dev at gmail.com> wrote:
> Hi