[llvm-commits] CVS: llvm/docs/BytecodeFormat.html LangRef.html
Changes in directory llvm/docs: BytecodeFormat.html updated: 1.71 - 1.72 LangRef.html updated: 1.241 - 1.242 --- Log message: Implement protected visibility. This partly implements PR1363: http://llvm.org/PR1363 . Linker should be taught to deal with protected symbols. --- Diffs of the changes: (+11 -4) BytecodeFormat.html |6 +++--- LangRef.html|9 - 2 files changed, 11 insertions(+), 4 deletions(-) Index: llvm/docs/BytecodeFormat.html diff -u llvm/docs/BytecodeFormat.html:1.71 llvm/docs/BytecodeFormat.html:1.72 --- llvm/docs/BytecodeFormat.html:1.71 Sat Apr 28 08:44:59 2007 +++ llvm/docs/BytecodeFormat.html Sun Apr 29 13:35:00 2007 @@ -1044,7 +1044,7 @@ /tr tr tda href=#bitbit(10-12)/a/td - td class=td_leftVisibility style: 0=Default, 1=Hidden./td + td class=td_leftVisibility style: 0=Default, 1=Hidden, 2=Protected./td /tr tr tda href=#bitbit(13-31)/a/td @@ -1506,7 +1506,7 @@ /tr tr tda href=#bitbit(16-18)/a/td - td class=td_leftVisibility style: 0=Default, 1=Hidden./td + td class=td_leftVisibility style: 0=Default, 1=Hidden, 2=Protected./td /tr tr tda href=#bitbit(19-31)/a/td @@ -2152,7 +2152,7 @@ a href=mailto:[EMAIL PROTECTED]Reid Spencer/a and a href=mailto:[EMAIL PROTECTED]Chris Lattner/abr a href=http://llvm.org;The LLVM Compiler Infrastructure/abr -Last modified: $Date: 2007/04/28 13:44:59 $ +Last modified: $Date: 2007/04/29 18:35:00 $ /address /body /html Index: llvm/docs/LangRef.html diff -u llvm/docs/LangRef.html:1.241 llvm/docs/LangRef.html:1.242 --- llvm/docs/LangRef.html:1.241Sun Apr 29 13:02:48 2007 +++ llvm/docs/LangRef.html Sun Apr 29 13:35:00 2007 @@ -591,6 +591,13 @@ directly. /dd + dtbttprotected/tt - Protected style/b:/dt + + ddOn ELF, protected visibility indicates that the symbol will be placed in + the dynamic symbol table, but that references within the defining module will + bind to the local symbol. That is, the symbol cannot be overridden by another + module. + /dd /dl /div @@ -4749,7 +4756,7 @@ a href=mailto:[EMAIL PROTECTED]Chris Lattner/abr a href=http://llvm.org;The LLVM Compiler Infrastructure/abr - Last modified: $Date: 2007/04/29 18:02:48 $ + Last modified: $Date: 2007/04/29 18:35:00 $ /address /body /html ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/docs/BytecodeFormat.html LangRef.html
Changes in directory llvm/docs: BytecodeFormat.html updated: 1.70 - 1.71 LangRef.html updated: 1.238 - 1.239 --- Log message: Implement review feedback. Aliasees can be either GlobalValue's or bitcasts of them. --- Diffs of the changes: (+11 -10) BytecodeFormat.html | 16 LangRef.html|5 +++-- 2 files changed, 11 insertions(+), 10 deletions(-) Index: llvm/docs/BytecodeFormat.html diff -u llvm/docs/BytecodeFormat.html:1.70 llvm/docs/BytecodeFormat.html:1.71 --- llvm/docs/BytecodeFormat.html:1.70 Wed Apr 25 09:27:10 2007 +++ llvm/docs/BytecodeFormat.html Sat Apr 28 08:44:59 2007 @@ -1212,14 +1212,18 @@ linkage, 2 - Weak linkage./td /tr tr - tda href=#bitbit(2-31)/a/td + tda href=#bitbit(2)/a/td + td class=td_left0 - Aliasee is global value. 1 - Aliasee is constant + expression (bitcast of global value)/td +/tr +tr + tda href=#bitbit(3-31)/a/td td class=td_leftType slot number of type for the alias itself./td /tr /tbody /table - pThe next two a href=#uint32_vbruint32_vbr's/a describes the - aliasee. /p + pThe next a href=#uint32_vbruint32_vbr/a describes the aliasee. /p table tbody @@ -1229,10 +1233,6 @@ /tr tr tda href=#uint32_vbruint32_vbr/a/td - td class=td_leftType slot number of type for the aliasee./td -/tr -tr - tda href=#uint32_vbruint32_vbr/a/td td class=td_leftSlot number of the aliasee./td /tr /tbody @@ -2152,7 +2152,7 @@ a href=mailto:[EMAIL PROTECTED]Reid Spencer/a and a href=mailto:[EMAIL PROTECTED]Chris Lattner/abr a href=http://llvm.org;The LLVM Compiler Infrastructure/abr -Last modified: $Date: 2007/04/25 14:27:10 $ +Last modified: $Date: 2007/04/28 13:44:59 $ /address /body /html Index: llvm/docs/LangRef.html diff -u llvm/docs/LangRef.html:1.238 llvm/docs/LangRef.html:1.239 --- llvm/docs/LangRef.html:1.238Wed Apr 25 09:27:10 2007 +++ llvm/docs/LangRef.html Sat Apr 28 08:44:59 2007 @@ -24,6 +24,7 @@ lia href=#callingconvCalling Conventions/a/li lia href=#globalvarsGlobal Variables/a/li lia href=#functionstructureFunctions/a/li + lia href=aliasstructureAliases/a lia href=#paramattrsParameter Attributes/a/li lia href=#moduleasmModule-Level Inline Assembly/a/li lia href=#datalayoutData Layout/a/li @@ -705,7 +706,7 @@ /div div class=doc_text pAliases act as second name for the aliasee value (which can be either - function or global variable). Aliases may have an + function or global variable or bitcast of global value). Aliases may have an optional a href=#linkagelinkage type/a, and an optional a href=#visibilityvisibility style/a./p @@ -4749,7 +4750,7 @@ a href=mailto:[EMAIL PROTECTED]Chris Lattner/abr a href=http://llvm.org;The LLVM Compiler Infrastructure/abr - Last modified: $Date: 2007/04/25 14:27:10 $ + Last modified: $Date: 2007/04/28 13:44:59 $ /address /body /html ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Re: [llvm-commits] CVS: llvm/docs/BytecodeFormat.html LangRef.html
Index: llvm/docs/LangRef.html diff -u llvm/docs/LangRef.html:1.238 llvm/docs/LangRef.html:1.239 --- llvm/docs/LangRef.html:1.238 Wed Apr 25 09:27:10 2007 +++ llvm/docs/LangRef.htmlSat Apr 28 08:44:59 2007 @@ -24,6 +24,7 @@ lia href=#callingconvCalling Conventions/a/li lia href=#globalvarsGlobal Variables/a/li lia href=#functionstructureFunctions/a/li + lia href=aliasstructureAliases/a This needs a #. Overall, very nice job Anton! -Chris ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/docs/BytecodeFormat.html LangRef.html
Changes in directory llvm/docs: BytecodeFormat.html updated: 1.69 - 1.70 LangRef.html updated: 1.237 - 1.238 --- Log message: Implement aliases. This fixes PR1017: http://llvm.org/PR1017 and it's dependent bugs. CFE part will follow. --- Diffs of the changes: (+91 -15) BytecodeFormat.html | 69 ++-- LangRef.html| 37 +-- 2 files changed, 91 insertions(+), 15 deletions(-) Index: llvm/docs/BytecodeFormat.html diff -u llvm/docs/BytecodeFormat.html:1.69 llvm/docs/BytecodeFormat.html:1.70 --- llvm/docs/BytecodeFormat.html:1.69 Sat Apr 21 03:16:24 2007 +++ llvm/docs/BytecodeFormat.html Wed Apr 25 09:27:10 2007 @@ -943,11 +943,11 @@ target triple specified, i.e. a platform-independent module)./td /tr tr - tda href=#stringstring/a/td - td class=td_leftThe data layout string describing the endianness, -pointer size, and type alignments for which the module was written -(blank means no data layout specified, i.e. a platform-independent -module)./td + tda href=#stringstring/a/td + td class=td_leftThe data layout string describing the endianness, +pointer size, and type alignments for which the module was written +(blank means no data layout specified, i.e. a platform-independent +module)./td /tr tr tda href=#llistllist/a(a href=#stringstring/a)/td @@ -959,6 +959,11 @@ tda href=#stringstring/a/td td class=td_leftThe inline asm block for this module./td /tr +tr + tda href=#zlistzlist/a(a href=#aliasalias/a)/td + td class=td_leftA zero terminated list of aliases occurring in the + module./td +/tr /tbody /table /div @@ -1123,7 +1128,7 @@ tda href=#bitbit(5-30)/a/td td class=td_leftType slot number of type for the function./td /tr - tr +tr tda href=#bitbit(31)/a/td td class=td_leftIndicates whether an extension word follows./td /tr @@ -1186,6 +1191,56 @@ /div !-- ___ -- +div class=doc_subsubsectiona name=aliasAlias Field/a +/div +div class=doc_text +pAliases are written using 3 a href=#uint32_vbruint32_vbr/a +that encode information about alias itself and aliasee./p + +pThe table below provides the bit layout of +the first a href=#uint32_vbruint32_vbr/a which describes alias itself./p + +table + tbody +tr + thbType/b/th + th class=td_leftbDescription/b/th +/tr +tr + tda href=#bitbit(0-1)/a/td + td class=td_leftAlias linkage. 0 - External linkage, 1 - Internal + linkage, 2 - Weak linkage./td +/tr +tr + tda href=#bitbit(2-31)/a/td + td class=td_leftType slot number of type for the alias itself./td +/tr + /tbody +/table + + pThe next two a href=#uint32_vbruint32_vbr's/a describes the + aliasee. /p + +table + tbody +tr + thbType/b/th + th class=td_leftbDescription/b/th +/tr +tr + tda href=#uint32_vbruint32_vbr/a/td + td class=td_leftType slot number of type for the aliasee./td +/tr +tr + tda href=#uint32_vbruint32_vbr/a/td + td class=td_leftSlot number of the aliasee./td +/tr + /tbody +/table + +/div + +!-- ___ -- div class=doc_subsectiona name=constantpoolConstant Pool/a /div div class=doc_text pA constant pool defines as set of constant values. There are @@ -2097,7 +2152,7 @@ a href=mailto:[EMAIL PROTECTED]Reid Spencer/a and a href=mailto:[EMAIL PROTECTED]Chris Lattner/abr a href=http://llvm.org;The LLVM Compiler Infrastructure/abr -Last modified: $Date: 2007/04/21 08:16:24 $ +Last modified: $Date: 2007/04/25 14:27:10 $ /address /body /html Index: llvm/docs/LangRef.html diff -u llvm/docs/LangRef.html:1.237 llvm/docs/LangRef.html:1.238 --- llvm/docs/LangRef.html:1.237Sun Apr 22 09:56:37 2007 +++ llvm/docs/LangRef.html Wed Apr 25 09:27:10 2007 @@ -498,7 +498,8 @@ pIt is illegal for a function ideclaration/i to have any linkage type other than externally visible, ttdllimport/tt, or ttextern_weak/tt./p - +pAliases can have only ttexternal/tt, ttinternal/tt and ttweak/tt +linkages. /div !-- === -- @@ -602,12 +603,11 @@ pGlobal variables define regions of memory allocated at compilation time instead of run-time. Global variables may optionally be initialized, may have -an explicit section to be placed in, and may -have an optional explicit alignment specified. A variable may be defined as -thread_local, which means that it will not be shared by threads (each thread -will have a separated copy of the variable). -A variable may be defined as a global constant, which indicates that the -contents of the variable will
Re: [llvm-commits] CVS: llvm/docs/BytecodeFormat.html LangRef.html
On Apr 25, 2007, at 7:28 AM, Anton Korobeynikov wrote: --- llvm/docs/LangRef.html:1.237 Sun Apr 22 09:56:37 2007 +++ llvm/docs/LangRef.htmlWed Apr 25 09:27:10 2007 @@ -498,7 +498,8 @@ pIt is illegal for a function ideclaration/i to have any linkage type other than externally visible, ttdllimport/tt, or ttextern_weak/tt./p - +pAliases can have only ttexternal/tt, ttinternal/tt and ttweak/tt +linkages. /div What do these mean? What semantics does the linker have? Why isn't it always valid to RAUW an internal alias, then delete it? +!-- == = -- +div class=doc_subsection + a name=aliasstructureAliases/a +/div Should this section go in the TOC at the start of the file? +div class=doc_text + pAliases act as second name for the aliasee value (which can be either + function or global variable). Aliases may have an + optional a href=#linkagelinkage type/a, and an + optional a href=#visibilityvisibility style/a./p I suggest mentioning that aliases are only supported on some targets. Is there any way to emulate them on targets that don't support them? Also, can you please add CBE support for them? -Chris ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/docs/BytecodeFormat.html LangRef.html
Changes in directory llvm/docs: BytecodeFormat.html updated: 1.68 - 1.69 LangRef.html updated: 1.234 - 1.235 --- Log message: add support for alignment attributes on load/store instructions --- Diffs of the changes: (+8 -8) BytecodeFormat.html |8 LangRef.html|8 2 files changed, 8 insertions(+), 8 deletions(-) Index: llvm/docs/BytecodeFormat.html diff -u llvm/docs/BytecodeFormat.html:1.68 llvm/docs/BytecodeFormat.html:1.69 --- llvm/docs/BytecodeFormat.html:1.68 Thu Apr 12 14:52:46 2007 +++ llvm/docs/BytecodeFormat.html Sat Apr 21 03:16:24 2007 @@ -1587,15 +1587,15 @@ trtdCall+FastCC+TailCall/tdtd59/tdtd5/tdtd1.5/td/tr trtdCall+FastCC/tdtd60/tdtd5/tdtd1.5/td/tr trtdCall+CCC+TailCall/tdtd61/tdtd5/tdtd1.5/td/tr - trtdLoad+Volatile/tdtd62/tdtd3/tdtd1.3/td/tr - trtdStore+Volatile/tdtd63/tdtd3/tdtd1.3/td/tr + trtdLoad+Attributes/tdtd62/tdtd7/tdtd2.0/td/tr + trtdStore+Attributes/tdtd63/tdtd7/tdtd2.0/td/tr /tbody /table pba name=pi_note* Note: /a/b These aren't really opcodes from an LLVM language perspective. They encode information into other opcodes without reserving space for that information. -For example, opcode=63 is a Volatile Store. The opcode for this +For example, opcode=63 is an Attributed Store. The opcode for this instruction is 25 (Store) but we encode it as 63 to indicate that is a Volatile Store. The same is done for the calling conventions and tail calls. In each of these entries in range 56-63, the opcode is documented as the base @@ -2097,7 +2097,7 @@ a href=mailto:[EMAIL PROTECTED]Reid Spencer/a and a href=mailto:[EMAIL PROTECTED]Chris Lattner/abr a href=http://llvm.org;The LLVM Compiler Infrastructure/abr -Last modified: $Date: 2007/04/12 19:52:46 $ +Last modified: $Date: 2007/04/21 08:16:24 $ /address /body /html Index: llvm/docs/LangRef.html diff -u llvm/docs/LangRef.html:1.234 llvm/docs/LangRef.html:1.235 --- llvm/docs/LangRef.html:1.234Thu Apr 12 15:34:36 2007 +++ llvm/docs/LangRef.html Sat Apr 21 03:16:25 2007 @@ -2609,7 +2609,7 @@ Instruction/a /div div class=doc_text h5Syntax:/h5 -pre lt;resultgt; = load lt;tygt;* lt;pointergt;br lt;resultgt; = volatile load lt;tygt;* lt;pointergt;br/pre +pre lt;resultgt; = load lt;tygt;* lt;pointergt;[, align lt;alignmentgt;]br lt;resultgt; = volatile load lt;tygt;* lt;pointergt;[, align lt;alignmentgt;]br/pre h5Overview:/h5 pThe 'ttload/tt' instruction is used to read from memory./p h5Arguments:/h5 @@ -2634,8 +2634,8 @@ Instruction/a /div div class=doc_text h5Syntax:/h5 -pre store lt;tygt; lt;valuegt;, lt;tygt;* lt;pointergt; i; yields {void}/i - volatile store lt;tygt; lt;valuegt;, lt;tygt;* lt;pointergt; i; yields {void}/i +pre store lt;tygt; lt;valuegt;, lt;tygt;* lt;pointergt;[, align lt;alignmentgt;] i; yields {void}/i + volatile store lt;tygt; lt;valuegt;, lt;tygt;* lt;pointergt;[, align lt;alignmentgt;] i; yields {void}/i /pre h5Overview:/h5 pThe 'ttstore/tt' instruction is used to write to memory./p @@ -4732,7 +4732,7 @@ a href=mailto:[EMAIL PROTECTED]Chris Lattner/abr a href=http://llvm.org;The LLVM Compiler Infrastructure/abr - Last modified: $Date: 2007/04/12 20:34:36 $ + Last modified: $Date: 2007/04/21 08:16:25 $ /address /body /html ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Re: [llvm-commits] CVS: llvm/docs/BytecodeFormat.html LangRef.html
Nice work Anton, some comments below: @@ -1082,7 +1081,11 @@ td class=td_leftIf this bit is set, a SectionID follows this vbr./td /tr tr - tda href=#bitbit(10-31)/a/td + tda href=#bitbit(10-12)/a/td + td class=td_leftVisibility style: 0=Default, 1=Hidden./td +/tr +tr + tda href=#bitbit(13-31)/a/td td class=td_leftCurrently unassigned./td /tr /tbody Why reserve 3 bits for visibility? +!-- __ _ -- +div class=doc_subsubsectiona name=funclinkage_and_visibilityLinkage and +visibility word/a +/div +div class=doc_text + +table + tbody +tr + thbType/b/th + th class=td_leftbField Description/b/th +/tr +tr + tda href=#bitbit(0-15)/a/td + td class=td_leftThe linkage type of the function: 0=External, 1=Weak, +2=Appending, 3=Internal, 4=LinkOnce, 5=DllImport, 6=DllExportsup1/sup/td +/tr +tr + tda href=#bitbit(16-31)/a/td + td class=td_leftVisibility style: 0=Default, 1=Hidden./td Why reserve 16 bits for visibility? :) Also, please add some info to LangRef.html about visibility. Thanks! -Chris ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/docs/BytecodeFormat.html LangRef.html
Changes in directory llvm/docs: BytecodeFormat.html updated: 1.58 - 1.59 LangRef.html updated: 1.193 - 1.194 --- Log message: * PIC codegen for X86/Linux has been implemented * PIC-aware internal structures in X86 Codegen have been refactored * Visibility (default/weak) has been added * Docs fixes (external weak linkage, visibility, formatting) --- Diffs of the changes: (+57 -25) BytecodeFormat.html | 48 +++- LangRef.html| 34 ++ 2 files changed, 57 insertions(+), 25 deletions(-) Index: llvm/docs/BytecodeFormat.html diff -u llvm/docs/BytecodeFormat.html:1.58 llvm/docs/BytecodeFormat.html:1.59 --- llvm/docs/BytecodeFormat.html:1.58 Fri Dec 8 11:50:05 2006 +++ llvm/docs/BytecodeFormat.html Fri Jan 12 13:20:46 2007 @@ -743,7 +743,6 @@ li#3: LLVM 1.3/li li#4: LLVM 1.3.x (not released)/li li#5: LLVM 1.4 and newer/li - /li /ul pNote that we plan to eventually expand the target description capabilities @@ -1082,7 +1081,11 @@ td class=td_leftIf this bit is set, a SectionID follows this vbr./td /tr tr - tda href=#bitbit(10-31)/a/td + tda href=#bitbit(10-12)/a/td + td class=td_leftVisibility style: 0=Default, 1=Hidden./td +/tr +tr + tda href=#bitbit(13-31)/a/td td class=td_leftCurrently unassigned./td /tr /tbody @@ -1337,7 +1340,7 @@ /div !-- ___ -- -div class=doc_subsubsectionUndef Entries/a/div +div class=doc_subsubsectionUndef Entries/div div class=doc_text pWhen the number of operands to the constant is one, we have an 'undef' value @@ -1345,7 +1348,7 @@ /div !-- ___ -- -div class=doc_subsubsectionInline Assembler Entries/a/div +div class=doc_subsubsectionInline Assembler Entries/div div class=doc_text pInline Assembler entries are stored in the constant pool, though they are not @@ -1369,7 +1372,7 @@ /tr tr tda href=#uint32_vbruint32_vbr/a/td - td class=td_leftFlags/sup/td + td class=td_leftFlags/td /tr /tbody /table @@ -1380,7 +1383,7 @@ /div !-- ___ -- -div class=doc_subsubsectionConstant Expression Entries/a/div +div class=doc_subsubsectionConstant Expression Entries/div div class=doc_text @@ -1436,8 +1439,8 @@ /tr tr tda href=#uint32_vbruint32_vbr/a/td - td class=td_leftThe linkage type of the function: 0=External, 1=Weak, -2=Appending, 3=Internal, 4=LinkOnce, 5=DllImport, 6=DllExportsup1/sup/td + td class=td_lefta href=#funclinkage_and_visibilityThe linkage and + visibility/a style field/td /tr tr tda href=#blockblock/a/td @@ -1470,7 +1473,34 @@ be written. Compaction tables are only written if they will actually save bytecode space. If not, then a regular constant pool is written./li /ol + +!-- ___ -- +div class=doc_subsubsectiona name=funclinkage_and_visibilityLinkage and +visibility word/a +/div +div class=doc_text + +table + tbody +tr + thbType/b/th + th class=td_leftbField Description/b/th +/tr +tr + tda href=#bitbit(0-15)/a/td + td class=td_leftThe linkage type of the function: 0=External, 1=Weak, +2=Appending, 3=Internal, 4=LinkOnce, 5=DllImport, 6=DllExportsup1/sup/td +/tr +tr + tda href=#bitbit(16-31)/a/td + td class=td_leftVisibility style: 0=Default, 1=Hidden./td +/tr + /tbody +/table + +/div /div + !-- ___ -- div class=doc_subsectiona name=compactiontableCompaction Table/a /div @@ -2183,7 +2213,7 @@ a href=mailto:[EMAIL PROTECTED]Reid Spencer/a and a href=mailto:[EMAIL PROTECTED]Chris Lattner/abr a href=http://llvm.org;The LLVM Compiler Infrastructure/abr -Last modified: $Date: 2006/12/08 17:50:05 $ +Last modified: $Date: 2007/01/12 19:20:46 $ /address /body /html Index: llvm/docs/LangRef.html diff -u llvm/docs/LangRef.html:1.193 llvm/docs/LangRef.html:1.194 --- llvm/docs/LangRef.html:1.193Fri Jan 12 09:46:11 2007 +++ llvm/docs/LangRef.html Fri Jan 12 13:20:46 2007 @@ -275,7 +275,7 @@ For example, %foo, %DivisionByZero, %a.really.long.identifier. The actual regular expression used is 'tt%[a-zA-Z$._][a-zA-Z$._0-9]*/tt'. Identifiers which require other characters in their names can be surrounded - with quotes. In this way, anything except a tt/tt character can be used + with quotes. In this way, anything except a ttquot;/tt character can be used in a name./li liUnnamed values are represented as an unsigned numeric value with a '%' @@ -452,6 +452,13 @@ sections with identical names when .o files are linked. /dd + dtttba
[llvm-commits] CVS: llvm/docs/BytecodeFormat.html LangRef.html
Changes in directory llvm/docs: BytecodeFormat.html updated: 1.56 - 1.57 LangRef.html updated: 1.178 - 1.179 --- Log message: Packed Structure Definitions (docs) --- Diffs of the changes: (+39 -2) BytecodeFormat.html |6 +- LangRef.html| 35 ++- 2 files changed, 39 insertions(+), 2 deletions(-) Index: llvm/docs/BytecodeFormat.html diff -u llvm/docs/BytecodeFormat.html:1.56 llvm/docs/BytecodeFormat.html:1.57 --- llvm/docs/BytecodeFormat.html:1.56 Wed Nov 8 14:07:40 2006 +++ llvm/docs/BytecodeFormat.html Fri Dec 8 11:13:00 2006 @@ -862,6 +862,10 @@ td class=td_leftType ID for structure types (14)/td /tr tr + tda href=#uint32_vbruint32_vbr/a/td + td class=td_leftValue 0 if a normal structure, 1 if a packed structure/td +/tr +tr tda href=#zlistzlist/a(a href=#uint24_vbruint24_vbr/a)/td td class=td_leftSlot number of each of the element's fields./td /tr @@ -2166,7 +2170,7 @@ a href=mailto:[EMAIL PROTECTED]Reid Spencer/a and a href=mailto:[EMAIL PROTECTED]Chris Lattner/abr a href=http://llvm.org;The LLVM Compiler Infrastructure/abr -Last modified: $Date: 2006/11/08 20:07:40 $ +Last modified: $Date: 2006/12/08 17:13:00 $ /address /body /html Index: llvm/docs/LangRef.html diff -u llvm/docs/LangRef.html:1.178 llvm/docs/LangRef.html:1.179 --- llvm/docs/LangRef.html:1.178Wed Dec 6 01:08:07 2006 +++ llvm/docs/LangRef.html Fri Dec 8 11:13:00 2006 @@ -40,6 +40,7 @@ lia href=#t_functionFunction Type/a/li lia href=#t_pointerPointer Type/a/li lia href=#t_structStructure Type/a/li + lia href=#t_pstructPacked Structure Type/a/li lia href=#t_packedPacked Type/a/li lia href=#t_opaqueOpaque Type/a/li /ol @@ -933,6 +934,38 @@ /div !-- ___ -- +div class=doc_subsubsection a name=t_pstructPacked Structure Type/a +/div +div class=doc_text +h5Overview:/h5 +pThe packed structure type is used to represent a collection of data members +together in memory. There is no padding between fields. Further, the alignment +of a packed structure is 1 byte. The elements of a packed structure may +be any type that has a size./p +pStructures are accessed using 'tta href=#i_loadload/a/tt +and 'tta href=#i_storestore/a/tt' by getting a pointer to a +field with the 'tta href=#i_getelementptrgetelementptr/a/tt' +instruction./p +h5Syntax:/h5 +pre lt; { lt;type listgt; } gt; br/pre +h5Examples:/h5 +table class=layout + tr class=layout +td class=left + tt lt; { int, int, int } gt; /ttbr/ + tt lt; { float, int (int) * } gt; /ttbr/ +/td +td class=left + a triple of three ttint/tt valuesbr/ + A pair, where the first element is a ttfloat/tt and the second element + is a a href=#t_pointerpointer/a to a a href=#t_functionfunction/a + that takes an ttint/tt, returning an ttint/tt.br/ +/td + /tr +/table +/div + +!-- ___ -- div class=doc_subsubsection a name=t_pointerPointer Type/a /div div class=doc_text h5Overview:/h5 @@ -4435,7 +4468,7 @@ a href=mailto:[EMAIL PROTECTED]Chris Lattner/abr a href=http://llvm.org;The LLVM Compiler Infrastructure/abr - Last modified: $Date: 2006/12/06 07:08:07 $ + Last modified: $Date: 2006/12/08 17:13:00 $ /address /body /html ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/docs/BytecodeFormat.html LangRef.html
Changes in directory llvm/docs: BytecodeFormat.html updated: 1.52 - 1.53 LangRef.html updated: 1.156 - 1.157 --- Log message: Adding dllimport, dllexport and external weak linkage types. DLL* linkages got full (I hope) codegeneration support in C both x86 assembler backends. External weak linkage added for future use, we don't provide any codegeneration, etc. support for it. --- Diffs of the changes: (+46 -8) BytecodeFormat.html | 23 --- LangRef.html| 31 ++- 2 files changed, 46 insertions(+), 8 deletions(-) Index: llvm/docs/BytecodeFormat.html diff -u llvm/docs/BytecodeFormat.html:1.52 llvm/docs/BytecodeFormat.html:1.53 --- llvm/docs/BytecodeFormat.html:1.52 Thu Apr 20 00:05:12 2006 +++ llvm/docs/BytecodeFormat.html Thu Sep 14 13:23:26 2006 @@ -1025,7 +1025,8 @@ tr tda href=#bitbit(2-4)/a/td td class=td_leftLinkage type: 0=External, 1=Weak, -2=Appending, 3=Internal, 4=LinkOnce/td +2=Appending, 3=Internal, 4=LinkOnce, 5=DllImport, +6=DllExport, 7=ExternWeak/td /tr tr tda href=#bitbit(5-31)/a/td @@ -1136,13 +1137,16 @@ tda href=#bitbit(4)/a/td td class=td_leftIf this bit is set to 1, the indicated function is external, and there is no a href=#functiondefsFunction Definiton - Block/a in the bytecode file for the function./td + Block/a in the bytecode file for the function. If the function is + external and has ttdllimport or extern_weak/tt linkage additional + field in the extension word is used to indicate the actual linkage + type./td /tr tr tda href=#bitbit(5-30)/a/td td class=td_leftType slot number of type for the function./td /tr -tr + tr tda href=#bitbit(31)/a/td td class=td_leftIndicates whether an extension word follows./td /tr @@ -1171,7 +1175,12 @@ td class=td_leftIf this bit is set, a SectionID follows this vbr./td /tr tr - tda href=#bitbit(11-31)/a/td + tda href=#bitbit(11-12)/a/td + td class=td_leftLinkage type for external functions. 0 - External +linkage, 1 - DLLImport linkage, 2 - External weak linkage./td +/tr +tr + tda href=#bitbit(13-31)/a/td td class=td_leftCurrently unassigned./td /tr /tbody @@ -1410,8 +1419,8 @@ /tr tr tda href=#uint32_vbruint32_vbr/a/td - td class=td_leftThe linkage type of the function: 0=External, -1=Weak, 2=Appending, 3=Internal, 4=LinkOncesup1/sup/td + td class=td_leftThe linkage type of the function: 0=External, 1=Weak, +2=Appending, 3=Internal, 4=LinkOnce, 5=DllImport, 6=DllExportsup1/sup/td /tr tr tda href=#blockblock/a/td @@ -2148,7 +2157,7 @@ a href=mailto:[EMAIL PROTECTED]Reid Spencer/a and a href=mailto:[EMAIL PROTECTED]Chris Lattner/abr a href=http://llvm.org;The LLVM Compiler Infrastructure/abr -Last modified: $Date: 2006/04/20 05:05:12 $ +Last modified: $Date: 2006/09/14 18:23:26 $ /address /body /html Index: llvm/docs/LangRef.html diff -u llvm/docs/LangRef.html:1.156 llvm/docs/LangRef.html:1.157 --- llvm/docs/LangRef.html:1.156Fri Sep 8 01:34:02 2006 +++ llvm/docs/LangRef.html Thu Sep 14 13:23:26 2006 @@ -439,6 +439,35 @@ visible, meaning that it participates in linkage and can be used to resolve external symbol references. /dd + + dtttba name=linkage_externweakextern_weak/a/b/tt: /dt + + ddttextern_weak/tt TBD + /dd + + p + The next two types of linkage are targeted for Microsoft Windows platform + only. They are designed to support importing (exporting) symbols from (to) + DLLs. + /p + + dtttba name=linkage_dllimportdllimport/a/b/tt: /dt + + ddttdllimport/tt linkage causes the compiler to reference a function +or variable via a global pointer to a pointer that is set up by the DLL +exporting the symbol. On Microsoft Windows targets, the pointer name is +formed by combining code_imp__/code and the function or variable name. + /dd + + dtttba name=linkage_dllexportdllexport/a/b/tt: /dt + + ddttdllexport/tt linkage causes the compiler to provide a global +pointer to a pointer in a DLL, so that it can be referenced with the +ttdllimport/tt attribute. On Microsoft Windows targets, the pointer +name is formed by combining code_imp__/code and the function or variable +name. + /dd + /dl pa name=linkage_externalFor example, since the tt.LC0/tt @@ -3880,7 +3909,7 @@ a href=mailto:[EMAIL PROTECTED]Chris Lattner/abr a href=http://llvm.org;The LLVM Compiler Infrastructure/abr - Last modified: $Date: 2006/09/08 06:34:02 $ + Last modified: $Date: 2006/09/14 18:23:26 $ /address /body /html ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits