search for: appendinglinkage

Displaying 19 results from an estimated 19 matches for "appendinglinkage".

2015 Jul 24
3
[LLVMdev] LLVM linkage flags
...yLinkage: Keep one copy of function when linking (inline) > > LinkOnceODRLinkage: Same, but only replaced by something equivalent. > > WeakAnyLinkage: Keep one copy of named function when linking (weak) > > WeakODRLinkage: Same, but only replaced by something equivalent. > > AppendingLinkage: Special purpose, only applies to global arrays. > > InternalLinkage: Rename collisions when linking (static functions). > > PrivateLinkage: Like Internal, but omit from symbol table. > > ExternalWeakLinkage: ExternalWeak linkage description. > > CommonLinkage: Tentative def...
2009 Jul 27
4
[LLVMdev] PROPOSAL : Introduce NamedMetadata
...Nodes only. The NamedMetadata is always implicitly typed as metadata. LLVM bitcode reader and writer will keep track of NamedMetadata in a Module. A module can use metadata that is not listed in any NamedMetadata value. A module can have multiple NamedMetadata values. NamedMetadata implicitly uses AppendingLinkage. A NamedMetadata value has zero uses. The NamedMetadata can be used to describe Front End specific types for the optimizer's use. Another potential use is to encode debug information for a global variable. I do not intend to make @llvm.used a NamedMetadata value. - Devang
2017 Jun 20
2
JIT, LTO and @llvm.global_ctors: Looking for advise
Thanks Peter, this is very useful feedback. I did manage to change the behavior of LinkOnlyNeeded to correctly import all variables with AppendingLinkage. In fact, I discovered that there was already something fishy. A variable with AppendingLinkage would get imported correctly from the source module if the destination module already contained a definition for that variable and wouldn't be imported otherwiseÅ  My local fix ensures that it correct...
2015 Jul 14
3
[LLVMdev] RFC: ThinLTO Symbol Linkage and Renaming
...especially for the table at the end) may not come through in the copied text below well. Thanks! Teresa ThinLTO Symbol Linkage and Renaming 1 Introduction 2 Non-Discardable Values 2.2 Linkage Effects 2.2.2 ExternalLinkage 2.2.1 WeakAnyLinkage 2.2.2 WeakODRLinkage 2.2.3 AppendingLinkage 2.2.4 CommonLinkage 3 Linkonce Values 3.1 Linkage Effects 3.2 Importing Strategy 4 Static Values 4.1 Static Variables 4.2 Static Functions 4.3 Static Promotion 4.3.1 Linkage Effects 4.3.2 Renaming 5 Linkage Change Summary Table 1 Introduction This document describ...
2009 Jul 27
0
[LLVMdev] PROPOSAL : Introduce NamedMetadata
...edMetadata is always implicitly typed as metadata. LLVM bitcode > reader and writer will keep track of NamedMetadata in a Module. A > module can use metadata that is not listed in any NamedMetadata value. > A module can have multiple NamedMetadata values. NamedMetadata > implicitly uses AppendingLinkage. And DefaultVisibility and a default Section and an Alignment of 1? GlobalValues carry some amount of baggage here. Dan
2008 Apr 24
1
[LLVMdev] Question about appending linkage
...try and solve the general case instead of just my own particular need. Unfortunately I can't think of any reasonable way to do it that doesn't involve polluting the IR language with a lot of special cases. Here are some ideas that I thought of and discarded: * Have a special "PostAppendingLinkage" type which acts just like "AppendingLinkage", except that it is guaranteed to come after all "AppendingLinkage" sections have been appended. Thus, you could use this to nail a sentinel value at the end of the list. Rejected because the linker has no control over the or...
2003 Nov 23
3
[LLVMdev] Linkage Types again!
...t I'm trying to do is create a "global appending" array. In compilation units that don't include "main", I generate it with: TheStack = new GlobalVariable( /*type=*/ stack_type, /*isConstant=*/ false, /*Linkage=*/ GlobalValue::AppendingLinkage, /*initializer=*/ 0, /*name=*/ "_stack_", /*parent=*/ TheModule ); Note that lack of an...
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
2015 Jul 21
1
[LLVMdev] RFC: ThinLTO Symbol Linkage and Renaming
...gt; > > > ThinLTO Symbol Linkage and Renaming > > > > > > 1 Introduction > > 2 Non-Discardable Values > > 2.2 Linkage Effects > > 2.2.2 ExternalLinkage > > 2.2.1 WeakAnyLinkage > > 2.2.2 WeakODRLinkage > > 2.2.3 AppendingLinkage > > 2.2.4 CommonLinkage > > 3 Linkonce Values > > 3.1 Linkage Effects > > 3.2 Importing Strategy > > 4 Static Values > > 4.1 Static Variables > > 4.2 Static Functions > > 4.3 Static Promotion > > 4.3.1 Linkage Effects &g...
2009 Jul 28
0
[LLVMdev] PROPOSAL : Introduce NamedMetadata
...dMetadata is always implicitly typed as metadata. LLVM bitcode > reader and writer will keep track of NamedMetadata in a Module. A > module can use metadata that is not listed in any NamedMetadata value. > A module can have multiple NamedMetadata values. NamedMetadata > implicitly uses AppendingLinkage. A NamedMetadata value has zero > uses. > > The NamedMetadata can be used to describe Front End specific types for > the optimizer's use. Another potential use is to encode debug > information for a global variable. I do not intend to make @llvm.used > a NamedMetadata value...
2017 Jun 20
2
JIT, LTO and @llvm.global_ctors: Looking for advise
Thanks for the hindsight. I am currently working on a patch/potential fix which introduces a new Linker::ImportIntrinsicGlobalVariables flag. The patch includes a unit test reproducing the problem. Hopefully, that will help getting more feedback. Note that it might take a while before I am allowed to upload the patch since I need approval from Autodesk Legal department. Cheers, Benoit Benoit
2009 Jul 27
2
[LLVMdev] PROPOSAL : Introduce NamedMetadata
...ways implicitly typed as metadata. LLVM bitcode >> reader and writer will keep track of NamedMetadata in a Module. A >> module can use metadata that is not listed in any NamedMetadata value. >> A module can have multiple NamedMetadata values. NamedMetadata >> implicitly uses AppendingLinkage. > > And DefaultVisibility and a default Section and an Alignment of 1? > GlobalValues carry some amount of baggage here. I checked these three. The code generator does not generate any code for these NamedMetadata so we can just use vanilla default values here without any harm. - Devang
2017 Jun 08
2
[RFC][ThinLTO] llvm-dis ThinLTO summary dump format
...Hotness: Unknown > - Name: printf > GUID: 7383291119112528047 > Hotness: Unknown > llvm.used: > - GUID: 15665353970260777610 > Kind: GlobalVar > Linkage: AppendingLinkage > NotEligibleToImport: true > Live: true > TypeIdMap: > WithGlobalValueDeadStripping: false > ... > > Thanks, > Charles > > > On Wed, Jun 7, 2017 at 12:38 PM, Teresa Johnson <tejohnson at google.com> > wrote: > >> >> &g...
2015 Jul 21
2
[LLVMdev] RFC: ThinLTO Symbol Linkage and Renaming
...escribed in Section > 4.3.1. In all other cases the linkage in the original module stays the > same, and therefore is not noted in the table below. > > > > Note that there are no InternalLinkage, PrivateLinkage, > AvailableExternallyLinkage, LinkOnce*Linkage, Weak*Linkage, > AppendingLinkage and CommonLinkage declarations. There are no > ExternalWeakLinkage definitions. > > > > > +---------------------------------+------------------------------------------------+ > > | | Importing Module Linkage > | > > |...
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
2017 Jun 07
2
[RFC][ThinLTO] llvm-dis ThinLTO summary dump format
On Wed, Jun 7, 2017 at 8:58 AM, Charles Saternos <charles.saternos at gmail.com > wrote: > Alright, now it outputs YAML in the following format: > > --- > NamedGlobalValueMap: > X: > - Kind: GlobalVar > Linkage: ExternalLinkage > NotEligibleToImport: false > Live: false > a: > - Kind:
2003 Nov 21
2
[LLVMdev] Need Help With Verifier
...> > TheStack = new GlobalVariable( > /*type=*/ stack_type, > /*isConstant=*/ false, > /*Linkage=*/ GlobalValue::AppendingLinkage, > /*initializer=*/0, > /*name=*/ "_stack_", > /*parent=*/ TheModule > ); Shouldn't that create just a single dimensioned array? Note that "stack_size" is an integer with the value 1024. Finally, I have some confusion about how SSA works with L...
2017 Jul 17
3
[RFC][ThinLTO] llvm-dis ThinLTO summary dump format
...GUID: 7383291119112528047 >>>>> Hotness: Unknown >>>>> llvm.used: >>>>> - GUID: 15665353970260777610 >>>>> Kind: GlobalVar >>>>> Linkage: AppendingLinkage >>>>> NotEligibleToImport: true >>>>> Live: true >>>>> TypeIdMap: >>>>> WithGlobalValueDeadStripping: false >>>>> ... >>>>> >>>>> Thanks, >>>>> Charles >...