similar to: [LLVMdev] More questions about appending linkage

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] More questions about appending linkage"

2009 Dec 03
1
[LLVMdev] Appending linkage and DGE
Sorry if this question is a repeat, I never got an answer the last time I asked :) How does appending linkage interact with dead global elimination? From what I understand, appending linkage arrays are stitched together by the linker. Dead global elimination usually happens after linking, so if any of those arrays are "live", then any globals that they point to will be live as well. My
2008 Apr 02
1
[LLVMdev] Question about appending linkage
John Criswell wrote: > Talin wrote: > >> I'm trying to figure out how to do static initialization (like static >> constructors in C++ or Java). I figured I would use appending linkage - >> that is, for each module I'd generate a function that did all of the >> static initialization for that module, and then I'd put a pointer to >> that function in
2008 Apr 24
1
[LLVMdev] Question about appending linkage
My apologies for opening up an old thread, but I've been thinking about this quite a bit lately, and it seems to me that "appending linkage" would be a lot more useful in general if there was some way to determine the size of the appended array without having to write a custom pass to do it. In other words, using the standard llvm tools (llvm-link and friends), one ought to be
2011 Jan 24
2
[LLVMdev] Rolling my own appending linkage
Hey all, it's been a while since I have posted on llvm-dev, but that's mainly because I have been making good progress with my LLVM project. :) In any case, I'd like some advice on implementing my own version of appending linkage as a linker plugin. As I have pointed out on this list before, the existing appending linkage type isn't useful for me for two reasons: 1) There's
2008 Apr 02
0
[LLVMdev] Question about appending linkage
Talin wrote: > I'm trying to figure out how to do static initialization (like static > constructors in C++ or Java). I figured I would use appending linkage - > that is, for each module I'd generate a function that did all of the > static initialization for that module, and then I'd put a pointer to > that function in an array with appending linkage. Then my >
2008 Apr 02
3
[LLVMdev] Question about appending linkage
I'm trying to figure out how to do static initialization (like static constructors in C++ or Java). I figured I would use appending linkage - that is, for each module I'd generate a function that did all of the static initialization for that module, and then I'd put a pointer to that function in an array with appending linkage. Then my compiler-generated startup code would simply
2016 May 13
2
[RFC] Fail early on unimplementable append linkage uses
On 13 May 2016 at 08:51, Renato Golin <renato.golin at linaro.org> wrote: > On 13 May 2016 at 13:43, Rafael EspĂ­ndola <llvm-dev at lists.llvm.org> wrote: >> That means that appending linkage can only be used with llvm special >> symbols that never hit a real .o. > > So they should have been resolved by emission time, or it's a back-end error. Not resolved,
2010 Apr 11
1
[LLVMdev] llvm.global_ctors and other "appending linkage" global variables?
Can anyone explain how llc translates "appending linkage" global variables like llvm.global_ctors into assembly? In the case I am examining, the global_ctor variables are in multiple bitcode object modules produced by the llvm compiler as arrays of pointers. As documented, the arrays seem to be combined when the different bitcode object modules are linked into one, so now there is one
2009 Sep 28
1
[LLVMdev] Appending linkage
This is an issue I raised a while ago, but I wanted to know if the situation had improved at all recently. The issue is determining the number of elements in an array that has appending linkage. The obvious course would be to use a constant GEP. Suppose we have N modules, each containing a global variable with appending linkage whose initializer is an array of size M containing elements of type
2009 Dec 10
0
[LLVMdev] Appending linkage
On Thu, Dec 10, 2009 at 2:05 AM, Eli Friedman <eli.friedman at gmail.com> wrote: > On Thu, Dec 10, 2009 at 12:26 AM, Robin Sommer <robinsommer at web.de> wrote: >> >> On Sat, Dec 05, 2009 at 22:56 -0800, I wrote: >> >>> the LLVM documentation lists the 'appending' linkage for having the >>> linker combine two arrays. I'm wondering
2009 Dec 10
2
[LLVMdev] Appending linkage
On Thu, Dec 10, 2009 at 12:26 AM, Robin Sommer <robinsommer at web.de> wrote: > > On Sat, Dec 05, 2009 at 22:56 -0800, I wrote: > >> the LLVM documentation lists the 'appending' linkage for having the >> linker combine two arrays. I'm wondering though if it's then >> possible to get the size of the combined array, e.g., for iterating >> over
2003 Nov 24
1
[LLVMdev] Getting The Resulting Size of Appending Linkage Array?
I think I finally understand how appending linkage type works and what it can be used for. What isn't obvious to me is how one gets the size of the resulting array. I'm thinking about using this to store bits of source language information and understand that it gets concatenated together by the linker. At both compile time and runtime, I want to be able to load an arbitrary bytecode
2009 Dec 06
2
[LLVMdev] Appending linkage
Hi all, the LLVM documentation lists the 'appending' linkage for having the linker combine two arrays. I'm wondering though if it's then possible to get the size of the combined array, e.g., for iterating over its elements? Or how would I otherwise use the combined array? Thanks, Robin -- Robin Sommer * Phone +1 (510) 666-2886 * robin at icir.org ICSI/LBNL * Fax +1
2009 Dec 10
0
[LLVMdev] Appending linkage
On Sat, Dec 05, 2009 at 22:56 -0800, I wrote: > the LLVM documentation lists the 'appending' linkage for having the > linker combine two arrays. I'm wondering though if it's then > possible to get the size of the combined array, e.g., for iterating > over its elements? Or how would I otherwise use the combined array? Any thoughts on this? Am I missing something?
2020 Feb 18
4
LLD doesn't handle globals with appending linkage
Hello. I'm posting this question here, because there seem to be no LLD-specific mailing list. Sorry in advance if this is wrong one. I compile two C source with following command: clang -flto -o %name.bc %name.c LLVM is augmented with my custom pass, which amongst other things create a global with appending linkage: @myvar = appending constant [1 x [1 x i8]*] ... I also have another pass
2020 Feb 18
2
LLD doesn't handle globals with appending linkage
On Tue, Feb 18, 2020 at 9:42 PM David Blaikie <dblaikie at gmail.com> wrote: > I'm /guessing/ this might be related to the COFF support specifically > (perhaps COFF has no appending linkage support - in some cases LLVM IR > supports the union of all semantics so that different formats can be fully > expressed - but it means when targeting certain formats, some features are
2011 Jan 31
0
[LLVMdev] Rolling my own appending linkage
On Tue, Jan 25, 2011 at 9:14 AM, Devang Patel <dpatel at apple.com> wrote: > > On Jan 24, 2011, at 11:57 PM, Duncan Sands wrote: > > > Hi Talin, > > > >> Really, all I need to make this work is some way to 'mark' a global so > that my > >> custom pass can query for all marked globals. Any ideas on this? > > > > metadata maybe?
2016 May 13
4
[RFC] Fail early on unimplementable append linkage uses
Append linkage is magical. It doesn't correspond to anything available in real object files (ELF/COFF/MachO). In those files sections are appended, but symbols are just resolved. That means that appending linkage can only be used with llvm special symbols that never hit a real .o. Long term I think we should delete it an replace with explicit use of section. But for now I would like to just
2011 Feb 01
1
[LLVMdev] Rolling my own appending linkage
On Jan 30, 2011, at 8:36 PM, Talin wrote: > So, I spent the better part of a day making sure that each and every static global had a well-formed and unique name. So far so good. > > However, It turns out that what I need is a little different than what I described - I not only need to know which globals should be traced, but I also need to associate with each of these globals a data
2003 Nov 21
1
[LLVMdev] Linkage Types
Okay, I'm past the GEP "have to dereference pointer first" problem of my last post. I now have a linkage error (I get undefined symbol when I try to assemble the program). gcc -o test.o test.s says: > /tmp/cczhiFk7.o(.text+0x7): In function `a': > : undefined reference to `_index_' _index_ is defined like this: > %_index_ = external global long ;