[www-releases] r336152 - Add 6.0.1 docs

Tom Stellard via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 2 16:21:47 PDT 2018


Added: www-releases/trunk/6.0.1/tools/clang/tools/extra/docs/searchindex.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/clang/tools/extra/docs/searchindex.js?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/clang/tools/extra/docs/searchindex.js (added)
+++ www-releases/trunk/6.0.1/tools/clang/tools/extra/docs/searchindex.js Mon Jul  2 16:21:43 2018
@@ -0,0 +1 @@
+Search.setIndex({objects:{"":{"-problem-files-list":[98,0,1,"cmdoption-problem-files-list"],"-ignore":[199,0,1,"cmdoption-ignore"],"-block-check-header-list-only":[98,0,1,"cmdoption-block-check-header-list-only"],"-prefix":[98,0,1,"cmdoption-prefix"],"-display-file-lists":[98,0,1,"cmdoption-display-file-lists"],"-no-coverage-check":[98,0,1,"cmdoption-no-coverage-check"],"-module-map-path":[98,0,1,"cmdoption-module-map-path"],"-root-module":[98,0,1,"cmdoption-root-module"],"-output":[199,0,1,"cmdoption-output"],"-coverage-check-only":[98,0,1,"cmdoption-coverage-check-only"]}},terms:{poorli:21,prefix:[55,30,88,17,98,172,185,141,225,124,23],skeleton:141,whose:24,integer_typ:55,"const":[0,61,144,158,143,67,9,73,12,100,124,78,127,22,129,23,196,64,199,203,29,138,91,32,209,93,145,95,39,206,213,141,149,45,65,152,99,219,102,156,108,54,106],swap:[95,85,101,37,87],under:[74,53,30,21,141],preprocess:21,spec:162,suitabl:[141,98],idomat:71,everi:[1,30,15,194,221,115,141],risk:[218,39,196],"void":[0,111,163,3,168,73,67,68,171,162,12,177,100,124,78,22,129,191,170,64,26,87,203,96,140,92,141,115,93,34,145,95,213,41,51,166,217,219,221,227],clangtidymodul:141,clangtidytest:141,isangl:199,affect:[196,141,10,93],bbcfheab:88,strcmpi:35,myptrtyp:22,factori:[0,216],vector:[0,196,1,59,202,78,206,117,6,95,157],verif:136,ast_match:141,initialis:114,epoll_create1:[77,45,113],unordered_multimap:[78,1],direct:[199,1,30,17,63,141,128,145,21,73],second:[0,24,62,78,6],aggreg:12,umbrella:21,even:[0,18,1,78,65,141,170],asin:214,hide:[67,198,227,80],neg:[218,18,141],err58:[105,95],sockfd:[16,38],err52:[173,95],importloc:199,elimin:[199,178],mpi_char:[136,111],osspinlock:[45,146],submodule2:21,never:[118,68,135],here:[0,144,6,180,71,75,9,125,129,196,24,198,26,141,21,148,45,32,172,104,109,224,226,208],"65536ll":15,undef:199,studio:198,path:[73,199,30,10,98,141,130,21,32],interpret:[218,27],stricmp:35,precis:[27,15,45,78,48,141],bitmask:104,portabl:132,map_warn:199,clangtidymain:141,characteristickind:199,strai:24,printf:68,txt:[0,21],unit:[30,124,102,141,221,10,158],highli:10,delete_own:0,describ:[74,199,1,45,98,141],would:[1,3,113,165,63,64,117,33,170,7,9,219,16,81,196,198,201,141,142,143,34,38,213,30,97,220],kernel32:199,call:[0,160,1,83,3,165,35,170,64,116,117,67,68,70,173,10,73,100,78,183,174,189,129,196,24,198,86,134,87,139,91,140,207,141,142,143,145,37,27,30,214,44,224,45,151,47,152,219,101,199,106],typo:[171,62,30],recommend:[218,77,16,164,99,141,33,34,130,10,72],get_ptr:145,type:[0,55,151,111,1,71,3,113,114,64,48,66,19,67,199,7,9,10,35,11,12,227,178,15,52,108,78,220,206,126,202,20,38,219,129,188,131,197,198,86,136,91,207,141,142,209,143,63,145,95,21,27,40,213,41,43,44,149,45,117,97,65,99,50,214,104,73,106],tell:98,relat:[100,141],warn:[0,110,57,3,62,160,114,5,116,73,6,67,171,69,227,111,35,218,12,219,9,124,78,51,186,134,203,22,129,23,221,24,64,199,202,88,138,91,92,141,143,94,63,37,21,27,206,214,149,45,216,144,48,156,99,102,103,104,150,157,106],exce:[125,48],macrodirect:199,explicitconstructorcheck:141,hold:73,must:[0,11,199,98,14,103,141],constrefer:219,word:1,b69fc5221058:146,setup:[74,30,10,141],work:[0,11,12,30,74,45,98,80,141,34,10,221],conceptu:[0,88,216],wors:18,abnewpersonviewcontrol:53,root:[98,30,21],unnam:[187,221],overrid:[76,51,140,31,141,95],phabric:141,dtor:141,c145:140,give:[199,10,62,218,5,116,21,134,104,22,94,23],indic:[74,24,177,199,110],impair:1,liter:[131,83,12,86,200,87,95,126,5,127,32,217,199,144,227,37,71,141],want:[12,30,149,78,48,141,6,10,73],unsign:[55,199,26,87,144,141,104],end:[196,24,199,178,1,148,15,3,98,96,44,103,6,95,21,57],pragmadiagnosticpop:199,quot:[199,32],str2:[218,124],str1:218,how:[73,74,199,227,30,10,34,21,141],sever:[199,141],verifi:[100,136,111,141],mystr:23,config:141,collaps:3,dialect:227,recogn:0,open64:201,mfd_allow_s:97,after:[59,3,144,117,10,78,125,37,127,22,196,193,91,141,34,145,95,21,148,45,176,153,107],stdalign:194,befor:[0,39,194,26,87,44,193,78,141,202,148,117,10,6,22,105,73,53,171,21,72],wrong:[11,110,35,73,66,80],memfd_creat:[45,97],const_iter:1,demonstr:0,attempt:[68,24,141,157,139],greet:78,exclud:[98,21],alias:[0,45],maintain:[209,162,1],environ:30,enter:[44,199],exclus:78,mechan:21,lambda:[68,95,41],order:[131,159,198,40,57,148,78,225,141,189,95,72],decl:[118,93,179,95,104],oper:[161,162,158,170,68,72,122,11,12,178,15,108,78,126,186,192,131,196,197,64,199,218,39,202,203,29,138,141,143,94,145,95,27,215,45,99,219,104,73,54,109],diagnos:[0,160,213,217,141,104,209],over:[196,62,141],fall:225,becaus:[24,12,86,213,151,3,45,142,98,165,214,102,54,66,104,67,94,145,156,21,117],veri:[44,51,198,10],privileg:[201,16,113,97,220,33,7,38],systemheaderpragma:199,"37l":117,fit:[101,95],fix:[110,162,163,3,132,62,63,6,170,171,217,10,191,185,188,129,23,83,198,88,141,21,30,98,152,153,102,221,121,225,157,227],better:[0,77,16,164,100,141,6,67,33,10,130],exceptionwithnam:177,hidden:[12,141,10,73],my_param:1,easier:[141,209,34,9,10,106],them:[55,198,178,30,148,45,29,98,218,64,127,141,104,168,1,145,171,191],thei:[198,78,30,143,44,62,98,165,91,64,127,71,104,93,171,156,21,141],qualiti:[198,141,6],safe:[196,64,86,1,219,151,167,117,66,209,143,9,95],my_ptr:[116,134],"break":[34,141,194],interrupt:34,nline:32,stdarg:194,c_user:199,accommod:227,each:[157,196,64,199,74,98,141,143,129,21],debug:[199,156],higher:[22,209,117,6],side:[196,45,78,156,144,169,104,9,95],mean:[73,24,78,1,148,3,62,206,64,141,149,143,52,51],cppguid:[39,161,177,26,55,112,17,155,172,20,187,121],cppcoreguidelin:[0,58,63,167,66,222,108,188,189,192,86,29,140,141,19,52,95,40,45,151,65,49,50,153,157],forgot:[227,104],map_error:199,processlin:24,extract:[198,98],turn:[191,199,117,141],newli:[0,196],content:[196,198,30,74,88,216,10,21,141],create1:[45,113,95],written:[151,199,1,3,45,78,48,141],priu64:144,mytyp:209,situat:[196,78,117,1,73],free:[0,107,157,41,109],standard:[56,1,3,132,73,173,69,71,75,100,78,14,197,136,139,105,141,115,34,43,45,99,194,109],identifierinfo:199,whitelisttyp:20,unintention:[],warnonlogicalnotcomparison:35,angl:199,filter:141,isn:[78,157,175],fd_cloexec:81,regress:117,subtl:12,confus:[67,45,199],rand:186,rang:[196,24,199,87,15,203,206,202,141,104,143,95],pragmadebug:199,getloc:141,epoll_cloexec:[77,45,113],capac:101,restrict:[132,53,141],unlik:[44,39],alreadi:[198,123,30,148,45,141,73],"__builtin_strcasecmp":35,rewritten:203,top:[93,199,98,30],sometim:3,master:[160,151,86,189,140,150,29,65,63,167,50,153,138,66,52,188],too:[203,10],memcmp:[12,35],shortstatementlin:148,chainedconditionalassign:178,my_point:1,namespac:[0,110,1,60,69,10,118,17,128,199,26,141,95,21,30,149,45,98,172,179,102,194,90,124],tool:[196,198,199,30,74,45,10,21,141],def:127,"0x8000":12,wchar:194,technic:9,reinterpret_cast:[50,52,1],target:[199,141,21],keyword:[22,12,166,21,148],provid:[157,198,227,162,30,88,63,141,217,21,188],expr:[126,178,95],"0xabcd":87,lvalu:[67,3,78,73],tree:[141,30],zero:[1,62,35,5,116,117,171,63,12,178,124,134,22,129,87,203,227,209,143,94,114,37,215,48,218,73],project:[74,221,30,10,141],matter:3,wchar_t:71,function_declarations_and_definit:187,default_argu:155,uniniti:9,behavior:[78,44,3,18,65,141,70,69,156],modern:[162,13,2,114,5,116,158,6,67,119,210,73,1,163,76,223,79,134,22,195,196,36,25,137,31,32,209,94,145,95,41,45,166,141,217,101,194,207,117],elem:196,raw:[0,120,32,95],dedupl:141,seed:[186,6],increment:[99,24,30],seen:[199,221],incompat:12,unnecessarycopy2:219,unnecessarycopy1:219,new_own:0,latter:[15,98,21,120],weak_ptr:78,"__attribute__":53,deref:[95,111],simplifi:[218,12,178,227,95],functiontakingint:227,though:[209,78,141,1],usernam:112,glob:141,object:[116,73,66,70,71,176,12,177,178,78,8,14,174,134,23,189,88,140,105,141,95,21,75,39,41,44,45,216,47,99,53,157],deleg:[47,174],lexic:21,regular:[199,141,98],operator_overload:161,phase:144,everyth:[0,199],don:[45,194,141,98,152],pointe:[12,213,1],pragmadiagnost:199,doc:[159,160,26,88,150,138,141,53],flow:[0,45,78,96,141,34,95],doe:[0,24,213,30,100,78,98,139,206,136,141,189,209,171,9,120,21,109],declar:[0,110,56,1,62,160,114,219,73,9,11,12,75,118,17,126,187,23,194,196,64,199,202,88,31,93,94,144,145,95,39,149,45,65,217,99,179,221,105,53,124],parentfil:199,enable_if_t:67,unchang:[145,32,141],pragma:199,opposit:178,whitelist:20,random:[95,37,186,6],constcast:65,syntax:[92,198,199,141,98],ishead:21,macroexpand:199,f_textless:217,bail:141,involv:[74,173,198,178,141],despit:[71,142],fill_valu:87,explain:[196,78,141],configur:[141,157,225],explicit_constructor:39,pragmawarningpop:199,num_of_end_cal:196,rich:30,folder:198,useassign:114,stop:21,rename_check:141,"new":[0,1,114,170,116,117,168,10,122,134,82,196,24,198,141,145,95,30,45,216,166,109],report:[27,100,10,141,121,21,227],smallvectorimpl:199,ratiothreshold:144,baz:[203,207],"public":[0,227,124,165,152,115,141,67,150,54,73],twice:[45,1],bad:[0,93,146],tupletyp:117,ban:52,result_typ:6,bah:107,strncmp:35,ifdef:[199,21],datatyp:136,"0x42":127,result:[0,1,35,117,170,70,69,174,72,178,15,78,186,129,59,24,199,206,141,209,213,41,45,48,104,227],respons:1,fail:[199,175],best:[141,73],submodule1:21,awar:[67,196,141,6],checkfunctioncal:156,databas:[30,10,141],pragmadetectmismatch:199,posix_memalign:157,invalu:141,unordered_set:[202,78,1],warnonlargelength:37,accord:[88,197,216,227,58],extend:10,newnam:10,fileskip:199,auto_ptr:[145,117],constexpr:[124,189],preprocessor:[144,199,141,21,72],nstimer:53,c21:29,howev:[39,198,1,3,62,10,23,141],against:[157,141,21],includeinextern:21,filechangereason:199,logic:[12,35],fno:73,com:[146,151,86,189,140,88,150,29,160,65,63,167,50,153,216,138,66,52,188],col:199,widen:[95,48],foobar:162,push_back:[202,196,117,59],guid:[55,177,74,88,17,20,187,128,112,45,23],assum:[24,151,86,78,98,141,67,73],duplic:[207,21],my_contain:1,err34:[100,95],union:[151,95],three:[196,129,32,104],been:[0,196,78,199,3,62,153,141,210,154,212],accumul:15,trigger:[0,12,148,202,17,78,145,71],functiontakingbool:227,interest:[198,73],basic:141,quickli:98,suppress:[131,88,45,29,141,67],ani:[196,24,78,199,227,30,103,29,110,141,63,166,175,117,10,217,67,143,106,21,32],"catch":[0,133,71,42,95],inotify_init1:[220,45,164],emploi:[143,64],ident:[209,187,199,141],properti:[88,45,95,186],aim:10,calcul:[48,72],publicli:53,depr:194,anchor:141,undeleg:[47,174,95],printabl:32,my_second_point:1,my_nul:166,tabl:[74,199],sting:71,disjoint:104,dcl54:[82,95,109],dcl50:[56,95],dcl59:[60,95,172],dcl58:[69,95],codingstandard:[159,26],incorrectli:144,perform:[57,83,61,63,73,6,180,10,100,126,129,196,84,64,202,203,206,141,143,52,95,21,212,214,45,219,227],suggest:[157,39,24,64,55,219,3,121,110,63,171,10,6,170,34,152,129,23,141],make:[1,64,116,73,9,227,175,74,12,219,78,80,134,196,24,198,128,141,34,145,95,30,44,106,117],format:[74,198,199,1,30,88,141,21],wcsnlen_:[170,45],complex:[196,194,141,181],complet:[198,162,21,72],fragil:[151,86,66],raii:[0,44,95,157],hand:[78,104],codebas:194,rais:[196,24],ownership:[0,145],handleclass:59,"2137ll":142,"_mbsnicmp_l":35,thu:[218,196,141,6],singlelin:32,inherit:[45,150,95],pthread_mutex_t:75,client:[199,198,145],thi:[0,1,3,6,7,9,10,11,12,15,16,18,21,22,154,24,26,29,31,32,34,35,38,39,40,30,43,44,45,46,48,50,52,53,54,56,58,63,65,66,67,180,210,71,72,73,74,75,78,80,81,86,87,88,96,92,94,95,91,97,98,99,100,102,103,121,105,109,110,111,113,114,115,116,117,119,122,108,125,127,128,134,136,139,140,141,142,144,145,146,148,151,153,157,158,162,166,167,173,174,176,223,219,69,181,14,186,188,189,194,196,199,202,203,205,206,207,208,209,212,213,214,172,218,220,221,224,225,227],endif:199,programm:[27,24,12,86,151,18,144,92,227,67,37],unordered_map:[78,1],left:[78,3,62,63,73,32],protocol:198,just:[196,199,71,21,141],iso646:194,explicit_make_pair:175,c_externcsystem:199,yet:[0,94,78,227],languag:[198,86,30,151,98,63,141,73],easi:[78,141,66],opencl:199,had:151,todo_com:112,reiniti:[78,95],els:[199,178,148,100,78,80,34,95],save:10,opt:141,applic:[15,217,76,32,178],clangtidyopt:141,initializeobject:12,preserv:209,c_system:199,"_mbsnbicmp_l":35,background:[67,3,95],ineffici:[202,203,45,57,95],measur:21,specif:[24,199,1,30,45,98,135,141,225,10,162],filenam:[199,201,17,172,185,141,124,10],abunknownpersonviewcontrol:53,manual:[74,199,30,62,206,21,157,73],"__normal_iter":1,freopen:0,choic:[141,104],cplusplu:141,unnecessari:[64,178,202,165,183,219,117,211,95,200],underli:[45,213],right:[86,41,17,151,117,104,40,171,199,21,141],deal:227,negat:[178,227],clang_include_fixer_maximum_suggested_head:30,intern:[74,124,199,6],signedtypeprefix:55,make_pair:[117,175],parameter_nam:171,registerppcallback:141,accept4:[16,45,95,38],subclass:[45,53,95],buffer:[136,111,30,10,95],pmk_messag:199,condit:[0,24,199,178,1,148,78,4,135,208,104,156,21,227],foo:[160,162,3,165,73,168,171,174,123,219,124,10,128,196,87,203,207,141,34,30,218,221,224,227],unordered_multiset:[78,1],core:[0,151,86,66,140,29,65,63,167,50,153,141,189,52,157,188],plu:199,owned_object:0,promot:[95,214],nothrow:14,meyer:[67,117],unsaf:[91,52],obj:196,slightli:[203,141],checkthrowtemporari:71,unsav:30,"0abc":127,produc:[0,18,41,78,186,209,145,156,21],sometyp:21,"_strnicmp_l":35,"float":[27,43,15,45,18,48,214,194,142,95,227],encod:127,bound:[167,30,49,153,66,95,10],down:124,opportun:94,storag:63,accordingli:0,wai:[0,24,198,30,1,203,80,135,207,32,6,73,10,141],support:[0,30,141,10,6,94,53,225,21,117],includetok:199,transform:[196,36,178,1,166,162,5,207,117,25,209,34,157,73],"class":[0,59,165,114,117,67,180,10,73,11,12,227,118,124,78,127,188,22,83,199,202,203,29,141,115,63,145,40,149,45,47,152,51,53,150,54,109],avail:[198,30,101,141,128,6,225,10],gif:88,reli:[151,86,21],editor:[198,10],overhead:203,constantli:74,nspointerfunct:53,const_reverse_iter:1,fork:[201,16,113,97,220,33,7,38],head:199,form:[199,108,194,98,32,171,21,141],offer:[132,10,87],forc:[141,10],back:225,"true":[39,215,199,178,196,3,5,127,227,104,171,162],reset:[78,116,95,134,123],removestar:1,arrays:12,maximum:[30,144],until:[30,21,148],assertmacro:156,inaccur:[45,95,103],rerun:30,unrel:[50,52,188],emit:[91,78,111,30,141],featur:[160,198,45,138,144,150,10],semicolon:[0,83,24,59,202,88,20,117,53,95,157],seed_seq:6,wctype:194,diagnost:[170,198,141,153],readnexttoken:24,exist:[110,30,98,10,211,21,141],check:[0,1,2,5,6,80,9,12,13,15,52,18,20,22,23,24,26,28,29,104,31,32,34,35,37,21,39,40,41,42,43,44,45,46,48,49,50,53,54,55,56,58,60,61,62,63,64,65,66,67,68,69,210,71,73,74,75,78,79,8,158,82,84,86,87,88,89,90,91,92,93,94,95,96,166,98,99,100,102,103,121,108,109,110,111,112,114,116,117,119,122,124,125,126,128,129,131,132,133,134,135,136,137,139,141,142,143,144,145,146,147,148,149,151,152,153,154,155,156,157,106,159,161,162,167,168,169,170,171,172,173,174,175,176,223,219,180,181,182,184,14,186,187,188,189,190,192,194,195,196,198,199,202,203,204,205,105,208,209,19,211,212,213,217,218,221,222,224,225,227],assembl:[132,95],readonli:73,awesomefunctionnamescheck:141,inclusiondirect:199,when:[162,1,83,3,62,35,117,171,9,227,72,73,12,100,52,124,78,80,221,196,24,199,203,29,140,31,141,209,143,145,37,213,30,44,48,219,103,104,109],refactor:[62,221,10,227],test:[198,199,44,144,141,37,10],shrink:[101,95],consir:83,matur:198,extern:[74,12,124,62,98,96,141,189,21],benefici:73,shrink_to_fit:101,errorhandlingcocoa:216,consid:[0,39,59,78,1,196,100,3,83,29,87,144,91,202,117,6,67,37,21,149],lorem:78,receiv:[12,141,30,6],longer:[196,194,227,6],furthermor:[0,78,157,106],interval:104,ignor:[11,12,199,227,141,196,44,124,125,98,10,170,171,21,117],push_front:117,time:[1,30,124,194,141,144,208,10,104,21,106],push:199,inc:21,concept:0,rom:88,chain:178,"2line3":144,global:[45,78,95,21,189,17,23,194],webkit:141,customari:87,row:21,decid:[67,141],depend:[199,215,98,218,141,21,227],tokennam:199,debugtyp:199,intermedi:98,nonown:0,vec:[196,6],text:[162,199,32,10,141],x03:127,filetyp:199,sourc:[131,74,198,199,1,30,201,98,32,162,21,141],string:[55,1,59,3,165,35,116,117,170,172,180,71,73,12,100,17,78,37,183,185,127,10,134,81,131,83,64,199,200,203,91,32,142,209,93,144,145,95,206,149,45,217,218,219,153,194,129,107,124,157,141],enable_if:67,strnlen:[170,45],wunus:191,level:[196,199,125,98,141,93],did:[149,174,51],iter:[196,1,78,206,103,143,95],item:[67,117],env33:[95,139],team:45,quick:198,lexical_cast:[1,142],round:[18,95],increment_two:4,discover:141,sign:[197,27,45,95,55],to_wstr:142,unprotect:44,port:0,appear:[206,196,141,194],current:[0,74,198,30,194,202,78,48,141,189,10,73],boost:[141,142,95,1,117],is_speci:67,redirect:[75,26,148,224,125,172,208,180,95,71,109],deriv:[199,188,51,45,140,73,117],gener:[0,110,162,1,63,73,6,67,199,10,74,227,186,86,91,141,144,21,30,45,151,98,153,221,121,107,225,106],someopt:141,satisfi:1,explicitli:[165,141,223,29,98,35,116,48,134,94,175,119,21,117],modif:[145,69,9],address:[141,30],along:[141,166],optionmap:141,wait:30,ret_ptr:166,queue:1,inotifi:[220,45,95,164],extrem:141,forward_list:[78,1],iserror:177,semant:[0,196,198,30,45,78,141,209,73],regardless:[24,199,225],extra:[74,198,199,30,226,45,98,35,10,170,37,21,141],circumv:196,activ:[199,74,145],modul:[74,199,45,98,141,25,36,21],evaluat:208,prefer:[209,177,57],visibl:[102,227],instal:[74,198,10],warnonsizeofconst:12,regex:[32,141],memori:[0,87,202,45,63,116,117,134,170,70,95,157],univers:117,"_mbscmp":35,pragmawarn:199,value2:199,value1:199,criteria:196,scope:[44,109],plug:141,peopl:9,ctype:194,visual:[198,32,30],tandem:30,accept:[16,45,95,10,88],examin:141,easiest:206,array_of_str:149,strnicmp:35,emplace_back:[202,78,117],prepar:141,unsignedtypeprefix:55,uniqu:[95,134],descriptor:[16,113,97,220,7,81,38],can:[110,57,1,59,62,114,98,141,67,9,10,72,73,12,111,123,15,69,124,78,80,162,186,127,71,189,203,191,23,188,131,196,24,198,199,202,88,29,91,140,117,32,33,145,21,227,206,41,30,194,48,156,218,50,153,221,52,108,157,106],"0x800000":37,purpos:[141,10],problemat:[0,115,141],predict:186,backslash:[30,10],critic:[63,6],surround:[170,72],occur:[0,12,78],alwai:[11,216,3,45,78,80,127,141,215,209,68,21,221],multipl:[124,78,1,30,202,45,62,4,181,144,21,221,95,10,141],arrayindex:153,write:[71,151,206,141,21,32],conditionvalu:199,global_mutex:44,pure:0,flowsensit:0,map:[74,199,1,202,78,98,206,209,21],product:198,"_wcsicmp":35,makesmartptrfunct:[116,134],clang_include_fixer_path:30,socket:[7,95],uint:[55,10],clang:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],mai:[3,144,73,69,227,72,12,78,125,80,128,196,197,199,202,105,141,63,145,215,45,117,106],shuffl:[95,6],underscor:[171,21],data:[199,201,202,124,183,66,9],strcasecmp:35,goal:198,double_express:18,inttyp:194,stdio:194,divid:12,explicit:[131,27,12,199,178,1,39,108,29,207,141,67,145,95,227,175],int_arrai:157,inform:[0,195,13,2,60,61,73,199,147,10,222,79,182,8,184,190,192,89,82,196,84,133,28,137,204,141,19,21,146,42,30,45,216,49,41,90],"switch":106,preced:[141,98],combin:[198,98],callabl:39,thread_loc:105,"_memicmp_l":35,storeopt:141,lsp:198,size_t:[12,21,87],still:[0,59,30,29,98,227,189],pointer:[0,111,1,114,167,117,66,170,9,120,71,12,178,211,78,196,199,135,87,136,193,139,140,227,63,145,95,75,213,45,166,49,224],dynam:[0,162],entiti:[12,21],group:141,polici:198,yaml:[199,30,10,141],window:73,mail:198,main:[105,199,141],non:[0,162,1,62,114,5,116,98,67,9,35,12,178,219,124,78,37,8,20,189,22,129,23,64,134,117,227,209,143,94,63,145,95,75,48,104,73,156,109],prevfid:199,matcher:141,initi:[0,1,165,144,6,63,178,163,15,180,189,196,200,207,141,114,95,40,148,45,216,47,219,104,105],therebi:3,half:104,now:[73,41,17,141,68,124,117],introduct:[74,45],term:98,searchpath:199,name:[0,110,161,1,59,35,116,117,68,171,71,175,12,219,17,166,20,187,10,128,23,83,199,134,87,202,88,205,91,141,95,21,30,51,45,97,98,172,153,221,121,225,53,156,157],fio38:[95,75,8],didn:141,separ:[0,83,199,59,202,88,17,166,98,35,185,20,117,156,172,53,124,157,141],minconfid:[196,95],x12:127,confid:196,compil:[73,199,111,30,145,3,208,29,98,144,206,10,67,94,227,53,54,21,141],domain:[201,16,113,97,220,33,7,38],replac:[55,162,1,116,117,6,168,120,10,72,73,227,123,219,208,134,194,196,64,87,207,32,142,143,94,145,95,178,41,45,166,141,217,101,221,106],individu:78,compon:21,continu:[96,34,21],contributor:198,significantli:[125,80],warnonsizeofcomparetoconst:12,operand:[27,12],happen:[15,78,35,206,140,10,129,221,71,73],shown:[196,199,141,30],"3rd":145,space:[98,26,80],profil:[151,86,189,29,65,63,167,50,153,141,66,52,188],openat:201,correct:[0,122,86,30,58,80,218,159,141,227,221],do_incr:4,migrat:145,string_view:59,org:[159,199,26,141,53,226],"byte":[12,127,87],care:[141,73],unbrac:4,suffici:[111,141],badli:175,insert:[202,39,117,30,63],recov:199,thing:6,place:[198,199,227,3,108,78,48,144,98,6,171,21,141],createinsert:141,think:9,frequent:[141,1],first:[0,196,24,12,30,1,45,78,4,48,198,127,103,6,221,52,21,141],origin:[209,196,187,23,1],directli:[196,198,178,1,74,73,10,221],get_cwd:73,onc:[196,24,64,73,95,10,141],arrai:[196,111,1,59,167,149,45,63,49,202,92,153,141,66,144,95],yourself:141,stringref:[199,141],textual:98,oppos:10,getfoo:227,open:[198,201,16,113,97,220,141,33,7,95,38,130],lexicograph:218,size:[196,12,28,149,125,63,77,202,181,144,95,106],given:[12,199,30,41,98,155,178],const_cast:[52,65,1],silent:141,convent:[141,221],matcheddecl:141,caught:[0,71,30],moduleidpath:199,silenc:[170,78,141],userinfo:216,howtosetuptoolingforllvm:141,conveni:141,ownedvalu:0,friend:83,warnonsizeofthi:12,bcihcga:88,especi:[140,141,1],checkimplicitcast:48,copi:[73,67,180,75,219,126,14,192,196,64,29,138,206,140,143,145,95,39,215,45,152,101],specifi:[55,111,1,35,64,116,73,180,10,162,125,134,175,198,199,26,141,144,145,37,21,98,153,194,157,117],github:[55,161,112,63,167,66,177,17,20,187,188,189,155,23,86,26,29,140,52,39,151,65,172,50,153,121],enclos:[199,98,21],mostli:[0,141],holder:[199,98],than:[196,218,12,26,30,194,35,162,101,141,104,67,213,1,37,73],png:88,msc30:[89,95],wide:141,indentwidth:141,f_t:163,posix:[69,75],were:[196,87,45,194,165,50,141,52,188],posit:[0,131,44,124,63,218,158,156,141],nuisanc:30,pre:227,analysi:[0,196,45,141,30],sai:21,badfil:0,pro:[167,40,108,151,65,63,49,50,153,188,66,19,86,52,95],argument:[0,160,155,1,3,113,169,117,170,199,7,171,10,72,11,163,219,201,187,38,129,175,64,86,87,85,139,141,143,95,21,39,45,97,98,217,220,104,73],danger:48,typedef:[0,1,213,136,163,22,21],apple_ref:88,caus:[27,160,78,188,1,15,52,45,62,156,50,202,32,69,124,21,117],bitwis:[197,45,95,104],srcmgr:199,destroi:[91,59],matchresult:141,note:[0,114,73,10,74,17,78,80,185,189,198,199,29,141,94,52,95,21,30,45,98,172,101,194,104,53,124],ideal:30,take:[39,198,227,57,3,78,63,186,141,21,73],advis:[34,29,141],memfd:[95,97],noth:[67,127],begin:[196,57,1,15,98,80,105,6],sure:[71,30],trace:[74,199],normal:[98,62,30,21],track:127,clearer:106,some_object:0,pair:[136,206,117,109,95,10,175],err09:[71,42,95],renam:[74,198,199,45,154,141,210,10,212],livelock:[45,146],later:[0,30,217],oop11:[84,180,95],quantiti:178,script:141,runtim:[55,161,87,216,35,91,20,141,95],pattern:[78,87,88,45,18,141,145,23],show:[218,141,30,106],cheap:73,hack:141,threshold:[37,144],corner:141,xml:88,onli:[0,110,162,1,83,4,114,158,66,6,199,141,9,10,73,74,12,219,52,17,78,80,98,203,196,24,64,86,202,88,29,32,143,145,95,21,41,30,59,166,48,217,101,194,104,156,117],slow:18,ratio:144,sourcerangeskip:199,behind:227,wcscmp:35,fenv:194,analyz:[0,24,78,141],startswith:141,fileentri:199,variou:[125,104],get:[0,74,12,86,199,30,87,224,151,98,198,10,66,190,68,141,9,95,21,117],largelengththreshold:37,fubo:10,cannot:[0,196,86,151,209,54],"_mbsnicmp":35,gen:198,requir:[0,196,26,30,45,120,209,117,6,22,41,21,141],analyzetemporarydtor:141,find_all_symbols_db:30,fixithint:141,nullptr:[0,178,2,45,166,95,227,120],yield:[0,12],filechang:199,through:[196,12,199,15,45,140,141,168,180,95,73],where:[1,59,73,170,76,211,18,126,14,127,188,196,29,206,105,141,209,143,34,145,27,41,43,45,152,221,104,227],int_ptr:[145,213],osspinlockunlock:146,detect:[59,146,100,215,45,78,4,48,35,202,21,104,170,129,225,171,71,227],review:[198,141],enumer:[199,104],enough:[117,71,141],volatil:141,between:[12,29,144,218,141,104,227],"import":[63,199,80],across:[201,16,113,97,220,33,7,38],headerfileextens:[185,17,124,172],fcntl:33,assumpt:221,parent:[141,30],nestingthreshold:125,critical_sect:44,bitset:149,correclti:0,uncondition:4,objctidymodul:141,come:[88,145,104],forbiddensuperclassnam:53,"__builtin_memcmp":35,stdbool:194,clj:41,copyabl:[64,75,219,152,143,129,8,95],quiet:141,inconsist:[95,21,221],improv:[0,45,1,10,227],improt:194,improp:[45,216],namingivarsandtyp:88,color:198,pow:104,unittest:141,pop:199,colon:98,typic:[3,12,141,198,215],"_memicmp":35,needlessli:207,aligned_alloc:0,camelback:225,mark:[39,162,196,108,46,98,126,158,54],wstr:142,macroarg:199,wliter:141,derefer:[196,193,75,95],suscept:71,trailingspac:32,enterfil:199,llvmtidymodul:141,workspac:[198,141],vimrc:30,dianost:199,those:[198,1,98,117,67,21,188],"case":[0,1,62,144,170,117,67,171,71,175,12,227,219,124,78,80,127,188,129,196,24,199,87,136,88,121,32,209,21,27,45,48,152,102,221,104,225,141],lstrcmpi:35,trick:101,cast:[131,27,12,178,1,50,188,45,65,35,212,5,48,141,121,108,52,95,154,117],invok:[64,30,219,63,143,21],allowintegercondit:[45,227],invoc:[146,64,199,141,21],advantag:9,stdout:[199,141],metric:125,canon:44,destin:87,eras:[45,95,103],bad_malloc:170,ascii:[88,32,87],memicmp:35,develop:[74,198,213,88,78,141,9,10,216],alphabet:23,same:[0,110,78,199,1,194,51,45,104,47,98,80,126,10,141,6,177,165,21,109],binari:[141,45,41,30,72],html:[159,39,161,177,26,55,88,17,155,112,172,20,187,141,121,53,23,216],hxx:[185,17,124,172],abpersonviewcontrol:53,closest:141,nest:[24,125,21],assist:[198,98,21],driver:98,mani:[198,78,73,9,225,141],calloc:[0,170,45,157],level2b:199,appropri:[131,227,162,45,141,168,157,178],supportedformat:144,macro:[162,62,4,114,5,169,116,72,12,125,134,22,199,227,94,95,21,44,45,166,156,141],get_ref:145,without:[0,160,111,1,112,62,113,63,7,162,16,17,185,201,227,38,45,97,172,220,124,141],argument2:199,argument1:199,dereferenc:[78,111],execut:[30,78,4,139,105,141],wmemcmp:35,rest:141,macrodefin:199,aspect:[141,30],speed:[215,117,73],dynamic_cast:[188,1],struct:[39,110,12,178,140,219,149,124,29,114,91,78,158,174,51,162,94,9,168,157,73],hint:[221,227,141,157,162],filecheck:141,except:[177,162,115,149,45,78,138,14,105,117,170,95,71,141],param:[93,64,95,227,141],setvalu:64,blog:146,checktriviallycopyablemov:129,blob:[151,86,189,140,29,65,63,167,50,153,188,66,52],overview:141,vulner:12,real:[199,227,71,104],hover:198,around:[184,204,178,148,62,98,91,141,95],ipsum:78,read:[73,74,86,41,151,80,117,209,199,21,141],get_str:73,dark:141,moo:107,world:[3,12,78,23,227],"21l":117,oldnam:10,stranger:78,whitespac:141,integ:[144,5,6,12,178,100,18,37,131,197,26,87,141,142,35,95,27,45,48,153,106,227],server:198,alexandrescu:71,either:[0,24,199,30,29,98,153,10,21,141],output:[74,199,78,98,32,68,21,141],strcmp:35,almostbitmask:104,node:141,deduct:[0,3],kmyconststr:23,sync_with_stdio:5,vectorlikeclass:202,intend:[87,149,218,140,141,68,174,175],"_wcsicmp_l":35,slice:[140,95,71],getvalu:0,definit:[0,11,110,198,56,26,149,124,29,63,102,10,207,221,199,95,21,141],bad_template_funct:0,exit:[24,199,34,141],complic:[88,29],refer:[1,59,3,64,117,66,67,71,74,219,78,20,10,129,194,196,198,133,91,140,143,145,95,42,30,45,99,221,73],power:141,quit:[91,6],inspect:[110,141],llvmnewmod:199,broken:145,found:[110,199,10,141,6,21],"throw":[133,162,42,45,14,105,117,115,177,34,95,71],comparison:[218,39,178,227,35],warningnam:199,greatli:203,myfunctor:209,stand:127,wold:121,intent:[39,24,12,78,48,106],processor:139,effici:[83,203,208,106,10,117],clangtidycheckfactori:141,wcscasecmp:35,objcguid:[177,23],your:[198,30,98,80,141,53,10],unconvent:[11,192,95],loc:199,log:196,area:87,aren:[145,63],overwrit:10,warnonallautocopi:143,wcslen:[170,45],strict:[9,141],interfac:[199,111,136,9,141,189,53,95,10],low:141,uiwebview:53,nsmaptabl:53,setfoo:227,tupl:117,regard:104,procedur:96,faster:[218,83,95,30],ternari:178,possibl:[196,12,1,87,202,3,45,78,52,209,92,141,67,34,9,106],"default":[0,55,160,155,162,1,83,62,165,114,5,116,98,67,171,172,119,210,10,35,12,227,178,15,180,17,125,95,185,20,71,134,203,22,129,196,59,64,199,26,202,88,29,156,141,209,143,94,63,145,37,30,148,45,144,166,48,152,153,157,104,223,73,53,124,54,117],sock_cloexec:[16,7,45,38],make_uniqu:134,unusu:92,stateloc:199,embed:[127,32,95],uid:88,creat:[0,59,30,77,45,216,97,95,91,225,125,130,37,21,141],certain:[196,124,141],bugtrack:10,deep:206,osspinlocktri:146,functiondecl:141,file:[0,62,113,7,10,177,75,16,17,185,38,23,24,199,201,88,32,33,21,30,41,45,97,98,172,220,153,221,124,141],level3a:21,fill:[37,87],incorrect:[0,196,18,35,218,141,95],again:78,makemytupl:117,googl:[55,161,60,116,73,180,175,177,17,125,184,20,187,134,112,23,64,128,26,28,155,90,91,141,145,95,39,190,148,45,172,153,121,224,108],o_cloexec:[130,201],prepend:[98,225,21,10,141],field:[73,64,199,117,63],valid:[24,100,35,126,127,117,81,141],cmath:214,you:[0,62,98,6,174,74,80,10,128,24,198,199,203,29,141,21,30,214,51,48,149,53],poor:6,genuin:186,sequenc:[186,78,199],symbol:[198,199,30,10,21,194],multidimension:111,reduc:[44,34,101,114],deliber:[27,227],directori:[98,30,21,141],descript:[67,199,141,98],macronametok:199,construtor:174,to_str:[131,142],potenti:[110,85,30,87,45,78,146,117,124,227],signitur:51,cpp:[56,60,133,173,180,71,69,14,186,10,82,84,199,89,105,141,95,30,42,172,99,221,109],escap:[127,32,95],dst:12,represent:[18,199],all:[0,194,110,56,1,63,167,36,65,66,199,173,10,227,78,126,14,187,174,128,129,23,188,59,86,25,136,29,105,141,52,21,30,148,149,45,151,48,218,50,153,103,104,158],dist:6,forget:[78,48,144],illustr:[34,73],selinux:[201,16,113,97,220,33,7,38],exitfil:199,scc:199,scalar:199,abil:[45,141],follow:[0,1,35,168,64,73,141,67,10,12,227,178,15,108,78,202,187,128,23,131,196,198,199,26,87,136,88,29,96,92,32,209,143,34,144,52,21,27,146,213,30,45,98,217,104,157,106],lookup:30,parameterthreshold:125,ptr:[196,162,213,224,193,116,117,134,145,95],comparearrai:12,articl:88,init:[84,40,200,15,45,216,165,63,152,207,73,189,114,180,95,164],program:[188,30,88,45,62,141,50,10,52,21,32],skip:[136,199,166],introduc:[0,199,162,1,32,134,209,145,21],"__builtin_strncasecmp":35,consum:78,fals:[0,196,199,178,141,44,215,124,63,126,5,115,158,162,131,156,227,117],subcommand:10,shortnamespacelin:26,intfunc:27,mpi:[136,95,141,111],util:[64,145,73],worst:62,failur:177,abpeoplepickernavigationcontrol:53,condition:78,induct:43,my_fil:0,md_visibl:199,list:[0,1,59,63,117,172,10,72,74,163,124,78,185,20,83,198,199,202,88,207,141,144,95,21,30,45,166,98,156,218,194,53,17,157,73],stderr:[141,10],googletidymodul:141,inotify_init:[45,164],"_wcsnicmp":35,sync:221,"_stricmp":35,past:215,rate:[124,141],design:[45,53],pass:[73,83,151,86,75,141,136,3,78,98,64,127,117,67,177,129,9,95,111],further:141,what:[74,24,199,15,3,45,78,141,6,68,145,21,227],abc:[127,117],sub:78,diag:[199,141],section:[0,197,199,3,17,78,181,140,194,112,45],o_wronli:130,abl:[78,117,23,225],overload:[82,196,161,122,83,45,138,99,103,142,67,95,109],allowpointercondit:[45,227],delet:[0,11,122,196,44,211,29,82,120,162,158,67,119,95,54,109],version:[221,141,10,63],f_dupfd_cloexec:33,headerfilt:141,method:[83,160,198,57,141,219,149,45,155,64,63,218,216,101,117,103,51,143,224,106],full:[88,124,141,98],themselv:189,vtabl:140,pragmadiagnosticpush:199,behaviour:[196,197,45,62,142,72],modular:[74,98,21,141],shouldn:199,staticfunctiona:191,variad:56,dequ:[202,78,117,1],modifi:[73,196,178,69,65,117,145,21,141],valu:[160,35,170,73,143,67,199,171,71,72,11,12,75,15,125,59,64,133,26,87,96,115,141,209,93,34,145,95,21,27,42,41,148,45,218,219,104,54,227],search:[74,199,141,30],indetermin:3,popen:139,prior:10,pick:30,action:10,via:[141,177,117,21,63],warrai:153,readabl:[1,112,62,165,114,168,183,9,120,227,178,125,80,184,187,190,154,200,26,28,193,204,205,90,96,92,32,93,34,211,95,141,148,181,45,101,102,221,121,224,225,54,106],registermatch:141,vim:[74,30,10],deprec:[146,162,137,95,194,145,45],inappropri:103,heurist:[44,143,64],decrement:99,dangl:[91,59,45,95,80],select:[199,32,30],hexadecim:[127,32],x42:127,member_string_refer:91,distinct:141,regist:141,two:[0,78,30,87,6,144,218,32,66,104,141],coverag:[74,98,21],googlesourc:[150,160,138],taken:[171,221],mpi_send:[136,111],more:[195,13,83,2,60,61,147,84,117,9,10,73,222,108,78,79,182,8,184,190,192,137,82,196,24,198,133,26,28,203,89,204,208,141,19,94,21,42,30,45,49,101,194,90,225,106],desir:[30,87,17,172,185,141,124,10],randomfun:[],henc:141,mozilla:141,add_new_check:141,flag:[56,113,63,167,117,66,7,180,173,71,73,75,15,16,17,78,125,220,126,14,188,189,196,64,86,201,29,139,140,105,141,33,52,38,43,45,151,97,65,99,50,100,153,104,109],particular:[78,141,30],known:[0,1,88,18,141,145,95,73],multiset:[78,1],document:[74,198,199,1,226,88,45,216,141,53,21],"_popen":139,none:141,cloexec:[201,77,16,45,113,97,95,164,220,33,7,81,38,130],outlin:196,remain:[201,16,113,97,220,227,33,7,38],paragraph:32,objc_subclassing_restrict:53,"_mbsnbcmp":35,someobject:1,prompt:30,share:[116,95],templat:[0,1,221,3,124,141,67,175,145,95,227,73],minimum:[196,144],explor:141,strlen:[170,45,95],infostruct:1,cours:136,newlin:[32,98],secur:[141,201],rather:[157,198,141,213],anoth:[0,110,151,30,6,47,98,104,225,23,106],clangtidycheck:141,divis:[27,45,95],simpl:[0,41],needl:83,ios_bas:5,resourc:[0,157],referenc:[73,21],gmystr:23,reflect:24,o_trunc:130,associ:[196,57,141,117],circumst:21,"short":[73,55,111,104],postfix:99,check_clang_tidi:141,mislead:[140,9,95,213,80],callback:[199,30,21],hicpp:[58,2,132,181,119,174,122,49,13,223,108,79,182,61,195,197,137,204,205,31,141,115,19,95,40,45,46,176,222],readfilewitherror:177,help:[198,227,80,221,34,10,141],soon:59,pseudorandom:186,allowconditionalintegercast:45,scott:[67,117],hierarchi:[198,21],foo1:[10,80],foo2:[10,80],paramet:[67,73,170,171,9,71,191,12,78,125,37,20,187,64,199,205,141,93,95,214,152,221],style:[159,55,56,1,112,116,117,180,177,145,17,185,20,187,134,23,64,86,128,88,141,52,45,153,121,225,157,73],get_valu:145,mpi_short:111,spacesbeforecom:26,might:[0,198,199,15,124,98,10,94,9,21,117],alter:24,epol:[77,45,113,95],fool:12,wouldn:117,good:[0,11,198,98,186,141,104,93],"return":[0,160,1,59,35,6,170,9,11,12,177,178,15,124,186,127,129,221,196,218,96,207,141,34,145,95,21,39,206,41,30,44,149,166,48,99,103,227],nsexcept:177,pollut:[17,128],framework:[44,141],compound:[44,125],ninja:[141,30],funciton:214,usenoexceptfals:162,bigger:[37,48],macroundefin:199,tuplemakefunct:117,eventu:[198,78],stddef:194,md_undefin:199,objcmoduletest:141,instruct:[74,198,141],maxconcatenatedtoken:144,easili:[157,12,91,221,10,141],token:[24,199,144],take_ownership_fn:145,uiimagepickercontrol:53,fulli:[0,157,10],unicod:71,truncat:[15,127,95,87],hard:41,idea:[198,141,10],functor:[209,95],heavi:[0,44,125],linkag:124,clangd:[74,198],member1:199,expect:[0,27,15,3,78,125,80,127,227],member2:199,http:[159,55,160,155,112,63,167,161,66,199,177,17,20,187,188,189,23,216,86,26,88,29,138,140,141,52,39,146,150,151,65,172,50,153,121,53,226],beyond:63,todo:[112,95],owner1:0,ftp:88,owner2:0,safeti:[0,86,151,65,63,167,50,153,188,66,52],pragmacom:199,includestyl:[64,145,153,116,73,134,180],redeclar:221,print:[196,141,10],occurr:[78,127,227,6],qualifi:[0,64,213,30,219,45,102,157,168,143,10],trucat:15,emplac:[195,45,95,117],ast:[141,30],suspici:[24,12,87,144,37,104,35,95],like:[0,111,1,83,3,144,170,117,67,68,12,201,15,78,127,23,196,59,198,87,202,203,32,142,34,21,27,213,44,149,45,47,98,103,157,141],fdelai:73,reason:[196,24,199,3,92,177,95],base:[0,63,73,180,10,125,188,196,198,135,202,206,140,141,143,95,21,30,51,45,47,152,117],somedecl:21,put:[24,98,48,93,10,141],runtime_error:115,thrown:105,mymoduleanchorsourc:141,launch:198,omit:80,conversionsfrombool:227,perhap:21,pragmamessag:199,nonfil:199,custom_except:115,assign:[0,114,73,11,178,78,126,192,131,64,88,29,138,141,94,63,145,95,45,46,166,54],feed:32,major:[45,30],dont:140,obviou:32,prevent:[53,9,32],exchang:0,misc:[131,35,169,67,68,71,72,122,11,12,75,118,124,18,182,8,127,174,191,192,82,24,215,133,85,208,141,147,144,95,123,213,42,44,149,45,46,47,48,218,179,104,109],number:[12,199,26,30,148,44,112,18,125,144,218,100,186,104,156],placehold:141,lstrcmp:35,std_arrai:149,basic_string_view:59,done:[144,145,117,71,141],construct:[0,59,213,1,46,63,14,117,73,145,141],stdlib:[100,194],miss:[199,30,51,80,140,152,144,95,54,72],differ:[196,12,30,44,62,125,98,225,141,104,221,156,21,121],wcsnlen:[170,45],vararg:[19,45,86,95],interact:141,conversionstobool:227,least:[48,63],header2:[98,21],header3:[98,21],header1:[98,21],statement:[11,24,204,184,178,148,44,203,45,78,4,125,80,96,202,207,218,132,127,211,95],store:[145,141,10,109],adher:[185,141],map_ignor:199,option:[0,55,162,1,83,62,114,5,64,116,98,171,172,180,10,35,12,227,178,17,125,95,185,20,71,134,203,22,129,196,59,198,199,26,202,88,29,141,209,143,94,63,145,37,21,30,148,45,144,166,48,156,153,104,73,225,53,124,157,117],relationship:[218,29],similarli:196,part:[63,167,73,66,67,108,80,188,189,196,198,86,29,141,52,27,45,151,65,176,50,153],pars:[73,30,21,95],myclass:117,std:[0,57,1,59,3,165,5,116,117,6,67,69,120,123,15,78,183,186,127,134,129,131,83,64,199,200,202,203,91,115,141,142,209,145,37,41,214,149,45,218,153,107,157,73],kind:[0,196,199,202,78,6,115,225,106],grep:10,whenev:[106,199,30,104],stl:[126,149,57,117],remov:[196,24,194,178,1,76,62,163,48,114,102,103,141,162,129,224,117],riski:[196,95],reus:30,str:[83,199,124,78,91,127,73,142,170,107,37],arrang:199,comput:12,"_mbsnbcmp_l":35,"0x12":127,packag:198,ppcallback:[199,141],narrow_cast:1,pik__pragma:199,dedic:196,"null":[24,199,178,136,166,139,227,104,211,95,21],unintend:[27,45,87],built:[74,227,30,21,114],equival:[196,12,41,144,227,81],self:[177,1],violat:[124,50,141,52,71,188],lit:141,also:[1,59,63,116,98,6,67,10,72,73,218,123,15,124,78,80,134,196,198,199,88,117,141,21,30,45,48,152,99,109,225,106],unintent:[39,62,9],build:[74,198,199,30,172,60,156,10,128,175,95,21,141],brace:[1,26,148,204,80,184,207,95],buff:100,distribut:198,exec:[201,77,16,113,97,220,33,7,38],previou:[45,62,199,194],reach:[78,199,30],chart:131,setjmp:[173,194],mpi_comm_world:[136,111],most:[196,24,12,199,30,149,47,141,104,221],plan:10,addr:[16,38],qualifiednam:10,clear:[198,78,227],cover:[21,87],getter:198,latest:45,baseclass:[115,45,95],microsoft:73,awesom:141,strncasecmp:35,rtf:88,addmatch:141,recoverypath:199,particularli:141,fine:[141,54],find:[55,161,57,163,112,62,197,165,35,5,219,116,6,170,70,172,9,71,72,11,12,177,123,118,124,183,185,95,127,174,128,187,191,23,131,83,24,198,199,134,87,202,88,193,29,224,91,141,142,143,200,37,27,146,30,41,214,44,149,45,216,47,152,218,179,102,221,121,53,156,85,227],clang_include_fixer_query_mod:30,ineffect:48,less:[209,213,124,117,1],solut:206,unus:[110,44,118,179,95,191],strictmod:[203,171,104],linethreshold:125,express:[160,78,1,116,117,168,68,173,72,12,178,18,14,127,134,196,141,115,52,95,21,27,43,149,45,153,215,227],useheaderfileextens:124,wcsncmp:35,someoption2:141,someoption1:141,llvmmoduletest:141,common:[12,1,201,48,35,218,127,32,104,144,37,10],relativepath:199,postmat:146,handlemacroexpandedidentifi:199,arr:196,x_impl:199,cond1:80,seq:6,cond2:80,errorwithdomain:[216,177],emac:[74,30,10],arg:[199,163,45,95,141,129,61,10],lower_cas:225,reserv:202,bark:107,horizont:32,someth:[0,68,34,162],smallest:18,nontrivi:151,subscript:153,experi:10,altern:[167,194,10],signatur:[122,198,111,58,51,93,192,95,106],epoll_cr:[77,45],bar2:10,syntact:80,numer:131,sole:29,disallow:[150,160,213,138],nameloc:199,solv:[24,227],level1b:199,both:[0,170,78,199,30,6,18,91,140,141,104,67,10],last:[151,78,148],uncom:98,sizethreshold:144,checkopt:141,context:[27,24,45,35,73,141],pdf:88,whole:[170,45,151],load:[30,10],simpli:[24,12,227],smartpoint:[117,157],point:[27,110,12,227,30,43,15,145,45,48,10,142,9,95,21,141],my_first_point:1,enumconst:104,header:[124,196,199,57,30,194,45,62,137,98,95,185,116,141,134,172,145,17,21,221],alloca:[170,45],mistak:[12,87,35,218,127,144,9,37],simpler:120,vertic:32,static_cast:[131,178,1,5,188,52,227],devic:6,due:[196,146,41,215,45,218,103,227,72],empti:[124,55,24,200,172,17,78,98,95,185,20,141,217,35,37,21,106],implicit:[39,12,227,178,135,196,45,85,48,35,206,214,141,95,154,212],nspointerarrai:53,dmy_defin:[141,10],stdint:194,wcsicmp:35,reformat:[],nonexist:10,fire:117,buflen:12,pmk_warn:199,unnecessarili:18,gap:21,understand:[34,171,80],func:[100,196,51],some_struct:157,funk:51,intergr:132,look:[24,198,178,30,44,85,47,96,32,67,107,21,141],noexcept:[162,13,45,46,126,115,95],erron:[196,78],durat:63,"while":[196,24,12,1,30,148,203,96,227,145,10],matchfind:141,"_mbsnbicmp":35,smart:[198,224,117],abov:[196,24,3,218,141,170,21],error:[12,199,30,100,215,78,98,144,170,21,209,177,145,37,71,141],"_strnicmp":35,anonym:[102,95,71,172],loos:0,loop:[196,24,206,1,43,202,45,78,96,148,143,95,212],subsect:78,legacyresourceconsum:0,malloc:[0,222,45,170,95,157],jpg:88,itself:[126,198,21,1,141],epxr:12,cmyk:88,minim:[141,148],belong:[141,80],cert:[56,60,173,180,71,75,100,69,208,8,14,186,82,84,133,89,139,105,141,95,147,42,43,172,99,109],tgmath:194,shorter:120,unexpectedli:24,octal:32,behav:[21,1],exaclti:227,optim:[83,94,199],wherea:141,getvector:196,pragmaopenclextens:199,moment:198,temporari:[59,71,44,47,91,117,174,21,141],user:[162,1,63,73,6,180,71,74,166,15,126,10,23,196,199,136,88,29,141,21,30,149,47,157],stack:[0,157,1],lower:[196,201,16,113,97,35,220,88,33,7,38],typeinform:0,older:[194,63],parenthes:[12,199,178,170,95,72],person:67,expens:[206,143,64,6],gsl:[0,45,153,1],propos:[227,35],cout:[196,78],obscur:1,ownedint:0,detect_mismatch:199,getinfo:1,prvalu:73,rgb:88,appli:[196,64,163,213,44,219,102,158,143,141],input:[199,15,98,10,21,141],finder:141,vendor:32,transpar:[209,95],createcustomizenserror:216,valuesonli:73,forbidden:[132,45,53,95,128],pragmadirect:199,bit:[117,6],formal:141,allowconditionalpointercast:45,lost:0,dyn_cast:1,signal:194,collect:21,api:[74,120,141],popular:10,encount:10,tmpfile:0,subhead:21,often:[18,213,71,221],creation:[216,116,37,134,47],some:[227,196,198,199,57,30,221,88,45,29,141,63,78,117,121,194,152,21,106],styleguid:[39,161,177,26,55,112,17,155,172,20,187,121,23],random_shuffl:6,sizeof:[12,87,149,217,95,157],surpris:3,scale:10,per:141,typesuffix:55,substitut:141,mathemat:186,larg:[221,37,10,125],reproduc:10,addcheckfactori:141,stringcomparelikefunct:35,run:[199,30,209,186,141,22,10,117],unnecessarycopi:219,step:30,subtract:66,size_typ:106,manag:[157,30,73],block:[98,71,21],file2:141,file1:141,sourcerang:199,unsequenc:[78,95],tiff:88,within:[196,30,127,68,21,109],exceed:125,gslheader:153,ensur:[0,122,64,30,45,141,115,143,53,72],"__func__":68,fopen:[0,81,95],purposefulli:98,inclus:[199,21],span:[167,66],errno:194,question:78,mytupl:117,submit:10,custom:[136,162,117,30,141],arithmet:[95,66],includ:[159,113,64,116,73,7,180,10,74,178,100,124,37,185,21,134,81,196,198,199,201,141,145,95,38,30,45,97,98,172,220,153,53],forward:[0,110,3,45,141,67,95],cstylecast:52,properli:[9,72],m_foo:227,lint:141,pwd:30,atoi:100,link:[141,30],translat:[30,124,144,102,141,221,10,158],line:[0,196,24,199,30,26,148,78,125,98,144,10,141,157,21,32],info:117,concaten:[203,95,144],consist:[24,221,21,80],confusingli:199,caller:3,warningsaserror:141,getint:12,highlight:198,readlin:24,similar:[30,51,166,141,121,145],constant:[12,178,136,215,153,166,35,20,104,170,129,9,95,23,106],mypair:[116,134],parser:21,"_identical_":141,doesn:[0,1,194,44,149,29,152,10,142,145,21,117],repres:[144,199,21,104],"char":[111,144,117,170,9,71,12,100,124,127,131,59,199,87,136,91,141,209,95,166,157,32],bracket:199,cmake:[199,30,21,141],titl:[36,226,25],invalid:[176,199,127,95,66],charsourcerang:199,filenotfound:199,"_mbscmp_l":35,bad_new:170,llvm:[159,1,64,116,73,180,10,185,134,198,199,26,141,34,145,95,21,30,53,45,153,90,107,226],"__anotherstr":23,libtool:[141,10],cstr:[95,183],mymodul:141,land:0,fancyfunct:68,algorithm:[45,103,57,186,95],reverse_iter:1,downcast:[108,52,95,188],readwhitespac:24,hello:[3,12,78,32,23],prototyp:141,code:[0,56,162,1,115,3,132,62,114,170,48,141,6,168,173,69,201,71,73,74,12,177,75,163,15,78,125,80,14,23,196,24,198,199,218,26,87,88,139,92,117,32,209,34,63,145,21,227,39,213,30,43,44,45,216,144,65,217,99,50,194,100,105,53,225,109],partial:[174,141,21],queri:[12,141],fclose:0,pik_hashpragma:199,ownedobject:0,kmessag:12,pragmaintroducerkind:199,compact:141,privat:[0,11,165,98,158,67,73,54,109],"__builtin_strcmp":35,sensit:[0,201,16,113,97,220,33,7,38],elsewher:[196,6],safemod:209,apiabbrevi:88,attributerefer:53,mfd_cloexec:[45,97],aris:203,sent:30,priority_queu:1,whichev:78,containerswithpushback:117,reinterpret:[50,108,95],untouch:[209,73],implicitli:[131,39,124,35,117,21,109],relev:[0,112,17,140],tri:[171,157,30,225],nonatom:88,misplac:[213,45,48,92,170,95,174],int_sz:12,"try":[124,198,199,141,225],namingbas:88,initializer_list:[39,1],pleas:[195,13,2,60,61,10,74,222,79,182,8,184,190,192,89,82,84,133,28,137,204,19,34,21,147,42,45,49,90],impli:[24,178],natur:141,odr:124,memset:[70,12,95,87],"_header":21,jump:30,fold:[15,45,198,95],leakag:[220,7,113,97,38],download:45,sutter:71,click:199,append:[203,141,10,225],index:[74,92,153,95,30],twine:[107,95],makesmartptrfunctionhead:[116,134],mymoduleanchordestin:141,compar:[30,35,218,221,171,95,21,227],access:[196,189,140,45,151,176,167,50,141,66,168,52,95,71,188],experiment:59,deduc:[3,141,1,175],absolut:[141,98],len:198,bodi:[196,24,26,148,202,63,96,141,94,221],imped:32,sfina:86,let:[141,30],orderedvalu:12,sinf:214,safer:[78,9,208],becom:[57,1,3,164,62,113,114,64,116,158,7,120,72,178,77,16,134,81,191,83,198,200,26,201,96,92,32,33,94,38,130,39,214,97,220,107],sinc:[0,39,196,1,74,202,88,73,145,157,194],pmk_error:199,convert:[39,196,100,188,87,166,114,32,22,225,95,117],convers:[131,39,12,227,178,1,196,100,45,85,48,206,135,141,142,209,108,95,154,212],larger:[141,41],nsstring:23,upper_cas:225,earli:[218,34,10],chang:[227,196,199,178,30,44,145,45,62,142,141,6,168,9,10,221],ifloc:199,see:[199,159,160,13,182,2,3,61,147,63,167,98,66,67,133,9,10,74,222,78,79,204,8,184,188,189,60,192,137,82,196,84,198,86,25,28,89,29,138,90,140,195,141,19,52,21,39,42,30,36,45,151,65,49,50,153,155,190,53,150,157,73],warnonimplicitcomparison:35,constmethd:64,realloc:[0,170,45,202,157],wil:15,disciplin:[151,86],inequ:218,es63:140,"boolean":[178,227,95],reference_argu:20,smartptr:[224,95,190],moveconstructor:[46,95],from:[227,1,3,62,117,68,10,74,177,124,78,125,189,23,194,59,24,198,199,128,135,203,121,91,32,142,145,37,21,27,30,148,44,51,45,151,98,176,214,103,104,53,225,141],doubl:[27,111,214,18,48,114,141,178],upgrad:141,next:[125,141,80],few:141,advoc:141,checker:104,start:[74,198,199,202,98,141,21],sort:[218,141],my_map:206,mismatch:[15,136,225,95,80],c_str:183,trail:[185,17,124,171,172],hashloc:199,account:[171,78,221,21,63],retriev:12,alia:[0,195,13,2,60,61,125,119,71,122,176,58,179,180,108,79,182,8,184,174,190,192,137,82,84,133,26,28,89,204,205,90,31,208,19,95,75,40,147,42,148,181,46,172,49,222,223,224,109],advanatag:57,annot:0,zircon:[150,160,138],counterexampl:177,control:[78,125,96,141,34,53,95],modulemap:21,process:[199,141],lock:44,high:[197,199,45,141,115,132],allowmissingmovefunct:29,tab:[32,80],basic_str:[131,83,78,203],delai:[95,73],gcc:199,uchar:194,pragmawarningpush:199,awesome_:141,subdirectori:[141,21],instead:[162,3,73,170,180,10,12,177,100,9,78,126,196,199,87,203,206,141,145,37,227,149,45,216,48,218,106,53,117],sin:214,uniform_int_distribut:6,noproblemsassist:21,overridden:[199,141],unidentifi:30,"_wcsnicmp_l":35,mymap:1,redund:[165,178,213,194,215,45,62,224,163,114,96,102,103,190,200,183,193,95,141],physic:32,alloc:[0,196,45,216,170,95,157,109],bind:[30,41,141,145,95,117],counter:[202,43],correspond:[55,161,56,112,63,116,117,173,69,175,73,177,75,100,14,20,187,134,23,199,128,87,88,29,139,91,105,141,146,30,43,216,172,99,121,109],element:[196,12,57,202,17,172,185,103,104,124,117],issu:[0,24,227,141,67,221,10,106],allow:[0,86,227,1,87,77,124,114,141,221,145,71,73],"_stricmp_l":35,elif:[199,21],move:[0,3,61,62,84,73,67,180,71,11,123,78,126,25,129,24,64,36,29,138,141,94,145,95,39,45,46,176,226],ignoremacro:[62,114,5,116,134,22,94],clang_include_fixer_jump_to_includ:30,perfect:67,chosen:141,memberinit:63,infrastructur:45,decai:[49,167,45,95],therefor:[0,196,3,78,80,189],multimap:[78,1],crash:10,greater:[209,12,37,35],handl:[0,59,30,41,100,45,105,157,1,95,71,73],auto:[0,196,1,41,15,45,79,141,206,202,116,117,134,142,143,145,95,57],spell:[1,10],innermost:21,ctor:[67,180,174],front:[199,98,21],bar:[162,219,3,207,73,203,171,10],spinlock:[45,95,146],isocpp:[151,86,189,140,29,65,63,167,50,153,188,66,52],dcl21:[99,95],edit:10,mode:[30,141,81,175,21,130],mycheck:141,subset:141,dcmake_export_compile_command:141,make_tupl:117,basedonstyl:141,"static":[0,196,147,208,45,124,182,217,191,153,102,141,168,105,108,107,95,23,188],our:[196,141],patch:[198,199],unique_ptr:[0,123,78,117,134,145,120],special:[223,58,3,124,29,127,158,88,94,119,95,21,221],out:[196,199,30,74,78,87,98,153,10,21,141],variabl:[0,1,62,63,71,219,124,78,10,22,129,23,188,196,198,206,140,92,105,141,143,52,95,21,30,43,45,65,50,102,104,107,157],some_str:157,defaultvalu:141,"__function__":68,identifi:[196,199,30,95,225,10],in_nonblock:220,categori:141,typenam:[0,1,3,124,73,6,67,145],scoped_lock:44,rel:[199,141,98],ref:[206,196],math:[194,95,214],statist:[186,141],registercheck:141,insid:[196,227,141,148,174,62,4,98,114,5,116,10,134,22,94,95,21,117],workflow:[141,10],manipul:[70,127,95,186],random_devic:6,standalon:[199,21],clangtidi:141,releas:[0,74,123,45,120,156,95],"_val":0,indent:[95,24,34,26,80],midi:88,unwant:[209,199],could:[0,110,198,66,1,88,62,117,189,203,67,9,141],keep:[124,127,221],length:[127,37,87],enforc:[0,195,151,86,13,2,222,61,204,137,79,182,181,49,221,115,19,34,225,108],outsid:[196,198,141,71],softwar:[74,12],suffix:[55,141,225],md_defin:199,"0def":127,expensivetocopi:64,date:[74,141,221],set:[57,1,62,114,5,116,117,10,162,78,134,22,81,196,199,202,29,141,209,33,94,63,21,30,166,98,153],lib:199,owner:[0,45],shared_ptr:[78,116,117],suffic:[218,143,64,219],getnodea:141,"long":[55,48,26,1,144],dump:141,s_other:78,flrag:71,scanf:100,perfectli:141,system:[198,199,139,73,21,141],messag:[216,199,111,136,88,78,98,21,23,141],attach:141,maplead:[30,10],termin:[218,127],prone:[209,78,107],endofmainfil:199,checkfactori:141,osspinlocklock:146,headerfilterregex:141,arrayref:199,rst:141,exactli:78,pupos:199,nul:[127,95],structur:[203,199,141,21,80],charact:[131,83,12,199,87,127,32,23,37,71],sens:[24,12,145],seriou:80,f10:124,linker:141,have:[0,1,62,63,73,36,180,10,72,122,58,78,25,81,196,24,64,199,26,141,143,129,21,148,149,98,152,153,194,104,109],close:[77,33,26],need:[30,88,62,98,63,126,21,6,209,23,141],moduleimport:199,tidi:[0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,31,32,33,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,64,36,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227],"0x00":[127,87],"0x01":127,"0x02":127,mix:[92,199,80],builtin:[1,63],heap_int:0,which:[0,110,57,1,5,116,73,143,67,68,180,10,74,12,227,15,124,78,125,134,196,197,64,199,29,139,206,141,33,145,21,39,146,30,215,107,45,98,77,153,221,104,53,208],expects_own:0,rvalu:[73,3,78,117,123],singl:[39,24,111,30,83,202,217,102,32,66,6,10,221],fileid:199,stringlikeclass:83,unless:98,clangtidymoduleregistri:141,why:146,pyf:30,"_mbsncmp":35,placement:109,url:88,gather:141,request:10,face:141,googlemoduletest:141,determin:[196,24,98],updat:[221,141,73],fact:[206,24],lowercamelcas:88,in_cloexec:[220,45,164],compile_command:[141,30],verbos:117,objc:[146,177,88,45,216,141,53,95,23],trivial:[64,44,219,143,94,129],setter:198,strtol:100,locat:[199,10,48,141,121,21],"_mbsicmp_l":35,much:145,should:[0,57,1,59,3,113,167,66,6,7,111,12,17,80,185,127,21,203,187,81,23,196,198,199,201,88,141,93,37,38,39,30,148,107,150,216,97,172,99,220,221,121,53,124,157,106],won:[0,30,29,35,117,144,145],suppos:0,oldfd:33,local:[198,219,78,194,34,107,95],meant:[214,24,198,47,75],contribut:[198,73],familiar:[92,141],memcpi:[70,12],autom:[171,141,30,121],state_s:6,increas:[196,156],enabl:[199,162,30,29,48,141,129,94,73],organ:[198,141],fuchsia:[160,45,138,95,141,150],fixer:[74,30],integr:[27,197,178,30,74,45,141,115,10],contain:[57,1,144,117,74,17,78,126,153,196,199,87,96,32,63,95,30,149,45,98,101,103,106,157,141],clangtidycontext:141,comma:[199,172,17,144,166,95,185,141,156,35,124],filenamerang:199,warningspec:199,view:[0,59],conform:198,legaci:0,init1:[220,45,95],o_creat:130,shrinkabl:101,nolint:[45,141],range_express:202,uialertview:53,polymorph:140,statu:[74,45,198],correctli:[0,12],mainli:198,misus:[12,141,104],tend:1,state:[0,199,3,63,73,6],kei:[199,30,10,141],flp30:[95,43],entir:[78,141],unnot:227,parenthesi:141,addit:[227,199,1,30,78,98,117,170,9,10,141],mylist:1,doxygen:[74,199],extens:[198,199,17,172,185,141,124,21,73],equal:[210,223,35,218,158,94,119,95],etc:[131,196,198,199,141,73,10,72],instanc:[24,178,30,203,45,62,48,144,91,115,168,213,95,21,109],uiactionsheet:53,comment:[196,199,26,112,45,141,90,171,95],unimpl:158,cxx:[150,160,138],guidelin:[0,151,86,66,140,29,65,63,167,50,153,141,189,52,225,157,188],cpplint:[55,161,87,112,172,91,187,128,121,175],distinguish:124,respect:[64,98,21,141],uitextinputmod:53,ttwo:32,addition:[35,104],clang_include_fixer_increment_num:30,legacyresourceproduc:0,insuffici:[111,141],va_arg:86,vscode:198,json:[141,30],treat:[59,94,141,156],chainedconditionalreturn:178,immedi:91,ignoreimplicitconstructor:[45,117],nullmacro:166,"_mbsicmp":35,presenc:[32,139],sock_stream:7,assert:[147,45,182,217,208,156,95,194],togeth:[62,141],wcsnicmp:35,present:[45,165,141,71],multi:10,hoc:199,align:221,harder:80,cursor:[30,10],defin:[197,12,56,30,1,148,136,45,29,4,150,63,126,78,21,166,199,180,124,10,109],helper:71,almost:68,site:45,header4:21,welcom:[74,194,32,73],parti:145,member:[58,165,114,158,168,180,178,119,124,78,196,199,203,29,91,140,227,94,63,95,40,41,45,151,223,156],function_that_returns_own:0,ifndef:[199,21],android:[201,77,16,45,113,97,95,164,220,141,33,7,81,38,130],throwing2:115,infer:23,difficult:141,longjmp:173,allowsoledefaultdtor:29,expans:[199,141,21],effect:[196,211,45,194,156,169,101,117,67,129,9,95,141],codingguidelin:88,dealloc:[157,109],cstyle:[108,52,95],expand:[44,21,72],"__gnu_cxx":1,off:141,well:[0,39,199,88,98,141,109],msc50:[89,95,186],floatfunc:27,exampl:[0,160,111,1,71,3,164,4,165,114,168,64,98,166,6,67,68,7,69,201,10,51,73,12,93,178,163,77,16,83,78,80,126,95,127,21,219,138,81,130,23,215,196,24,162,199,200,135,39,136,113,29,87,96,140,170,32,33,145,37,38,123,227,27,206,141,59,44,149,150,214,97,48,218,118,220,221,104,129,224,54,117],command:[199,30,10,98,139,141,21],intxx:55,choos:[126,141,73],undefin:[197,30,45,65,63,73,70,69,95],lzw:88,usual:[206,145,73,71],unari:[217,161,95,72],map_iter:1,camel:88,sourcen:[141,10],obtain:[219,143],mistaken:213,memmov:70,formatstyl:141,linter:141,web:45,static_assert:[208,217],idiom:73,sock_nonblock:38,bell:32,bar1:10,triviallycopy:70,instanti:[145,141,227],add:[73,196,30,41,145,78,63,117,104,170,35,53,37,141],sysmbol:30,match:[196,1,30,136,98,114,206,141,67,171,145,106],correspondig:55,nolintnextlin:[45,141],branch:[78,125],conditionrang:199,piec:34,wstring:[131,142],camelcas:[88,225],source0:[141,10],five:29,know:[24,141,71],press:[30,10],o_rdwr:201,myconststr:23,loss:[15,27,45,48],resid:141,readfil:177,success:177,"__builtin_strncmp":35,necessari:[145,141,73],"0xff":127,resiz:59,page:[74,198],err60:[14,95],err61:[133,95,71],imy_project:[141,10],captur:41,randomfunc:6,"export":[21,10,141],replacementstr:162,proper:[88,48],guarante:[209,78,194,106],ignorearrai:63,librari:[0,194,199,214,88,216,141,145,21,73],filenametok:199,lead:[0,197,12,189,45,216,66,171,124],leak:[0,117,201],avoid:[113,98,7,9,10,73,177,78,80,158,199,202,141,93,95,38,39,146,30,41,45,216,97,48,218,220,107,117],leav:[1,44,17,63,91,185,172,124],"__debug":199,leader:[30,10],getnam:141,investig:104,acronym:88,"enum":[196,114,199,95,104],usag:[164,35,66,71,74,12,177,77,16,18,186,20,127,10,22,188,199,87,203,104,141,33,145,95,21,130,146,149,45,166,98,121],branchthreshold:125,unsuccess:227,although:[124,71,10,80],offset:[10,144],stage:[30,10],addrlen:[16,38],about:[157,74,146,216,199,203,45,78,63,92,141,114,9,95,10,73],actual:[199,227,118,139,50,103,129,52,54,188],strnlen_:[170,45],column:[21,10,80],dcl03:[95,147,208],constructor:[1,165,114,116,117,67,180,174,219,108,78,37,126,127,134,129,84,64,29,91,207,141,143,94,63,145,95,39,45,47,152,54,73],discard:140,disabl:[199,162,73,67,156,141],own:[0,88,45,141,95,23],bugpron:[27,110,59,135,87,15,3,45,78,4,156,95,176,103,51,170,70,152,37,171,141],automat:[157,199,30,62,63,141,21],cocoa:[88,216],guard:[67,185,199,95,80],mathematical_error:115,pitfal:141,destructor:[151,162,44,29,64,141,143],getmessag:12,leverag:198,val:[1,104],byte_count:87,transfer:145,appl:[88,45,216],inner:[148,73,80],arg1:41,pik___pragma:199,"function":[0,194,160,56,111,1,3,62,35,64,116,158,6,170,68,70,9,10,73,12,58,201,100,119,124,78,125,136,186,20,187,71,189,181,221,131,196,198,86,134,87,28,203,193,29,96,140,31,141,93,94,145,95,21,39,146,213,41,214,51,45,117,47,218,219,102,157,223,207,109,199,156,143,106],map_fat:199,statementthreshold:125,nserror:[45,216,177,95],unexpect:72,make_shar:116,dup:[33,45,95],straight:0,overflow:15,inlin:[124,132,141],buf:[136,12,111],bug:[0,201,112,62,141,10,227],count:[44,148,57,87],made:[27,227,157],temp:3,whether:[196,24,198,199,78,141,67,93,156,21,106],displai:[98,199,21,10,141],record:63,below:[0,196,78,199,1,6,18,98,104],limit:[0,196,1,98,80,102,73,145,95,21,194],uniqueptr:[123,95,120],otherwis:[198,199,1,216,48,126,141,33,171,145,194],problem:[131,146,30,45,18,98,80,189,104,21],multipli:12,evalu:[196,12,45,78,156,126,208,95,21,72],noremap:30,"int":[0,55,160,78,57,1,62,114,168,117,6,67,9,120,174,162,12,227,163,15,69,124,18,202,203,22,129,191,221,131,196,199,39,136,88,193,87,96,140,92,115,138,142,209,33,34,145,95,130,27,206,213,41,149,166,48,217,100,102,157,211,54,141],dure:[196,216,63],implement:[0,57,1,158,6,119,174,122,223,108,78,187,128,197,198,205,31,141,40,30,45,176,106,109],pragmamessagekind:199,probabl:[12,214,149,6,141,104,37],mutual:78,"_mbsncmp_l":35,hpp:[185,17,172,124,221],detail:[199,30,45,140,141,67,194],virtual:[76,51,45,29,150,140,31,155,95],other:[162,1,4,114,117,108,227,73,100,124,78,185,196,172,88,29,138,141,21,30,45,98,152,53,17,54,158],bool:[227,39,199,178,135,196,45,141,5,27,117,177,171,95,154,106],futur:[198,117,78,10,106],rememb:78,renamefil:199,repeat:[209,169,95,114],star:1,another_fil:0,alright:0,debian:198,stai:145,myvec:1,mt19937:6,rule:[55,151,56,58,2,3,61,63,167,66,173,69,71,122,176,177,13,100,119,108,78,79,182,14,20,187,174,189,222,23,188,195,197,204,86,128,88,137,29,205,139,31,227,115,19,52,75,40,43,181,46,65,49,50,153,223,105,225,109],sourceloc:199,reinterpretcast:50,nshashtabl:53},objtypes:{"0":"std:option"},titles:["clang-tidy - cppcoreguidelines-owning-memory","clang-tidy - modernize-use-auto","clang-tidy - hicpp-use-nullptr","clang-tidy - bugprone-move-forwarding-reference","clang-tidy - bugprone-multiple-statement-macro","clang-tidy - modernize-use-bool-literals","clang-tidy - modernize-replace-random-shuffle","clang-tidy - android-cloexec-socket","clang-tidy - cert-fio38-c","clang-tidy - readability-non-const-parameter","Clang-Rename","clang-tidy - misc-unconventional-assign-operator","clang-tidy - misc-sizeof-expression","clang-tidy - hicpp-use-noexcept","clang-tidy - cert-err60-cpp","clang-tidy - bugprone-fold-init-type","clang-tidy - android-cloexec-accept","clang-tidy - google-global-names-in-headers","clang-tidy - misc-incorrect-roundings","clang-tidy - hicpp-vararg","clang-tidy - google-runtime-references","Modularize User’s Manual","clang-tidy - modernize-use-using","clang-tidy - google-objc-global-variable-declaration","clang-tidy - misc-suspicious-semicolon","<no title>","clang-tidy - llvm-namespace-comment","clang-tidy - bugprone-integer-division","clang-tidy - google-readability-function-size","clang-tidy - cppcoreguidelines-special-member-functions","Clang-Include-Fixer","clang-tidy - hicpp-use-override","clang-tidy - modernize-raw-string-literal","clang-tidy - android-cloexec-dup","clang-tidy - readability-else-after-return","clang-tidy - misc-suspicious-string-compare","<no title>","clang-tidy - bugprone-string-constructor","clang-tidy - android-cloexec-accept4","clang-tidy - google-explicit-constructor","clang-tidy - hicpp-member-init","clang-tidy - modernize-avoid-bind","clang-tidy - cert-err09-cpp","clang-tidy - cert-flp30-c","clang-tidy - misc-unused-raii","Extra Clang Tools 6.0.0 Release Notes","clang-tidy - hicpp-noexcept-move","clang-tidy - misc-undelegated-constructor","clang-tidy - misc-misplaced-widening-cast","clang-tidy - hicpp-no-array-decay","clang-tidy - cppcoreguidelines-pro-type-reinterpret-cast","clang-tidy - bugprone-virtual-near-miss","clang-tidy - cppcoreguidelines-pro-type-cstyle-cast","clang-tidy - objc-forbidden-subclassing","clang-tidy - readability-deleted-default","clang-tidy - google-runtime-int","clang-tidy - cert-dcl50-cpp","clang-tidy - performance-inefficient-algorithm","clang-tidy - hicpp-special-member-functions","clang-tidy - bugprone-dangling-handle","clang-tidy - cert-dcl59-cpp","clang-tidy - hicpp-move-const-arg","clang-tidy - readability-redundant-declaration","clang-tidy - cppcoreguidelines-pro-type-member-init","clang-tidy - performance-unnecessary-value-param","clang-tidy - cppcoreguidelines-pro-type-const-cast","clang-tidy - cppcoreguidelines-pro-bounds-pointer-arithmetic","clang-tidy - misc-forwarding-reference-overload","clang-tidy - misc-lambda-function-name","clang-tidy - cert-dcl58-cpp","clang-tidy - bugprone-undefined-memory-manipulation","clang-tidy - misc-throw-by-value-catch-by-reference","clang-tidy - misc-macro-parentheses","clang-tidy - modernize-pass-by-value","Welcome to Extra Clang Tools’s documentation!","clang-tidy - misc-non-copyable-objects","clang-tidy - modernize-use-override","clang-tidy - android-cloexec-epoll-create","clang-tidy - bugprone-use-after-move","clang-tidy - hicpp-use-auto","clang-tidy - readability-misleading-indentation","clang-tidy - android-cloexec-fopen","clang-tidy - cert-dcl54-cpp","clang-tidy - performance-faster-string-find","clang-tidy - cert-oop11-cpp","clang-tidy - misc-swapped-arguments","clang-tidy - cppcoreguidelines-pro-type-vararg","clang-tidy - bugprone-suspicious-memset-usage","clang-tidy - objc-property-declaration","clang-tidy - cert-msc30-c","clang-tidy - google-readability-namespace-comments","clang-tidy - google-runtime-member-string-references","clang-tidy - readability-misplaced-array-index","clang-tidy - readability-avoid-const-params-in-decls","clang-tidy - modernize-use-equals-default","clang-tidy - Clang-Tidy Checks","clang-tidy - readability-redundant-control-flow","clang-tidy - android-cloexec-memfd-create","Modularize Usage","clang-tidy - cert-dcl21-cpp","clang-tidy - cert-err34-c","clang-tidy - modernize-shrink-to-fit","clang-tidy - readability-static-definition-in-anonymous-namespace","clang-tidy - bugprone-inaccurate-erase","clang-tidy - misc-suspicious-enum-usage","clang-tidy - cert-err58-cpp","clang-tidy - readability-container-size-empty","clang-tidy - llvm-twine-local","clang-tidy - hicpp-explicit-conversions","clang-tidy - misc-new-delete-overloads","clang-tidy - bugprone-forward-declaration-namespace","clang-tidy - mpi-buffer-deref","clang-tidy - google-readability-todo","clang-tidy - android-cloexec-epoll-create1","clang-tidy - modernize-use-default-member-init","clang-tidy - hicpp-exception-baseclass","clang-tidy - modernize-make-shared","clang-tidy - modernize-use-emplace","clang-tidy - misc-unused-using-decls","clang-tidy - hicpp-use-equals-delete","clang-tidy - readability-uniqueptr-delete-release","clang-tidy - google-readability-casting","clang-tidy - hicpp-new-delete-operators","clang-tidy - misc-uniqueptr-reset-release","clang-tidy - misc-definitions-in-headers","clang-tidy - readability-function-size","clang-tidy - performance-noexcept-move-constructor","clang-tidy - misc-string-literal-with-embedded-nul","clang-tidy - google-build-using-namespace","clang-tidy - performance-move-const-arg","clang-tidy - android-cloexec-creat","clang-tidy - misc-string-integer-assignment","clang-tidy - hicpp-no-assembler","clang-tidy - cert-err61-cpp","clang-tidy - modernize-make-unique","clang-tidy - bugprone-bool-pointer-implicit-conversion","clang-tidy - mpi-type-mismatch","clang-tidy - hicpp-deprecated-headers","clang-tidy - fuchsia-overloaded-operator","clang-tidy - cert-env33-c","clang-tidy - cppcoreguidelines-slicing","Clang-Tidy","clang-tidy - boost-use-to-string","clang-tidy - performance-for-range-copy","clang-tidy - misc-suspicious-missing-comma","clang-tidy - modernize-replace-auto-ptr","clang-tidy - objc-avoid-spinlock","clang-tidy - cert-dcl03-c","clang-tidy - readability-braces-around-statements","clang-tidy - misc-sizeof-container","clang-tidy - fuchsia-virtual-inheritance","clang-tidy - cppcoreguidelines-pro-type-union-access","clang-tidy - bugprone-copy-constructor-init","clang-tidy - cppcoreguidelines-pro-bounds-constant-array-index","clang-tidy - readability-implicit-bool-cast","clang-tidy - google-default-arguments","clang-tidy - bugprone-assert-side-effect","clang-tidy - cppcoreguidelines-no-malloc","clang-tidy - modernize-use-equals-delete","clang-tidy - llvm-include-order","clang-tidy - fuchsia-default-arguments","clang-tidy - google-runtime-operator","clang-tidy - modernize-use-noexcept","clang-tidy - modernize-redundant-void-arg","clang-tidy - android-cloexec-inotify-init","clang-tidy - readability-redundant-member-init","clang-tidy - modernize-use-nullptr","clang-tidy - cppcoreguidelines-pro-bounds-array-to-pointer-decay","clang-tidy - readability-static-accessed-through-instance","clang-tidy - misc-macro-repeated-side-effects","clang-tidy - bugprone-misplaced-operator-in-strlen-in-alloc","clang-tidy - bugprone-argument-comment","clang-tidy - google-build-namespaces","clang-tidy - cert-err52-cpp","clang-tidy - hicpp-undelegated-construtor","clang-tidy - google-build-explicit-make-pair","clang-tidy - hicpp-invalid-access-moved","clang-tidy - google-objc-avoid-throwing-exception","clang-tidy - readability-simplify-boolean-expr","clang-tidy - misc-unused-alias-decls","clang-tidy - performance-move-constructor-init","clang-tidy - hicpp-function-size","clang-tidy - hicpp-static-assert","clang-tidy - readability-redundant-string-cstr","clang-tidy - google-readability-braces-around-statements","clang-tidy - llvm-header-guard","clang-tidy - cert-msc50-cpp","clang-tidy - readability-named-parameter","clang-tidy - cppcoreguidelines-pro-type-static-cast-downcast","clang-tidy - cppcoreguidelines-interfaces-global-init","clang-tidy - google-readability-redundant-smartptr-get","clang-tidy - misc-unused-parameters","clang-tidy - cppcoreguidelines-c-copy-assignment-signature","clang-tidy - readability-redundant-function-ptr-dereference","clang-tidy - modernize-deprecated-headers","clang-tidy - hicpp-use-emplace","clang-tidy - modernize-loop-convert","clang-tidy - hicpp-signed-bitwise","Clangd","pp-trace User’s Manual","clang-tidy - readability-redundant-string-init","clang-tidy - android-cloexec-open","clang-tidy - performance-inefficient-vector-operation","clang-tidy - performance-inefficient-string-concatenation","clang-tidy - hicpp-braces-around-statements","clang-tidy - hicpp-named-parameter","clang-tidy - performance-implicit-conversion-in-loop","clang-tidy - modernize-return-braced-init-list","clang-tidy - misc-static-assert","clang-tidy - modernize-use-transparent-functors","clang-tidy - modernize-use-default","clang-tidy - readability-delete-null-pointer","clang-tidy - performance-implicit-cast-in-loop","clang-tidy - misc-misplaced-const","clang-tidy - performance-type-promotion-in-math-fn","clang-tidy - misc-redundant-expression","clang-tidy - objc-avoid-nserror-init","clang-tidy - modernize-unary-static-assert","clang-tidy - misc-string-compare","clang-tidy - performance-unnecessary-copy-initialization","clang-tidy - android-cloexec-inotify-init1","clang-tidy - readability-inconsistent-declaration-parameter-name","clang-tidy - hicpp-no-malloc","clang-tidy - hicpp-use-equals-defaults","clang-tidy - readability-redundant-smartptr-get","clang-tidy - readability-identifier-naming","<no title>","clang-tidy - readability-implicit-bool-conversion"],objnames:{"0":["std","option","option"]},filenames:["clang-tidy/checks/cppcoreguidelines-owning-memory","clang-tidy/checks/modernize-use-auto","clang-tidy/checks/hicpp-use-nullptr","clang-tidy/checks/bugprone-move-forwarding-reference","clang-tidy/checks/bugprone-multiple-statement-macro","clang-tidy/checks/modernize-use-bool-literals","clang-tidy/checks/modernize-replace-random-shuffle","clang-tidy/checks/android-cloexec-socket","clang-tidy/checks/cert-fio38-c","clang-tidy/checks/readability-non-const-parameter","clang-rename","clang-tidy/checks/misc-unconventional-assign-operator","clang-tidy/checks/misc-sizeof-expression","clang-tidy/checks/hicpp-use-noexcept","clang-tidy/checks/cert-err60-cpp","clang-tidy/checks/bugprone-fold-init-type","clang-tidy/checks/android-cloexec-accept","clang-tidy/checks/google-global-names-in-headers","clang-tidy/checks/misc-incorrect-roundings","clang-tidy/checks/hicpp-vararg","clang-tidy/checks/google-runtime-references","modularize","clang-tidy/checks/modernize-use-using","clang-tidy/checks/google-objc-global-variable-declaration","clang-tidy/checks/misc-suspicious-semicolon","clang-modernize","clang-tidy/checks/llvm-namespace-comment","clang-tidy/checks/bugprone-integer-division","clang-tidy/checks/google-readability-function-size","clang-tidy/checks/cppcoreguidelines-special-member-functions","include-fixer","clang-tidy/checks/hicpp-use-override","clang-tidy/checks/modernize-raw-string-literal","clang-tidy/checks/android-cloexec-dup","clang-tidy/checks/readability-else-after-return","clang-tidy/checks/misc-suspicious-string-compare","cpp11-migrate","clang-tidy/checks/bugprone-string-constructor","clang-tidy/checks/android-cloexec-accept4","clang-tidy/checks/google-explicit-constructor","clang-tidy/checks/hicpp-member-init","clang-tidy/checks/modernize-avoid-bind","clang-tidy/checks/cert-err09-cpp","clang-tidy/checks/cert-flp30-c","clang-tidy/checks/misc-unused-raii","ReleaseNotes","clang-tidy/checks/hicpp-noexcept-move","clang-tidy/checks/misc-undelegated-constructor","clang-tidy/checks/misc-misplaced-widening-cast","clang-tidy/checks/hicpp-no-array-decay","clang-tidy/checks/cppcoreguidelines-pro-type-reinterpret-cast","clang-tidy/checks/bugprone-virtual-near-miss","clang-tidy/checks/cppcoreguidelines-pro-type-cstyle-cast","clang-tidy/checks/objc-forbidden-subclassing","clang-tidy/checks/readability-deleted-default","clang-tidy/checks/google-runtime-int","clang-tidy/checks/cert-dcl50-cpp","clang-tidy/checks/performance-inefficient-algorithm","clang-tidy/checks/hicpp-special-member-functions","clang-tidy/checks/bugprone-dangling-handle","clang-tidy/checks/cert-dcl59-cpp","clang-tidy/checks/hicpp-move-const-arg","clang-tidy/checks/readability-redundant-declaration","clang-tidy/checks/cppcoreguidelines-pro-type-member-init","clang-tidy/checks/performance-unnecessary-value-param","clang-tidy/checks/cppcoreguidelines-pro-type-const-cast","clang-tidy/checks/cppcoreguidelines-pro-bounds-pointer-arithmetic","clang-tidy/checks/misc-forwarding-reference-overload","clang-tidy/checks/misc-lambda-function-name","clang-tidy/checks/cert-dcl58-cpp","clang-tidy/checks/bugprone-undefined-memory-manipulation","clang-tidy/checks/misc-throw-by-value-catch-by-reference","clang-tidy/checks/misc-macro-parentheses","clang-tidy/checks/modernize-pass-by-value","index","clang-tidy/checks/misc-non-copyable-objects","clang-tidy/checks/modernize-use-override","clang-tidy/checks/android-cloexec-epoll-create","clang-tidy/checks/bugprone-use-after-move","clang-tidy/checks/hicpp-use-auto","clang-tidy/checks/readability-misleading-indentation","clang-tidy/checks/android-cloexec-fopen","clang-tidy/checks/cert-dcl54-cpp","clang-tidy/checks/performance-faster-string-find","clang-tidy/checks/cert-oop11-cpp","clang-tidy/checks/misc-swapped-arguments","clang-tidy/checks/cppcoreguidelines-pro-type-vararg","clang-tidy/checks/bugprone-suspicious-memset-usage","clang-tidy/checks/objc-property-declaration","clang-tidy/checks/cert-msc30-c","clang-tidy/checks/google-readability-namespace-comments","clang-tidy/checks/google-runtime-member-string-references","clang-tidy/checks/readability-misplaced-array-index","clang-tidy/checks/readability-avoid-const-params-in-decls","clang-tidy/checks/modernize-use-equals-default","clang-tidy/checks/list","clang-tidy/checks/readability-redundant-control-flow","clang-tidy/checks/android-cloexec-memfd-create","ModularizeUsage","clang-tidy/checks/cert-dcl21-cpp","clang-tidy/checks/cert-err34-c","clang-tidy/checks/modernize-shrink-to-fit","clang-tidy/checks/readability-static-definition-in-anonymous-namespace","clang-tidy/checks/bugprone-inaccurate-erase","clang-tidy/checks/misc-suspicious-enum-usage","clang-tidy/checks/cert-err58-cpp","clang-tidy/checks/readability-container-size-empty","clang-tidy/checks/llvm-twine-local","clang-tidy/checks/hicpp-explicit-conversions","clang-tidy/checks/misc-new-delete-overloads","clang-tidy/checks/bugprone-forward-declaration-namespace","clang-tidy/checks/mpi-buffer-deref","clang-tidy/checks/google-readability-todo","clang-tidy/checks/android-cloexec-epoll-create1","clang-tidy/checks/modernize-use-default-member-init","clang-tidy/checks/hicpp-exception-baseclass","clang-tidy/checks/modernize-make-shared","clang-tidy/checks/modernize-use-emplace","clang-tidy/checks/misc-unused-using-decls","clang-tidy/checks/hicpp-use-equals-delete","clang-tidy/checks/readability-uniqueptr-delete-release","clang-tidy/checks/google-readability-casting","clang-tidy/checks/hicpp-new-delete-operators","clang-tidy/checks/misc-uniqueptr-reset-release","clang-tidy/checks/misc-definitions-in-headers","clang-tidy/checks/readability-function-size","clang-tidy/checks/performance-noexcept-move-constructor","clang-tidy/checks/misc-string-literal-with-embedded-nul","clang-tidy/checks/google-build-using-namespace","clang-tidy/checks/performance-move-const-arg","clang-tidy/checks/android-cloexec-creat","clang-tidy/checks/misc-string-integer-assignment","clang-tidy/checks/hicpp-no-assembler","clang-tidy/checks/cert-err61-cpp","clang-tidy/checks/modernize-make-unique","clang-tidy/checks/bugprone-bool-pointer-implicit-conversion","clang-tidy/checks/mpi-type-mismatch","clang-tidy/checks/hicpp-deprecated-headers","clang-tidy/checks/fuchsia-overloaded-operator","clang-tidy/checks/cert-env33-c","clang-tidy/checks/cppcoreguidelines-slicing","clang-tidy/index","clang-tidy/checks/boost-use-to-string","clang-tidy/checks/performance-for-range-copy","clang-tidy/checks/misc-suspicious-missing-comma","clang-tidy/checks/modernize-replace-auto-ptr","clang-tidy/checks/objc-avoid-spinlock","clang-tidy/checks/cert-dcl03-c","clang-tidy/checks/readability-braces-around-statements","clang-tidy/checks/misc-sizeof-container","clang-tidy/checks/fuchsia-virtual-inheritance","clang-tidy/checks/cppcoreguidelines-pro-type-union-access","clang-tidy/checks/bugprone-copy-constructor-init","clang-tidy/checks/cppcoreguidelines-pro-bounds-constant-array-index","clang-tidy/checks/readability-implicit-bool-cast","clang-tidy/checks/google-default-arguments","clang-tidy/checks/bugprone-assert-side-effect","clang-tidy/checks/cppcoreguidelines-no-malloc","clang-tidy/checks/modernize-use-equals-delete","clang-tidy/checks/llvm-include-order","clang-tidy/checks/fuchsia-default-arguments","clang-tidy/checks/google-runtime-operator","clang-tidy/checks/modernize-use-noexcept","clang-tidy/checks/modernize-redundant-void-arg","clang-tidy/checks/android-cloexec-inotify-init","clang-tidy/checks/readability-redundant-member-init","clang-tidy/checks/modernize-use-nullptr","clang-tidy/checks/cppcoreguidelines-pro-bounds-array-to-pointer-decay","clang-tidy/checks/readability-static-accessed-through-instance","clang-tidy/checks/misc-macro-repeated-side-effects","clang-tidy/checks/bugprone-misplaced-operator-in-strlen-in-alloc","clang-tidy/checks/bugprone-argument-comment","clang-tidy/checks/google-build-namespaces","clang-tidy/checks/cert-err52-cpp","clang-tidy/checks/hicpp-undelegated-constructor","clang-tidy/checks/google-build-explicit-make-pair","clang-tidy/checks/hicpp-invalid-access-moved","clang-tidy/checks/google-objc-avoid-throwing-exception","clang-tidy/checks/readability-simplify-boolean-expr","clang-tidy/checks/misc-unused-alias-decls","clang-tidy/checks/performance-move-constructor-init","clang-tidy/checks/hicpp-function-size","clang-tidy/checks/hicpp-static-assert","clang-tidy/checks/readability-redundant-string-cstr","clang-tidy/checks/google-readability-braces-around-statements","clang-tidy/checks/llvm-header-guard","clang-tidy/checks/cert-msc50-cpp","clang-tidy/checks/readability-named-parameter","clang-tidy/checks/cppcoreguidelines-pro-type-static-cast-downcast","clang-tidy/checks/cppcoreguidelines-interfaces-global-init","clang-tidy/checks/google-readability-redundant-smartptr-get","clang-tidy/checks/misc-unused-parameters","clang-tidy/checks/cppcoreguidelines-c-copy-assignment-signature","clang-tidy/checks/readability-redundant-function-ptr-dereference","clang-tidy/checks/modernize-deprecated-headers","clang-tidy/checks/hicpp-use-emplace","clang-tidy/checks/modernize-loop-convert","clang-tidy/checks/hicpp-signed-bitwise","clangd","pp-trace","clang-tidy/checks/readability-redundant-string-init","clang-tidy/checks/android-cloexec-open","clang-tidy/checks/performance-inefficient-vector-operation","clang-tidy/checks/performance-inefficient-string-concatenation","clang-tidy/checks/hicpp-braces-around-statements","clang-tidy/checks/hicpp-named-parameter","clang-tidy/checks/performance-implicit-conversion-in-loop","clang-tidy/checks/modernize-return-braced-init-list","clang-tidy/checks/misc-static-assert","clang-tidy/checks/modernize-use-transparent-functors","clang-tidy/checks/modernize-use-default","clang-tidy/checks/readability-delete-null-pointer","clang-tidy/checks/performance-implicit-cast-in-loop","clang-tidy/checks/misc-misplaced-const","clang-tidy/checks/performance-type-promotion-in-math-fn","clang-tidy/checks/misc-redundant-expression","clang-tidy/checks/objc-avoid-nserror-init","clang-tidy/checks/modernize-unary-static-assert","clang-tidy/checks/misc-string-compare","clang-tidy/checks/performance-unnecessary-copy-initialization","clang-tidy/checks/android-cloexec-inotify-init1","clang-tidy/checks/readability-inconsistent-declaration-parameter-name","clang-tidy/checks/hicpp-no-malloc","clang-tidy/checks/hicpp-use-equals-default","clang-tidy/checks/readability-redundant-smartptr-get","clang-tidy/checks/readability-identifier-naming","clang-tidy","clang-tidy/checks/readability-implicit-bool-conversion"]})
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/AtomLLD.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/AtomLLD.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/AtomLLD.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/AtomLLD.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,221 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>ATOM-based lld — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+    <link rel="next" title="Linker Design" href="design.html" />
+    <link rel="prev" title="The ELF, COFF and Wasm Linkers" href="NewLLD.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="design.html" title="Linker Design"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="NewLLD.html" title="The ELF, COFF and Wasm Linkers"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">ATOM-based lld</a><ul>
+<li><a class="reference internal" href="#why-a-new-linker">Why a new linker?</a></li>
+<li><a class="reference internal" href="#contents">Contents</a><ul>
+</ul>
+</li>
+<li><a class="reference internal" href="#indices-and-tables">Indices and tables</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="NewLLD.html"
+                        title="previous chapter">The ELF, COFF and Wasm Linkers</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="design.html"
+                        title="next chapter">Linker Design</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/AtomLLD.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="atom-based-lld">
+<h1>ATOM-based lld<a class="headerlink" href="#atom-based-lld" title="Permalink to this headline">¶</a></h1>
+<p>Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see <a class="reference internal" href="index.html"><em>LLD - The LLVM Linker</em></a>.</p>
+<p>ATOM-based lld is a new set of modular code for creating linker tools.
+Currently it supports Mach-O.</p>
+<ul class="simple">
+<li>End-User Features:<ul>
+<li>Compatible with existing linker options</li>
+<li>Reads standard Object Files</li>
+<li>Writes standard Executable Files</li>
+<li>Remove clang’s reliance on “the system linker”</li>
+<li>Uses the LLVM <a class="reference external" href="http://llvm.org/docs/DeveloperPolicy.html#license">“UIUC” BSD-Style license</a>.</li>
+</ul>
+</li>
+<li>Applications:<ul>
+<li>Modular design</li>
+<li>Support cross linking</li>
+<li>Easy to add new CPU support</li>
+<li>Can be built as static tool or library</li>
+</ul>
+</li>
+<li>Design and Implementation:<ul>
+<li>Extensive unit tests</li>
+<li>Internal linker model can be dumped/read to textual format</li>
+<li>Additional linking features can be plugged in as “passes”</li>
+<li>OS specific and CPU specific code factored out</li>
+</ul>
+</li>
+</ul>
+<div class="section" id="why-a-new-linker">
+<h2>Why a new linker?<a class="headerlink" href="#why-a-new-linker" title="Permalink to this headline">¶</a></h2>
+<p>The fact that clang relies on whatever linker tool you happen to have installed
+means that clang has been very conservative adopting features which require a
+recent linker.</p>
+<p>In the same way that the MC layer of LLVM has removed clang’s reliance on the
+system assembler tool, the lld project will remove clang’s reliance on the
+system linker tool.</p>
+</div>
+<div class="section" id="contents">
+<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline">¶</a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="design.html">Linker Design</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="design.html#introduction">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="design.html#atom-model">Atom Model</a></li>
+<li class="toctree-l2"><a class="reference internal" href="design.html#file-model">File Model</a></li>
+<li class="toctree-l2"><a class="reference internal" href="design.html#linking-steps">Linking Steps</a></li>
+<li class="toctree-l2"><a class="reference internal" href="design.html#lld-file-representations">lld::File representations</a></li>
+<li class="toctree-l2"><a class="reference internal" href="design.html#testing">Testing</a></li>
+<li class="toctree-l2"><a class="reference internal" href="design.html#design-issues">Design Issues</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="getting_started.html">Getting Started: Building and Running lld</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="getting_started.html#building-lld">Building lld</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="development.html">Development</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="development.html#creating-a-reader">Creating a Reader</a></li>
+<li class="toctree-l2"><a class="reference internal" href="development.html#modifying-the-driver">Modifying the Driver</a></li>
+<li class="toctree-l2"><a class="reference internal" href="development.html#debugging">Debugging</a></li>
+<li class="toctree-l2"><a class="reference internal" href="development.html#documentation">Documentation</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="open_projects.html">Open Projects</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="open_projects.html#include-lld-core">include/lld/Core</a></li>
+<li class="toctree-l2"><a class="reference internal" href="open_projects.html#documentation-todos">Documentation TODOs</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="sphinx_intro.html">Sphinx Introduction for LLVM Developers</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="sphinx_intro.html#quickstart">Quickstart</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sphinx_intro.html#learning-more">Learning More</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sphinx_intro.html#installing-sphinx-in-a-virtual-environment">Installing Sphinx in a Virtual Environment</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<div class="section" id="indices-and-tables">
+<h2>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><a class="reference internal" href="genindex.html"><em>Index</em></a></li>
+<li><a class="reference internal" href="search.html"><em>Search Page</em></a></li>
+</ul>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="design.html" title="Linker Design"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="NewLLD.html" title="The ELF, COFF and Wasm Linkers"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/Driver.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/Driver.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/Driver.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/Driver.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,227 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Driver — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+    <link rel="up" title="Development" href="development.html" />
+    <link rel="next" title="Open Projects" href="open_projects.html" />
+    <link rel="prev" title="Developing lld Readers" href="Readers.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="open_projects.html" title="Open Projects"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="Readers.html" title="Developing lld Readers"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li><a href="development.html" accesskey="U">Development</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Driver</a><ul>
+<li><a class="reference internal" href="#introduction">Introduction</a></li>
+<li><a class="reference internal" href="#overview">Overview</a><ul>
+<li><a class="reference internal" href="#flavors">Flavors</a><ul>
+<li><a class="reference internal" href="#selecting-a-flavor">Selecting a Flavor</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a class="reference internal" href="#adding-an-option-to-an-existing-flavor">Adding an Option to an existing Flavor</a></li>
+<li><a class="reference internal" href="#adding-a-flavor">Adding a Flavor</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="Readers.html"
+                        title="previous chapter">Developing lld Readers</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="open_projects.html"
+                        title="next chapter">Open Projects</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/Driver.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="driver">
+<h1>Driver<a class="headerlink" href="#driver" title="Permalink to this headline">¶</a></h1>
+<p>Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see <a class="reference internal" href="index.html"><em>LLD - The LLVM Linker</em></a>.</p>
+<div class="contents local topic" id="contents">
+<ul class="simple">
+<li><a class="reference internal" href="#introduction" id="id1">Introduction</a></li>
+<li><a class="reference internal" href="#overview" id="id2">Overview</a><ul>
+<li><a class="reference internal" href="#flavors" id="id3">Flavors</a><ul>
+<li><a class="reference internal" href="#selecting-a-flavor" id="id4">Selecting a Flavor</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a class="reference internal" href="#adding-an-option-to-an-existing-flavor" id="id5">Adding an Option to an existing Flavor</a></li>
+<li><a class="reference internal" href="#adding-a-flavor" id="id6">Adding a Flavor</a></li>
+</ul>
+</div>
+<div class="section" id="introduction">
+<h2><a class="toc-backref" href="#id1">Introduction</a><a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
+<p>This document describes the lld driver. The purpose of this document is to
+describe both the motivation and design goals for the driver, as well as details
+of the internal implementation.</p>
+</div>
+<div class="section" id="overview">
+<h2><a class="toc-backref" href="#id2">Overview</a><a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h2>
+<p>The lld driver is designed to support a number of different command line
+interfaces. The main interfaces we plan to support are binutils’ ld, Apple’s
+ld, and Microsoft’s link.exe.</p>
+<div class="section" id="flavors">
+<h3><a class="toc-backref" href="#id3">Flavors</a><a class="headerlink" href="#flavors" title="Permalink to this headline">¶</a></h3>
+<p>Each of these different interfaces is referred to as a flavor. There is also an
+extra flavor “core” which is used to exercise the core functionality of the
+linker it the test suite.</p>
+<ul class="simple">
+<li>gnu</li>
+<li>darwin</li>
+<li>link</li>
+<li>core</li>
+</ul>
+<div class="section" id="selecting-a-flavor">
+<h4><a class="toc-backref" href="#id4">Selecting a Flavor</a><a class="headerlink" href="#selecting-a-flavor" title="Permalink to this headline">¶</a></h4>
+<p>There are two different ways to tell lld which flavor to be. They are checked in
+order, so the second overrides the first. The first is to symlink <strong class="program">lld</strong>
+as <strong class="program">lld-{flavor}</strong> or just <strong class="program">{flavor}</strong>. You can also specify
+it as the first command line argument using <tt class="docutils literal"><span class="pre">-flavor</span></tt>:</p>
+<div class="highlight-python"><pre>$ lld -flavor gnu</pre>
+</div>
+<p>There is a shortcut for <tt class="docutils literal"><span class="pre">-flavor</span> <span class="pre">core</span></tt> as <tt class="docutils literal"><span class="pre">-core</span></tt>.</p>
+</div>
+</div>
+</div>
+<div class="section" id="adding-an-option-to-an-existing-flavor">
+<h2><a class="toc-backref" href="#id5">Adding an Option to an existing Flavor</a><a class="headerlink" href="#adding-an-option-to-an-existing-flavor" title="Permalink to this headline">¶</a></h2>
+<ol class="arabic simple">
+<li>Add the option to the desired <tt class="file docutils literal"><span class="pre">lib/Driver/</span><em><span class="pre">flavor</span></em><span class="pre">Options.td</span></tt>.</li>
+<li>Add to <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::FlavorLinkingContext</span></tt> a getter and setter method
+for the option.</li>
+<li>Modify <tt class="xref cpp cpp-func docutils literal"><span class="pre">lld::FlavorDriver::parse()</span></tt> in :file:
+<cite>lib/Driver/{Flavor}Driver.cpp</cite> to call the targetInfo setter
+for corresponding to the option.</li>
+<li>Modify {Flavor}Reader and {Flavor}Writer to use the new targtInfo option.</li>
+</ol>
+</div>
+<div class="section" id="adding-a-flavor">
+<h2><a class="toc-backref" href="#id6">Adding a Flavor</a><a class="headerlink" href="#adding-a-flavor" title="Permalink to this headline">¶</a></h2>
+<ol class="arabic simple">
+<li>Add an entry for the flavor in <tt class="file docutils literal"><span class="pre">include/lld/Common/Driver.h</span></tt> to
+<tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::UniversalDriver::Flavor</span></tt>.</li>
+<li>Add an entry in <tt class="file docutils literal"><span class="pre">lib/Driver/UniversalDriver.cpp</span></tt> to
+<tt class="xref cpp cpp-func docutils literal"><span class="pre">lld::Driver::strToFlavor()</span></tt> and
+<tt class="xref cpp cpp-func docutils literal"><span class="pre">lld::UniversalDriver::link()</span></tt>.
+This allows the flavor to be selected via symlink and <cite>-flavor</cite>.</li>
+<li>Add a tablegen file called <tt class="file docutils literal"><span class="pre">lib/Driver/</span><em><span class="pre">flavor</span></em><span class="pre">Options.td</span></tt> that
+describes the options. If the options are a superset of another driver, that
+driver’s td file can simply be included. The <tt class="file docutils literal"><em><span class="pre">flavor</span></em><span class="pre">Options.td</span></tt> file
+must also be added to <tt class="file docutils literal"><span class="pre">lib/Driver/CMakeLists.txt</span></tt>.</li>
+<li>Add a <tt class="docutils literal"><span class="pre">{flavor}Driver</span></tt> as a subclass of <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::Driver</span></tt>
+in <tt class="file docutils literal"><span class="pre">lib/Driver/</span><em><span class="pre">flavor</span></em><span class="pre">Driver.cpp</span></tt>.</li>
+</ol>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="open_projects.html" title="Open Projects"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="Readers.html" title="Developing lld Readers"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li><a href="development.html" >Development</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/NewLLD.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/NewLLD.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/NewLLD.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/NewLLD.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,409 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>The ELF, COFF and Wasm Linkers — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+    <link rel="next" title="ATOM-based lld" href="AtomLLD.html" />
+    <link rel="prev" title="LLD - The LLVM Linker" href="index.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="AtomLLD.html" title="ATOM-based lld"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="index.html" title="LLD - The LLVM Linker"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">The ELF, COFF and Wasm Linkers</a><ul>
+<li><a class="reference internal" href="#the-elf-linker-as-a-library">The ELF Linker as a Library</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#design">Design</a><ul>
+<li><a class="reference internal" href="#key-concepts">Key Concepts</a></li>
+<li><a class="reference internal" href="#numbers-you-want-to-know">Numbers You Want to Know</a></li>
+<li><a class="reference internal" href="#important-data-structures">Important Data Structures</a></li>
+<li><a class="reference internal" href="#link-time-optimization">Link-Time Optimization</a></li>
+<li><a class="reference internal" href="#glossary">Glossary</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="index.html"
+                        title="previous chapter">LLD - The LLVM Linker</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="AtomLLD.html"
+                        title="next chapter">ATOM-based lld</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/NewLLD.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="the-elf-coff-and-wasm-linkers">
+<h1>The ELF, COFF and Wasm Linkers<a class="headerlink" href="#the-elf-coff-and-wasm-linkers" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="the-elf-linker-as-a-library">
+<h2>The ELF Linker as a Library<a class="headerlink" href="#the-elf-linker-as-a-library" title="Permalink to this headline">¶</a></h2>
+<p>You can embed LLD to your program by linking against it and calling the linker’s
+entry point function lld::elf::link.</p>
+<p>The current policy is that it is your reponsibility to give trustworthy object
+files. The function is guaranteed to return as long as you do not pass corrupted
+or malicious object files. A corrupted file could cause a fatal error or SEGV.
+That being said, you don’t need to worry too much about it if you create object
+files in the usual way and give them to the linker. It is naturally expected to
+work, or otherwise it’s a linker’s bug.</p>
+</div>
+</div>
+<div class="section" id="design">
+<h1>Design<a class="headerlink" href="#design" title="Permalink to this headline">¶</a></h1>
+<p>We will describe the design of the linkers in the rest of the document.</p>
+<div class="section" id="key-concepts">
+<h2>Key Concepts<a class="headerlink" href="#key-concepts" title="Permalink to this headline">¶</a></h2>
+<p>Linkers are fairly large pieces of software.
+There are many design choices you have to make to create a complete linker.</p>
+<p>This is a list of design choices we’ve made for ELF and COFF LLD.
+We believe that these high-level design choices achieved a right balance
+between speed, simplicity and extensibility.</p>
+<ul>
+<li><p class="first">Implement as native linkers</p>
+<p>We implemented the linkers as native linkers for each file format.</p>
+<p>The linkers share the same design but share very little code.
+Sharing code makes sense if the benefit is worth its cost.
+In our case, the object formats are different enough that we thought the layer
+to abstract the differences wouldn’t be worth its complexity and run-time
+cost.  Elimination of the abstract layer has greatly simplified the
+implementation.</p>
+</li>
+<li><p class="first">Speed by design</p>
+<p>One of the most important things in archiving high performance is to
+do less rather than do it efficiently.
+Therefore, the high-level design matters more than local optimizations.
+Since we are trying to create a high-performance linker,
+it is very important to keep the design as efficient as possible.</p>
+<p>Broadly speaking, we do not do anything until we have to do it.
+For example, we do not read section contents or relocations
+until we need them to continue linking.
+When we need to do some costly operation (such as looking up
+a hash table for each symbol), we do it only once.
+We obtain a handler (which is typically just a pointer to actual data)
+on the first operation and use it throughout the process.</p>
+</li>
+<li><p class="first">Efficient archive file handling</p>
+<p>LLD’s handling of archive files (the files with ”.a” file extension) is
+different from the traditional Unix linkers and similar to Windows linkers.
+We’ll describe how the traditional Unix linker handles archive files, what the
+problem is, and how LLD approached the problem.</p>
+<p>The traditional Unix linker maintains a set of undefined symbols during
+linking.  The linker visits each file in the order as they appeared in the
+command line until the set becomes empty. What the linker would do depends on
+file type.</p>
+<ul class="simple">
+<li>If the linker visits an object file, the linker links object files to the
+result, and undefined symbols in the object file are added to the set.</li>
+<li>If the linker visits an archive file, it checks for the archive file’s
+symbol table and extracts all object files that have definitions for any
+symbols in the set.</li>
+</ul>
+<p>This algorithm sometimes leads to a counter-intuitive behavior.  If you give
+archive files before object files, nothing will happen because when the linker
+visits archives, there is no undefined symbols in the set.  As a result, no
+files are extracted from the first archive file, and the link is done at that
+point because the set is empty after it visits one file.</p>
+<p>You can fix the problem by reordering the files,
+but that cannot fix the issue of mutually-dependent archive files.</p>
+<p>Linking mutually-dependent archive files is tricky.  You may specify the same
+archive file multiple times to let the linker visit it more than once.  Or,
+you may use the special command line options, <cite>–start-group</cite> and
+<cite>–end-group</cite>, to let the linker loop over the files between the options until
+no new symbols are added to the set.</p>
+<p>Visiting the same archive files multiple makes the linker slower.</p>
+<p>Here is how LLD approaches the problem. Instead of memorizing only undefined
+symbols, we program LLD so that it memorizes all symbols.  When it sees an
+undefined symbol that can be resolved by extracting an object file from an
+archive file it previously visited, it immediately extracts the file and link
+it.  It is doable because LLD does not forget symbols it have seen in archive
+files.</p>
+<p>We believe that the LLD’s way is efficient and easy to justify.</p>
+<p>The semantics of LLD’s archive handling is different from the traditional
+Unix’s.  You can observe it if you carefully craft archive files to exploit
+it.  However, in reality, we don’t know any program that cannot link with our
+algorithm so far, so it’s not going to cause trouble.</p>
+</li>
+</ul>
+</div>
+<div class="section" id="numbers-you-want-to-know">
+<h2>Numbers You Want to Know<a class="headerlink" href="#numbers-you-want-to-know" title="Permalink to this headline">¶</a></h2>
+<p>To give you intuition about what kinds of data the linker is mainly working on,
+I’ll give you the list of objects and their numbers LLD has to read and process
+in order to link a very large executable. In order to link Chrome with debug
+info, which is roughly 2 GB in output size, LLD reads</p>
+<ul class="simple">
+<li>17,000 files,</li>
+<li>1,800,000 sections,</li>
+<li>6,300,000 symbols, and</li>
+<li>13,000,000 relocations.</li>
+</ul>
+<p>LLD produces the 2 GB executable in 15 seconds.</p>
+<p>These numbers vary depending on your program, but in general,
+you have a lot of relocations and symbols for each file.
+If your program is written in C++, symbol names are likely to be
+pretty long because of name mangling.</p>
+<p>It is important to not waste time on relocations and symbols.</p>
+<p>In the above case, the total amount of symbol strings is 450 MB,
+and inserting all of them to a hash table takes 1.5 seconds.
+Therefore, if you causally add a hash table lookup for each symbol,
+it would slow down the linker by 10%. So, don’t do that.</p>
+<p>On the other hand, you don’t have to pursue efficiency
+when handling files.</p>
+</div>
+<div class="section" id="important-data-structures">
+<h2>Important Data Structures<a class="headerlink" href="#important-data-structures" title="Permalink to this headline">¶</a></h2>
+<p>We will describe the key data structures in LLD in this section.  The linker can
+be understood as the interactions between them.  Once you understand their
+functions, the code of the linker should look obvious to you.</p>
+<ul>
+<li><p class="first">Symbol</p>
+<p>This class represents a symbol.
+They are created for symbols in object files or archive files.
+The linker creates linker-defined symbols as well.</p>
+<p>There are basically three types of Symbols: Defined, Undefined, or Lazy.</p>
+<ul class="simple">
+<li>Defined symbols are for all symbols that are considered as “resolved”,
+including real defined symbols, COMDAT symbols, common symbols,
+absolute symbols, linker-created symbols, etc.</li>
+<li>Undefined symbols represent undefined symbols, which need to be replaced by
+Defined symbols by the resolver until the link is complete.</li>
+<li>Lazy symbols represent symbols we found in archive file headers
+which can turn into Defined if we read archieve members.</li>
+</ul>
+<p>There’s only one Symbol instance for each unique symbol name. This uniqueness
+is guaranteed by the symbol table. As the resolver reads symbols from input
+files, it replaces an existing Symbol with the “best” Symbol for its symbol
+name using the placement new.</p>
+<p>The above mechanism allows you to use pointers to Symbols as a very cheap way
+to access name resolution results. Assume for example that you have a pointer
+to an undefined symbol before name resolution. If the symbol is resolved to a
+defined symbol by the resolver, the pointer will “automatically” point to the
+defined symbol, because the undefined symbol the pointer pointed to will have
+been replaced by the defined symbol in-place.</p>
+</li>
+<li><p class="first">SymbolTable</p>
+<p>SymbolTable is basically a hash table from strings to Symbols
+with logic to resolve symbol conflicts. It resolves conflicts by symbol type.</p>
+<ul class="simple">
+<li>If we add Defined and Undefined symbols, the symbol table will keep the
+former.</li>
+<li>If we add Defined and Lazy symbols, it will keep the former.</li>
+<li>If we add Lazy and Undefined, it will keep the former,
+but it will also trigger the Lazy symbol to load the archive member
+to actually resolve the symbol.</li>
+</ul>
+</li>
+<li><p class="first">Chunk (COFF specific)</p>
+<p>Chunk represents a chunk of data that will occupy space in an output.
+Each regular section becomes a chunk.
+Chunks created for common or BSS symbols are not backed by sections.
+The linker may create chunks to append additional data to an output as well.</p>
+<p>Chunks know about their size, how to copy their data to mmap’ed outputs,
+and how to apply relocations to them.
+Specifically, section-based chunks know how to read relocation tables
+and how to apply them.</p>
+</li>
+<li><p class="first">InputSection (ELF specific)</p>
+<p>Since we have less synthesized data for ELF, we don’t abstract slices of
+input files as Chunks for ELF. Instead, we directly use the input section
+as an internal data type.</p>
+<p>InputSection knows about their size and how to copy themselves to
+mmap’ed outputs, just like COFF Chunks.</p>
+</li>
+<li><p class="first">OutputSection</p>
+<p>OutputSection is a container of InputSections (ELF) or Chunks (COFF).
+An InputSection or Chunk belongs to at most one OutputSection.</p>
+</li>
+</ul>
+<p>There are mainly three actors in this linker.</p>
+<ul>
+<li><p class="first">InputFile</p>
+<p>InputFile is a superclass of file readers.
+We have a different subclass for each input file type,
+such as regular object file, archive file, etc.
+They are responsible for creating and owning Symbols and InputSections/Chunks.</p>
+</li>
+<li><p class="first">Writer</p>
+<p>The writer is responsible for writing file headers and InputSections/Chunks to
+a file.  It creates OutputSections, put all InputSections/Chunks into them,
+assign unique, non-overlapping addresses and file offsets to them, and then
+write them down to a file.</p>
+</li>
+<li><p class="first">Driver</p>
+<p>The linking process is driven by the driver. The driver:</p>
+<ul class="simple">
+<li>processes command line options,</li>
+<li>creates a symbol table,</li>
+<li>creates an InputFile for each input file and puts all symbols within into
+the symbol table,</li>
+<li>checks if there’s no remaining undefined symbols,</li>
+<li>creates a writer,</li>
+<li>and passes the symbol table to the writer to write the result to a file.</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="link-time-optimization">
+<h2>Link-Time Optimization<a class="headerlink" href="#link-time-optimization" title="Permalink to this headline">¶</a></h2>
+<p>LTO is implemented by handling LLVM bitcode files as object files.
+The linker resolves symbols in bitcode files normally. If all symbols
+are successfully resolved, it then runs LLVM passes
+with all bitcode files to convert them to one big regular ELF/COFF file.
+Finally, the linker replaces bitcode symbols with ELF/COFF symbols,
+so that they are linked as if they were in the native format from the beginning.</p>
+<p>The details are described in this document.
+<a class="reference external" href="http://llvm.org/docs/LinkTimeOptimization.html">http://llvm.org/docs/LinkTimeOptimization.html</a></p>
+</div>
+<div class="section" id="glossary">
+<h2>Glossary<a class="headerlink" href="#glossary" title="Permalink to this headline">¶</a></h2>
+<ul>
+<li><p class="first">RVA (COFF)</p>
+<p>Short for Relative Virtual Address.</p>
+<p>Windows executables or DLLs are not position-independent; they are
+linked against a fixed address called an image base. RVAs are
+offsets from an image base.</p>
+<p>Default image bases are 0x140000000 for executables and 0x18000000
+for DLLs. For example, when we are creating an executable, we assume
+that the executable will be loaded at address 0x140000000 by the
+loader, so we apply relocations accordingly. Result texts and data
+will contain raw absolute addresses.</p>
+</li>
+<li><p class="first">VA</p>
+<p>Short for Virtual Address. For COFF, it is equivalent to RVA + image base.</p>
+</li>
+<li><p class="first">Base relocations (COFF)</p>
+<p>Relocation information for the loader. If the loader decides to map
+an executable or a DLL to a different address than their image
+bases, it fixes up binaries using information contained in the base
+relocation table. A base relocation table consists of a list of
+locations containing addresses. The loader adds a difference between
+RVA and actual load address to all locations listed there.</p>
+<p>Note that this run-time relocation mechanism is much simpler than ELF.
+There’s no PLT or GOT. Images are relocated as a whole just
+by shifting entire images in memory by some offsets. Although doing
+this breaks text sharing, I think this mechanism is not actually bad
+on today’s computers.</p>
+</li>
+<li><p class="first">ICF</p>
+<p>Short for Identical COMDAT Folding (COFF) or Identical Code Folding (ELF).</p>
+<p>ICF is an optimization to reduce output size by merging read-only sections
+by not only their names but by their contents. If two read-only sections
+happen to have the same metadata, actual contents and relocations,
+they are merged by ICF. It is known as an effective technique,
+and it usually reduces C++ program’s size by a few percent or more.</p>
+<p>Note that this is not an entirely sound optimization. C/C++ require
+different functions have different addresses. If a program depends on
+that property, it would fail at runtime.</p>
+<p>On Windows, that’s not really an issue because MSVC link.exe enabled
+the optimization by default. As long as your program works
+with the linker’s default settings, your program should be safe with ICF.</p>
+<p>On Unix, your program is generally not guaranteed to be safe with ICF,
+although large programs happen to work correctly.
+LLD works fine with ICF for example.</p>
+</li>
+</ul>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="AtomLLD.html" title="ATOM-based lld"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="index.html" title="LLD - The LLVM Linker"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/Readers.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/Readers.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/Readers.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/Readers.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,300 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Developing lld Readers — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+    <link rel="up" title="Development" href="development.html" />
+    <link rel="next" title="Driver" href="Driver.html" />
+    <link rel="prev" title="Development" href="development.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="Driver.html" title="Driver"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="development.html" title="Development"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li><a href="development.html" accesskey="U">Development</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Developing lld Readers</a><ul>
+<li><a class="reference internal" href="#introduction">Introduction</a></li>
+<li><a class="reference internal" href="#where-to-start">Where to start</a></li>
+<li><a class="reference internal" href="#readers-are-factories">Readers are factories</a></li>
+<li><a class="reference internal" href="#memory-ownership">Memory Ownership</a></li>
+<li><a class="reference internal" href="#making-atoms">Making Atoms</a></li>
+<li><a class="reference internal" href="#performance">Performance</a></li>
+<li><a class="reference internal" href="#testing">Testing</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="development.html"
+                        title="previous chapter">Development</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="Driver.html"
+                        title="next chapter">Driver</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/Readers.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="developing-lld-readers">
+<span id="readers"></span><h1>Developing lld Readers<a class="headerlink" href="#developing-lld-readers" title="Permalink to this headline">¶</a></h1>
+<p>Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see <a class="reference internal" href="index.html"><em>LLD - The LLVM Linker</em></a>.</p>
+<div class="section" id="introduction">
+<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
+<p>The purpose of a “Reader” is to take an object file in a particular format
+and create an <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::File</span></tt> (which is a graph of Atoms)
+representing the object file.  A Reader inherits from
+<tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::Reader</span></tt> which lives in
+<tt class="file docutils literal"><span class="pre">include/lld/Core/Reader.h</span></tt> and
+<tt class="file docutils literal"><span class="pre">lib/Core/Reader.cpp</span></tt>.</p>
+<p>The Reader infrastructure for an object format <tt class="docutils literal"><span class="pre">Foo</span></tt> requires the
+following pieces in order to fit into lld:</p>
+<p><tt class="file docutils literal"><span class="pre">include/lld/ReaderWriter/ReaderFoo.h</span></tt></p>
+<blockquote>
+<div><dl class="class">
+<dt id="ReaderOptionsFoo">
+<em class="property">class </em><tt class="descname">ReaderOptionsFoo</tt> : <em class="property">public</em> <em>ReaderOptions</em><a class="headerlink" href="#ReaderOptionsFoo" title="Permalink to this definition">¶</a></dt>
+<dd><p>This Options class is the only way to configure how the Reader will
+parse any file into an <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::Reader</span></tt> object.  This class
+should be declared in the <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld</span></tt> namespace.</p>
+</dd></dl>
+
+<dl class="function">
+<dt id="createReaderFoo__ReaderOptionsFooR">
+Reader* <tt class="descname">createReaderFoo</tt><big>(</big>ReaderOptionsFoo& <em>reader</em><big>)</big><a class="headerlink" href="#createReaderFoo__ReaderOptionsFooR" title="Permalink to this definition">¶</a></dt>
+<dd><p>This factory function configures and create the Reader. This function
+should be declared in the <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld</span></tt> namespace.</p>
+</dd></dl>
+
+</div></blockquote>
+<p><tt class="file docutils literal"><span class="pre">lib/ReaderWriter/Foo/ReaderFoo.cpp</span></tt></p>
+<blockquote>
+<div><dl class="class">
+<dt id="ReaderFoo">
+<em class="property">class </em><tt class="descname">ReaderFoo</tt> : <em class="property">public</em> <em>Reader</em><a class="headerlink" href="#ReaderFoo" title="Permalink to this definition">¶</a></dt>
+<dd><p>This is the concrete Reader class which can be called to parse
+object files. It should be declared in an anonymous namespace or
+if there is shared code with the <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::WriterFoo</span></tt> you
+can make a nested namespace (e.g. <tt class="xref cpp cpp-class docutils literal"><span class="pre">lld::foo</span></tt>).</p>
+</dd></dl>
+
+</div></blockquote>
+<p>You may have noticed that <a class="reference internal" href="#ReaderFoo" title="ReaderFoo"><tt class="xref cpp cpp-class docutils literal"><span class="pre">ReaderFoo</span></tt></a> is not declared in the
+<tt class="docutils literal"><span class="pre">.h</span></tt> file. An important design aspect of lld is that all Readers are
+created <em>only</em> through an object-format-specific
+<a class="reference internal" href="#createReaderFoo__ReaderOptionsFooR" title="createReaderFoo"><tt class="xref cpp cpp-func docutils literal"><span class="pre">createReaderFoo()</span></tt></a> factory function. The creation of the Reader is
+parametrized through a <a class="reference internal" href="#ReaderOptionsFoo" title="ReaderOptionsFoo"><tt class="xref cpp cpp-class docutils literal"><span class="pre">ReaderOptionsFoo</span></tt></a> class. This options
+class is the one-and-only way to control how the Reader operates when
+parsing an input file into an Atom graph. For instance, you may want the
+Reader to only accept certain architectures. The options class can be
+instantiated from command line options or be programmatically configured.</p>
+</div>
+<div class="section" id="where-to-start">
+<h2>Where to start<a class="headerlink" href="#where-to-start" title="Permalink to this headline">¶</a></h2>
+<p>The lld project already has a skeleton of source code for Readers for
+<tt class="docutils literal"><span class="pre">ELF</span></tt>, <tt class="docutils literal"><span class="pre">PECOFF</span></tt>, <tt class="docutils literal"><span class="pre">MachO</span></tt>, and lld’s native <tt class="docutils literal"><span class="pre">YAML</span></tt> graph format.
+If your file format is a variant of one of those, you should modify the
+existing Reader to support your variant. This is done by customizing the Options
+class for the Reader and making appropriate changes to the <tt class="docutils literal"><span class="pre">.cpp</span></tt> file to
+interpret those options and act accordingly.</p>
+<p>If your object file format is not a variant of any existing Reader, you’ll need
+to create a new Reader subclass with the organization described above.</p>
+</div>
+<div class="section" id="readers-are-factories">
+<h2>Readers are factories<a class="headerlink" href="#readers-are-factories" title="Permalink to this headline">¶</a></h2>
+<p>The linker will usually only instantiate your Reader once.  That one Reader will
+have its loadFile() method called many times with different input files.
+To support multithreaded linking, the Reader may be parsing multiple input
+files in parallel. Therefore, there should be no parsing state in you Reader
+object.  Any parsing state should be in ivars of your File subclass or in
+some temporary object.</p>
+<p>The key method to implement in a reader is:</p>
+<div class="highlight-python"><pre>virtual error_code loadFile(LinkerInput &input,
+                            std::vector<std::unique_ptr<File>> &result);</pre>
+</div>
+<p>It takes a memory buffer (which contains the contents of the object file
+being read) and returns an instantiated lld::File object which is
+a collection of Atoms. The result is a vector of File pointers (instead of
+simple a File pointer) because some file formats allow multiple object
+“files” to be encoded in one file system file.</p>
+</div>
+<div class="section" id="memory-ownership">
+<h2>Memory Ownership<a class="headerlink" href="#memory-ownership" title="Permalink to this headline">¶</a></h2>
+<p>Atoms are always owned by their File object. During core linking when Atoms
+are coalesced or stripped away, core linking does not delete them.
+Core linking just removes those unused Atoms from its internal list.
+The destructor of a File object is responsible for deleting all Atoms it
+owns, and if ownership of the MemoryBuffer was passed to it, the File
+destructor needs to delete that too.</p>
+</div>
+<div class="section" id="making-atoms">
+<h2>Making Atoms<a class="headerlink" href="#making-atoms" title="Permalink to this headline">¶</a></h2>
+<p>The internal model of lld is purely Atom based.  But most object files do not
+have an explicit concept of Atoms, instead most have “sections”. The way
+to think of this is that a section is just a list of Atoms with common
+attributes.</p>
+<p>The first step in parsing section-based object files is to cleave each
+section into a list of Atoms. The technique may vary by section type. For
+code sections (e.g. .text), there are usually symbols at the start of each
+function. Those symbol addresses are the points at which the section is
+cleaved into discrete Atoms.  Some file formats (like ELF) also include the
+length of each symbol in the symbol table. Otherwise, the length of each
+Atom is calculated to run to the start of the next symbol or the end of the
+section.</p>
+<p>Other sections types can be implicitly cleaved. For instance c-string literals
+or unwind info (e.g. .eh_frame) can be cleaved by having the Reader look at
+the content of the section.  It is important to cleave sections into Atoms
+to remove false dependencies. For instance the .eh_frame section often
+has no symbols, but contains “pointers” to the functions for which it
+has unwind info.  If the .eh_frame section was not cleaved (but left as one
+big Atom), there would always be a reference (from the eh_frame Atom) to
+each function.  So the linker would be unable to coalesce or dead stripped
+away the function atoms.</p>
+<p>The lld Atom model also requires that a reference to an undefined symbol be
+modeled as a Reference to an UndefinedAtom. So the Reader also needs to
+create an UndefinedAtom for each undefined symbol in the object file.</p>
+<p>Once all Atoms have been created, the second step is to create References
+(recall that Atoms are “nodes” and References are “edges”). Most References
+are created by looking at the “relocation records” in the object file. If
+a function contains a call to “malloc”, there is usually a relocation record
+specifying the address in the section and the symbol table index. Your
+Reader will need to convert the address to an Atom and offset and the symbol
+table index into a target Atom. If “malloc” is not defined in the object file,
+the target Atom of the Reference will be an UndefinedAtom.</p>
+</div>
+<div class="section" id="performance">
+<h2>Performance<a class="headerlink" href="#performance" title="Permalink to this headline">¶</a></h2>
+<p>Once you have the above working to parse an object file into Atoms and
+References, you’ll want to look at performance.  Some techniques that can
+help performance are:</p>
+<ul class="simple">
+<li>Use llvm::BumpPtrAllocator or pre-allocate one big vector<Reference> and then
+just have each atom point to its subrange of References in that vector.
+This can be faster that allocating each Reference as separate object.</li>
+<li>Pre-scan the symbol table and determine how many atoms are in each section
+then allocate space for all the Atom objects at once.</li>
+<li>Don’t copy symbol names or section content to each Atom, instead use
+StringRef and ArrayRef in each Atom to point to its name and content in the
+MemoryBuffer.</li>
+</ul>
+</div>
+<div class="section" id="testing">
+<h2>Testing<a class="headerlink" href="#testing" title="Permalink to this headline">¶</a></h2>
+<p>We are still working on infrastructure to test Readers. The issue is that
+you don’t want to check in binary files to the test suite. And the tools
+for creating your object file from assembly source may not be available on
+every OS.</p>
+<p>We are investigating a way to use YAML to describe the section, symbols,
+and content of a file. Then have some code which will write out an object
+file from that YAML description.</p>
+<p>Once that is in place, you can write test cases that contain section/symbols
+YAML and is run through the linker to produce Atom/References based YAML which
+is then run through FileCheck to verify the Atoms and References are as
+expected.</p>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="Driver.html" title="Driver"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="development.html" title="Development"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li>
+          <li><a href="development.html" >Development</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/ReleaseNotes.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/ReleaseNotes.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/ReleaseNotes.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/ReleaseNotes.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,215 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>LLD 6.0.0 Release Notes — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+    <link rel="prev" title="Windows support" href="windows_support.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="windows_support.html" title="Windows support"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">LLD 6.0.0 Release Notes</a><ul>
+<li><a class="reference internal" href="#introduction">Introduction</a></li>
+<li><a class="reference internal" href="#non-comprehensive-list-of-changes-in-this-release">Non-comprehensive list of changes in this release</a><ul>
+<li><a class="reference internal" href="#elf-improvements">ELF Improvements</a></li>
+<li><a class="reference internal" href="#coff-improvements">COFF Improvements</a></li>
+<li><a class="reference internal" href="#webassembly-improvements">WebAssembly Improvements</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="windows_support.html"
+                        title="previous chapter">Windows support</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/ReleaseNotes.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="lld-6-0-0-release-notes">
+<h1>LLD 6.0.0 Release Notes<a class="headerlink" href="#lld-6-0-0-release-notes" title="Permalink to this headline">¶</a></h1>
+<div class="contents local topic" id="contents">
+<ul class="simple">
+<li><a class="reference internal" href="#introduction" id="id1">Introduction</a></li>
+<li><a class="reference internal" href="#non-comprehensive-list-of-changes-in-this-release" id="id2">Non-comprehensive list of changes in this release</a><ul>
+<li><a class="reference internal" href="#elf-improvements" id="id3">ELF Improvements</a></li>
+<li><a class="reference internal" href="#coff-improvements" id="id4">COFF Improvements</a></li>
+<li><a class="reference internal" href="#webassembly-improvements" id="id5">WebAssembly Improvements</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="introduction">
+<h2><a class="toc-backref" href="#id1">Introduction</a><a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
+<p>This document contains the release notes for the lld linker, release 6.0.0.
+Here we describe the status of lld, including major improvements
+from the previous release. All lld releases may be downloaded
+from the <a class="reference external" href="http://llvm.org/releases/">LLVM releases web site</a>.</p>
+</div>
+<div class="section" id="non-comprehensive-list-of-changes-in-this-release">
+<h2><a class="toc-backref" href="#id2">Non-comprehensive list of changes in this release</a><a class="headerlink" href="#non-comprehensive-list-of-changes-in-this-release" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="elf-improvements">
+<h3><a class="toc-backref" href="#id3">ELF Improvements</a><a class="headerlink" href="#elf-improvements" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>A lot of bugs and compatibility issues have been identified and fixed as a
+result of people using lld 5.0 as a standard system linker. In particular,
+linker script and version script support has significantly improved that
+it should be able to handle almost all scripts.</li>
+<li>A mitigation for Spectre v2 has been implemented. If you pass <tt class="docutils literal"><span class="pre">-z</span>
+<span class="pre">retpolineplt</span></tt>, lld uses RET instruction instead of JMP instruction in PLT.
+The option is available for x86 and x86-64.</li>
+<li>Identical Code Folding (ICF) now de-duplicates .eh_frame entries, so lld now
+generates slightly smaller outputs than before when you pass <tt class="docutils literal"><span class="pre">--icf=all</span></tt>.</li>
+<li>Analysis for <tt class="docutils literal"><span class="pre">--as-needed</span></tt> is now done after garbage collection. If garbage
+collector eliminates all sections that use some library, that library is
+eliminated from DT_NEEDED tags. Previously, the analysis ran before garbage
+collection.</li>
+<li>Size of code segment is now always rounded up to page size to make sure that
+unused bytes at end of code segment is filled with trap instructions (such
+as INT3) instead of zeros.</li>
+<li>lld is now able to generate Android-style compact dynamic relocation table.
+You can turn on the feature by passing <tt class="docutils literal"><span class="pre">--pack-dyn-relocs=android</span></tt>.</li>
+<li>Debug information is used in more cases when reporting errors.</li>
+<li><tt class="docutils literal"><span class="pre">--gdb-index</span></tt> gets faster than before.</li>
+<li>String merging is now multi-threaded, which makes <tt class="docutils literal"><span class="pre">-O2</span></tt> faster.</li>
+<li><tt class="docutils literal"><span class="pre">--hash-style=both</span></tt> is now default instead of <tt class="docutils literal"><span class="pre">--hash-style=sysv</span></tt> to
+match the behavior of recent versions of GNU linkers.</li>
+<li>ARM PLT entries automatically use short or long variants.</li>
+<li>lld can now identify and patch a code sequence that triggers AArch64 errata 843419.
+Add <tt class="docutils literal"><span class="pre">--fix-cortex-a53-843419</span></tt> to enable the feature.</li>
+<li>lld can now generate thunks for out of range branches.</li>
+<li>MIPS port now generates all output dynamic relocations using Elf_Rel format only.</li>
+<li>Added handling of the R_MIPS_26 relocation in case of N32/N64 ABIs and
+generating proper PLT entries.</li>
+<li>The following options have been added: <tt class="docutils literal"><span class="pre">--icf=none</span></tt> <tt class="docutils literal"><span class="pre">-z</span> <span class="pre">muldefs</span></tt>
+<tt class="docutils literal"><span class="pre">--plugin-opt</span></tt> <tt class="docutils literal"><span class="pre">--no-eh-frame-hdr</span></tt> <tt class="docutils literal"><span class="pre">--no-gdb-index</span></tt>
+<tt class="docutils literal"><span class="pre">--orphan-handling={place,discard,warn,error}</span></tt>
+<tt class="docutils literal"><span class="pre">--pack-dyn-relocs={none,android}</span></tt> <tt class="docutils literal"><span class="pre">--no-omagic</span></tt>
+<tt class="docutils literal"><span class="pre">--no-print-gc-sections</span></tt> <tt class="docutils literal"><span class="pre">--ignore-function-address-equality</span></tt> <tt class="docutils literal"><span class="pre">-z</span>
+<span class="pre">retpolineplt</span></tt> <tt class="docutils literal"><span class="pre">--print-icf-sections</span></tt> <tt class="docutils literal"><span class="pre">--no-pie</span></tt></li>
+</ul>
+</div>
+<div class="section" id="coff-improvements">
+<h3><a class="toc-backref" href="#id4">COFF Improvements</a><a class="headerlink" href="#coff-improvements" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>A GNU ld style frontend for the COFF linker has been added for MinGW.
+In MinGW environments, the linker is invoked with GNU ld style parameters;
+which lld previously only supported when used as an ELF linker. When
+a PE/COFF target is chosen, those parameters are rewritten into the
+lld-link style parameters and the COFF linker is invoked instead.</li>
+<li>Initial support for the ARM64 architecture has been added.</li>
+<li>New <tt class="docutils literal"><span class="pre">--version</span></tt> flag.</li>
+<li>Significantly improved support for writing PDB Files.</li>
+<li>New <tt class="docutils literal"><span class="pre">--rsp-quoting</span></tt> flag, like <tt class="docutils literal"><span class="pre">clang-cl</span></tt>.</li>
+<li><tt class="docutils literal"><span class="pre">/manifestuac:no</span></tt> no longer incorrectly disables <tt class="docutils literal"><span class="pre">/manifestdependency:</span></tt>.</li>
+<li>Only write <tt class="docutils literal"><span class="pre">.manifest</span></tt> files if <tt class="docutils literal"><span class="pre">/manifest</span></tt> is passed.</li>
+</ul>
+</div>
+<div class="section" id="webassembly-improvements">
+<h3><a class="toc-backref" href="#id5">WebAssembly Improvements</a><a class="headerlink" href="#webassembly-improvements" title="Permalink to this headline">¶</a></h3>
+<ul class="simple">
+<li>Initial version of WebAssembly support has landed. You can invoke the
+WebAssembly linker by <tt class="docutils literal"><span class="pre">wasm-ld</span></tt>.</li>
+</ul>
+</div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="windows_support.html" title="Windows support"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/WebAssembly.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/WebAssembly.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/WebAssembly.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/WebAssembly.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,163 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>WebAssembly lld port — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+    <link rel="next" title="Windows support" href="windows_support.html" />
+    <link rel="prev" title="Sphinx Introduction for LLVM Developers" href="sphinx_intro.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="windows_support.html" title="Windows support"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="sphinx_intro.html" title="Sphinx Introduction for LLVM Developers"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">WebAssembly lld port</a><ul>
+<li><a class="reference internal" href="#object-file-format">Object file format</a></li>
+<li><a class="reference internal" href="#missing-features">Missing features</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="sphinx_intro.html"
+                        title="previous chapter">Sphinx Introduction for LLVM Developers</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="windows_support.html"
+                        title="next chapter">Windows support</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/WebAssembly.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="webassembly-lld-port">
+<h1>WebAssembly lld port<a class="headerlink" href="#webassembly-lld-port" title="Permalink to this headline">¶</a></h1>
+<p>Note: The WebAssembly port is still a work in progress and is be lacking
+certain features.</p>
+<p>The WebAssembly version of lld takes WebAssembly binaries as inputs and produces
+a WebAssembly binary as its output.  For the most part this port tried to mimic
+the behaviour of traditional ELF linkers and specifically the ELF lld port.
+Where possible that command line flags and the semantics should be the same.</p>
+<div class="section" id="object-file-format">
+<h2>Object file format<a class="headerlink" href="#object-file-format" title="Permalink to this headline">¶</a></h2>
+<p>The format the input object files that lld expects is specified as part of the
+the WebAssembly tool conventions
+<a class="reference external" href="https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md">https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md</a>.</p>
+<p>This is object format that the llvm will produce when run with the
+<tt class="docutils literal"><span class="pre">wasm32-unknown-unknown-wasm</span></tt> target.  To build llvm with WebAssembly support
+currently requires enabling the experimental backed using
+<tt class="docutils literal"><span class="pre">-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly</span></tt>.</p>
+</div>
+<div class="section" id="missing-features">
+<h2>Missing features<a class="headerlink" href="#missing-features" title="Permalink to this headline">¶</a></h2>
+<p>There are several key features that are not yet implement in the WebAssembly
+ports:</p>
+<ul class="simple">
+<li>COMDAT support.  This means that support for C++ is still very limited.</li>
+<li>Function stripping.  Currently there is no support for <tt class="docutils literal"><span class="pre">--gc-sections</span></tt> so
+functions and data from a given object will linked as a unit.</li>
+<li>Section start/end symbols.  The synthetic symbols that mark the start and
+of data regions are not yet created in the output file.</li>
+</ul>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="windows_support.html" title="Windows support"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="sphinx_intro.html" title="Sphinx Introduction for LLVM Developers"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/_images/hello.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_images/hello.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_images/hello.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/AtomLLD.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/AtomLLD.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/AtomLLD.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/AtomLLD.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,62 @@
+ATOM-based lld
+==============
+
+Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see :doc:`index`.
+
+ATOM-based lld is a new set of modular code for creating linker tools.
+Currently it supports Mach-O.
+
+* End-User Features:
+
+  * Compatible with existing linker options
+  * Reads standard Object Files
+  * Writes standard Executable Files
+  * Remove clang's reliance on "the system linker"
+  * Uses the LLVM `"UIUC" BSD-Style license`__.
+
+* Applications:
+
+  * Modular design
+  * Support cross linking
+  * Easy to add new CPU support
+  * Can be built as static tool or library
+
+* Design and Implementation:
+
+  * Extensive unit tests
+  * Internal linker model can be dumped/read to textual format
+  * Additional linking features can be plugged in as "passes"
+  * OS specific and CPU specific code factored out
+
+Why a new linker?
+-----------------
+
+The fact that clang relies on whatever linker tool you happen to have installed
+means that clang has been very conservative adopting features which require a
+recent linker.
+
+In the same way that the MC layer of LLVM has removed clang's reliance on the
+system assembler tool, the lld project will remove clang's reliance on the
+system linker tool.
+
+
+Contents
+--------
+
+.. toctree::
+   :maxdepth: 2
+
+   design
+   getting_started
+   development
+   open_projects
+   sphinx_intro
+
+Indices and tables
+------------------
+
+* :ref:`genindex`
+* :ref:`search`
+
+__ http://llvm.org/docs/DeveloperPolicy.html#license

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/Driver.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/Driver.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/Driver.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/Driver.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,82 @@
+======
+Driver
+======
+
+Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see :doc:`index`.
+
+.. contents::
+   :local:
+
+Introduction
+============
+
+This document describes the lld driver. The purpose of this document is to
+describe both the motivation and design goals for the driver, as well as details
+of the internal implementation.
+
+Overview
+========
+
+The lld driver is designed to support a number of different command line
+interfaces. The main interfaces we plan to support are binutils' ld, Apple's
+ld, and Microsoft's link.exe.
+
+Flavors
+-------
+
+Each of these different interfaces is referred to as a flavor. There is also an
+extra flavor "core" which is used to exercise the core functionality of the
+linker it the test suite.
+
+* gnu
+* darwin
+* link
+* core
+
+Selecting a Flavor
+^^^^^^^^^^^^^^^^^^
+
+There are two different ways to tell lld which flavor to be. They are checked in
+order, so the second overrides the first. The first is to symlink :program:`lld`
+as :program:`lld-{flavor}` or just :program:`{flavor}`. You can also specify
+it as the first command line argument using ``-flavor``::
+
+  $ lld -flavor gnu
+
+There is a shortcut for ``-flavor core`` as ``-core``.
+
+
+Adding an Option to an existing Flavor
+======================================
+
+#. Add the option to the desired :file:`lib/Driver/{flavor}Options.td`.
+
+#. Add to :cpp:class:`lld::FlavorLinkingContext` a getter and setter method
+   for the option.
+
+#. Modify :cpp:func:`lld::FlavorDriver::parse` in :file:
+   `lib/Driver/{Flavor}Driver.cpp` to call the targetInfo setter
+   for corresponding to the option.
+
+#. Modify {Flavor}Reader and {Flavor}Writer to use the new targtInfo option.
+
+
+Adding a Flavor
+===============
+
+#. Add an entry for the flavor in :file:`include/lld/Common/Driver.h` to
+   :cpp:class:`lld::UniversalDriver::Flavor`.
+
+#. Add an entry in :file:`lib/Driver/UniversalDriver.cpp` to
+   :cpp:func:`lld::Driver::strToFlavor` and
+   :cpp:func:`lld::UniversalDriver::link`.
+   This allows the flavor to be selected via symlink and `-flavor`.
+
+#. Add a tablegen file called :file:`lib/Driver/{flavor}Options.td` that
+   describes the options. If the options are a superset of another driver, that
+   driver's td file can simply be included. The :file:`{flavor}Options.td` file
+   must also be added to :file:`lib/Driver/CMakeLists.txt`.
+
+#. Add a ``{flavor}Driver`` as a subclass of :cpp:class:`lld::Driver`
+   in :file:`lib/Driver/{flavor}Driver.cpp`.

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/NewLLD.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/NewLLD.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/NewLLD.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/NewLLD.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,309 @@
+The ELF, COFF and Wasm Linkers
+==============================
+
+The ELF Linker as a Library
+---------------------------
+
+You can embed LLD to your program by linking against it and calling the linker's
+entry point function lld::elf::link.
+
+The current policy is that it is your reponsibility to give trustworthy object
+files. The function is guaranteed to return as long as you do not pass corrupted
+or malicious object files. A corrupted file could cause a fatal error or SEGV.
+That being said, you don't need to worry too much about it if you create object
+files in the usual way and give them to the linker. It is naturally expected to
+work, or otherwise it's a linker's bug.
+
+Design
+======
+
+We will describe the design of the linkers in the rest of the document.
+
+Key Concepts
+------------
+
+Linkers are fairly large pieces of software.
+There are many design choices you have to make to create a complete linker.
+
+This is a list of design choices we've made for ELF and COFF LLD.
+We believe that these high-level design choices achieved a right balance
+between speed, simplicity and extensibility.
+
+* Implement as native linkers
+
+  We implemented the linkers as native linkers for each file format.
+
+  The linkers share the same design but share very little code.
+  Sharing code makes sense if the benefit is worth its cost.
+  In our case, the object formats are different enough that we thought the layer
+  to abstract the differences wouldn't be worth its complexity and run-time
+  cost.  Elimination of the abstract layer has greatly simplified the
+  implementation.
+
+* Speed by design
+
+  One of the most important things in archiving high performance is to
+  do less rather than do it efficiently.
+  Therefore, the high-level design matters more than local optimizations.
+  Since we are trying to create a high-performance linker,
+  it is very important to keep the design as efficient as possible.
+
+  Broadly speaking, we do not do anything until we have to do it.
+  For example, we do not read section contents or relocations
+  until we need them to continue linking.
+  When we need to do some costly operation (such as looking up
+  a hash table for each symbol), we do it only once.
+  We obtain a handler (which is typically just a pointer to actual data)
+  on the first operation and use it throughout the process.
+
+* Efficient archive file handling
+
+  LLD's handling of archive files (the files with ".a" file extension) is
+  different from the traditional Unix linkers and similar to Windows linkers.
+  We'll describe how the traditional Unix linker handles archive files, what the
+  problem is, and how LLD approached the problem.
+
+  The traditional Unix linker maintains a set of undefined symbols during
+  linking.  The linker visits each file in the order as they appeared in the
+  command line until the set becomes empty. What the linker would do depends on
+  file type.
+
+  - If the linker visits an object file, the linker links object files to the
+    result, and undefined symbols in the object file are added to the set.
+
+  - If the linker visits an archive file, it checks for the archive file's
+    symbol table and extracts all object files that have definitions for any
+    symbols in the set.
+
+  This algorithm sometimes leads to a counter-intuitive behavior.  If you give
+  archive files before object files, nothing will happen because when the linker
+  visits archives, there is no undefined symbols in the set.  As a result, no
+  files are extracted from the first archive file, and the link is done at that
+  point because the set is empty after it visits one file.
+
+  You can fix the problem by reordering the files,
+  but that cannot fix the issue of mutually-dependent archive files.
+
+  Linking mutually-dependent archive files is tricky.  You may specify the same
+  archive file multiple times to let the linker visit it more than once.  Or,
+  you may use the special command line options, `--start-group` and
+  `--end-group`, to let the linker loop over the files between the options until
+  no new symbols are added to the set.
+
+  Visiting the same archive files multiple makes the linker slower.
+
+  Here is how LLD approaches the problem. Instead of memorizing only undefined
+  symbols, we program LLD so that it memorizes all symbols.  When it sees an
+  undefined symbol that can be resolved by extracting an object file from an
+  archive file it previously visited, it immediately extracts the file and link
+  it.  It is doable because LLD does not forget symbols it have seen in archive
+  files.
+
+  We believe that the LLD's way is efficient and easy to justify.
+
+  The semantics of LLD's archive handling is different from the traditional
+  Unix's.  You can observe it if you carefully craft archive files to exploit
+  it.  However, in reality, we don't know any program that cannot link with our
+  algorithm so far, so it's not going to cause trouble.
+
+Numbers You Want to Know
+------------------------
+
+To give you intuition about what kinds of data the linker is mainly working on,
+I'll give you the list of objects and their numbers LLD has to read and process
+in order to link a very large executable. In order to link Chrome with debug
+info, which is roughly 2 GB in output size, LLD reads
+
+- 17,000 files,
+- 1,800,000 sections,
+- 6,300,000 symbols, and
+- 13,000,000 relocations.
+
+LLD produces the 2 GB executable in 15 seconds.
+
+These numbers vary depending on your program, but in general,
+you have a lot of relocations and symbols for each file.
+If your program is written in C++, symbol names are likely to be
+pretty long because of name mangling.
+
+It is important to not waste time on relocations and symbols.
+
+In the above case, the total amount of symbol strings is 450 MB,
+and inserting all of them to a hash table takes 1.5 seconds.
+Therefore, if you causally add a hash table lookup for each symbol,
+it would slow down the linker by 10%. So, don't do that.
+
+On the other hand, you don't have to pursue efficiency
+when handling files.
+
+Important Data Structures
+-------------------------
+
+We will describe the key data structures in LLD in this section.  The linker can
+be understood as the interactions between them.  Once you understand their
+functions, the code of the linker should look obvious to you.
+
+* Symbol
+
+  This class represents a symbol.
+  They are created for symbols in object files or archive files.
+  The linker creates linker-defined symbols as well.
+
+  There are basically three types of Symbols: Defined, Undefined, or Lazy.
+
+  - Defined symbols are for all symbols that are considered as "resolved",
+    including real defined symbols, COMDAT symbols, common symbols,
+    absolute symbols, linker-created symbols, etc.
+  - Undefined symbols represent undefined symbols, which need to be replaced by
+    Defined symbols by the resolver until the link is complete.
+  - Lazy symbols represent symbols we found in archive file headers
+    which can turn into Defined if we read archieve members.
+
+  There's only one Symbol instance for each unique symbol name. This uniqueness
+  is guaranteed by the symbol table. As the resolver reads symbols from input
+  files, it replaces an existing Symbol with the "best" Symbol for its symbol
+  name using the placement new.
+
+  The above mechanism allows you to use pointers to Symbols as a very cheap way
+  to access name resolution results. Assume for example that you have a pointer
+  to an undefined symbol before name resolution. If the symbol is resolved to a
+  defined symbol by the resolver, the pointer will "automatically" point to the
+  defined symbol, because the undefined symbol the pointer pointed to will have
+  been replaced by the defined symbol in-place.
+
+* SymbolTable
+
+  SymbolTable is basically a hash table from strings to Symbols
+  with logic to resolve symbol conflicts. It resolves conflicts by symbol type.
+
+  - If we add Defined and Undefined symbols, the symbol table will keep the
+    former.
+  - If we add Defined and Lazy symbols, it will keep the former.
+  - If we add Lazy and Undefined, it will keep the former,
+    but it will also trigger the Lazy symbol to load the archive member
+    to actually resolve the symbol.
+
+* Chunk (COFF specific)
+
+  Chunk represents a chunk of data that will occupy space in an output.
+  Each regular section becomes a chunk.
+  Chunks created for common or BSS symbols are not backed by sections.
+  The linker may create chunks to append additional data to an output as well.
+
+  Chunks know about their size, how to copy their data to mmap'ed outputs,
+  and how to apply relocations to them.
+  Specifically, section-based chunks know how to read relocation tables
+  and how to apply them.
+
+* InputSection (ELF specific)
+
+  Since we have less synthesized data for ELF, we don't abstract slices of
+  input files as Chunks for ELF. Instead, we directly use the input section
+  as an internal data type.
+
+  InputSection knows about their size and how to copy themselves to
+  mmap'ed outputs, just like COFF Chunks.
+
+* OutputSection
+
+  OutputSection is a container of InputSections (ELF) or Chunks (COFF).
+  An InputSection or Chunk belongs to at most one OutputSection.
+
+There are mainly three actors in this linker.
+
+* InputFile
+
+  InputFile is a superclass of file readers.
+  We have a different subclass for each input file type,
+  such as regular object file, archive file, etc.
+  They are responsible for creating and owning Symbols and InputSections/Chunks.
+
+* Writer
+
+  The writer is responsible for writing file headers and InputSections/Chunks to
+  a file.  It creates OutputSections, put all InputSections/Chunks into them,
+  assign unique, non-overlapping addresses and file offsets to them, and then
+  write them down to a file.
+
+* Driver
+
+  The linking process is driven by the driver. The driver:
+
+  - processes command line options,
+  - creates a symbol table,
+  - creates an InputFile for each input file and puts all symbols within into
+    the symbol table,
+  - checks if there's no remaining undefined symbols,
+  - creates a writer,
+  - and passes the symbol table to the writer to write the result to a file.
+
+Link-Time Optimization
+----------------------
+
+LTO is implemented by handling LLVM bitcode files as object files.
+The linker resolves symbols in bitcode files normally. If all symbols
+are successfully resolved, it then runs LLVM passes
+with all bitcode files to convert them to one big regular ELF/COFF file.
+Finally, the linker replaces bitcode symbols with ELF/COFF symbols,
+so that they are linked as if they were in the native format from the beginning.
+
+The details are described in this document.
+http://llvm.org/docs/LinkTimeOptimization.html
+
+Glossary
+--------
+
+* RVA (COFF)
+
+  Short for Relative Virtual Address.
+
+  Windows executables or DLLs are not position-independent; they are
+  linked against a fixed address called an image base. RVAs are
+  offsets from an image base.
+
+  Default image bases are 0x140000000 for executables and 0x18000000
+  for DLLs. For example, when we are creating an executable, we assume
+  that the executable will be loaded at address 0x140000000 by the
+  loader, so we apply relocations accordingly. Result texts and data
+  will contain raw absolute addresses.
+
+* VA
+
+  Short for Virtual Address. For COFF, it is equivalent to RVA + image base.
+
+* Base relocations (COFF)
+
+  Relocation information for the loader. If the loader decides to map
+  an executable or a DLL to a different address than their image
+  bases, it fixes up binaries using information contained in the base
+  relocation table. A base relocation table consists of a list of
+  locations containing addresses. The loader adds a difference between
+  RVA and actual load address to all locations listed there.
+
+  Note that this run-time relocation mechanism is much simpler than ELF.
+  There's no PLT or GOT. Images are relocated as a whole just
+  by shifting entire images in memory by some offsets. Although doing
+  this breaks text sharing, I think this mechanism is not actually bad
+  on today's computers.
+
+* ICF
+
+  Short for Identical COMDAT Folding (COFF) or Identical Code Folding (ELF).
+
+  ICF is an optimization to reduce output size by merging read-only sections
+  by not only their names but by their contents. If two read-only sections
+  happen to have the same metadata, actual contents and relocations,
+  they are merged by ICF. It is known as an effective technique,
+  and it usually reduces C++ program's size by a few percent or more.
+
+  Note that this is not an entirely sound optimization. C/C++ require
+  different functions have different addresses. If a program depends on
+  that property, it would fail at runtime.
+
+  On Windows, that's not really an issue because MSVC link.exe enabled
+  the optimization by default. As long as your program works
+  with the linker's default settings, your program should be safe with ICF.
+
+  On Unix, your program is generally not guaranteed to be safe with ICF,
+  although large programs happen to work correctly.
+  LLD works fine with ICF for example.

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/Readers.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/Readers.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/Readers.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/Readers.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,174 @@
+.. _Readers:
+
+Developing lld Readers
+======================
+
+Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see :doc:`index`.
+
+Introduction
+------------
+
+The purpose of a "Reader" is to take an object file in a particular format
+and create an `lld::File`:cpp:class: (which is a graph of Atoms)
+representing the object file.  A Reader inherits from
+`lld::Reader`:cpp:class: which lives in
+:file:`include/lld/Core/Reader.h` and
+:file:`lib/Core/Reader.cpp`.
+
+The Reader infrastructure for an object format ``Foo`` requires the
+following pieces in order to fit into lld:
+
+:file:`include/lld/ReaderWriter/ReaderFoo.h`
+
+   .. cpp:class:: ReaderOptionsFoo : public ReaderOptions
+
+      This Options class is the only way to configure how the Reader will
+      parse any file into an `lld::Reader`:cpp:class: object.  This class
+      should be declared in the `lld`:cpp:class: namespace.
+
+   .. cpp:function:: Reader *createReaderFoo(ReaderOptionsFoo &reader)
+
+      This factory function configures and create the Reader. This function
+      should be declared in the `lld`:cpp:class: namespace.
+
+:file:`lib/ReaderWriter/Foo/ReaderFoo.cpp`
+
+   .. cpp:class:: ReaderFoo : public Reader
+
+      This is the concrete Reader class which can be called to parse
+      object files. It should be declared in an anonymous namespace or
+      if there is shared code with the `lld::WriterFoo`:cpp:class: you
+      can make a nested namespace (e.g. `lld::foo`:cpp:class:).
+
+You may have noticed that :cpp:class:`ReaderFoo` is not declared in the
+``.h`` file. An important design aspect of lld is that all Readers are
+created *only* through an object-format-specific
+:cpp:func:`createReaderFoo` factory function. The creation of the Reader is
+parametrized through a :cpp:class:`ReaderOptionsFoo` class. This options
+class is the one-and-only way to control how the Reader operates when
+parsing an input file into an Atom graph. For instance, you may want the
+Reader to only accept certain architectures. The options class can be
+instantiated from command line options or be programmatically configured.
+
+Where to start
+--------------
+
+The lld project already has a skeleton of source code for Readers for
+``ELF``, ``PECOFF``, ``MachO``, and lld's native ``YAML`` graph format.
+If your file format is a variant of one of those, you should modify the
+existing Reader to support your variant. This is done by customizing the Options
+class for the Reader and making appropriate changes to the ``.cpp`` file to
+interpret those options and act accordingly.
+
+If your object file format is not a variant of any existing Reader, you'll need
+to create a new Reader subclass with the organization described above.
+
+Readers are factories
+---------------------
+
+The linker will usually only instantiate your Reader once.  That one Reader will
+have its loadFile() method called many times with different input files.
+To support multithreaded linking, the Reader may be parsing multiple input
+files in parallel. Therefore, there should be no parsing state in you Reader
+object.  Any parsing state should be in ivars of your File subclass or in
+some temporary object.
+
+The key method to implement in a reader is::
+
+  virtual error_code loadFile(LinkerInput &input,
+                              std::vector<std::unique_ptr<File>> &result);
+
+It takes a memory buffer (which contains the contents of the object file
+being read) and returns an instantiated lld::File object which is
+a collection of Atoms. The result is a vector of File pointers (instead of
+simple a File pointer) because some file formats allow multiple object
+"files" to be encoded in one file system file.
+
+
+Memory Ownership
+----------------
+
+Atoms are always owned by their File object. During core linking when Atoms
+are coalesced or stripped away, core linking does not delete them.
+Core linking just removes those unused Atoms from its internal list.
+The destructor of a File object is responsible for deleting all Atoms it
+owns, and if ownership of the MemoryBuffer was passed to it, the File
+destructor needs to delete that too.
+
+Making Atoms
+------------
+
+The internal model of lld is purely Atom based.  But most object files do not
+have an explicit concept of Atoms, instead most have "sections". The way
+to think of this is that a section is just a list of Atoms with common
+attributes.
+
+The first step in parsing section-based object files is to cleave each
+section into a list of Atoms. The technique may vary by section type. For
+code sections (e.g. .text), there are usually symbols at the start of each
+function. Those symbol addresses are the points at which the section is
+cleaved into discrete Atoms.  Some file formats (like ELF) also include the
+length of each symbol in the symbol table. Otherwise, the length of each
+Atom is calculated to run to the start of the next symbol or the end of the
+section.
+
+Other sections types can be implicitly cleaved. For instance c-string literals
+or unwind info (e.g. .eh_frame) can be cleaved by having the Reader look at
+the content of the section.  It is important to cleave sections into Atoms
+to remove false dependencies. For instance the .eh_frame section often
+has no symbols, but contains "pointers" to the functions for which it
+has unwind info.  If the .eh_frame section was not cleaved (but left as one
+big Atom), there would always be a reference (from the eh_frame Atom) to
+each function.  So the linker would be unable to coalesce or dead stripped
+away the function atoms.
+
+The lld Atom model also requires that a reference to an undefined symbol be
+modeled as a Reference to an UndefinedAtom. So the Reader also needs to
+create an UndefinedAtom for each undefined symbol in the object file.
+
+Once all Atoms have been created, the second step is to create References
+(recall that Atoms are "nodes" and References are "edges"). Most References
+are created by looking at the "relocation records" in the object file. If
+a function contains a call to "malloc", there is usually a relocation record
+specifying the address in the section and the symbol table index. Your
+Reader will need to convert the address to an Atom and offset and the symbol
+table index into a target Atom. If "malloc" is not defined in the object file,
+the target Atom of the Reference will be an UndefinedAtom.
+
+
+Performance
+-----------
+Once you have the above working to parse an object file into Atoms and
+References, you'll want to look at performance.  Some techniques that can
+help performance are:
+
+* Use llvm::BumpPtrAllocator or pre-allocate one big vector<Reference> and then
+  just have each atom point to its subrange of References in that vector.
+  This can be faster that allocating each Reference as separate object.
+* Pre-scan the symbol table and determine how many atoms are in each section
+  then allocate space for all the Atom objects at once.
+* Don't copy symbol names or section content to each Atom, instead use
+  StringRef and ArrayRef in each Atom to point to its name and content in the
+  MemoryBuffer.
+
+
+Testing
+-------
+
+We are still working on infrastructure to test Readers. The issue is that
+you don't want to check in binary files to the test suite. And the tools
+for creating your object file from assembly source may not be available on
+every OS.
+
+We are investigating a way to use YAML to describe the section, symbols,
+and content of a file. Then have some code which will write out an object
+file from that YAML description.
+
+Once that is in place, you can write test cases that contain section/symbols
+YAML and is run through the linker to produce Atom/References based YAML which
+is then run through FileCheck to verify the Atoms and References are as
+expected.
+
+
+

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/ReleaseNotes.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/ReleaseNotes.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/ReleaseNotes.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/ReleaseNotes.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,99 @@
+=======================
+LLD 6.0.0 Release Notes
+=======================
+
+.. contents::
+    :local:
+
+Introduction
+============
+
+This document contains the release notes for the lld linker, release 6.0.0.
+Here we describe the status of lld, including major improvements
+from the previous release. All lld releases may be downloaded
+from the `LLVM releases web site <http://llvm.org/releases/>`_.
+
+Non-comprehensive list of changes in this release
+=================================================
+
+ELF Improvements
+----------------
+
+* A lot of bugs and compatibility issues have been identified and fixed as a
+  result of people using lld 5.0 as a standard system linker. In particular,
+  linker script and version script support has significantly improved that
+  it should be able to handle almost all scripts.
+
+* A mitigation for Spectre v2 has been implemented. If you pass ``-z
+  retpolineplt``, lld uses RET instruction instead of JMP instruction in PLT.
+  The option is available for x86 and x86-64.
+
+* Identical Code Folding (ICF) now de-duplicates .eh_frame entries, so lld now
+  generates slightly smaller outputs than before when you pass ``--icf=all``.
+
+* Analysis for ``--as-needed`` is now done after garbage collection. If garbage
+  collector eliminates all sections that use some library, that library is
+  eliminated from DT_NEEDED tags. Previously, the analysis ran before garbage
+  collection.
+
+* Size of code segment is now always rounded up to page size to make sure that
+  unused bytes at end of code segment is filled with trap instructions (such
+  as INT3) instead of zeros.
+
+* lld is now able to generate Android-style compact dynamic relocation table.
+  You can turn on the feature by passing ``--pack-dyn-relocs=android``.
+
+* Debug information is used in more cases when reporting errors.
+
+* ``--gdb-index`` gets faster than before.
+
+* String merging is now multi-threaded, which makes ``-O2`` faster.
+
+* ``--hash-style=both`` is now default instead of ``--hash-style=sysv`` to
+  match the behavior of recent versions of GNU linkers.
+
+* ARM PLT entries automatically use short or long variants.
+
+* lld can now identify and patch a code sequence that triggers AArch64 errata 843419.
+  Add ``--fix-cortex-a53-843419`` to enable the feature.
+
+* lld can now generate thunks for out of range branches.
+
+* MIPS port now generates all output dynamic relocations using Elf_Rel format only.
+
+* Added handling of the R_MIPS_26 relocation in case of N32/N64 ABIs and
+  generating proper PLT entries.
+
+* The following options have been added: ``--icf=none`` ``-z muldefs``
+  ``--plugin-opt`` ``--no-eh-frame-hdr`` ``--no-gdb-index``
+  ``--orphan-handling={place,discard,warn,error}``
+  ``--pack-dyn-relocs={none,android}`` ``--no-omagic``
+  ``--no-print-gc-sections`` ``--ignore-function-address-equality`` ``-z
+  retpolineplt`` ``--print-icf-sections`` ``--no-pie``
+
+COFF Improvements
+-----------------
+
+* A GNU ld style frontend for the COFF linker has been added for MinGW.
+  In MinGW environments, the linker is invoked with GNU ld style parameters;
+  which lld previously only supported when used as an ELF linker. When
+  a PE/COFF target is chosen, those parameters are rewritten into the
+  lld-link style parameters and the COFF linker is invoked instead.
+
+* Initial support for the ARM64 architecture has been added.
+
+* New ``--version`` flag.
+
+* Significantly improved support for writing PDB Files.
+
+* New ``--rsp-quoting`` flag, like ``clang-cl``.
+
+* ``/manifestuac:no`` no longer incorrectly disables ``/manifestdependency:``.
+
+* Only write ``.manifest`` files if ``/manifest`` is passed.
+
+WebAssembly Improvements
+------------------------
+
+* Initial version of WebAssembly support has landed. You can invoke the
+  WebAssembly linker by ``wasm-ld``.

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/WebAssembly.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/WebAssembly.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/WebAssembly.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/WebAssembly.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,36 @@
+WebAssembly lld port
+====================
+
+Note: The WebAssembly port is still a work in progress and is be lacking
+certain features.
+
+The WebAssembly version of lld takes WebAssembly binaries as inputs and produces
+a WebAssembly binary as its output.  For the most part this port tried to mimic
+the behaviour of traditional ELF linkers and specifically the ELF lld port.
+Where possible that command line flags and the semantics should be the same.
+
+
+Object file format
+------------------
+
+The format the input object files that lld expects is specified as part of the
+the WebAssembly tool conventions
+https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md.
+
+This is object format that the llvm will produce when run with the
+``wasm32-unknown-unknown-wasm`` target.  To build llvm with WebAssembly support
+currently requires enabling the experimental backed using
+``-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly``.
+
+
+Missing features
+----------------
+
+There are several key features that are not yet implement in the WebAssembly
+ports:
+
+- COMDAT support.  This means that support for C++ is still very limited.
+- Function stripping.  Currently there is no support for ``--gc-sections`` so
+  functions and data from a given object will linked as a unit.
+- Section start/end symbols.  The synthetic symbols that mark the start and
+  of data regions are not yet created in the output file.

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/design.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/design.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/design.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/design.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,421 @@
+.. _design:
+
+Linker Design
+=============
+
+Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see :doc:`index`.
+
+Introduction
+------------
+
+lld is a new generation of linker.  It is not "section" based like traditional
+linkers which mostly just interlace sections from multiple object files into the
+output file.  Instead, lld is based on "Atoms".  Traditional section based
+linking work well for simple linking, but their model makes advanced linking
+features difficult to implement.  Features like dead code stripping, reordering
+functions for locality, and C++ coalescing require the linker to work at a finer
+grain.
+
+An atom is an indivisible chunk of code or data.  An atom has a set of
+attributes, such as: name, scope, content-type, alignment, etc.  An atom also
+has a list of References.  A Reference contains: a kind, an optional offset, an
+optional addend, and an optional target atom.
+
+The Atom model allows the linker to use standard graph theory models for linking
+data structures.  Each atom is a node, and each Reference is an edge.  The
+feature of dead code stripping is implemented by following edges to mark all
+live atoms, and then delete the non-live atoms.
+
+
+Atom Model
+----------
+
+An atom is an indivisible chunk of code or data.  Typically each user written
+function or global variable is an atom.  In addition, the compiler may emit
+other atoms, such as for literal c-strings or floating point constants, or for
+runtime data structures like dwarf unwind info or pointers to initializers.
+
+A simple "hello world" object file would be modeled like this:
+
+.. image:: hello.png
+
+There are three atoms: main, a proxy for printf, and an anonymous atom
+containing the c-string literal "hello world".  The Atom "main" has two
+references. One is the call site for the call to printf, and the other is a
+reference for the instruction that loads the address of the c-string literal.
+
+There are only four different types of atoms:
+
+	* DefinedAtom
+		95% of all atoms.  This is a chunk of code or data
+
+	* UndefinedAtom
+	   This is a place holder in object files for a reference to some atom
+	   outside the translation unit.During core linking it is usually replaced
+	   by (coalesced into) another Atom.
+
+	* SharedLibraryAtom
+		If a required symbol name turns out to be defined in a dynamic shared
+		library (and not some object file).  A SharedLibraryAtom is the
+		placeholder Atom used to represent that fact.
+
+		It is similar to an UndefinedAtom, but it also tracks information
+		about the associated shared library.
+
+	* AbsoluteAtom
+		This is for embedded support where some stuff is implemented in ROM at
+		some fixed address.  This atom has no content.  It is just an address
+		that the Writer needs to fix up any references to point to.
+
+
+File Model
+----------
+
+The linker views the input files as basically containers of Atoms and
+References, and just a few attributes of their own.  The linker works with three
+kinds of files: object files, static libraries, and dynamic shared libraries.
+Each kind of file has reader object which presents the file in the model
+expected by the linker.
+
+Object File
+~~~~~~~~~~~
+
+An object file is just a container of atoms.  When linking an object file, a
+reader is instantiated which parses the object file and instantiates a set of
+atoms representing all content in the .o file.  The linker adds all those atoms
+to a master graph.
+
+Static Library (Archive)
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+This is the traditional unix static archive which is just a collection of object
+files with a "table of contents". When linking with a static library, by default
+nothing is added to the master graph of atoms. Instead, if after merging all
+atoms from object files into a master graph, if any "undefined" atoms are left
+remaining in the master graph, the linker reads the table of contents for each
+static library to see if any have the needed definitions. If so, the set of
+atoms from the specified object file in the static library is added to the
+master graph of atoms.
+
+Dynamic Library (Shared Object)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Dynamic libraries are different than object files and static libraries in that
+they don't directly add any content.  Their purpose is to check at build time
+that the remaining undefined references can be resolved at runtime, and provide
+a list of dynamic libraries (SO_NEEDED) that will be needed at runtime.  The way
+this is modeled in the linker is that a dynamic library contributes no atoms to
+the initial graph of atoms.  Instead, (like static libraries) if there are
+"undefined" atoms in the master graph of all atoms, then each dynamic library is
+checked to see if exports the required symbol. If so, a "shared library" atom is
+instantiated by the by the reader which the linker uses to replace the
+"undefined" atom.
+
+Linking Steps
+-------------
+
+Through the use of abstract Atoms, the core of linking is architecture
+independent and file format independent.  All command line parsing is factored
+out into a separate "options" abstraction which enables the linker to be driven
+with different command line sets.
+
+The overall steps in linking are:
+
+  #. Command line processing
+
+  #. Parsing input files
+
+  #. Resolving
+
+  #. Passes/Optimizations
+
+  #. Generate output file
+
+The Resolving and Passes steps are done purely on the master graph of atoms, so
+they have no notion of file formats such as mach-o or ELF.
+
+
+Input Files
+~~~~~~~~~~~
+
+Existing developer tools using different file formats for object files.
+A goal of lld is to be file format independent.  This is done
+through a plug-in model for reading object files. The lld::Reader is the base
+class for all object file readers.  A Reader follows the factory method pattern.
+A Reader instantiates an lld::File object (which is a graph of Atoms) from a
+given object file (on disk or in-memory).
+
+Every Reader subclass defines its own "options" class (for instance the mach-o
+Reader defines the class ReaderOptionsMachO).  This options class is the
+one-and-only way to control how the Reader operates when parsing an input file
+into an Atom graph.  For instance, you may want the Reader to only accept
+certain architectures.  The options class can be instantiated from command
+line options, or it can be subclassed and the ivars programmatically set.
+
+Resolving
+~~~~~~~~~
+
+The resolving step takes all the atoms' graphs from each object file and
+combines them into one master object graph.  Unfortunately, it is not as simple
+as appending the atom list from each file into one big list.  There are many
+cases where atoms need to be coalesced.  That is, two or more atoms need to be
+coalesced into one atom.  This is necessary to support: C language "tentative
+definitions", C++ weak symbols for templates and inlines defined in headers,
+replacing undefined atoms with actual definition atoms, and for merging copies
+of constants like c-strings and floating point constants.
+
+The linker support coalescing by-name and by-content. By-name is used for
+tentative definitions and weak symbols.  By-content is used for constant data
+that can be merged.
+
+The resolving process maintains some global linking "state", including a "symbol
+table" which is a map from llvm::StringRef to lld::Atom*.  With these data
+structures, the linker iterates all atoms in all input files. For each atom, it
+checks if the atom is named and has a global or hidden scope.  If so, the atom
+is added to the symbol table map.  If there already is a matching atom in that
+table, that means the current atom needs to be coalesced with the found atom, or
+it is a multiple definition error.
+
+When all initial input file atoms have been processed by the resolver, a scan is
+made to see if there are any undefined atoms in the graph.  If there are, the
+linker scans all libraries (both static and dynamic) looking for definitions to
+replace the undefined atoms.  It is an error if any undefined atoms are left
+remaining.
+
+Dead code stripping (if requested) is done at the end of resolving.  The linker
+does a simple mark-and-sweep. It starts with "root" atoms (like "main" in a main
+executable) and follows each references and marks each Atom that it visits as
+"live".  When done, all atoms not marked "live" are removed.
+
+The result of the Resolving phase is the creation of an lld::File object.  The
+goal is that the lld::File model is **the** internal representation
+throughout the linker. The file readers parse (mach-o, ELF, COFF) into an
+lld::File.  The file writers (mach-o, ELF, COFF) taken an lld::File and produce
+their file kind, and every Pass only operates on an lld::File.  This is not only
+a simpler, consistent model, but it enables the state of the linker to be dumped
+at any point in the link for testing purposes.
+
+
+Passes
+~~~~~~
+
+The Passes step is an open ended set of routines that each get a change to
+modify or enhance the current lld::File object. Some example Passes are:
+
+  * stub (PLT) generation
+
+  * GOT instantiation
+
+  * order_file optimization
+
+  * branch island generation
+
+  * branch shim generation
+
+  * Objective-C optimizations (Darwin specific)
+
+  * TLV instantiation (Darwin specific)
+
+  * DTrace probe processing (Darwin specific)
+
+  * compact unwind encoding (Darwin specific)
+
+
+Some of these passes are specific to Darwin's runtime environments.  But many of
+the passes are applicable to any OS (such as generating branch island for out of
+range branch instructions).
+
+The general structure of a pass is to iterate through the atoms in the current
+lld::File object, inspecting each atom and doing something.  For instance, the
+stub pass, looks for call sites to shared library atoms (e.g. call to printf).
+It then instantiates a "stub" atom (PLT entry) and a "lazy pointer" atom for
+each proxy atom needed, and these new atoms are added to the current lld::File
+object.  Next, all the noted call sites to shared library atoms have their
+References altered to point to the stub atom instead of the shared library atom.
+
+
+Generate Output File
+~~~~~~~~~~~~~~~~~~~~
+
+Once the passes are done, the output file writer is given current lld::File
+object.  The writer's job is to create the executable content file wrapper and
+place the content of the atoms into it.
+
+lld uses a plug-in model for writing output files. All concrete writers (e.g.
+ELF, mach-o, etc) are subclasses of the lld::Writer class.
+
+Unlike the Reader class which has just one method to instantiate an lld::File,
+the Writer class has multiple methods.  The crucial method is to generate the
+output file, but there are also methods which allow the Writer to contribute
+Atoms to the resolver and specify passes to run.
+
+An example of contributing
+atoms is that if the Writer knows a main executable is being linked and such
+an executable requires a specially named entry point (e.g. "_main"), the Writer
+can add an UndefinedAtom with that special name to the resolver.  This will
+cause the resolver to issue an error if that symbol is not defined.
+
+Sometimes a Writer supports lazily created symbols, such as names for the start
+of sections. To support this, the Writer can create a File object which vends
+no initial atoms, but does lazily supply atoms by name as needed.
+
+Every Writer subclass defines its own "options" class (for instance the mach-o
+Writer defines the class WriterOptionsMachO).  This options class is the
+one-and-only way to control how the Writer operates when producing an output
+file from an Atom graph.  For instance, you may want the Writer to optimize
+the output for certain OS versions, or strip local symbols, etc. The options
+class can be instantiated from command line options, or it can be subclassed
+and the ivars programmatically set.
+
+
+lld::File representations
+-------------------------
+
+Just as LLVM has three representations of its IR model, lld has two
+representations of its File/Atom/Reference model:
+
+ * In memory, abstract C++ classes (lld::Atom, lld::Reference, and lld::File).
+
+ * textual (in YAML)
+
+
+Textual representations in YAML
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In designing a textual format we want something easy for humans to read and easy
+for the linker to parse.  Since an atom has lots of attributes most of which are
+usually just the default, we should define default values for every attribute so
+that those can be omitted from the text representation.  Here is the atoms for a
+simple hello world program expressed in YAML::
+
+  target-triple:   x86_64-apple-darwin11
+
+  atoms:
+      - name:    _main
+        scope:   global
+        type:    code
+        content: [ 55, 48, 89, e5, 48, 8d, 3d, 00, 00, 00, 00, 30, c0, e8, 00, 00,
+                   00, 00, 31, c0, 5d, c3 ]
+        fixups:
+        - offset: 07
+          kind:   pcrel32
+          target: 2
+        - offset: 0E
+          kind:   call32
+          target: _fprintf
+
+      - type:    c-string
+        content: [ 73, 5A, 00 ]
+
+  ...
+
+The biggest use for the textual format will be writing test cases.  Writing test
+cases in C is problematic because the compiler may vary its output over time for
+its own optimization reasons which my inadvertently disable or break the linker
+feature trying to be tested. By writing test cases in the linkers own textual
+format, we can exactly specify every attribute of every atom and thus target
+specific linker logic.
+
+The textual/YAML format follows the ReaderWriter patterns used in lld. The lld
+library comes with the classes: ReaderYAML and WriterYAML.
+
+
+Testing
+-------
+
+The lld project contains a test suite which is being built up as new code is
+added to lld.  All new lld functionality should have a tests added to the test
+suite.  The test suite is `lit <http://llvm.org/cmds/lit.html/>`_ driven.  Each
+test is a text file with comments telling lit how to run the test and check the
+result To facilitate testing, the lld project builds a tool called lld-core.
+This tool reads a YAML file (default from stdin), parses it into one or more
+lld::File objects in memory and then feeds those lld::File objects to the
+resolver phase.
+
+
+Resolver testing
+~~~~~~~~~~~~~~~~
+
+Basic testing is the "core linking" or resolving phase.  That is where the
+linker merges object files.  All test cases are written in YAML.  One feature of
+YAML is that it allows multiple "documents" to be encoding in one YAML stream.
+That means one text file can appear to the linker as multiple .o files - the
+normal case for the linker.
+
+Here is a simple example of a core linking test case. It checks that an
+undefined atom from one file will be replaced by a definition from another
+file::
+
+  # RUN: lld-core %s | FileCheck %s
+
+  #
+  # Test that undefined atoms are replaced with defined atoms.
+  #
+
+  ---
+  atoms:
+      - name:              foo
+        definition:        undefined
+  ---
+  atoms:
+      - name:              foo
+        scope:             global
+        type:              code
+  ...
+
+  # CHECK:       name:       foo
+  # CHECK:       scope:      global
+  # CHECK:       type:       code
+  # CHECK-NOT:   name:       foo
+  # CHECK:       ...
+
+
+Passes testing
+~~~~~~~~~~~~~~
+
+Since Passes just operate on an lld::File object, the lld-core tool has the
+option to run a particular pass (after resolving).  Thus, you can write a YAML
+test case with carefully crafted input to exercise areas of a Pass and the check
+the resulting lld::File object as represented in YAML.
+
+
+Design Issues
+-------------
+
+There are a number of open issues in the design of lld.  The plan is to wait and
+make these design decisions when we need to.
+
+
+Debug Info
+~~~~~~~~~~
+
+Currently, the lld model says nothing about debug info.  But the most popular
+debug format is DWARF and there is some impedance mismatch with the lld model
+and DWARF.  In lld there are just Atoms and only Atoms that need to be in a
+special section at runtime have an associated section.  Also, Atoms do not have
+addresses.  The way DWARF is spec'ed different parts of DWARF are supposed to go
+into specially named sections and the DWARF references function code by address.
+
+CPU and OS specific functionality
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Currently, lld has an abstract "Platform" that deals with any CPU or OS specific
+differences in linking.  We just keep adding virtual methods to the base
+Platform class as we find linking areas that might need customization.  At some
+point we'll need to structure this better.
+
+
+File Attributes
+~~~~~~~~~~~~~~~
+
+Currently, lld::File just has a path and a way to iterate its atoms. We will
+need to add more attributes on a File.  For example, some equivalent to the
+target triple.  There is also a number of cached or computed attributes that
+could make various Passes more efficient.  For instance, on Darwin there are a
+number of Objective-C optimizations that can be done by a Pass.  But it would
+improve the plain C case if the Objective-C optimization Pass did not have to
+scan all atoms looking for any Objective-C data structures.  This could be done
+if the lld::File object had an attribute that said if the file had any
+Objective-C data in it. The Resolving phase would then be required to "merge"
+that attribute as object files are added.

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/development.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/development.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/development.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/development.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,45 @@
+.. _development:
+
+Development
+===========
+
+Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see :doc:`index`.
+
+lld is developed as part of the `LLVM <http://llvm.org>`_ project.
+
+Creating a Reader
+-----------------
+
+See the :ref:`Creating a Reader <Readers>` guide.
+
+
+Modifying the Driver
+--------------------
+
+See :doc:`Driver`.
+
+
+Debugging
+---------
+
+You can run lld with ``-mllvm -debug`` command line options to enable debugging
+printouts. If you want to enable debug information for some specific pass, you
+can run it with ``-mllvm '-debug-only=<pass>'``, where pass is a name used in
+the ``DEBUG_WITH_TYPE()`` macro.
+
+
+
+Documentation
+-------------
+
+The project documentation is written in reStructuredText and generated using the
+`Sphinx <http://sphinx.pocoo.org/>`_ documentation generator. For more
+information on writing documentation for the project, see the
+:ref:`sphinx_intro`.
+
+.. toctree::
+   :hidden:
+
+   Readers
+   Driver

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/getting_started.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/getting_started.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/getting_started.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/getting_started.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,106 @@
+.. _getting_started:
+
+Getting Started: Building and Running lld
+=========================================
+
+This page gives you the shortest path to checking out and building lld. If you
+run into problems, please file bugs in the `LLVM Bugzilla`__
+
+__ http://llvm.org/bugs/
+
+Building lld
+------------
+
+On Unix-like Systems
+~~~~~~~~~~~~~~~~~~~~
+
+1. Get the required tools.
+
+  * `CMake 2.8`_\+.
+  * make (or any build system CMake supports).
+  * `Clang 3.1`_\+ or GCC 4.7+ (C++11 support is required).
+
+    * If using Clang, you will also need `libc++`_.
+  * `Python 2.4`_\+ (not 3.x) for running tests.
+
+.. _CMake 2.8: http://www.cmake.org/cmake/resources/software.html
+.. _Clang 3.1: http://clang.llvm.org/
+.. _libc++: http://libcxx.llvm.org/
+.. _Python 2.4: http://python.org/download/
+
+2. Check out LLVM::
+
+     $ cd path/to/llvm-project
+     $ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
+
+3. Check out lld::
+
+     $ cd llvm/tools
+     $ svn co http://llvm.org/svn/llvm-project/lld/trunk lld
+
+  * lld can also be checked out to ``path/to/llvm-project`` and built as an external
+    project.
+
+4. Build LLVM and lld::
+
+     $ cd path/to/llvm-build/llvm (out of source build required)
+     $ cmake -G "Unix Makefiles" path/to/llvm-project/llvm
+     $ make
+
+  * If you want to build with clang and it is not the default compiler or
+    it is installed in an alternate location, you'll need to tell the cmake tool
+    the location of the C and C++ compiler via CMAKE_C_COMPILER and
+    CMAKE_CXX_COMPILER. For example::
+
+        $ cmake -DCMAKE_CXX_COMPILER=/path/to/clang++ -DCMAKE_C_COMPILER=/path/to/clang ...
+
+5. Test::
+
+     $ make check-lld
+
+Using Visual Studio
+~~~~~~~~~~~~~~~~~~~
+
+#. Get the required tools.
+
+  * `CMake 2.8`_\+.
+  * `Visual Studio 12 (2013) or later`_ (required for C++11 support)
+  * `Python 2.4`_\+ (not 3.x) for running tests.
+
+.. _CMake 2.8: http://www.cmake.org/cmake/resources/software.html
+.. _Visual Studio 12 (2013) or later: http://www.microsoft.com/visualstudio/11/en-us
+.. _Python 2.4: http://python.org/download/
+
+#. Check out LLVM::
+
+     $ cd path/to/llvm-project
+     $ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
+
+#. Check out lld::
+
+     $ cd llvm/tools
+     $ svn co http://llvm.org/svn/llvm-project/lld/trunk lld
+
+  * lld can also be checked out to ``path/to/llvm-project`` and built as an external
+    project.
+
+#. Generate Visual Studio project files::
+
+     $ cd path/to/llvm-build/llvm (out of source build required)
+     $ cmake -G "Visual Studio 11" path/to/llvm-project/llvm
+
+#. Build
+
+  * Open LLVM.sln in Visual Studio.
+  * Build the ``ALL_BUILD`` target.
+
+#. Test
+
+  * Build the ``lld-test`` target.
+
+More Information
+~~~~~~~~~~~~~~~~
+
+For more information on using CMake see the `LLVM CMake guide`_.
+
+.. _LLVM CMake guide: http://llvm.org/docs/CMake.html

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/index.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/index.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/index.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/index.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,178 @@
+LLD - The LLVM Linker
+=====================
+
+LLD is a linker from the LLVM project. That is a drop-in replacement
+for system linkers and runs much faster than them. It also provides
+features that are useful for toolchain developers.
+
+The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS) and
+WebAssembly in descending order of completeness. Internally, LLD consists of
+several different linkers. The ELF port is the one that will be described in
+this document. The PE/COFF port is almost complete except the lack of the
+Windows debug info (PDB) support. The WebAssembly port is still a work in
+progress (See :doc:`WebAssembly`).  The Mach-O port is built based on a
+different architecture than the others. For the details about Mach-O, please
+read :doc:`AtomLLD`.
+
+Features
+--------
+
+- LLD is a drop-in replacement for the GNU linkers. That accepts the
+  same command line arguments and linker scripts as GNU.
+
+  We are currently working closely with the FreeBSD project to make
+  LLD default system linker in future versions of the operating
+  system, so we are serious about addressing compatibility issues. As
+  of February 2017, LLD is able to link the entire FreeBSD/amd64 base
+  system including the kernel. With a few work-in-progress patches it
+  can link approximately 95% of the ports collection on AMD64. For the
+  details, see `FreeBSD quarterly status report
+  <https://www.freebsd.org/news/status/report-2016-10-2016-12.html#Using-LLVM%27s-LLD-Linker-as-FreeBSD%27s-System-Linker>`_.
+
+- LLD is very fast. When you link a large program on a multicore
+  machine, you can expect that LLD runs more than twice as fast as GNU
+  gold linker. Your milage may vary, though.
+
+- It supports various CPUs/ABIs including x86-64, x86, x32, AArch64,
+  ARM, MIPS 32/64 big/little-endian, PowerPC, PowerPC 64 and AMDGPU.
+  Among these, x86-64 is the most well-supported target and have
+  reached production quality. AArch64 and MIPS seem decent too. x86
+  should be OK but not well tested yet. ARM support is being developed
+  actively.
+
+- It is always a cross-linker, meaning that it always supports all the
+  above targets however it was built. In fact, we don't provide a
+  build-time option to enable/disable each target. This should make it
+  easy to use our linker as part of a cross-compile toolchain.
+
+- You can embed LLD to your program to eliminate dependency to
+  external linkers. All you have to do is to construct object files
+  and command line arguments just like you would do to invoke an
+  external linker and then call the linker's main function,
+  ``lld::elf::link``, from your code.
+
+- It is small. We are using LLVM libObject library to read from object
+  files, so it is not completely a fair comparison, but as of February
+  2017, LLD/ELF consists only of 21k lines of C++ code while GNU gold
+  consists of 198k lines of C++ code.
+
+- Link-time optimization (LTO) is supported by default. Essentially,
+  all you have to do to do LTO is to pass the ``-flto`` option to clang.
+  Then clang creates object files not in the native object file format
+  but in LLVM bitcode format. LLD reads bitcode object files, compile
+  them using LLVM and emit an output file. Because in this way LLD can
+  see the entire program, it can do the whole program optimization.
+
+- Some very old features for ancient Unix systems (pre-90s or even
+  before that) have been removed. Some default settings have been
+  tuned for the 21st century. For example, the stack is marked as
+  non-executable by default to tighten security.
+
+Performance
+-----------
+
+This is a link time comparison on a 2-socket 20-core 40-thread Xeon
+E5-2680 2.80 GHz machine with an SSD drive. We ran gold and lld with
+or without multi-threading support. To disable multi-threading, we
+added ``-no-threads`` to the command lines.
+
+============  ===========  ============  ====================  ==================  ===============  =============
+Program       Output size  GNU ld        GNU gold w/o threads  GNU gold w/threads  lld w/o threads  lld w/threads
+ffmpeg dbg    92 MiB       1.72s         1.16s                 1.01s               0.60s            0.35s
+mysqld dbg    154 MiB      8.50s         2.96s                 2.68s               1.06s            0.68s
+clang dbg     1.67 GiB     104.03s       34.18s                23.49s              14.82s           5.28s
+chromium dbg  1.14 GiB     209.05s [1]_  64.70s                60.82s              27.60s           16.70s
+============  ===========  ============  ====================  ==================  ===============  =============
+
+As you can see, lld is significantly faster than GNU linkers.
+Note that this is just a benchmark result of our environment.
+Depending on number of available cores, available amount of memory or
+disk latency/throughput, your results may vary.
+
+.. [1] Since GNU ld doesn't support the ``-icf=all`` and
+       ``-gdb-index`` options, we removed them from the command line
+       for GNU ld. GNU ld would have been slower than this if it had
+       these options.
+
+Build
+-----
+
+If you have already checked out LLVM using SVN, you can check out LLD
+under ``tools`` directory just like you probably did for clang. For the
+details, see `Getting Started with the LLVM System
+<http://llvm.org/docs/GettingStarted.html>`_.
+
+If you haven't checkout out LLVM, the easiest way to build LLD is to
+checkout the entire LLVM projects/sub-projects from a git mirror and
+build that tree. You need `cmake` and of course a C++ compiler.
+
+.. code-block:: console
+
+  $ git clone https://github.com/llvm-project/llvm-project-20170507 llvm-project
+  $ mkdir build
+  $ cd build
+  $ cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=lld -DCMAKE_INSTALL_PREFIX=/usr/local ../llvm-project/llvm
+  $ make install
+
+Using LLD
+---------
+
+LLD is installed as ``ld.lld``. On Unix, linkers are invoked by
+compiler drivers, so you are not expected to use that command
+directly. There are a few ways to tell compiler drivers to use ld.lld
+instead of the default linker.
+
+The easiest way to do that is to overwrite the default linker. After
+installing LLD to somewhere on your disk, you can create a symbolic
+link by doing ``ln -s /path/to/ld.lld /usr/bin/ld`` so that
+``/usr/bin/ld`` is resolved to LLD.
+
+If you don't want to change the system setting, you can use clang's
+``-fuse-ld`` option. In this way, you want to set ``-fuse-ld=lld`` to
+LDFLAGS when building your programs.
+
+LLD leaves its name and version number to a ``.comment`` section in an
+output. If you are in doubt whether you are successfully using LLD or
+not, run ``readelf --string-dump .comment <output-file>`` and examine the
+output. If the string "Linker: LLD" is included in the output, you are
+using LLD.
+
+History
+-------
+
+Here is a brief project history of the ELF and COFF ports.
+
+- May 2015: We decided to rewrite the COFF linker and did that.
+  Noticed that the new linker is much faster than the MSVC linker.
+
+- July 2015: The new ELF port was developed based on the COFF linker
+  architecture.
+
+- September 2015: The first patches to support MIPS and AArch64 landed.
+
+- October 2015: Succeeded to self-host the ELF port. We have noticed
+  that the linker was faster than the GNU linkers, but we weren't sure
+  at the time if we would be able to keep the gap as we would add more
+  features to the linker.
+
+- July 2016: Started working on improving the linker script support.
+
+- December 2016: Succeeded to build the entire FreeBSD base system
+  including the kernel. We had widen the performance gap against the
+  GNU linkers.
+
+Internals
+---------
+
+For the internals of the linker, please read :doc:`NewLLD`. It is a bit
+outdated but the fundamental concepts remain valid. We'll update the
+document soon.
+
+.. toctree::
+   :maxdepth: 1
+
+   NewLLD
+   AtomLLD
+   WebAssembly
+   windows_support
+   ReleaseNotes

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/open_projects.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/open_projects.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/open_projects.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/open_projects.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,11 @@
+.. _open_projects:
+
+Open Projects
+=============
+
+.. include:: ../include/lld/Core/TODO.txt
+
+Documentation TODOs
+~~~~~~~~~~~~~~~~~~~
+
+.. todolist::

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/sphinx_intro.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/sphinx_intro.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/sphinx_intro.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/sphinx_intro.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,127 @@
+.. _sphinx_intro:
+
+Sphinx Introduction for LLVM Developers
+=======================================
+
+This document is intended as a short and simple introduction to the Sphinx
+documentation generation system for LLVM developers.
+
+Quickstart
+----------
+
+To get started writing documentation, you will need to:
+
+ 1. Have the Sphinx tools :ref:`installed <installing_sphinx>`.
+
+ 2. Understand how to :ref:`build the documentation
+    <building_the_documentation>`.
+
+ 3. Start :ref:`writing documentation <writing_documentation>`!
+
+.. _installing_sphinx:
+
+Installing Sphinx
+~~~~~~~~~~~~~~~~~
+
+You should be able to install Sphinx using the standard Python package
+installation tool ``easy_install``, as follows::
+
+  $ sudo easy_install sphinx
+  Searching for sphinx
+  Reading http://pypi.python.org/simple/sphinx/
+  Reading http://sphinx.pocoo.org/
+  Best match: Sphinx 1.1.3
+  ... more lines here ..
+
+If you do not have root access (or otherwise want to avoid installing Sphinx in
+system directories) see the section on :ref:`installing_sphinx_in_a_venv` .
+
+If you do not have the ``easy_install`` tool on your system, you should be able
+to install it using:
+
+  Linux
+    Use your distribution's standard package management tool to install it,
+    i.e., ``apt-get install easy_install`` or ``yum install easy_install``.
+
+  Mac OS X
+    All modern Mac OS X systems come with ``easy_install`` as part of the base
+    system.
+
+  Windows
+    See the `setuptools <http://pypi.python.org/pypi/setuptools>`_ package web
+    page for instructions.
+
+
+.. _building_the_documentation:
+
+Building the documentation
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In order to build the documentation need to add ``-DLLVM_ENABLE_SPHINX=ON`` to
+your ``cmake`` command.  Once you do this you can build the docs using
+``docs-lld-html`` build (``ninja`` or ``make``) target.
+
+That build target will invoke ``sphinx-build`` with the appropriate options for
+the project, and generate the HTML documentation in a ``tools/lld/docs/html``
+subdirectory.
+
+.. _writing_documentation:
+
+Writing documentation
+~~~~~~~~~~~~~~~~~~~~~
+
+The documentation itself is written in the reStructuredText (ReST) format, and
+Sphinx defines additional tags to support features like cross-referencing.
+
+The ReST format itself is organized around documents mostly being readable
+plaintext documents. You should generally be able to write new documentation
+easily just by following the style of the existing documentation.
+
+If you want to understand the formatting of the documents more, the best place
+to start is Sphinx's own `ReST Primer <http://sphinx.pocoo.org/rest.html>`_.
+
+
+Learning More
+-------------
+
+If you want to learn more about the Sphinx system, the best place to start is
+the Sphinx documentation itself, available `here
+<http://sphinx.pocoo.org/contents.html>`_.
+
+
+.. _installing_sphinx_in_a_venv:
+
+Installing Sphinx in a Virtual Environment
+------------------------------------------
+
+Most Python developers prefer to work with tools inside a *virtualenv* (virtual
+environment) instance, which functions as an application sandbox. This avoids
+polluting your system installation with different packages used by various
+projects (and ensures that dependencies for different packages don't conflict
+with one another). Of course, you need to first have the virtualenv software
+itself which generally would be installed at the system level::
+
+  $ sudo easy_install virtualenv
+
+but after that you no longer need to install additional packages in the system
+directories.
+
+Once you have the *virtualenv* tool itself installed, you can create a
+virtualenv for Sphinx using::
+
+  $ virtualenv ~/my-sphinx-install
+  New python executable in /Users/dummy/my-sphinx-install/bin/python
+  Installing setuptools............done.
+  Installing pip...............done.
+
+  $ ~/my-sphinx-install/bin/easy_install sphinx
+  ... install messages here ...
+
+and from now on you can "activate" the *virtualenv* using::
+
+  $ source ~/my-sphinx-install/bin/activate
+
+which will change your PATH to ensure the sphinx-build tool from inside the
+virtual environment will be used. See the `virtualenv website
+<http://www.virtualenv.org/en/latest/index.html>`_ for more information on using
+virtual environments.

Added: www-releases/trunk/6.0.1/tools/lld/docs/_sources/windows_support.txt
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_sources/windows_support.txt?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_sources/windows_support.txt (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_sources/windows_support.txt Mon Jul  2 16:21:43 2018
@@ -0,0 +1,91 @@
+.. raw:: html
+
+  <style type="text/css">
+    .none { background-color: #FFCCCC }
+    .partial { background-color: #FFFF99 }
+    .good { background-color: #CCFF99 }
+  </style>
+
+.. role:: none
+.. role:: partial
+.. role:: good
+
+===============
+Windows support
+===============
+
+LLD supports Windows operating system. When invoked as ``lld-link.exe`` or with
+``-flavor link``, the driver for Windows operating system is used to parse
+command line options, and it drives further linking processes. LLD accepts
+almost all command line options that the linker shipped with Microsoft Visual
+C++ (link.exe) supports.
+
+The current status is that LLD can link itself on Windows x86/x64
+using Visual C++ 2013 as the compiler.
+
+Development status
+==================
+
+Driver
+  :good:`Mostly done`. Some exotic command line options that are not usually
+  used for application develompent, such as ``/DRIVER``, are not supported.
+
+Linking against DLL
+  :good:`Done`. LLD can read import libraries needed to link against DLL. Both
+  export-by-name and export-by-ordinal are supported.
+
+Linking against static library
+  :good:`Done`. The format of static library (.lib) on Windows is actually the
+  same as on Unix (.a). LLD can read it.
+
+Creating DLL
+  :good:`Done`. LLD creates a DLL if ``/DLL`` option is given. Exported
+  functions can be specified either via command line (``/EXPORT``) or via
+  module-definition file (.def). Both export-by-name and export-by-ordinal are
+  supported.
+
+Windows resource files support
+  :good:`Done`. If an ``.res`` file is given, LLD converts the file to a COFF
+  file using LLVM's Object library.
+
+Safe Structured Exception Handler (SEH)
+  :good:`Done` for both x86 and x64.
+
+Module-definition file
+  :partial:`Partially done`. LLD currently recognizes these directives:
+  ``EXPORTS``, ``HEAPSIZE``, ``STACKSIZE``, ``NAME``, and ``VERSION``.
+
+Debug info
+  :none:`No progress has been made`. Microsoft linker can interpret the CodeGen
+  debug info (old-style debug info) and PDB to emit an .pdb file. LLD doesn't
+  support neither.
+
+
+Building LLD
+============
+
+Using Visual Studio IDE/MSBuild
+-------------------------------
+
+1. Check out LLVM and LLD from the LLVM SVN repository (or Git mirror),
+#. run ``cmake -G "Visual Studio 12" <llvm-source-dir>`` from VS command prompt,
+#. open LLVM.sln with Visual Studio, and
+#. build ``lld`` target in ``lld executables`` folder
+
+Alternatively, you can use msbuild if you don't like to work in an IDE::
+
+  msbuild LLVM.sln /m /target:"lld executables\lld"
+
+MSBuild.exe had been shipped as a component of the .NET framework, but since
+2013 it's part of Visual Studio. You can find it at "C:\\Program Files
+(x86)\\msbuild".
+
+You can build LLD as a 64 bit application. To do that, open VS2013 x64 command
+prompt and run cmake for "Visual Studio 12 Win64" target.
+
+Using Ninja
+-----------
+
+1. Check out LLVM and LLD from the LLVM SVN repository (or Git mirror),
+#. run ``cmake -G ninja <llvm-source-dir>`` from VS command prompt,
+#. run ``ninja lld``

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/ajax-loader.gif
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/ajax-loader.gif?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/ajax-loader.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/basic.css
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/basic.css?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_static/basic.css (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_static/basic.css Mon Jul  2 16:21:43 2018
@@ -0,0 +1,540 @@
+/*
+ * basic.css
+ * ~~~~~~~~~
+ *
+ * Sphinx stylesheet -- basic theme.
+ *
+ * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+    clear: both;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+    width: 100%;
+    font-size: 90%;
+}
+
+div.related h3 {
+    display: none;
+}
+
+div.related ul {
+    margin: 0;
+    padding: 0 0 0 10px;
+    list-style: none;
+}
+
+div.related li {
+    display: inline;
+}
+
+div.related li.right {
+    float: right;
+    margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+    padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+    float: left;
+    width: 230px;
+    margin-left: -100%;
+    font-size: 90%;
+}
+
+div.sphinxsidebar ul {
+    list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+    margin-left: 20px;
+    list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+    margin-top: 0;
+    margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+    margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+    border: 1px solid #98dbcc;
+    font-family: sans-serif;
+    font-size: 1em;
+}
+
+div.sphinxsidebar #searchbox input[type="text"] {
+    width: 170px;
+}
+
+div.sphinxsidebar #searchbox input[type="submit"] {
+    width: 30px;
+}
+
+img {
+    border: 0;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+    margin: 10px 0 0 20px;
+    padding: 0;
+}
+
+ul.search li {
+    padding: 5px 0 5px 20px;
+    background-image: url(file.png);
+    background-repeat: no-repeat;
+    background-position: 0 7px;
+}
+
+ul.search li a {
+    font-weight: bold;
+}
+
+ul.search li div.context {
+    color: #888;
+    margin: 2px 0 0 30px;
+    text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+    font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+    width: 90%;
+}
+
+table.contentstable p.biglink {
+    line-height: 150%;
+}
+
+a.biglink {
+    font-size: 1.3em;
+}
+
+span.linkdescr {
+    font-style: italic;
+    padding-top: 5px;
+    font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable {
+    width: 100%;
+}
+
+table.indextable td {
+    text-align: left;
+    vertical-align: top;
+}
+
+table.indextable dl, table.indextable dd {
+    margin-top: 0;
+    margin-bottom: 0;
+}
+
+table.indextable tr.pcap {
+    height: 10px;
+}
+
+table.indextable tr.cap {
+    margin-top: 10px;
+    background-color: #f2f2f2;
+}
+
+img.toggler {
+    margin-right: 3px;
+    margin-top: 3px;
+    cursor: pointer;
+}
+
+div.modindex-jumpbox {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 1em 0 1em 0;
+    padding: 0.4em;
+}
+
+div.genindex-jumpbox {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 1em 0 1em 0;
+    padding: 0.4em;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+a.headerlink {
+    visibility: hidden;
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink {
+    visibility: visible;
+}
+
+div.body p.caption {
+    text-align: inherit;
+}
+
+div.body td {
+    text-align: left;
+}
+
+.field-list ul {
+    padding-left: 1em;
+}
+
+.first {
+    margin-top: 0 !important;
+}
+
+p.rubric {
+    margin-top: 30px;
+    font-weight: bold;
+}
+
+img.align-left, .figure.align-left, object.align-left {
+    clear: left;
+    float: left;
+    margin-right: 1em;
+}
+
+img.align-right, .figure.align-right, object.align-right {
+    clear: right;
+    float: right;
+    margin-left: 1em;
+}
+
+img.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+    text-align: left;
+}
+
+.align-center {
+    text-align: center;
+}
+
+.align-right {
+    text-align: right;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar {
+    margin: 0 0 0.5em 1em;
+    border: 1px solid #ddb;
+    padding: 7px 7px 0 7px;
+    background-color: #ffe;
+    width: 40%;
+    float: right;
+}
+
+p.sidebar-title {
+    font-weight: bold;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+div.topic {
+    border: 1px solid #ccc;
+    padding: 7px 7px 0 7px;
+    margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+    font-size: 1.1em;
+    font-weight: bold;
+    margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+    margin-top: 10px;
+    margin-bottom: 10px;
+    padding: 7px;
+}
+
+div.admonition dt {
+    font-weight: bold;
+}
+
+div.admonition dl {
+    margin-bottom: 0;
+}
+
+p.admonition-title {
+    margin: 0px 10px 5px 0px;
+    font-weight: bold;
+}
+
+div.body p.centered {
+    text-align: center;
+    margin-top: 25px;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+    border: 0;
+    border-collapse: collapse;
+}
+
+table.docutils td, table.docutils th {
+    padding: 1px 8px 1px 5px;
+    border-top: 0;
+    border-left: 0;
+    border-right: 0;
+    border-bottom: 1px solid #aaa;
+}
+
+table.field-list td, table.field-list th {
+    border: 0 !important;
+}
+
+table.footnote td, table.footnote th {
+    border: 0 !important;
+}
+
+th {
+    text-align: left;
+    padding-right: 5px;
+}
+
+table.citation {
+    border-left: solid 1px gray;
+    margin-left: 1px;
+}
+
+table.citation td {
+    border-bottom: none;
+}
+
+/* -- other body styles ----------------------------------------------------- */
+
+ol.arabic {
+    list-style: decimal;
+}
+
+ol.loweralpha {
+    list-style: lower-alpha;
+}
+
+ol.upperalpha {
+    list-style: upper-alpha;
+}
+
+ol.lowerroman {
+    list-style: lower-roman;
+}
+
+ol.upperroman {
+    list-style: upper-roman;
+}
+
+dl {
+    margin-bottom: 15px;
+}
+
+dd p {
+    margin-top: 0px;
+}
+
+dd ul, dd table {
+    margin-bottom: 10px;
+}
+
+dd {
+    margin-top: 3px;
+    margin-bottom: 10px;
+    margin-left: 30px;
+}
+
+dt:target, .highlighted {
+    background-color: #fbe54e;
+}
+
+dl.glossary dt {
+    font-weight: bold;
+    font-size: 1.1em;
+}
+
+.field-list ul {
+    margin: 0;
+    padding-left: 1em;
+}
+
+.field-list p {
+    margin: 0;
+}
+
+.refcount {
+    color: #060;
+}
+
+.optional {
+    font-size: 1.3em;
+}
+
+.versionmodified {
+    font-style: italic;
+}
+
+.system-message {
+    background-color: #fda;
+    padding: 5px;
+    border: 3px solid red;
+}
+
+.footnote:target  {
+    background-color: #ffa;
+}
+
+.line-block {
+    display: block;
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+
+.line-block .line-block {
+    margin-top: 0;
+    margin-bottom: 0;
+    margin-left: 1.5em;
+}
+
+.guilabel, .menuselection {
+    font-family: sans-serif;
+}
+
+.accelerator {
+    text-decoration: underline;
+}
+
+.classifier {
+    font-style: oblique;
+}
+
+abbr, acronym {
+    border-bottom: dotted 1px;
+    cursor: help;
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+    overflow: auto;
+    overflow-y: hidden;  /* fixes display issues on Chrome browsers */
+}
+
+td.linenos pre {
+    padding: 5px 0px;
+    border: 0;
+    background-color: transparent;
+    color: #aaa;
+}
+
+table.highlighttable {
+    margin-left: 0.5em;
+}
+
+table.highlighttable td {
+    padding: 0 0.5em 0 0.5em;
+}
+
+tt.descname {
+    background-color: transparent;
+    font-weight: bold;
+    font-size: 1.2em;
+}
+
+tt.descclassname {
+    background-color: transparent;
+}
+
+tt.xref, a tt {
+    background-color: transparent;
+    font-weight: bold;
+}
+
+h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
+    background-color: transparent;
+}
+
+.viewcode-link {
+    float: right;
+}
+
+.viewcode-back {
+    float: right;
+    font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+    margin: -1px -10px;
+    padding: 0 10px;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+    vertical-align: middle;
+}
+
+div.body div.math p {
+    text-align: center;
+}
+
+span.eqno {
+    float: right;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+ at media print {
+    div.document,
+    div.documentwrapper,
+    div.bodywrapper {
+        margin: 0 !important;
+        width: 100%;
+    }
+
+    div.sphinxsidebar,
+    div.related,
+    div.footer,
+    #top-link {
+        display: none;
+    }
+}
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/comment-bright.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/comment-bright.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/comment-bright.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/comment-close.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/comment-close.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/comment-close.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/comment.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/comment.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/comment.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/contents.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/contents.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/contents.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/doctools.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/doctools.js?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_static/doctools.js (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_static/doctools.js Mon Jul  2 16:21:43 2018
@@ -0,0 +1,247 @@
+/*
+ * doctools.js
+ * ~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilities for all documentation.
+ *
+ * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/**
+ * select a different prefix for underscore
+ */
+$u = _.noConflict();
+
+/**
+ * make the code below compatible with browsers without
+ * an installed firebug like debugger
+if (!window.console || !console.firebug) {
+  var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
+    "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
+    "profile", "profileEnd"];
+  window.console = {};
+  for (var i = 0; i < names.length; ++i)
+    window.console[names[i]] = function() {};
+}
+ */
+
+/**
+ * small helper function to urldecode strings
+ */
+jQuery.urldecode = function(x) {
+  return decodeURIComponent(x).replace(/\+/g, ' ');
+}
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+  if (typeof s == 'undefined')
+    s = document.location.search;
+  var parts = s.substr(s.indexOf('?') + 1).split('&');
+  var result = {};
+  for (var i = 0; i < parts.length; i++) {
+    var tmp = parts[i].split('=', 2);
+    var key = jQuery.urldecode(tmp[0]);
+    var value = jQuery.urldecode(tmp[1]);
+    if (key in result)
+      result[key].push(value);
+    else
+      result[key] = [value];
+  }
+  return result;
+};
+
+/**
+ * small function to check if an array contains
+ * a given item.
+ */
+jQuery.contains = function(arr, item) {
+  for (var i = 0; i < arr.length; i++) {
+    if (arr[i] == item)
+      return true;
+  }
+  return false;
+};
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+  function highlight(node) {
+    if (node.nodeType == 3) {
+      var val = node.nodeValue;
+      var pos = val.toLowerCase().indexOf(text);
+      if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) {
+        var span = document.createElement("span");
+        span.className = className;
+        span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+        node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+          document.createTextNode(val.substr(pos + text.length)),
+          node.nextSibling));
+        node.nodeValue = val.substr(0, pos);
+      }
+    }
+    else if (!jQuery(node).is("button, select, textarea")) {
+      jQuery.each(node.childNodes, function() {
+        highlight(this);
+      });
+    }
+  }
+  return this.each(function() {
+    highlight(this);
+  });
+};
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+var Documentation = {
+
+  init : function() {
+    this.fixFirefoxAnchorBug();
+    this.highlightSearchWords();
+    this.initIndexTable();
+  },
+
+  /**
+   * i18n support
+   */
+  TRANSLATIONS : {},
+  PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; },
+  LOCALE : 'unknown',
+
+  // gettext and ngettext don't access this so that the functions
+  // can safely bound to a different name (_ = Documentation.gettext)
+  gettext : function(string) {
+    var translated = Documentation.TRANSLATIONS[string];
+    if (typeof translated == 'undefined')
+      return string;
+    return (typeof translated == 'string') ? translated : translated[0];
+  },
+
+  ngettext : function(singular, plural, n) {
+    var translated = Documentation.TRANSLATIONS[singular];
+    if (typeof translated == 'undefined')
+      return (n == 1) ? singular : plural;
+    return translated[Documentation.PLURALEXPR(n)];
+  },
+
+  addTranslations : function(catalog) {
+    for (var key in catalog.messages)
+      this.TRANSLATIONS[key] = catalog.messages[key];
+    this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
+    this.LOCALE = catalog.locale;
+  },
+
+  /**
+   * add context elements like header anchor links
+   */
+  addContextElements : function() {
+    $('div[id] > :header:first').each(function() {
+      $('<a class="headerlink">\u00B6</a>').
+      attr('href', '#' + this.id).
+      attr('title', _('Permalink to this headline')).
+      appendTo(this);
+    });
+    $('dt[id]').each(function() {
+      $('<a class="headerlink">\u00B6</a>').
+      attr('href', '#' + this.id).
+      attr('title', _('Permalink to this definition')).
+      appendTo(this);
+    });
+  },
+
+  /**
+   * workaround a firefox stupidity
+   */
+  fixFirefoxAnchorBug : function() {
+    if (document.location.hash && $.browser.mozilla)
+      window.setTimeout(function() {
+        document.location.href += '';
+      }, 10);
+  },
+
+  /**
+   * highlight the search words provided in the url in the text
+   */
+  highlightSearchWords : function() {
+    var params = $.getQueryParameters();
+    var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
+    if (terms.length) {
+      var body = $('div.body');
+      window.setTimeout(function() {
+        $.each(terms, function() {
+          body.highlightText(this.toLowerCase(), 'highlighted');
+        });
+      }, 10);
+      $('<p class="highlight-link"><a href="javascript:Documentation.' +
+        'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
+          .appendTo($('#searchbox'));
+    }
+  },
+
+  /**
+   * init the domain index toggle buttons
+   */
+  initIndexTable : function() {
+    var togglers = $('img.toggler').click(function() {
+      var src = $(this).attr('src');
+      var idnum = $(this).attr('id').substr(7);
+      $('tr.cg-' + idnum).toggle();
+      if (src.substr(-9) == 'minus.png')
+        $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
+      else
+        $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
+    }).css('display', '');
+    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
+        togglers.click();
+    }
+  },
+
+  /**
+   * helper function to hide the search marks again
+   */
+  hideSearchWords : function() {
+    $('#searchbox .highlight-link').fadeOut(300);
+    $('span.highlighted').removeClass('highlighted');
+  },
+
+  /**
+   * make the url absolute
+   */
+  makeURL : function(relativeURL) {
+    return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
+  },
+
+  /**
+   * get the current relative url
+   */
+  getCurrentURL : function() {
+    var path = document.location.pathname;
+    var parts = path.split(/\//);
+    $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
+      if (this == '..')
+        parts.pop();
+    });
+    var url = parts.join('/');
+    return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
+  }
+};
+
+// quick alias for translations
+_ = Documentation.gettext;
+
+$(document).ready(function() {
+  Documentation.init();
+});

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/down-pressed.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/down-pressed.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/down-pressed.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/down.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/down.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/down.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/favicon.ico
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/favicon.ico?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/favicon.ico
------------------------------------------------------------------------------
    svn:mime-type = image/x-icon

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/file.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/file.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/file.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/jquery.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/jquery.js?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_static/jquery.js (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_static/jquery.js Mon Jul  2 16:21:43 2018
@@ -0,0 +1,154 @@
+/*!
+ * jQuery JavaScript Library v1.4.2
+ * http://jquery.com/
+ *
+ * Copyright 2010, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2010, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Sat Feb 13 22:33:48 2010 -0500
+ */
+(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
+e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
+j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
+"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
+true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
+Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
+(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
+a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
+"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
+function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
+c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
+L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
+"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
+a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
+d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
+a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
+!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
+true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
+var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
+parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
+false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
+s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
+applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
+else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
+a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
+w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
+cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
+i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
+" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
+this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
+e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
+c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
+a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
+function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
+k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
+C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
+null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
+e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
+f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
+if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
+fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
+d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
+"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
+a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
+isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
+{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
+if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
+e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
+"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
+d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
+!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
+toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
+u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
+function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
+if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
+e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
+t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
+g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
+for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
+1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
+CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
+relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
+l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
+h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
+CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
+g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
+text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
+setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
+h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
+m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
+"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
+h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
+!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
+h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
+q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
+if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
+(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
+function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
+gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
+c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
+{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
+"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
+d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
+a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
+1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
+a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
+c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
+wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
+prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
+this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
+return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
+""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
+this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
+u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
+1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
+return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
+""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
+c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
+c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
+function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
+Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
+"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
+a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
+a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
+"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
+serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
+function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
+global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
+e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
+"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
+false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
+false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
+c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
+d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
+g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
+1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
+"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
+if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
+this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
+"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
+animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
+j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
+this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
+"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
+c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
+this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
+this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
+e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
+c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
+function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
+this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
+k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
+f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
+a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
+c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
+d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
+f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
+"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
+e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/llvm.css
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/llvm.css?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_static/llvm.css (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_static/llvm.css Mon Jul  2 16:21:43 2018
@@ -0,0 +1,345 @@
+/*
+ * sphinxdoc.css_t
+ * ~~~~~~~~~~~~~~~
+ *
+ * Sphinx stylesheet -- sphinxdoc theme.  Originally created by
+ * Armin Ronacher for Werkzeug.
+ *
+ * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+ at import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+    font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
+                 'Verdana', sans-serif;
+    font-size: 14px;
+    letter-spacing: -0.01em;
+    line-height: 150%;
+    text-align: center;
+    background-color: #BFD1D4;
+    color: black;
+    padding: 0;
+    border: 1px solid #aaa;
+
+    margin: 0px 80px 0px 80px;
+    min-width: 740px;
+}
+
+div.logo {
+    background-color: white;
+    text-align: left;
+    padding: 10px 10px 15px 15px;
+}
+
+div.document {
+    background-color: white;
+    text-align: left;
+    background-image: url(contents.png);
+    background-repeat: repeat-x;
+}
+
+div.bodywrapper {
+    margin: 0 240px 0 0;
+    border-right: 1px solid #ccc;
+}
+
+div.body {
+    margin: 0;
+    padding: 0.5em 20px 20px 20px;
+}
+
+div.related {
+    font-size: 1em;
+}
+
+div.related ul {
+    background-image: url(navigation.png);
+    height: 2em;
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+}
+
+div.related ul li {
+    margin: 0;
+    padding: 0;
+    height: 2em;
+    float: left;
+}
+
+div.related ul li.right {
+    float: right;
+    margin-right: 5px;
+}
+
+div.related ul li a {
+    margin: 0;
+    padding: 0 5px 0 5px;
+    line-height: 1.75em;
+    color: #EE9816;
+}
+
+div.related ul li a:hover {
+    color: #3CA8E7;
+}
+
+div.sphinxsidebarwrapper {
+    padding: 0;
+}
+
+div.sphinxsidebar {
+    margin: 0;
+    padding: 0.5em 15px 15px 0;
+    width: 210px;
+    float: right;
+    font-size: 1em;
+    text-align: left;
+}
+
+div.sphinxsidebar h3, div.sphinxsidebar h4 {
+    margin: 1em 0 0.5em 0;
+    font-size: 1em;
+    padding: 0.1em 0 0.1em 0.5em;
+    color: white;
+    border: 1px solid #86989B;
+    background-color: #AFC1C4;
+}
+
+div.sphinxsidebar h3 a {
+    color: white;
+}
+
+div.sphinxsidebar ul {
+    padding-left: 1.5em;
+    margin-top: 7px;
+    padding: 0;
+    line-height: 130%;
+}
+
+div.sphinxsidebar ul ul {
+    margin-left: 20px;
+}
+
+div.footer {
+    background-color: #E3EFF1;
+    color: #86989B;
+    padding: 3px 8px 3px 0;
+    clear: both;
+    font-size: 0.8em;
+    text-align: right;
+}
+
+div.footer a {
+    color: #86989B;
+    text-decoration: underline;
+}
+
+/* -- body styles ----------------------------------------------------------- */
+
+p {
+    margin: 0.8em 0 0.5em 0;
+}
+
+a {
+    color: #CA7900;
+    text-decoration: none;
+}
+
+a:hover {
+    color: #2491CF;
+}
+
+div.body a {
+    text-decoration: underline;
+}
+
+h1 {
+    margin: 0;
+    padding: 0.7em 0 0.3em 0;
+    font-size: 1.5em;
+    color: #11557C;
+}
+
+h2 {
+    margin: 1.3em 0 0.2em 0;
+    font-size: 1.35em;
+    padding: 0;
+}
+
+h3 {
+    margin: 1em 0 -0.3em 0;
+    font-size: 1.2em;
+}
+
+div.body h1 a, div.body h2 a, div.body h3 a, div.body h4 a, div.body h5 a, div.body h6 a {
+    color: black!important;
+}
+
+h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor {
+    display: none;
+    margin: 0 0 0 0.3em;
+    padding: 0 0.2em 0 0.2em;
+    color: #aaa!important;
+}
+
+h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor,
+h5:hover a.anchor, h6:hover a.anchor {
+    display: inline;
+}
+
+h1 a.anchor:hover, h2 a.anchor:hover, h3 a.anchor:hover, h4 a.anchor:hover,
+h5 a.anchor:hover, h6 a.anchor:hover {
+    color: #777;
+    background-color: #eee;
+}
+
+a.headerlink {
+    color: #c60f0f!important;
+    font-size: 1em;
+    margin-left: 6px;
+    padding: 0 4px 0 4px;
+    text-decoration: none!important;
+}
+
+a.headerlink:hover {
+    background-color: #ccc;
+    color: white!important;
+}
+
+cite, code, tt {
+    font-family: 'Consolas', 'Deja Vu Sans Mono',
+                 'Bitstream Vera Sans Mono', monospace;
+    font-size: 0.95em;
+    letter-spacing: 0.01em;
+}
+
+tt {
+    background-color: #f2f2f2;
+    border-bottom: 1px solid #ddd;
+    color: #333;
+}
+
+tt.descname, tt.descclassname, tt.xref {
+    border: 0;
+}
+
+hr {
+    border: 1px solid #abc;
+    margin: 2em;
+}
+
+a tt {
+    border: 0;
+    color: #CA7900;
+}
+
+a tt:hover {
+    color: #2491CF;
+}
+
+pre {
+    font-family: 'Consolas', 'Deja Vu Sans Mono',
+                 'Bitstream Vera Sans Mono', monospace;
+    font-size: 0.95em;
+    letter-spacing: 0.015em;
+    line-height: 120%;
+    padding: 0.5em;
+    border: 1px solid #ccc;
+    background-color: #f8f8f8;
+}
+
+pre a {
+    color: inherit;
+    text-decoration: underline;
+}
+
+td.linenos pre {
+    padding: 0.5em 0;
+}
+
+div.quotebar {
+    background-color: #f8f8f8;
+    max-width: 250px;
+    float: right;
+    padding: 2px 7px;
+    border: 1px solid #ccc;
+}
+
+div.topic {
+    background-color: #f8f8f8;
+}
+
+table {
+    border-collapse: collapse;
+    margin: 0 -0.5em 0 -0.5em;
+}
+
+table td, table th {
+    padding: 0.2em 0.5em 0.2em 0.5em;
+}
+
+div.admonition, div.warning {
+    font-size: 0.9em;
+    margin: 1em 0 1em 0;
+    border: 1px solid #86989B;
+    background-color: #f7f7f7;
+    padding: 0;
+}
+
+div.admonition p, div.warning p {
+    margin: 0.5em 1em 0.5em 1em;
+    padding: 0;
+}
+
+div.admonition pre, div.warning pre {
+    margin: 0.4em 1em 0.4em 1em;
+}
+
+div.admonition p.admonition-title,
+div.warning p.admonition-title {
+    margin: 0;
+    padding: 0.1em 0 0.1em 0.5em;
+    color: white;
+    border-bottom: 1px solid #86989B;
+    font-weight: bold;
+    background-color: #AFC1C4;
+}
+
+div.warning {
+    border: 1px solid #940000;
+}
+
+div.warning p.admonition-title {
+    background-color: #CF0000;
+    border-bottom-color: #940000;
+}
+
+div.admonition ul, div.admonition ol,
+div.warning ul, div.warning ol {
+    margin: 0.1em 0.5em 0.5em 3em;
+    padding: 0;
+}
+
+div.versioninfo {
+    margin: 1em 0 0 0;
+    border: 1px solid #ccc;
+    background-color: #DDEAF0;
+    padding: 8px;
+    line-height: 1.3em;
+    font-size: 0.9em;
+}
+
+.viewcode-back {
+    font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
+                 'Verdana', sans-serif;
+}
+
+div.viewcode-block:target {
+    background-color: #f4debf;
+    border-top: 1px solid #ac9;
+    border-bottom: 1px solid #ac9;
+}

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/logo.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/logo.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/logo.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/minus.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/minus.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/minus.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/navigation.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/navigation.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/navigation.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/plus.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/plus.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/plus.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/pygments.css
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/pygments.css?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_static/pygments.css (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_static/pygments.css Mon Jul  2 16:21:43 2018
@@ -0,0 +1,62 @@
+.highlight .hll { background-color: #ffffcc }
+.highlight  { background: #f0f0f0; }
+.highlight .c { color: #60a0b0; font-style: italic } /* Comment */
+.highlight .err { border: 1px solid #FF0000 } /* Error */
+.highlight .k { color: #007020; font-weight: bold } /* Keyword */
+.highlight .o { color: #666666 } /* Operator */
+.highlight .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #007020 } /* Comment.Preproc */
+.highlight .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #FF0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00A000 } /* Generic.Inserted */
+.highlight .go { color: #808080 } /* Generic.Output */
+.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #0040D0 } /* Generic.Traceback */
+.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #007020 } /* Keyword.Pseudo */
+.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #902000 } /* Keyword.Type */
+.highlight .m { color: #40a070 } /* Literal.Number */
+.highlight .s { color: #4070a0 } /* Literal.String */
+.highlight .na { color: #4070a0 } /* Name.Attribute */
+.highlight .nb { color: #007020 } /* Name.Builtin */
+.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+.highlight .no { color: #60add5 } /* Name.Constant */
+.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #007020 } /* Name.Exception */
+.highlight .nf { color: #06287e } /* Name.Function */
+.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
+.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
+.highlight .nv { color: #bb60d5 } /* Name.Variable */
+.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mf { color: #40a070 } /* Literal.Number.Float */
+.highlight .mh { color: #40a070 } /* Literal.Number.Hex */
+.highlight .mi { color: #40a070 } /* Literal.Number.Integer */
+.highlight .mo { color: #40a070 } /* Literal.Number.Oct */
+.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
+.highlight .sc { color: #4070a0 } /* Literal.String.Char */
+.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
+.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
+.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
+.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
+.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
+.highlight .sx { color: #c65d09 } /* Literal.String.Other */
+.highlight .sr { color: #235388 } /* Literal.String.Regex */
+.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
+.highlight .ss { color: #517918 } /* Literal.String.Symbol */
+.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
+.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
+.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
+.highlight .il { color: #40a070 } /* Literal.Number.Integer.Long */
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/searchtools.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/searchtools.js?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_static/searchtools.js (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_static/searchtools.js Mon Jul  2 16:21:43 2018
@@ -0,0 +1,560 @@
+/*
+ * searchtools.js_t
+ * ~~~~~~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilties for the full-text search.
+ *
+ * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/**
+ * helper function to return a node containing the
+ * search summary for a given text. keywords is a list
+ * of stemmed words, hlwords is the list of normal, unstemmed
+ * words. the first one is used to find the occurance, the
+ * latter for highlighting it.
+ */
+
+jQuery.makeSearchSummary = function(text, keywords, hlwords) {
+  var textLower = text.toLowerCase();
+  var start = 0;
+  $.each(keywords, function() {
+    var i = textLower.indexOf(this.toLowerCase());
+    if (i > -1)
+      start = i;
+  });
+  start = Math.max(start - 120, 0);
+  var excerpt = ((start > 0) ? '...' : '') +
+  $.trim(text.substr(start, 240)) +
+  ((start + 240 - text.length) ? '...' : '');
+  var rv = $('<div class="context"></div>').text(excerpt);
+  $.each(hlwords, function() {
+    rv = rv.highlightText(this, 'highlighted');
+  });
+  return rv;
+}
+
+
+/**
+ * Porter Stemmer
+ */
+var Stemmer = function() {
+
+  var step2list = {
+    ational: 'ate',
+    tional: 'tion',
+    enci: 'ence',
+    anci: 'ance',
+    izer: 'ize',
+    bli: 'ble',
+    alli: 'al',
+    entli: 'ent',
+    eli: 'e',
+    ousli: 'ous',
+    ization: 'ize',
+    ation: 'ate',
+    ator: 'ate',
+    alism: 'al',
+    iveness: 'ive',
+    fulness: 'ful',
+    ousness: 'ous',
+    aliti: 'al',
+    iviti: 'ive',
+    biliti: 'ble',
+    logi: 'log'
+  };
+
+  var step3list = {
+    icate: 'ic',
+    ative: '',
+    alize: 'al',
+    iciti: 'ic',
+    ical: 'ic',
+    ful: '',
+    ness: ''
+  };
+
+  var c = "[^aeiou]";          // consonant
+  var v = "[aeiouy]";          // vowel
+  var C = c + "[^aeiouy]*";    // consonant sequence
+  var V = v + "[aeiou]*";      // vowel sequence
+
+  var mgr0 = "^(" + C + ")?" + V + C;                      // [C]VC... is m>0
+  var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$";    // [C]VC[V] is m=1
+  var mgr1 = "^(" + C + ")?" + V + C + V + C;              // [C]VCVC... is m>1
+  var s_v   = "^(" + C + ")?" + v;                         // vowel in stem
+
+  this.stemWord = function (w) {
+    var stem;
+    var suffix;
+    var firstch;
+    var origword = w;
+
+    if (w.length < 3)
+      return w;
+
+    var re;
+    var re2;
+    var re3;
+    var re4;
+
+    firstch = w.substr(0,1);
+    if (firstch == "y")
+      w = firstch.toUpperCase() + w.substr(1);
+
+    // Step 1a
+    re = /^(.+?)(ss|i)es$/;
+    re2 = /^(.+?)([^s])s$/;
+
+    if (re.test(w))
+      w = w.replace(re,"$1$2");
+    else if (re2.test(w))
+      w = w.replace(re2,"$1$2");
+
+    // Step 1b
+    re = /^(.+?)eed$/;
+    re2 = /^(.+?)(ed|ing)$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      re = new RegExp(mgr0);
+      if (re.test(fp[1])) {
+        re = /.$/;
+        w = w.replace(re,"");
+      }
+    }
+    else if (re2.test(w)) {
+      var fp = re2.exec(w);
+      stem = fp[1];
+      re2 = new RegExp(s_v);
+      if (re2.test(stem)) {
+        w = stem;
+        re2 = /(at|bl|iz)$/;
+        re3 = new RegExp("([^aeiouylsz])\\1$");
+        re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+        if (re2.test(w))
+          w = w + "e";
+        else if (re3.test(w)) {
+          re = /.$/;
+          w = w.replace(re,"");
+        }
+        else if (re4.test(w))
+          w = w + "e";
+      }
+    }
+
+    // Step 1c
+    re = /^(.+?)y$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      re = new RegExp(s_v);
+      if (re.test(stem))
+        w = stem + "i";
+    }
+
+    // Step 2
+    re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      suffix = fp[2];
+      re = new RegExp(mgr0);
+      if (re.test(stem))
+        w = stem + step2list[suffix];
+    }
+
+    // Step 3
+    re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      suffix = fp[2];
+      re = new RegExp(mgr0);
+      if (re.test(stem))
+        w = stem + step3list[suffix];
+    }
+
+    // Step 4
+    re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+    re2 = /^(.+?)(s|t)(ion)$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      re = new RegExp(mgr1);
+      if (re.test(stem))
+        w = stem;
+    }
+    else if (re2.test(w)) {
+      var fp = re2.exec(w);
+      stem = fp[1] + fp[2];
+      re2 = new RegExp(mgr1);
+      if (re2.test(stem))
+        w = stem;
+    }
+
+    // Step 5
+    re = /^(.+?)e$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      re = new RegExp(mgr1);
+      re2 = new RegExp(meq1);
+      re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
+        w = stem;
+    }
+    re = /ll$/;
+    re2 = new RegExp(mgr1);
+    if (re.test(w) && re2.test(w)) {
+      re = /.$/;
+      w = w.replace(re,"");
+    }
+
+    // and turn initial Y back to y
+    if (firstch == "y")
+      w = firstch.toLowerCase() + w.substr(1);
+    return w;
+  }
+}
+
+
+/**
+ * Search Module
+ */
+var Search = {
+
+  _index : null,
+  _queued_query : null,
+  _pulse_status : -1,
+
+  init : function() {
+      var params = $.getQueryParameters();
+      if (params.q) {
+          var query = params.q[0];
+          $('input[name="q"]')[0].value = query;
+          this.performSearch(query);
+      }
+  },
+
+  loadIndex : function(url) {
+    $.ajax({type: "GET", url: url, data: null, success: null,
+            dataType: "script", cache: true});
+  },
+
+  setIndex : function(index) {
+    var q;
+    this._index = index;
+    if ((q = this._queued_query) !== null) {
+      this._queued_query = null;
+      Search.query(q);
+    }
+  },
+
+  hasIndex : function() {
+      return this._index !== null;
+  },
+
+  deferQuery : function(query) {
+      this._queued_query = query;
+  },
+
+  stopPulse : function() {
+      this._pulse_status = 0;
+  },
+
+  startPulse : function() {
+    if (this._pulse_status >= 0)
+        return;
+    function pulse() {
+      Search._pulse_status = (Search._pulse_status + 1) % 4;
+      var dotString = '';
+      for (var i = 0; i < Search._pulse_status; i++)
+        dotString += '.';
+      Search.dots.text(dotString);
+      if (Search._pulse_status > -1)
+        window.setTimeout(pulse, 500);
+    };
+    pulse();
+  },
+
+  /**
+   * perform a search for something
+   */
+  performSearch : function(query) {
+    // create the required interface elements
+    this.out = $('#search-results');
+    this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
+    this.dots = $('<span></span>').appendTo(this.title);
+    this.status = $('<p style="display: none"></p>').appendTo(this.out);
+    this.output = $('<ul class="search"/>').appendTo(this.out);
+
+    $('#search-progress').text(_('Preparing search...'));
+    this.startPulse();
+
+    // index already loaded, the browser was quick!
+    if (this.hasIndex())
+      this.query(query);
+    else
+      this.deferQuery(query);
+  },
+
+  query : function(query) {
+    var stopwords = ["and","then","into","it","as","are","in","if","for","no","there","their","was","is","be","to","that","but","they","not","such","with","by","a","on","these","of","will","this","near","the","or","at"];
+
+    // Stem the searchterms and add them to the correct list
+    var stemmer = new Stemmer();
+    var searchterms = [];
+    var excluded = [];
+    var hlterms = [];
+    var tmp = query.split(/\s+/);
+    var objectterms = [];
+    for (var i = 0; i < tmp.length; i++) {
+      if (tmp[i] != "") {
+          objectterms.push(tmp[i].toLowerCase());
+      }
+
+      if ($u.indexOf(stopwords, tmp[i]) != -1 || tmp[i].match(/^\d+$/) ||
+          tmp[i] == "") {
+        // skip this "word"
+        continue;
+      }
+      // stem the word
+      var word = stemmer.stemWord(tmp[i]).toLowerCase();
+      // select the correct list
+      if (word[0] == '-') {
+        var toAppend = excluded;
+        word = word.substr(1);
+      }
+      else {
+        var toAppend = searchterms;
+        hlterms.push(tmp[i].toLowerCase());
+      }
+      // only add if not already in the list
+      if (!$.contains(toAppend, word))
+        toAppend.push(word);
+    };
+    var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
+
+    // console.debug('SEARCH: searching for:');
+    // console.info('required: ', searchterms);
+    // console.info('excluded: ', excluded);
+
+    // prepare search
+    var filenames = this._index.filenames;
+    var titles = this._index.titles;
+    var terms = this._index.terms;
+    var fileMap = {};
+    var files = null;
+    // different result priorities
+    var importantResults = [];
+    var objectResults = [];
+    var regularResults = [];
+    var unimportantResults = [];
+    $('#search-progress').empty();
+
+    // lookup as object
+    for (var i = 0; i < objectterms.length; i++) {
+      var others = [].concat(objectterms.slice(0,i),
+                             objectterms.slice(i+1, objectterms.length))
+      var results = this.performObjectSearch(objectterms[i], others);
+      // Assume first word is most likely to be the object,
+      // other words more likely to be in description.
+      // Therefore put matches for earlier words first.
+      // (Results are eventually used in reverse order).
+      objectResults = results[0].concat(objectResults);
+      importantResults = results[1].concat(importantResults);
+      unimportantResults = results[2].concat(unimportantResults);
+    }
+
+    // perform the search on the required terms
+    for (var i = 0; i < searchterms.length; i++) {
+      var word = searchterms[i];
+      // no match but word was a required one
+      if ((files = terms[word]) == null)
+        break;
+      if (files.length == undefined) {
+        files = [files];
+      }
+      // create the mapping
+      for (var j = 0; j < files.length; j++) {
+        var file = files[j];
+        if (file in fileMap)
+          fileMap[file].push(word);
+        else
+          fileMap[file] = [word];
+      }
+    }
+
+    // now check if the files don't contain excluded terms
+    for (var file in fileMap) {
+      var valid = true;
+
+      // check if all requirements are matched
+      if (fileMap[file].length != searchterms.length)
+        continue;
+
+      // ensure that none of the excluded terms is in the
+      // search result.
+      for (var i = 0; i < excluded.length; i++) {
+        if (terms[excluded[i]] == file ||
+            $.contains(terms[excluded[i]] || [], file)) {
+          valid = false;
+          break;
+        }
+      }
+
+      // if we have still a valid result we can add it
+      // to the result list
+      if (valid)
+        regularResults.push([filenames[file], titles[file], '', null]);
+    }
+
+    // delete unused variables in order to not waste
+    // memory until list is retrieved completely
+    delete filenames, titles, terms;
+
+    // now sort the regular results descending by title
+    regularResults.sort(function(a, b) {
+      var left = a[1].toLowerCase();
+      var right = b[1].toLowerCase();
+      return (left > right) ? -1 : ((left < right) ? 1 : 0);
+    });
+
+    // combine all results
+    var results = unimportantResults.concat(regularResults)
+      .concat(objectResults).concat(importantResults);
+
+    // print the results
+    var resultCount = results.length;
+    function displayNextItem() {
+      // results left, load the summary and display it
+      if (results.length) {
+        var item = results.pop();
+        var listItem = $('<li style="display:none"></li>');
+        if (DOCUMENTATION_OPTIONS.FILE_SUFFIX == '') {
+          // dirhtml builder
+          var dirname = item[0] + '/';
+          if (dirname.match(/\/index\/$/)) {
+            dirname = dirname.substring(0, dirname.length-6);
+          } else if (dirname == 'index/') {
+            dirname = '';
+          }
+          listItem.append($('<a/>').attr('href',
+            DOCUMENTATION_OPTIONS.URL_ROOT + dirname +
+            highlightstring + item[2]).html(item[1]));
+        } else {
+          // normal html builders
+          listItem.append($('<a/>').attr('href',
+            item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
+            highlightstring + item[2]).html(item[1]));
+        }
+        if (item[3]) {
+          listItem.append($('<span> (' + item[3] + ')</span>'));
+          Search.output.append(listItem);
+          listItem.slideDown(5, function() {
+            displayNextItem();
+          });
+        } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
+          $.get(DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' +
+                item[0] + '.txt', function(data) {
+            if (data != '') {
+              listItem.append($.makeSearchSummary(data, searchterms, hlterms));
+              Search.output.append(listItem);
+            }
+            listItem.slideDown(5, function() {
+              displayNextItem();
+            });
+          }, "text");
+        } else {
+          // no source available, just display title
+          Search.output.append(listItem);
+          listItem.slideDown(5, function() {
+            displayNextItem();
+          });
+        }
+      }
+      // search finished, update title and status message
+      else {
+        Search.stopPulse();
+        Search.title.text(_('Search Results'));
+        if (!resultCount)
+          Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
+        else
+            Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
+        Search.status.fadeIn(500);
+      }
+    }
+    displayNextItem();
+  },
+
+  performObjectSearch : function(object, otherterms) {
+    var filenames = this._index.filenames;
+    var objects = this._index.objects;
+    var objnames = this._index.objnames;
+    var titles = this._index.titles;
+
+    var importantResults = [];
+    var objectResults = [];
+    var unimportantResults = [];
+
+    for (var prefix in objects) {
+      for (var name in objects[prefix]) {
+        var fullname = (prefix ? prefix + '.' : '') + name;
+        if (fullname.toLowerCase().indexOf(object) > -1) {
+          var match = objects[prefix][name];
+          var objname = objnames[match[1]][2];
+          var title = titles[match[0]];
+          // If more than one term searched for, we require other words to be
+          // found in the name/title/description
+          if (otherterms.length > 0) {
+            var haystack = (prefix + ' ' + name + ' ' +
+                            objname + ' ' + title).toLowerCase();
+            var allfound = true;
+            for (var i = 0; i < otherterms.length; i++) {
+              if (haystack.indexOf(otherterms[i]) == -1) {
+                allfound = false;
+                break;
+              }
+            }
+            if (!allfound) {
+              continue;
+            }
+          }
+          var descr = objname + _(', in ') + title;
+          anchor = match[3];
+          if (anchor == '')
+            anchor = fullname;
+          else if (anchor == '-')
+            anchor = objnames[match[1]][1] + '-' + fullname;
+          result = [filenames[match[0]], fullname, '#'+anchor, descr];
+          switch (match[2]) {
+          case 1: objectResults.push(result); break;
+          case 0: importantResults.push(result); break;
+          case 2: unimportantResults.push(result); break;
+          }
+        }
+      }
+    }
+
+    // sort results descending
+    objectResults.sort(function(a, b) {
+      return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0);
+    });
+
+    importantResults.sort(function(a, b) {
+      return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0);
+    });
+
+    unimportantResults.sort(function(a, b) {
+      return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0);
+    });
+
+    return [importantResults, objectResults, unimportantResults]
+  }
+}
+
+$(document).ready(function() {
+  Search.init();
+});
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/underscore.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/underscore.js?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_static/underscore.js (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_static/underscore.js Mon Jul  2 16:21:43 2018
@@ -0,0 +1,23 @@
+// Underscore.js 0.5.5
+// (c) 2009 Jeremy Ashkenas, DocumentCloud Inc.
+// Underscore is freely distributable under the terms of the MIT license.
+// Portions of Underscore are inspired by or borrowed from Prototype.js,
+// Oliver Steele's Functional, and John Resig's Micro-Templating.
+// For all details and documentation:
+// http://documentcloud.github.com/underscore/
+(function(){var j=this,n=j._,i=function(a){this._wrapped=a},m=typeof StopIteration!=="undefined"?StopIteration:"__break__",b=j._=function(a){return new i(a)};if(typeof exports!=="undefined")exports._=b;var k=Array.prototype.slice,o=Array.prototype.unshift,p=Object.prototype.toString,q=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;b.VERSION="0.5.5";b.each=function(a,c,d){try{if(a.forEach)a.forEach(c,d);else if(b.isArray(a)||b.isArguments(a))for(var e=0,f=a.length;e<f;e++)c.call(d,
+a[e],e,a);else{var g=b.keys(a);f=g.length;for(e=0;e<f;e++)c.call(d,a[g[e]],g[e],a)}}catch(h){if(h!=m)throw h;}return a};b.map=function(a,c,d){if(a&&b.isFunction(a.map))return a.map(c,d);var e=[];b.each(a,function(f,g,h){e.push(c.call(d,f,g,h))});return e};b.reduce=function(a,c,d,e){if(a&&b.isFunction(a.reduce))return a.reduce(b.bind(d,e),c);b.each(a,function(f,g,h){c=d.call(e,c,f,g,h)});return c};b.reduceRight=function(a,c,d,e){if(a&&b.isFunction(a.reduceRight))return a.reduceRight(b.bind(d,e),c);
+var f=b.clone(b.toArray(a)).reverse();b.each(f,function(g,h){c=d.call(e,c,g,h,a)});return c};b.detect=function(a,c,d){var e;b.each(a,function(f,g,h){if(c.call(d,f,g,h)){e=f;b.breakLoop()}});return e};b.select=function(a,c,d){if(a&&b.isFunction(a.filter))return a.filter(c,d);var e=[];b.each(a,function(f,g,h){c.call(d,f,g,h)&&e.push(f)});return e};b.reject=function(a,c,d){var e=[];b.each(a,function(f,g,h){!c.call(d,f,g,h)&&e.push(f)});return e};b.all=function(a,c,d){c=c||b.identity;if(a&&b.isFunction(a.every))return a.every(c,
+d);var e=true;b.each(a,function(f,g,h){(e=e&&c.call(d,f,g,h))||b.breakLoop()});return e};b.any=function(a,c,d){c=c||b.identity;if(a&&b.isFunction(a.some))return a.some(c,d);var e=false;b.each(a,function(f,g,h){if(e=c.call(d,f,g,h))b.breakLoop()});return e};b.include=function(a,c){if(b.isArray(a))return b.indexOf(a,c)!=-1;var d=false;b.each(a,function(e){if(d=e===c)b.breakLoop()});return d};b.invoke=function(a,c){var d=b.rest(arguments,2);return b.map(a,function(e){return(c?e[c]:e).apply(e,d)})};b.pluck=
+function(a,c){return b.map(a,function(d){return d[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);var e={computed:-Infinity};b.each(a,function(f,g,h){g=c?c.call(d,f,g,h):f;g>=e.computed&&(e={value:f,computed:g})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);var e={computed:Infinity};b.each(a,function(f,g,h){g=c?c.call(d,f,g,h):f;g<e.computed&&(e={value:f,computed:g})});return e.value};b.sortBy=function(a,c,d){return b.pluck(b.map(a,
+function(e,f,g){return{value:e,criteria:c.call(d,e,f,g)}}).sort(function(e,f){e=e.criteria;f=f.criteria;return e<f?-1:e>f?1:0}),"value")};b.sortedIndex=function(a,c,d){d=d||b.identity;for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?(e=g+1):(f=g)}return e};b.toArray=function(a){if(!a)return[];if(a.toArray)return a.toArray();if(b.isArray(a))return a;if(b.isArguments(a))return k.call(a);return b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=function(a,c,d){return c&&!d?k.call(a,
+0,c):a[0]};b.rest=function(a,c,d){return k.call(a,b.isUndefined(c)||d?1:c)};b.last=function(a){return a[a.length-1]};b.compact=function(a){return b.select(a,function(c){return!!c})};b.flatten=function(a){return b.reduce(a,[],function(c,d){if(b.isArray(d))return c.concat(b.flatten(d));c.push(d);return c})};b.without=function(a){var c=b.rest(arguments);return b.select(a,function(d){return!b.include(c,d)})};b.uniq=function(a,c){return b.reduce(a,[],function(d,e,f){if(0==f||(c===true?b.last(d)!=e:!b.include(d,
+e)))d.push(e);return d})};b.intersect=function(a){var c=b.rest(arguments);return b.select(b.uniq(a),function(d){return b.all(c,function(e){return b.indexOf(e,d)>=0})})};b.zip=function(){for(var a=b.toArray(arguments),c=b.max(b.pluck(a,"length")),d=new Array(c),e=0;e<c;e++)d[e]=b.pluck(a,String(e));return d};b.indexOf=function(a,c){if(a.indexOf)return a.indexOf(c);for(var d=0,e=a.length;d<e;d++)if(a[d]===c)return d;return-1};b.lastIndexOf=function(a,c){if(a.lastIndexOf)return a.lastIndexOf(c);for(var d=
+a.length;d--;)if(a[d]===c)return d;return-1};b.range=function(a,c,d){var e=b.toArray(arguments),f=e.length<=1;a=f?0:e[0];c=f?e[0]:e[1];d=e[2]||1;e=Math.ceil((c-a)/d);if(e<=0)return[];e=new Array(e);f=a;for(var g=0;1;f+=d){if((d>0?f-c:c-f)>=0)return e;e[g++]=f}};b.bind=function(a,c){var d=b.rest(arguments,2);return function(){return a.apply(c||j,d.concat(b.toArray(arguments)))}};b.bindAll=function(a){var c=b.rest(arguments);if(c.length==0)c=b.functions(a);b.each(c,function(d){a[d]=b.bind(a[d],a)});
+return a};b.delay=function(a,c){var d=b.rest(arguments,2);return setTimeout(function(){return a.apply(a,d)},c)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(b.rest(arguments)))};b.wrap=function(a,c){return function(){var d=[a].concat(b.toArray(arguments));return c.apply(c,d)}};b.compose=function(){var a=b.toArray(arguments);return function(){for(var c=b.toArray(arguments),d=a.length-1;d>=0;d--)c=[a[d].apply(this,c)];return c[0]}};b.keys=function(a){if(b.isArray(a))return b.range(0,a.length);
+var c=[];for(var d in a)q.call(a,d)&&c.push(d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=function(a){return b.select(b.keys(a),function(c){return b.isFunction(a[c])}).sort()};b.extend=function(a,c){for(var d in c)a[d]=c[d];return a};b.clone=function(a){if(b.isArray(a))return a.slice(0);return b.extend({},a)};b.tap=function(a,c){c(a);return a};b.isEqual=function(a,c){if(a===c)return true;var d=typeof a;if(d!=typeof c)return false;if(a==c)return true;if(!a&&c||a&&!c)return false;
+if(a.isEqual)return a.isEqual(c);if(b.isDate(a)&&b.isDate(c))return a.getTime()===c.getTime();if(b.isNaN(a)&&b.isNaN(c))return true;if(b.isRegExp(a)&&b.isRegExp(c))return a.source===c.source&&a.global===c.global&&a.ignoreCase===c.ignoreCase&&a.multiline===c.multiline;if(d!=="object")return false;if(a.length&&a.length!==c.length)return false;d=b.keys(a);var e=b.keys(c);if(d.length!=e.length)return false;for(var f in a)if(!b.isEqual(a[f],c[f]))return false;return true};b.isEmpty=function(a){return b.keys(a).length==
+0};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=function(a){return!!(a&&a.concat&&a.unshift)};b.isArguments=function(a){return a&&b.isNumber(a.length)&&!b.isArray(a)&&!r.call(a,"length")};b.isFunction=function(a){return!!(a&&a.constructor&&a.call&&a.apply)};b.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)};b.isNumber=function(a){return p.call(a)==="[object Number]"};b.isDate=function(a){return!!(a&&a.getTimezoneOffset&&a.setUTCFullYear)};b.isRegExp=function(a){return!!(a&&
+a.test&&a.exec&&(a.ignoreCase||a.ignoreCase===false))};b.isNaN=function(a){return b.isNumber(a)&&isNaN(a)};b.isNull=function(a){return a===null};b.isUndefined=function(a){return typeof a=="undefined"};b.noConflict=function(){j._=n;return this};b.identity=function(a){return a};b.breakLoop=function(){throw m;};var s=0;b.uniqueId=function(a){var c=s++;return a?a+c:c};b.template=function(a,c){a=new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+a.replace(/[\r\t\n]/g,
+" ").replace(/'(?=[^%]*%>)/g,"\t").split("'").join("\\'").split("\t").join("'").replace(/<%=(.+?)%>/g,"',$1,'").split("<%").join("');").split("%>").join("p.push('")+"');}return p.join('');");return c?a(c):a};b.forEach=b.each;b.foldl=b.inject=b.reduce;b.foldr=b.reduceRight;b.filter=b.select;b.every=b.all;b.some=b.any;b.head=b.first;b.tail=b.rest;b.methods=b.functions;var l=function(a,c){return c?b(a).chain():a};b.each(b.functions(b),function(a){var c=b[a];i.prototype[a]=function(){var d=b.toArray(arguments);
+o.call(d,this._wrapped);return l(c.apply(b,d),this._chain)}});b.each(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var c=Array.prototype[a];i.prototype[a]=function(){c.apply(this._wrapped,arguments);return l(this._wrapped,this._chain)}});b.each(["concat","join","slice"],function(a){var c=Array.prototype[a];i.prototype[a]=function(){return l(c.apply(this._wrapped,arguments),this._chain)}});i.prototype.chain=function(){this._chain=true;return this};i.prototype.value=function(){return this._wrapped}})();

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/up-pressed.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/up-pressed.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/up-pressed.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/up.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/up.png?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/_static/up.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: www-releases/trunk/6.0.1/tools/lld/docs/_static/websupport.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/_static/websupport.js?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/_static/websupport.js (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/_static/websupport.js Mon Jul  2 16:21:43 2018
@@ -0,0 +1,808 @@
+/*
+ * websupport.js
+ * ~~~~~~~~~~~~~
+ *
+ * sphinx.websupport utilties for all documentation.
+ *
+ * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+(function($) {
+  $.fn.autogrow = function() {
+    return this.each(function() {
+    var textarea = this;
+
+    $.fn.autogrow.resize(textarea);
+
+    $(textarea)
+      .focus(function() {
+        textarea.interval = setInterval(function() {
+          $.fn.autogrow.resize(textarea);
+        }, 500);
+      })
+      .blur(function() {
+        clearInterval(textarea.interval);
+      });
+    });
+  };
+
+  $.fn.autogrow.resize = function(textarea) {
+    var lineHeight = parseInt($(textarea).css('line-height'), 10);
+    var lines = textarea.value.split('\n');
+    var columns = textarea.cols;
+    var lineCount = 0;
+    $.each(lines, function() {
+      lineCount += Math.ceil(this.length / columns) || 1;
+    });
+    var height = lineHeight * (lineCount + 1);
+    $(textarea).css('height', height);
+  };
+})(jQuery);
+
+(function($) {
+  var comp, by;
+
+  function init() {
+    initEvents();
+    initComparator();
+  }
+
+  function initEvents() {
+    $('a.comment-close').live("click", function(event) {
+      event.preventDefault();
+      hide($(this).attr('id').substring(2));
+    });
+    $('a.vote').live("click", function(event) {
+      event.preventDefault();
+      handleVote($(this));
+    });
+    $('a.reply').live("click", function(event) {
+      event.preventDefault();
+      openReply($(this).attr('id').substring(2));
+    });
+    $('a.close-reply').live("click", function(event) {
+      event.preventDefault();
+      closeReply($(this).attr('id').substring(2));
+    });
+    $('a.sort-option').live("click", function(event) {
+      event.preventDefault();
+      handleReSort($(this));
+    });
+    $('a.show-proposal').live("click", function(event) {
+      event.preventDefault();
+      showProposal($(this).attr('id').substring(2));
+    });
+    $('a.hide-proposal').live("click", function(event) {
+      event.preventDefault();
+      hideProposal($(this).attr('id').substring(2));
+    });
+    $('a.show-propose-change').live("click", function(event) {
+      event.preventDefault();
+      showProposeChange($(this).attr('id').substring(2));
+    });
+    $('a.hide-propose-change').live("click", function(event) {
+      event.preventDefault();
+      hideProposeChange($(this).attr('id').substring(2));
+    });
+    $('a.accept-comment').live("click", function(event) {
+      event.preventDefault();
+      acceptComment($(this).attr('id').substring(2));
+    });
+    $('a.delete-comment').live("click", function(event) {
+      event.preventDefault();
+      deleteComment($(this).attr('id').substring(2));
+    });
+    $('a.comment-markup').live("click", function(event) {
+      event.preventDefault();
+      toggleCommentMarkupBox($(this).attr('id').substring(2));
+    });
+  }
+
+  /**
+   * Set comp, which is a comparator function used for sorting and
+   * inserting comments into the list.
+   */
+  function setComparator() {
+    // If the first three letters are "asc", sort in ascending order
+    // and remove the prefix.
+    if (by.substring(0,3) == 'asc') {
+      var i = by.substring(3);
+      comp = function(a, b) { return a[i] - b[i]; };
+    } else {
+      // Otherwise sort in descending order.
+      comp = function(a, b) { return b[by] - a[by]; };
+    }
+
+    // Reset link styles and format the selected sort option.
+    $('a.sel').attr('href', '#').removeClass('sel');
+    $('a.by' + by).removeAttr('href').addClass('sel');
+  }
+
+  /**
+   * Create a comp function. If the user has preferences stored in
+   * the sortBy cookie, use those, otherwise use the default.
+   */
+  function initComparator() {
+    by = 'rating'; // Default to sort by rating.
+    // If the sortBy cookie is set, use that instead.
+    if (document.cookie.length > 0) {
+      var start = document.cookie.indexOf('sortBy=');
+      if (start != -1) {
+        start = start + 7;
+        var end = document.cookie.indexOf(";", start);
+        if (end == -1) {
+          end = document.cookie.length;
+          by = unescape(document.cookie.substring(start, end));
+        }
+      }
+    }
+    setComparator();
+  }
+
+  /**
+   * Show a comment div.
+   */
+  function show(id) {
+    $('#ao' + id).hide();
+    $('#ah' + id).show();
+    var context = $.extend({id: id}, opts);
+    var popup = $(renderTemplate(popupTemplate, context)).hide();
+    popup.find('textarea[name="proposal"]').hide();
+    popup.find('a.by' + by).addClass('sel');
+    var form = popup.find('#cf' + id);
+    form.submit(function(event) {
+      event.preventDefault();
+      addComment(form);
+    });
+    $('#s' + id).after(popup);
+    popup.slideDown('fast', function() {
+      getComments(id);
+    });
+  }
+
+  /**
+   * Hide a comment div.
+   */
+  function hide(id) {
+    $('#ah' + id).hide();
+    $('#ao' + id).show();
+    var div = $('#sc' + id);
+    div.slideUp('fast', function() {
+      div.remove();
+    });
+  }
+
+  /**
+   * Perform an ajax request to get comments for a node
+   * and insert the comments into the comments tree.
+   */
+  function getComments(id) {
+    $.ajax({
+     type: 'GET',
+     url: opts.getCommentsURL,
+     data: {node: id},
+     success: function(data, textStatus, request) {
+       var ul = $('#cl' + id);
+       var speed = 100;
+       $('#cf' + id)
+         .find('textarea[name="proposal"]')
+         .data('source', data.source);
+
+       if (data.comments.length === 0) {
+         ul.html('<li>No comments yet.</li>');
+         ul.data('empty', true);
+       } else {
+         // If there are comments, sort them and put them in the list.
+         var comments = sortComments(data.comments);
+         speed = data.comments.length * 100;
+         appendComments(comments, ul);
+         ul.data('empty', false);
+       }
+       $('#cn' + id).slideUp(speed + 200);
+       ul.slideDown(speed);
+     },
+     error: function(request, textStatus, error) {
+       showError('Oops, there was a problem retrieving the comments.');
+     },
+     dataType: 'json'
+    });
+  }
+
+  /**
+   * Add a comment via ajax and insert the comment into the comment tree.
+   */
+  function addComment(form) {
+    var node_id = form.find('input[name="node"]').val();
+    var parent_id = form.find('input[name="parent"]').val();
+    var text = form.find('textarea[name="comment"]').val();
+    var proposal = form.find('textarea[name="proposal"]').val();
+
+    if (text == '') {
+      showError('Please enter a comment.');
+      return;
+    }
+
+    // Disable the form that is being submitted.
+    form.find('textarea,input').attr('disabled', 'disabled');
+
+    // Send the comment to the server.
+    $.ajax({
+      type: "POST",
+      url: opts.addCommentURL,
+      dataType: 'json',
+      data: {
+        node: node_id,
+        parent: parent_id,
+        text: text,
+        proposal: proposal
+      },
+      success: function(data, textStatus, error) {
+        // Reset the form.
+        if (node_id) {
+          hideProposeChange(node_id);
+        }
+        form.find('textarea')
+          .val('')
+          .add(form.find('input'))
+          .removeAttr('disabled');
+	var ul = $('#cl' + (node_id || parent_id));
+        if (ul.data('empty')) {
+          $(ul).empty();
+          ul.data('empty', false);
+        }
+        insertComment(data.comment);
+        var ao = $('#ao' + node_id);
+        ao.find('img').attr({'src': opts.commentBrightImage});
+        if (node_id) {
+          // if this was a "root" comment, remove the commenting box
+          // (the user can get it back by reopening the comment popup)
+          $('#ca' + node_id).slideUp();
+        }
+      },
+      error: function(request, textStatus, error) {
+        form.find('textarea,input').removeAttr('disabled');
+        showError('Oops, there was a problem adding the comment.');
+      }
+    });
+  }
+
+  /**
+   * Recursively append comments to the main comment list and children
+   * lists, creating the comment tree.
+   */
+  function appendComments(comments, ul) {
+    $.each(comments, function() {
+      var div = createCommentDiv(this);
+      ul.append($(document.createElement('li')).html(div));
+      appendComments(this.children, div.find('ul.comment-children'));
+      // To avoid stagnating data, don't store the comments children in data.
+      this.children = null;
+      div.data('comment', this);
+    });
+  }
+
+  /**
+   * After adding a new comment, it must be inserted in the correct
+   * location in the comment tree.
+   */
+  function insertComment(comment) {
+    var div = createCommentDiv(comment);
+
+    // To avoid stagnating data, don't store the comments children in data.
+    comment.children = null;
+    div.data('comment', comment);
+
+    var ul = $('#cl' + (comment.node || comment.parent));
+    var siblings = getChildren(ul);
+
+    var li = $(document.createElement('li'));
+    li.hide();
+
+    // Determine where in the parents children list to insert this comment.
+    for(i=0; i < siblings.length; i++) {
+      if (comp(comment, siblings[i]) <= 0) {
+        $('#cd' + siblings[i].id)
+          .parent()
+          .before(li.html(div));
+        li.slideDown('fast');
+        return;
+      }
+    }
+
+    // If we get here, this comment rates lower than all the others,
+    // or it is the only comment in the list.
+    ul.append(li.html(div));
+    li.slideDown('fast');
+  }
+
+  function acceptComment(id) {
+    $.ajax({
+      type: 'POST',
+      url: opts.acceptCommentURL,
+      data: {id: id},
+      success: function(data, textStatus, request) {
+        $('#cm' + id).fadeOut('fast');
+        $('#cd' + id).removeClass('moderate');
+      },
+      error: function(request, textStatus, error) {
+        showError('Oops, there was a problem accepting the comment.');
+      }
+    });
+  }
+
+  function deleteComment(id) {
+    $.ajax({
+      type: 'POST',
+      url: opts.deleteCommentURL,
+      data: {id: id},
+      success: function(data, textStatus, request) {
+        var div = $('#cd' + id);
+        if (data == 'delete') {
+          // Moderator mode: remove the comment and all children immediately
+          div.slideUp('fast', function() {
+            div.remove();
+          });
+          return;
+        }
+        // User mode: only mark the comment as deleted
+        div
+          .find('span.user-id:first')
+          .text('[deleted]').end()
+          .find('div.comment-text:first')
+          .text('[deleted]').end()
+          .find('#cm' + id + ', #dc' + id + ', #ac' + id + ', #rc' + id +
+                ', #sp' + id + ', #hp' + id + ', #cr' + id + ', #rl' + id)
+          .remove();
+        var comment = div.data('comment');
+        comment.username = '[deleted]';
+        comment.text = '[deleted]';
+        div.data('comment', comment);
+      },
+      error: function(request, textStatus, error) {
+        showError('Oops, there was a problem deleting the comment.');
+      }
+    });
+  }
+
+  function showProposal(id) {
+    $('#sp' + id).hide();
+    $('#hp' + id).show();
+    $('#pr' + id).slideDown('fast');
+  }
+
+  function hideProposal(id) {
+    $('#hp' + id).hide();
+    $('#sp' + id).show();
+    $('#pr' + id).slideUp('fast');
+  }
+
+  function showProposeChange(id) {
+    $('#pc' + id).hide();
+    $('#hc' + id).show();
+    var textarea = $('#pt' + id);
+    textarea.val(textarea.data('source'));
+    $.fn.autogrow.resize(textarea[0]);
+    textarea.slideDown('fast');
+  }
+
+  function hideProposeChange(id) {
+    $('#hc' + id).hide();
+    $('#pc' + id).show();
+    var textarea = $('#pt' + id);
+    textarea.val('').removeAttr('disabled');
+    textarea.slideUp('fast');
+  }
+
+  function toggleCommentMarkupBox(id) {
+    $('#mb' + id).toggle();
+  }
+
+  /** Handle when the user clicks on a sort by link. */
+  function handleReSort(link) {
+    var classes = link.attr('class').split(/\s+/);
+    for (var i=0; i<classes.length; i++) {
+      if (classes[i] != 'sort-option') {
+	by = classes[i].substring(2);
+      }
+    }
+    setComparator();
+    // Save/update the sortBy cookie.
+    var expiration = new Date();
+    expiration.setDate(expiration.getDate() + 365);
+    document.cookie= 'sortBy=' + escape(by) +
+                     ';expires=' + expiration.toUTCString();
+    $('ul.comment-ul').each(function(index, ul) {
+      var comments = getChildren($(ul), true);
+      comments = sortComments(comments);
+      appendComments(comments, $(ul).empty());
+    });
+  }
+
+  /**
+   * Function to process a vote when a user clicks an arrow.
+   */
+  function handleVote(link) {
+    if (!opts.voting) {
+      showError("You'll need to login to vote.");
+      return;
+    }
+
+    var id = link.attr('id');
+    if (!id) {
+      // Didn't click on one of the voting arrows.
+      return;
+    }
+    // If it is an unvote, the new vote value is 0,
+    // Otherwise it's 1 for an upvote, or -1 for a downvote.
+    var value = 0;
+    if (id.charAt(1) != 'u') {
+      value = id.charAt(0) == 'u' ? 1 : -1;
+    }
+    // The data to be sent to the server.
+    var d = {
+      comment_id: id.substring(2),
+      value: value
+    };
+
+    // Swap the vote and unvote links.
+    link.hide();
+    $('#' + id.charAt(0) + (id.charAt(1) == 'u' ? 'v' : 'u') + d.comment_id)
+      .show();
+
+    // The div the comment is displayed in.
+    var div = $('div#cd' + d.comment_id);
+    var data = div.data('comment');
+
+    // If this is not an unvote, and the other vote arrow has
+    // already been pressed, unpress it.
+    if ((d.value !== 0) && (data.vote === d.value * -1)) {
+      $('#' + (d.value == 1 ? 'd' : 'u') + 'u' + d.comment_id).hide();
+      $('#' + (d.value == 1 ? 'd' : 'u') + 'v' + d.comment_id).show();
+    }
+
+    // Update the comments rating in the local data.
+    data.rating += (data.vote === 0) ? d.value : (d.value - data.vote);
+    data.vote = d.value;
+    div.data('comment', data);
+
+    // Change the rating text.
+    div.find('.rating:first')
+      .text(data.rating + ' point' + (data.rating == 1 ? '' : 's'));
+
+    // Send the vote information to the server.
+    $.ajax({
+      type: "POST",
+      url: opts.processVoteURL,
+      data: d,
+      error: function(request, textStatus, error) {
+        showError('Oops, there was a problem casting that vote.');
+      }
+    });
+  }
+
+  /**
+   * Open a reply form used to reply to an existing comment.
+   */
+  function openReply(id) {
+    // Swap out the reply link for the hide link
+    $('#rl' + id).hide();
+    $('#cr' + id).show();
+
+    // Add the reply li to the children ul.
+    var div = $(renderTemplate(replyTemplate, {id: id})).hide();
+    $('#cl' + id)
+      .prepend(div)
+      // Setup the submit handler for the reply form.
+      .find('#rf' + id)
+      .submit(function(event) {
+        event.preventDefault();
+        addComment($('#rf' + id));
+        closeReply(id);
+      })
+      .find('input[type=button]')
+      .click(function() {
+        closeReply(id);
+      });
+    div.slideDown('fast', function() {
+      $('#rf' + id).find('textarea').focus();
+    });
+  }
+
+  /**
+   * Close the reply form opened with openReply.
+   */
+  function closeReply(id) {
+    // Remove the reply div from the DOM.
+    $('#rd' + id).slideUp('fast', function() {
+      $(this).remove();
+    });
+
+    // Swap out the hide link for the reply link
+    $('#cr' + id).hide();
+    $('#rl' + id).show();
+  }
+
+  /**
+   * Recursively sort a tree of comments using the comp comparator.
+   */
+  function sortComments(comments) {
+    comments.sort(comp);
+    $.each(comments, function() {
+      this.children = sortComments(this.children);
+    });
+    return comments;
+  }
+
+  /**
+   * Get the children comments from a ul. If recursive is true,
+   * recursively include childrens' children.
+   */
+  function getChildren(ul, recursive) {
+    var children = [];
+    ul.children().children("[id^='cd']")
+      .each(function() {
+        var comment = $(this).data('comment');
+        if (recursive)
+          comment.children = getChildren($(this).find('#cl' + comment.id), true);
+        children.push(comment);
+      });
+    return children;
+  }
+
+  /** Create a div to display a comment in. */
+  function createCommentDiv(comment) {
+    if (!comment.displayed && !opts.moderator) {
+      return $('<div class="moderate">Thank you!  Your comment will show up '
+               + 'once it is has been approved by a moderator.</div>');
+    }
+    // Prettify the comment rating.
+    comment.pretty_rating = comment.rating + ' point' +
+      (comment.rating == 1 ? '' : 's');
+    // Make a class (for displaying not yet moderated comments differently)
+    comment.css_class = comment.displayed ? '' : ' moderate';
+    // Create a div for this comment.
+    var context = $.extend({}, opts, comment);
+    var div = $(renderTemplate(commentTemplate, context));
+
+    // If the user has voted on this comment, highlight the correct arrow.
+    if (comment.vote) {
+      var direction = (comment.vote == 1) ? 'u' : 'd';
+      div.find('#' + direction + 'v' + comment.id).hide();
+      div.find('#' + direction + 'u' + comment.id).show();
+    }
+
+    if (opts.moderator || comment.text != '[deleted]') {
+      div.find('a.reply').show();
+      if (comment.proposal_diff)
+        div.find('#sp' + comment.id).show();
+      if (opts.moderator && !comment.displayed)
+        div.find('#cm' + comment.id).show();
+      if (opts.moderator || (opts.username == comment.username))
+        div.find('#dc' + comment.id).show();
+    }
+    return div;
+  }
+
+  /**
+   * A simple template renderer. Placeholders such as <%id%> are replaced
+   * by context['id'] with items being escaped. Placeholders such as <#id#>
+   * are not escaped.
+   */
+  function renderTemplate(template, context) {
+    var esc = $(document.createElement('div'));
+
+    function handle(ph, escape) {
+      var cur = context;
+      $.each(ph.split('.'), function() {
+        cur = cur[this];
+      });
+      return escape ? esc.text(cur || "").html() : cur;
+    }
+
+    return template.replace(/<([%#])([\w\.]*)\1>/g, function() {
+      return handle(arguments[2], arguments[1] == '%' ? true : false);
+    });
+  }
+
+  /** Flash an error message briefly. */
+  function showError(message) {
+    $(document.createElement('div')).attr({'class': 'popup-error'})
+      .append($(document.createElement('div'))
+               .attr({'class': 'error-message'}).text(message))
+      .appendTo('body')
+      .fadeIn("slow")
+      .delay(2000)
+      .fadeOut("slow");
+  }
+
+  /** Add a link the user uses to open the comments popup. */
+  $.fn.comment = function() {
+    return this.each(function() {
+      var id = $(this).attr('id').substring(1);
+      var count = COMMENT_METADATA[id];
+      var title = count + ' comment' + (count == 1 ? '' : 's');
+      var image = count > 0 ? opts.commentBrightImage : opts.commentImage;
+      var addcls = count == 0 ? ' nocomment' : '';
+      $(this)
+        .append(
+          $(document.createElement('a')).attr({
+            href: '#',
+            'class': 'sphinx-comment-open' + addcls,
+            id: 'ao' + id
+          })
+            .append($(document.createElement('img')).attr({
+              src: image,
+              alt: 'comment',
+              title: title
+            }))
+            .click(function(event) {
+              event.preventDefault();
+              show($(this).attr('id').substring(2));
+            })
+        )
+        .append(
+          $(document.createElement('a')).attr({
+            href: '#',
+            'class': 'sphinx-comment-close hidden',
+            id: 'ah' + id
+          })
+            .append($(document.createElement('img')).attr({
+              src: opts.closeCommentImage,
+              alt: 'close',
+              title: 'close'
+            }))
+            .click(function(event) {
+              event.preventDefault();
+              hide($(this).attr('id').substring(2));
+            })
+        );
+    });
+  };
+
+  var opts = {
+    processVoteURL: '/_process_vote',
+    addCommentURL: '/_add_comment',
+    getCommentsURL: '/_get_comments',
+    acceptCommentURL: '/_accept_comment',
+    deleteCommentURL: '/_delete_comment',
+    commentImage: '/static/_static/comment.png',
+    closeCommentImage: '/static/_static/comment-close.png',
+    loadingImage: '/static/_static/ajax-loader.gif',
+    commentBrightImage: '/static/_static/comment-bright.png',
+    upArrow: '/static/_static/up.png',
+    downArrow: '/static/_static/down.png',
+    upArrowPressed: '/static/_static/up-pressed.png',
+    downArrowPressed: '/static/_static/down-pressed.png',
+    voting: false,
+    moderator: false
+  };
+
+  if (typeof COMMENT_OPTIONS != "undefined") {
+    opts = jQuery.extend(opts, COMMENT_OPTIONS);
+  }
+
+  var popupTemplate = '\
+    <div class="sphinx-comments" id="sc<%id%>">\
+      <p class="sort-options">\
+        Sort by:\
+        <a href="#" class="sort-option byrating">best rated</a>\
+        <a href="#" class="sort-option byascage">newest</a>\
+        <a href="#" class="sort-option byage">oldest</a>\
+      </p>\
+      <div class="comment-header">Comments</div>\
+      <div class="comment-loading" id="cn<%id%>">\
+        loading comments... <img src="<%loadingImage%>" alt="" /></div>\
+      <ul id="cl<%id%>" class="comment-ul"></ul>\
+      <div id="ca<%id%>">\
+      <p class="add-a-comment">Add a comment\
+        (<a href="#" class="comment-markup" id="ab<%id%>">markup</a>):</p>\
+      <div class="comment-markup-box" id="mb<%id%>">\
+        reStructured text markup: <i>*emph*</i>, <b>**strong**</b>, \
+        <tt>``code``</tt>, \
+        code blocks: <tt>::</tt> and an indented block after blank line</div>\
+      <form method="post" id="cf<%id%>" class="comment-form" action="">\
+        <textarea name="comment" cols="80"></textarea>\
+        <p class="propose-button">\
+          <a href="#" id="pc<%id%>" class="show-propose-change">\
+            Propose a change ▹\
+          </a>\
+          <a href="#" id="hc<%id%>" class="hide-propose-change">\
+            Propose a change ▿\
+          </a>\
+        </p>\
+        <textarea name="proposal" id="pt<%id%>" cols="80"\
+                  spellcheck="false"></textarea>\
+        <input type="submit" value="Add comment" />\
+        <input type="hidden" name="node" value="<%id%>" />\
+        <input type="hidden" name="parent" value="" />\
+      </form>\
+      </div>\
+    </div>';
+
+  var commentTemplate = '\
+    <div id="cd<%id%>" class="sphinx-comment<%css_class%>">\
+      <div class="vote">\
+        <div class="arrow">\
+          <a href="#" id="uv<%id%>" class="vote" title="vote up">\
+            <img src="<%upArrow%>" />\
+          </a>\
+          <a href="#" id="uu<%id%>" class="un vote" title="vote up">\
+            <img src="<%upArrowPressed%>" />\
+          </a>\
+        </div>\
+        <div class="arrow">\
+          <a href="#" id="dv<%id%>" class="vote" title="vote down">\
+            <img src="<%downArrow%>" id="da<%id%>" />\
+          </a>\
+          <a href="#" id="du<%id%>" class="un vote" title="vote down">\
+            <img src="<%downArrowPressed%>" />\
+          </a>\
+        </div>\
+      </div>\
+      <div class="comment-content">\
+        <p class="tagline comment">\
+          <span class="user-id"><%username%></span>\
+          <span class="rating"><%pretty_rating%></span>\
+          <span class="delta"><%time.delta%></span>\
+        </p>\
+        <div class="comment-text comment"><#text#></div>\
+        <p class="comment-opts comment">\
+          <a href="#" class="reply hidden" id="rl<%id%>">reply ▹</a>\
+          <a href="#" class="close-reply" id="cr<%id%>">reply ▿</a>\
+          <a href="#" id="sp<%id%>" class="show-proposal">proposal ▹</a>\
+          <a href="#" id="hp<%id%>" class="hide-proposal">proposal ▿</a>\
+          <a href="#" id="dc<%id%>" class="delete-comment hidden">delete</a>\
+          <span id="cm<%id%>" class="moderation hidden">\
+            <a href="#" id="ac<%id%>" class="accept-comment">accept</a>\
+          </span>\
+        </p>\
+        <pre class="proposal" id="pr<%id%>">\
+<#proposal_diff#>\
+        </pre>\
+          <ul class="comment-children" id="cl<%id%>"></ul>\
+        </div>\
+        <div class="clearleft"></div>\
+      </div>\
+    </div>';
+
+  var replyTemplate = '\
+    <li>\
+      <div class="reply-div" id="rd<%id%>">\
+        <form id="rf<%id%>">\
+          <textarea name="comment" cols="80"></textarea>\
+          <input type="submit" value="Add reply" />\
+          <input type="button" value="Cancel" />\
+          <input type="hidden" name="parent" value="<%id%>" />\
+          <input type="hidden" name="node" value="" />\
+        </form>\
+      </div>\
+    </li>';
+
+  $(document).ready(function() {
+    init();
+  });
+})(jQuery);
+
+$(document).ready(function() {
+  // add comment anchors for all paragraphs that are commentable
+  $('.sphinx-has-comment').comment();
+
+  // highlight search words in search results
+  $("div.context").each(function() {
+    var params = $.getQueryParameters();
+    var terms = (params.q) ? params.q[0].split(/\s+/) : [];
+    var result = $(this);
+    $.each(terms, function() {
+      result.highlightText(this.toLowerCase(), 'highlighted');
+    });
+  });
+
+  // directly open comment window if requested
+  var anchor = document.location.hash;
+  if (anchor.substring(0, 9) == '#comment-') {
+    $('#ao' + anchor.substring(9)).click();
+    document.location.hash = '#s' + anchor.substring(9);
+  }
+});

Added: www-releases/trunk/6.0.1/tools/lld/docs/design.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/design.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/design.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/design.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,535 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Linker Design — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+    <link rel="up" title="ATOM-based lld" href="AtomLLD.html" />
+    <link rel="next" title="Getting Started: Building and Running lld" href="getting_started.html" />
+    <link rel="prev" title="ATOM-based lld" href="AtomLLD.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="getting_started.html" title="Getting Started: Building and Running lld"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="AtomLLD.html" title="ATOM-based lld"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" accesskey="U">ATOM-based lld</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Linker Design</a><ul>
+<li><a class="reference internal" href="#introduction">Introduction</a></li>
+<li><a class="reference internal" href="#atom-model">Atom Model</a></li>
+<li><a class="reference internal" href="#file-model">File Model</a><ul>
+<li><a class="reference internal" href="#object-file">Object File</a></li>
+<li><a class="reference internal" href="#static-library-archive">Static Library (Archive)</a></li>
+<li><a class="reference internal" href="#dynamic-library-shared-object">Dynamic Library (Shared Object)</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#linking-steps">Linking Steps</a><ul>
+<li><a class="reference internal" href="#input-files">Input Files</a></li>
+<li><a class="reference internal" href="#resolving">Resolving</a></li>
+<li><a class="reference internal" href="#passes">Passes</a></li>
+<li><a class="reference internal" href="#generate-output-file">Generate Output File</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#lld-file-representations">lld::File representations</a><ul>
+<li><a class="reference internal" href="#textual-representations-in-yaml">Textual representations in YAML</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#testing">Testing</a><ul>
+<li><a class="reference internal" href="#resolver-testing">Resolver testing</a></li>
+<li><a class="reference internal" href="#passes-testing">Passes testing</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#design-issues">Design Issues</a><ul>
+<li><a class="reference internal" href="#debug-info">Debug Info</a></li>
+<li><a class="reference internal" href="#cpu-and-os-specific-functionality">CPU and OS specific functionality</a></li>
+<li><a class="reference internal" href="#file-attributes">File Attributes</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="AtomLLD.html"
+                        title="previous chapter">ATOM-based lld</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="getting_started.html"
+                        title="next chapter">Getting Started: Building and Running lld</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/design.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="linker-design">
+<span id="design"></span><h1>Linker Design<a class="headerlink" href="#linker-design" title="Permalink to this headline">¶</a></h1>
+<p>Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see <a class="reference internal" href="index.html"><em>LLD - The LLVM Linker</em></a>.</p>
+<div class="section" id="introduction">
+<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
+<p>lld is a new generation of linker.  It is not “section” based like traditional
+linkers which mostly just interlace sections from multiple object files into the
+output file.  Instead, lld is based on “Atoms”.  Traditional section based
+linking work well for simple linking, but their model makes advanced linking
+features difficult to implement.  Features like dead code stripping, reordering
+functions for locality, and C++ coalescing require the linker to work at a finer
+grain.</p>
+<p>An atom is an indivisible chunk of code or data.  An atom has a set of
+attributes, such as: name, scope, content-type, alignment, etc.  An atom also
+has a list of References.  A Reference contains: a kind, an optional offset, an
+optional addend, and an optional target atom.</p>
+<p>The Atom model allows the linker to use standard graph theory models for linking
+data structures.  Each atom is a node, and each Reference is an edge.  The
+feature of dead code stripping is implemented by following edges to mark all
+live atoms, and then delete the non-live atoms.</p>
+</div>
+<div class="section" id="atom-model">
+<h2>Atom Model<a class="headerlink" href="#atom-model" title="Permalink to this headline">¶</a></h2>
+<p>An atom is an indivisible chunk of code or data.  Typically each user written
+function or global variable is an atom.  In addition, the compiler may emit
+other atoms, such as for literal c-strings or floating point constants, or for
+runtime data structures like dwarf unwind info or pointers to initializers.</p>
+<p>A simple “hello world” object file would be modeled like this:</p>
+<img alt="_images/hello.png" src="_images/hello.png" />
+<p>There are three atoms: main, a proxy for printf, and an anonymous atom
+containing the c-string literal “hello world”.  The Atom “main” has two
+references. One is the call site for the call to printf, and the other is a
+reference for the instruction that loads the address of the c-string literal.</p>
+<p>There are only four different types of atoms:</p>
+<blockquote>
+<div><ul>
+<li><dl class="first docutils">
+<dt>DefinedAtom</dt>
+<dd><p class="first last">95% of all atoms.  This is a chunk of code or data</p>
+</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>UndefinedAtom</dt>
+<dd><p class="first last">This is a place holder in object files for a reference to some atom
+outside the translation unit.During core linking it is usually replaced
+by (coalesced into) another Atom.</p>
+</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>SharedLibraryAtom</dt>
+<dd><p class="first">If a required symbol name turns out to be defined in a dynamic shared
+library (and not some object file).  A SharedLibraryAtom is the
+placeholder Atom used to represent that fact.</p>
+<p class="last">It is similar to an UndefinedAtom, but it also tracks information
+about the associated shared library.</p>
+</dd>
+</dl>
+</li>
+<li><dl class="first docutils">
+<dt>AbsoluteAtom</dt>
+<dd><p class="first last">This is for embedded support where some stuff is implemented in ROM at
+some fixed address.  This atom has no content.  It is just an address
+that the Writer needs to fix up any references to point to.</p>
+</dd>
+</dl>
+</li>
+</ul>
+</div></blockquote>
+</div>
+<div class="section" id="file-model">
+<h2>File Model<a class="headerlink" href="#file-model" title="Permalink to this headline">¶</a></h2>
+<p>The linker views the input files as basically containers of Atoms and
+References, and just a few attributes of their own.  The linker works with three
+kinds of files: object files, static libraries, and dynamic shared libraries.
+Each kind of file has reader object which presents the file in the model
+expected by the linker.</p>
+<div class="section" id="object-file">
+<h3>Object File<a class="headerlink" href="#object-file" title="Permalink to this headline">¶</a></h3>
+<p>An object file is just a container of atoms.  When linking an object file, a
+reader is instantiated which parses the object file and instantiates a set of
+atoms representing all content in the .o file.  The linker adds all those atoms
+to a master graph.</p>
+</div>
+<div class="section" id="static-library-archive">
+<h3>Static Library (Archive)<a class="headerlink" href="#static-library-archive" title="Permalink to this headline">¶</a></h3>
+<p>This is the traditional unix static archive which is just a collection of object
+files with a “table of contents”. When linking with a static library, by default
+nothing is added to the master graph of atoms. Instead, if after merging all
+atoms from object files into a master graph, if any “undefined” atoms are left
+remaining in the master graph, the linker reads the table of contents for each
+static library to see if any have the needed definitions. If so, the set of
+atoms from the specified object file in the static library is added to the
+master graph of atoms.</p>
+</div>
+<div class="section" id="dynamic-library-shared-object">
+<h3>Dynamic Library (Shared Object)<a class="headerlink" href="#dynamic-library-shared-object" title="Permalink to this headline">¶</a></h3>
+<p>Dynamic libraries are different than object files and static libraries in that
+they don’t directly add any content.  Their purpose is to check at build time
+that the remaining undefined references can be resolved at runtime, and provide
+a list of dynamic libraries (SO_NEEDED) that will be needed at runtime.  The way
+this is modeled in the linker is that a dynamic library contributes no atoms to
+the initial graph of atoms.  Instead, (like static libraries) if there are
+“undefined” atoms in the master graph of all atoms, then each dynamic library is
+checked to see if exports the required symbol. If so, a “shared library” atom is
+instantiated by the by the reader which the linker uses to replace the
+“undefined” atom.</p>
+</div>
+</div>
+<div class="section" id="linking-steps">
+<h2>Linking Steps<a class="headerlink" href="#linking-steps" title="Permalink to this headline">¶</a></h2>
+<p>Through the use of abstract Atoms, the core of linking is architecture
+independent and file format independent.  All command line parsing is factored
+out into a separate “options” abstraction which enables the linker to be driven
+with different command line sets.</p>
+<p>The overall steps in linking are:</p>
+<blockquote>
+<div><ol class="arabic simple">
+<li>Command line processing</li>
+<li>Parsing input files</li>
+<li>Resolving</li>
+<li>Passes/Optimizations</li>
+<li>Generate output file</li>
+</ol>
+</div></blockquote>
+<p>The Resolving and Passes steps are done purely on the master graph of atoms, so
+they have no notion of file formats such as mach-o or ELF.</p>
+<div class="section" id="input-files">
+<h3>Input Files<a class="headerlink" href="#input-files" title="Permalink to this headline">¶</a></h3>
+<p>Existing developer tools using different file formats for object files.
+A goal of lld is to be file format independent.  This is done
+through a plug-in model for reading object files. The lld::Reader is the base
+class for all object file readers.  A Reader follows the factory method pattern.
+A Reader instantiates an lld::File object (which is a graph of Atoms) from a
+given object file (on disk or in-memory).</p>
+<p>Every Reader subclass defines its own “options” class (for instance the mach-o
+Reader defines the class ReaderOptionsMachO).  This options class is the
+one-and-only way to control how the Reader operates when parsing an input file
+into an Atom graph.  For instance, you may want the Reader to only accept
+certain architectures.  The options class can be instantiated from command
+line options, or it can be subclassed and the ivars programmatically set.</p>
+</div>
+<div class="section" id="resolving">
+<h3>Resolving<a class="headerlink" href="#resolving" title="Permalink to this headline">¶</a></h3>
+<p>The resolving step takes all the atoms’ graphs from each object file and
+combines them into one master object graph.  Unfortunately, it is not as simple
+as appending the atom list from each file into one big list.  There are many
+cases where atoms need to be coalesced.  That is, two or more atoms need to be
+coalesced into one atom.  This is necessary to support: C language “tentative
+definitions”, C++ weak symbols for templates and inlines defined in headers,
+replacing undefined atoms with actual definition atoms, and for merging copies
+of constants like c-strings and floating point constants.</p>
+<p>The linker support coalescing by-name and by-content. By-name is used for
+tentative definitions and weak symbols.  By-content is used for constant data
+that can be merged.</p>
+<p>The resolving process maintains some global linking “state”, including a “symbol
+table” which is a map from llvm::StringRef to lld::Atom*.  With these data
+structures, the linker iterates all atoms in all input files. For each atom, it
+checks if the atom is named and has a global or hidden scope.  If so, the atom
+is added to the symbol table map.  If there already is a matching atom in that
+table, that means the current atom needs to be coalesced with the found atom, or
+it is a multiple definition error.</p>
+<p>When all initial input file atoms have been processed by the resolver, a scan is
+made to see if there are any undefined atoms in the graph.  If there are, the
+linker scans all libraries (both static and dynamic) looking for definitions to
+replace the undefined atoms.  It is an error if any undefined atoms are left
+remaining.</p>
+<p>Dead code stripping (if requested) is done at the end of resolving.  The linker
+does a simple mark-and-sweep. It starts with “root” atoms (like “main” in a main
+executable) and follows each references and marks each Atom that it visits as
+“live”.  When done, all atoms not marked “live” are removed.</p>
+<p>The result of the Resolving phase is the creation of an lld::File object.  The
+goal is that the lld::File model is <strong>the</strong> internal representation
+throughout the linker. The file readers parse (mach-o, ELF, COFF) into an
+lld::File.  The file writers (mach-o, ELF, COFF) taken an lld::File and produce
+their file kind, and every Pass only operates on an lld::File.  This is not only
+a simpler, consistent model, but it enables the state of the linker to be dumped
+at any point in the link for testing purposes.</p>
+</div>
+<div class="section" id="passes">
+<h3>Passes<a class="headerlink" href="#passes" title="Permalink to this headline">¶</a></h3>
+<p>The Passes step is an open ended set of routines that each get a change to
+modify or enhance the current lld::File object. Some example Passes are:</p>
+<blockquote>
+<div><ul class="simple">
+<li>stub (PLT) generation</li>
+<li>GOT instantiation</li>
+<li>order_file optimization</li>
+<li>branch island generation</li>
+<li>branch shim generation</li>
+<li>Objective-C optimizations (Darwin specific)</li>
+<li>TLV instantiation (Darwin specific)</li>
+<li>DTrace probe processing (Darwin specific)</li>
+<li>compact unwind encoding (Darwin specific)</li>
+</ul>
+</div></blockquote>
+<p>Some of these passes are specific to Darwin’s runtime environments.  But many of
+the passes are applicable to any OS (such as generating branch island for out of
+range branch instructions).</p>
+<p>The general structure of a pass is to iterate through the atoms in the current
+lld::File object, inspecting each atom and doing something.  For instance, the
+stub pass, looks for call sites to shared library atoms (e.g. call to printf).
+It then instantiates a “stub” atom (PLT entry) and a “lazy pointer” atom for
+each proxy atom needed, and these new atoms are added to the current lld::File
+object.  Next, all the noted call sites to shared library atoms have their
+References altered to point to the stub atom instead of the shared library atom.</p>
+</div>
+<div class="section" id="generate-output-file">
+<h3>Generate Output File<a class="headerlink" href="#generate-output-file" title="Permalink to this headline">¶</a></h3>
+<p>Once the passes are done, the output file writer is given current lld::File
+object.  The writer’s job is to create the executable content file wrapper and
+place the content of the atoms into it.</p>
+<p>lld uses a plug-in model for writing output files. All concrete writers (e.g.
+ELF, mach-o, etc) are subclasses of the lld::Writer class.</p>
+<p>Unlike the Reader class which has just one method to instantiate an lld::File,
+the Writer class has multiple methods.  The crucial method is to generate the
+output file, but there are also methods which allow the Writer to contribute
+Atoms to the resolver and specify passes to run.</p>
+<p>An example of contributing
+atoms is that if the Writer knows a main executable is being linked and such
+an executable requires a specially named entry point (e.g. “_main”), the Writer
+can add an UndefinedAtom with that special name to the resolver.  This will
+cause the resolver to issue an error if that symbol is not defined.</p>
+<p>Sometimes a Writer supports lazily created symbols, such as names for the start
+of sections. To support this, the Writer can create a File object which vends
+no initial atoms, but does lazily supply atoms by name as needed.</p>
+<p>Every Writer subclass defines its own “options” class (for instance the mach-o
+Writer defines the class WriterOptionsMachO).  This options class is the
+one-and-only way to control how the Writer operates when producing an output
+file from an Atom graph.  For instance, you may want the Writer to optimize
+the output for certain OS versions, or strip local symbols, etc. The options
+class can be instantiated from command line options, or it can be subclassed
+and the ivars programmatically set.</p>
+</div>
+</div>
+<div class="section" id="lld-file-representations">
+<h2>lld::File representations<a class="headerlink" href="#lld-file-representations" title="Permalink to this headline">¶</a></h2>
+<p>Just as LLVM has three representations of its IR model, lld has two
+representations of its File/Atom/Reference model:</p>
+<blockquote>
+<div><ul class="simple">
+<li>In memory, abstract C++ classes (lld::Atom, lld::Reference, and lld::File).</li>
+<li>textual (in YAML)</li>
+</ul>
+</div></blockquote>
+<div class="section" id="textual-representations-in-yaml">
+<h3>Textual representations in YAML<a class="headerlink" href="#textual-representations-in-yaml" title="Permalink to this headline">¶</a></h3>
+<p>In designing a textual format we want something easy for humans to read and easy
+for the linker to parse.  Since an atom has lots of attributes most of which are
+usually just the default, we should define default values for every attribute so
+that those can be omitted from the text representation.  Here is the atoms for a
+simple hello world program expressed in YAML:</p>
+<div class="highlight-python"><pre>target-triple:   x86_64-apple-darwin11
+
+atoms:
+    - name:    _main
+      scope:   global
+      type:    code
+      content: [ 55, 48, 89, e5, 48, 8d, 3d, 00, 00, 00, 00, 30, c0, e8, 00, 00,
+                 00, 00, 31, c0, 5d, c3 ]
+      fixups:
+      - offset: 07
+        kind:   pcrel32
+        target: 2
+      - offset: 0E
+        kind:   call32
+        target: _fprintf
+
+    - type:    c-string
+      content: [ 73, 5A, 00 ]
+
+...</pre>
+</div>
+<p>The biggest use for the textual format will be writing test cases.  Writing test
+cases in C is problematic because the compiler may vary its output over time for
+its own optimization reasons which my inadvertently disable or break the linker
+feature trying to be tested. By writing test cases in the linkers own textual
+format, we can exactly specify every attribute of every atom and thus target
+specific linker logic.</p>
+<p>The textual/YAML format follows the ReaderWriter patterns used in lld. The lld
+library comes with the classes: ReaderYAML and WriterYAML.</p>
+</div>
+</div>
+<div class="section" id="testing">
+<h2>Testing<a class="headerlink" href="#testing" title="Permalink to this headline">¶</a></h2>
+<p>The lld project contains a test suite which is being built up as new code is
+added to lld.  All new lld functionality should have a tests added to the test
+suite.  The test suite is <a class="reference external" href="http://llvm.org/cmds/lit.html/">lit</a> driven.  Each
+test is a text file with comments telling lit how to run the test and check the
+result To facilitate testing, the lld project builds a tool called lld-core.
+This tool reads a YAML file (default from stdin), parses it into one or more
+lld::File objects in memory and then feeds those lld::File objects to the
+resolver phase.</p>
+<div class="section" id="resolver-testing">
+<h3>Resolver testing<a class="headerlink" href="#resolver-testing" title="Permalink to this headline">¶</a></h3>
+<p>Basic testing is the “core linking” or resolving phase.  That is where the
+linker merges object files.  All test cases are written in YAML.  One feature of
+YAML is that it allows multiple “documents” to be encoding in one YAML stream.
+That means one text file can appear to the linker as multiple .o files - the
+normal case for the linker.</p>
+<p>Here is a simple example of a core linking test case. It checks that an
+undefined atom from one file will be replaced by a definition from another
+file:</p>
+<div class="highlight-python"><pre># RUN: lld-core %s | FileCheck %s
+
+#
+# Test that undefined atoms are replaced with defined atoms.
+#
+
+---
+atoms:
+    - name:              foo
+      definition:        undefined
+---
+atoms:
+    - name:              foo
+      scope:             global
+      type:              code
+...
+
+# CHECK:       name:       foo
+# CHECK:       scope:      global
+# CHECK:       type:       code
+# CHECK-NOT:   name:       foo
+# CHECK:       ...</pre>
+</div>
+</div>
+<div class="section" id="passes-testing">
+<h3>Passes testing<a class="headerlink" href="#passes-testing" title="Permalink to this headline">¶</a></h3>
+<p>Since Passes just operate on an lld::File object, the lld-core tool has the
+option to run a particular pass (after resolving).  Thus, you can write a YAML
+test case with carefully crafted input to exercise areas of a Pass and the check
+the resulting lld::File object as represented in YAML.</p>
+</div>
+</div>
+<div class="section" id="design-issues">
+<h2>Design Issues<a class="headerlink" href="#design-issues" title="Permalink to this headline">¶</a></h2>
+<p>There are a number of open issues in the design of lld.  The plan is to wait and
+make these design decisions when we need to.</p>
+<div class="section" id="debug-info">
+<h3>Debug Info<a class="headerlink" href="#debug-info" title="Permalink to this headline">¶</a></h3>
+<p>Currently, the lld model says nothing about debug info.  But the most popular
+debug format is DWARF and there is some impedance mismatch with the lld model
+and DWARF.  In lld there are just Atoms and only Atoms that need to be in a
+special section at runtime have an associated section.  Also, Atoms do not have
+addresses.  The way DWARF is spec’ed different parts of DWARF are supposed to go
+into specially named sections and the DWARF references function code by address.</p>
+</div>
+<div class="section" id="cpu-and-os-specific-functionality">
+<h3>CPU and OS specific functionality<a class="headerlink" href="#cpu-and-os-specific-functionality" title="Permalink to this headline">¶</a></h3>
+<p>Currently, lld has an abstract “Platform” that deals with any CPU or OS specific
+differences in linking.  We just keep adding virtual methods to the base
+Platform class as we find linking areas that might need customization.  At some
+point we’ll need to structure this better.</p>
+</div>
+<div class="section" id="file-attributes">
+<h3>File Attributes<a class="headerlink" href="#file-attributes" title="Permalink to this headline">¶</a></h3>
+<p>Currently, lld::File just has a path and a way to iterate its atoms. We will
+need to add more attributes on a File.  For example, some equivalent to the
+target triple.  There is also a number of cached or computed attributes that
+could make various Passes more efficient.  For instance, on Darwin there are a
+number of Objective-C optimizations that can be done by a Pass.  But it would
+improve the plain C case if the Objective-C optimization Pass did not have to
+scan all atoms looking for any Objective-C data structures.  This could be done
+if the lld::File object had an attribute that said if the file had any
+Objective-C data in it. The Resolving phase would then be required to “merge”
+that attribute as object files are added.</p>
+</div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="getting_started.html" title="Getting Started: Building and Running lld"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="AtomLLD.html" title="ATOM-based lld"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/development.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/development.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/development.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/development.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,169 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Development — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+    <link rel="up" title="ATOM-based lld" href="AtomLLD.html" />
+    <link rel="next" title="Developing lld Readers" href="Readers.html" />
+    <link rel="prev" title="Getting Started: Building and Running lld" href="getting_started.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="Readers.html" title="Developing lld Readers"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="getting_started.html" title="Getting Started: Building and Running lld"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" accesskey="U">ATOM-based lld</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Development</a><ul>
+<li><a class="reference internal" href="#creating-a-reader">Creating a Reader</a></li>
+<li><a class="reference internal" href="#modifying-the-driver">Modifying the Driver</a></li>
+<li><a class="reference internal" href="#debugging">Debugging</a></li>
+<li><a class="reference internal" href="#documentation">Documentation</a><ul>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="getting_started.html"
+                        title="previous chapter">Getting Started: Building and Running lld</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="Readers.html"
+                        title="next chapter">Developing lld Readers</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/development.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="development">
+<span id="id1"></span><h1>Development<a class="headerlink" href="#development" title="Permalink to this headline">¶</a></h1>
+<p>Note: this document discuss Mach-O port of LLD. For ELF and COFF,
+see <a class="reference internal" href="index.html"><em>LLD - The LLVM Linker</em></a>.</p>
+<p>lld is developed as part of the <a class="reference external" href="http://llvm.org">LLVM</a> project.</p>
+<div class="section" id="creating-a-reader">
+<h2>Creating a Reader<a class="headerlink" href="#creating-a-reader" title="Permalink to this headline">¶</a></h2>
+<p>See the <a class="reference internal" href="Readers.html#readers"><em>Creating a Reader</em></a> guide.</p>
+</div>
+<div class="section" id="modifying-the-driver">
+<h2>Modifying the Driver<a class="headerlink" href="#modifying-the-driver" title="Permalink to this headline">¶</a></h2>
+<p>See <a class="reference internal" href="Driver.html"><em>Driver</em></a>.</p>
+</div>
+<div class="section" id="debugging">
+<h2>Debugging<a class="headerlink" href="#debugging" title="Permalink to this headline">¶</a></h2>
+<p>You can run lld with <tt class="docutils literal"><span class="pre">-mllvm</span> <span class="pre">-debug</span></tt> command line options to enable debugging
+printouts. If you want to enable debug information for some specific pass, you
+can run it with <tt class="docutils literal"><span class="pre">-mllvm</span> <span class="pre">'-debug-only=<pass>'</span></tt>, where pass is a name used in
+the <tt class="docutils literal"><span class="pre">DEBUG_WITH_TYPE()</span></tt> macro.</p>
+</div>
+<div class="section" id="documentation">
+<h2>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h2>
+<p>The project documentation is written in reStructuredText and generated using the
+<a class="reference external" href="http://sphinx.pocoo.org/">Sphinx</a> documentation generator. For more
+information on writing documentation for the project, see the
+<a class="reference internal" href="sphinx_intro.html#sphinx-intro"><em>Sphinx Introduction for LLVM Developers</em></a>.</p>
+<div class="toctree-wrapper compound">
+</div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="Readers.html" title="Developing lld Readers"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="getting_started.html" title="Getting Started: Building and Running lld"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/genindex.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/genindex.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/genindex.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/genindex.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,137 @@
+
+
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Index — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="#" title="General Index"
+             accesskey="I">index</a></li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+
+   
+
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+
+<h1 id="index">Index</h1>
+
+<div class="genindex-jumpbox">
+ <a href="#C"><strong>C</strong></a>
+ | <a href="#R"><strong>R</strong></a>
+ 
+</div>
+<h2 id="C">C</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%" valign="top"><dl>
+      
+  <dt><a href="Readers.html#createReaderFoo__ReaderOptionsFooR">createReaderFoo (C++ function)</a>
+  </dt>
+
+  </dl></td>
+</tr></table>
+
+<h2 id="R">R</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%" valign="top"><dl>
+      
+  <dt><a href="Readers.html#ReaderFoo">ReaderFoo (C++ class)</a>
+  </dt>
+
+  </dl></td>
+  <td style="width: 33%" valign="top"><dl>
+      
+  <dt><a href="Readers.html#ReaderOptionsFoo">ReaderOptionsFoo (C++ class)</a>
+  </dt>
+
+  </dl></td>
+</tr></table>
+
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="#" title="General Index"
+             >index</a></li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/getting_started.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/getting_started.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/getting_started.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/getting_started.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,265 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Getting Started: Building and Running lld — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+    <link rel="up" title="ATOM-based lld" href="AtomLLD.html" />
+    <link rel="next" title="Development" href="development.html" />
+    <link rel="prev" title="Linker Design" href="design.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="development.html" title="Development"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="design.html" title="Linker Design"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" accesskey="U">ATOM-based lld</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Getting Started: Building and Running lld</a><ul>
+<li><a class="reference internal" href="#building-lld">Building lld</a><ul>
+<li><a class="reference internal" href="#on-unix-like-systems">On Unix-like Systems</a></li>
+<li><a class="reference internal" href="#using-visual-studio">Using Visual Studio</a></li>
+<li><a class="reference internal" href="#more-information">More Information</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="design.html"
+                        title="previous chapter">Linker Design</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="development.html"
+                        title="next chapter">Development</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/getting_started.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="getting-started-building-and-running-lld">
+<span id="getting-started"></span><h1>Getting Started: Building and Running lld<a class="headerlink" href="#getting-started-building-and-running-lld" title="Permalink to this headline">¶</a></h1>
+<p>This page gives you the shortest path to checking out and building lld. If you
+run into problems, please file bugs in the <a class="reference external" href="http://llvm.org/bugs/">LLVM Bugzilla</a></p>
+<div class="section" id="building-lld">
+<h2>Building lld<a class="headerlink" href="#building-lld" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="on-unix-like-systems">
+<h3>On Unix-like Systems<a class="headerlink" href="#on-unix-like-systems" title="Permalink to this headline">¶</a></h3>
+<ol class="arabic simple">
+<li>Get the required tools.</li>
+</ol>
+<blockquote>
+<div><ul class="simple">
+<li><a class="reference external" href="http://www.cmake.org/cmake/resources/software.html">CMake 2.8</a>+.</li>
+<li>make (or any build system CMake supports).</li>
+<li><a class="reference external" href="http://clang.llvm.org/">Clang 3.1</a>+ or GCC 4.7+ (C++11 support is required).<ul>
+<li>If using Clang, you will also need <a class="reference external" href="http://libcxx.llvm.org/">libc++</a>.</li>
+</ul>
+</li>
+<li><a class="reference external" href="http://python.org/download/">Python 2.4</a>+ (not 3.x) for running tests.</li>
+</ul>
+</div></blockquote>
+<ol class="arabic" start="2">
+<li><p class="first">Check out LLVM:</p>
+<div class="highlight-python"><pre>$ cd path/to/llvm-project
+$ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm</pre>
+</div>
+</li>
+<li><p class="first">Check out lld:</p>
+<div class="highlight-python"><pre>$ cd llvm/tools
+$ svn co http://llvm.org/svn/llvm-project/lld/trunk lld</pre>
+</div>
+</li>
+</ol>
+<blockquote>
+<div><ul class="simple">
+<li>lld can also be checked out to <tt class="docutils literal"><span class="pre">path/to/llvm-project</span></tt> and built as an external
+project.</li>
+</ul>
+</div></blockquote>
+<ol class="arabic" start="4">
+<li><p class="first">Build LLVM and lld:</p>
+<div class="highlight-python"><pre>$ cd path/to/llvm-build/llvm (out of source build required)
+$ cmake -G "Unix Makefiles" path/to/llvm-project/llvm
+$ make</pre>
+</div>
+</li>
+</ol>
+<blockquote>
+<div><ul>
+<li><p class="first">If you want to build with clang and it is not the default compiler or
+it is installed in an alternate location, you’ll need to tell the cmake tool
+the location of the C and C++ compiler via CMAKE_C_COMPILER and
+CMAKE_CXX_COMPILER. For example:</p>
+<div class="highlight-python"><pre>$ cmake -DCMAKE_CXX_COMPILER=/path/to/clang++ -DCMAKE_C_COMPILER=/path/to/clang ...</pre>
+</div>
+</li>
+</ul>
+</div></blockquote>
+<ol class="arabic" start="5">
+<li><p class="first">Test:</p>
+<div class="highlight-python"><pre>$ make check-lld</pre>
+</div>
+</li>
+</ol>
+</div>
+<div class="section" id="using-visual-studio">
+<h3>Using Visual Studio<a class="headerlink" href="#using-visual-studio" title="Permalink to this headline">¶</a></h3>
+<ol class="arabic simple">
+<li>Get the required tools.</li>
+</ol>
+<blockquote>
+<div><ul class="simple">
+<li><a class="reference external" href="http://www.cmake.org/cmake/resources/software.html">CMake 2.8</a>+.</li>
+<li><a class="reference external" href="http://www.microsoft.com/visualstudio/11/en-us">Visual Studio 12 (2013) or later</a> (required for C++11 support)</li>
+<li><a class="reference external" href="http://python.org/download/">Python 2.4</a>+ (not 3.x) for running tests.</li>
+</ul>
+</div></blockquote>
+<ol class="arabic">
+<li><p class="first">Check out LLVM:</p>
+<div class="highlight-python"><pre>$ cd path/to/llvm-project
+$ svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm</pre>
+</div>
+</li>
+<li><p class="first">Check out lld:</p>
+<div class="highlight-python"><pre>$ cd llvm/tools
+$ svn co http://llvm.org/svn/llvm-project/lld/trunk lld</pre>
+</div>
+</li>
+</ol>
+<blockquote>
+<div><ul class="simple">
+<li>lld can also be checked out to <tt class="docutils literal"><span class="pre">path/to/llvm-project</span></tt> and built as an external
+project.</li>
+</ul>
+</div></blockquote>
+<ol class="arabic">
+<li><p class="first">Generate Visual Studio project files:</p>
+<div class="highlight-python"><pre>$ cd path/to/llvm-build/llvm (out of source build required)
+$ cmake -G "Visual Studio 11" path/to/llvm-project/llvm</pre>
+</div>
+</li>
+<li><p class="first">Build</p>
+</li>
+</ol>
+<blockquote>
+<div><ul class="simple">
+<li>Open LLVM.sln in Visual Studio.</li>
+<li>Build the <tt class="docutils literal"><span class="pre">ALL_BUILD</span></tt> target.</li>
+</ul>
+</div></blockquote>
+<ol class="arabic simple">
+<li>Test</li>
+</ol>
+<blockquote>
+<div><ul class="simple">
+<li>Build the <tt class="docutils literal"><span class="pre">lld-test</span></tt> target.</li>
+</ul>
+</div></blockquote>
+</div>
+<div class="section" id="more-information">
+<h3>More Information<a class="headerlink" href="#more-information" title="Permalink to this headline">¶</a></h3>
+<p>For more information on using CMake see the <a class="reference external" href="http://llvm.org/docs/CMake.html">LLVM CMake guide</a>.</p>
+</div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="development.html" title="Development"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="design.html" title="Linker Design"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/index.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/index.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/index.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/index.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,342 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>LLD - The LLVM Linker — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="#" />
+    <link rel="next" title="The ELF, COFF and Wasm Linkers" href="NewLLD.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="#"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="NewLLD.html" title="The ELF, COFF and Wasm Linkers"
+             accesskey="N">next</a> |</li>
+  <li><a href="#">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="#">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">LLD - The LLVM Linker</a><ul>
+<li><a class="reference internal" href="#features">Features</a></li>
+<li><a class="reference internal" href="#performance">Performance</a></li>
+<li><a class="reference internal" href="#build">Build</a></li>
+<li><a class="reference internal" href="#using-lld">Using LLD</a></li>
+<li><a class="reference internal" href="#history">History</a></li>
+<li><a class="reference internal" href="#internals">Internals</a><ul>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+  <h4>Next topic</h4>
+  <p class="topless"><a href="NewLLD.html"
+                        title="next chapter">The ELF, COFF and Wasm Linkers</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/index.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul><h3>Bugs</h3>
+
+<p>lld bugs should be reported at the
+  LLVM <a href="https://bugs.llvm.org/">Bugzilla</a>.</p>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="lld-the-llvm-linker">
+<h1>LLD - The LLVM Linker<a class="headerlink" href="#lld-the-llvm-linker" title="Permalink to this headline">¶</a></h1>
+<p>LLD is a linker from the LLVM project. That is a drop-in replacement
+for system linkers and runs much faster than them. It also provides
+features that are useful for toolchain developers.</p>
+<p>The linker supports ELF (Unix), PE/COFF (Windows), Mach-O (macOS) and
+WebAssembly in descending order of completeness. Internally, LLD consists of
+several different linkers. The ELF port is the one that will be described in
+this document. The PE/COFF port is almost complete except the lack of the
+Windows debug info (PDB) support. The WebAssembly port is still a work in
+progress (See <a class="reference internal" href="WebAssembly.html"><em>WebAssembly lld port</em></a>).  The Mach-O port is built based on a
+different architecture than the others. For the details about Mach-O, please
+read <a class="reference internal" href="AtomLLD.html"><em>ATOM-based lld</em></a>.</p>
+<div class="section" id="features">
+<h2>Features<a class="headerlink" href="#features" title="Permalink to this headline">¶</a></h2>
+<ul>
+<li><p class="first">LLD is a drop-in replacement for the GNU linkers. That accepts the
+same command line arguments and linker scripts as GNU.</p>
+<p>We are currently working closely with the FreeBSD project to make
+LLD default system linker in future versions of the operating
+system, so we are serious about addressing compatibility issues. As
+of February 2017, LLD is able to link the entire FreeBSD/amd64 base
+system including the kernel. With a few work-in-progress patches it
+can link approximately 95% of the ports collection on AMD64. For the
+details, see <a class="reference external" href="https://www.freebsd.org/news/status/report-2016-10-2016-12.html#Using-LLVM%27s-LLD-Linker-as-FreeBSD%27s-System-Linker">FreeBSD quarterly status report</a>.</p>
+</li>
+<li><p class="first">LLD is very fast. When you link a large program on a multicore
+machine, you can expect that LLD runs more than twice as fast as GNU
+gold linker. Your milage may vary, though.</p>
+</li>
+<li><p class="first">It supports various CPUs/ABIs including x86-64, x86, x32, AArch64,
+ARM, MIPS 32/64 big/little-endian, PowerPC, PowerPC 64 and AMDGPU.
+Among these, x86-64 is the most well-supported target and have
+reached production quality. AArch64 and MIPS seem decent too. x86
+should be OK but not well tested yet. ARM support is being developed
+actively.</p>
+</li>
+<li><p class="first">It is always a cross-linker, meaning that it always supports all the
+above targets however it was built. In fact, we don’t provide a
+build-time option to enable/disable each target. This should make it
+easy to use our linker as part of a cross-compile toolchain.</p>
+</li>
+<li><p class="first">You can embed LLD to your program to eliminate dependency to
+external linkers. All you have to do is to construct object files
+and command line arguments just like you would do to invoke an
+external linker and then call the linker’s main function,
+<tt class="docutils literal"><span class="pre">lld::elf::link</span></tt>, from your code.</p>
+</li>
+<li><p class="first">It is small. We are using LLVM libObject library to read from object
+files, so it is not completely a fair comparison, but as of February
+2017, LLD/ELF consists only of 21k lines of C++ code while GNU gold
+consists of 198k lines of C++ code.</p>
+</li>
+<li><p class="first">Link-time optimization (LTO) is supported by default. Essentially,
+all you have to do to do LTO is to pass the <tt class="docutils literal"><span class="pre">-flto</span></tt> option to clang.
+Then clang creates object files not in the native object file format
+but in LLVM bitcode format. LLD reads bitcode object files, compile
+them using LLVM and emit an output file. Because in this way LLD can
+see the entire program, it can do the whole program optimization.</p>
+</li>
+<li><p class="first">Some very old features for ancient Unix systems (pre-90s or even
+before that) have been removed. Some default settings have been
+tuned for the 21st century. For example, the stack is marked as
+non-executable by default to tighten security.</p>
+</li>
+</ul>
+</div>
+<div class="section" id="performance">
+<h2>Performance<a class="headerlink" href="#performance" title="Permalink to this headline">¶</a></h2>
+<p>This is a link time comparison on a 2-socket 20-core 40-thread Xeon
+E5-2680 2.80 GHz machine with an SSD drive. We ran gold and lld with
+or without multi-threading support. To disable multi-threading, we
+added <tt class="docutils literal"><span class="pre">-no-threads</span></tt> to the command lines.</p>
+<table border="1" class="docutils">
+<colgroup>
+<col width="12%" />
+<col width="11%" />
+<col width="12%" />
+<col width="20%" />
+<col width="18%" />
+<col width="15%" />
+<col width="13%" />
+</colgroup>
+<tbody valign="top">
+<tr class="row-odd"><td>Program</td>
+<td>Output size</td>
+<td>GNU ld</td>
+<td>GNU gold w/o threads</td>
+<td>GNU gold w/threads</td>
+<td>lld w/o threads</td>
+<td>lld w/threads</td>
+</tr>
+<tr class="row-even"><td>ffmpeg dbg</td>
+<td>92 MiB</td>
+<td>1.72s</td>
+<td>1.16s</td>
+<td>1.01s</td>
+<td>0.60s</td>
+<td>0.35s</td>
+</tr>
+<tr class="row-odd"><td>mysqld dbg</td>
+<td>154 MiB</td>
+<td>8.50s</td>
+<td>2.96s</td>
+<td>2.68s</td>
+<td>1.06s</td>
+<td>0.68s</td>
+</tr>
+<tr class="row-even"><td>clang dbg</td>
+<td>1.67 GiB</td>
+<td>104.03s</td>
+<td>34.18s</td>
+<td>23.49s</td>
+<td>14.82s</td>
+<td>5.28s</td>
+</tr>
+<tr class="row-odd"><td>chromium dbg</td>
+<td>1.14 GiB</td>
+<td>209.05s <a class="footnote-reference" href="#id2" id="id1">[1]</a></td>
+<td>64.70s</td>
+<td>60.82s</td>
+<td>27.60s</td>
+<td>16.70s</td>
+</tr>
+</tbody>
+</table>
+<p>As you can see, lld is significantly faster than GNU linkers.
+Note that this is just a benchmark result of our environment.
+Depending on number of available cores, available amount of memory or
+disk latency/throughput, your results may vary.</p>
+<table class="docutils footnote" frame="void" id="id2" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>Since GNU ld doesn’t support the <tt class="docutils literal"><span class="pre">-icf=all</span></tt> and
+<tt class="docutils literal"><span class="pre">-gdb-index</span></tt> options, we removed them from the command line
+for GNU ld. GNU ld would have been slower than this if it had
+these options.</td></tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="build">
+<h2>Build<a class="headerlink" href="#build" title="Permalink to this headline">¶</a></h2>
+<p>If you have already checked out LLVM using SVN, you can check out LLD
+under <tt class="docutils literal"><span class="pre">tools</span></tt> directory just like you probably did for clang. For the
+details, see <a class="reference external" href="http://llvm.org/docs/GettingStarted.html">Getting Started with the LLVM System</a>.</p>
+<p>If you haven’t checkout out LLVM, the easiest way to build LLD is to
+checkout the entire LLVM projects/sub-projects from a git mirror and
+build that tree. You need <cite>cmake</cite> and of course a C++ compiler.</p>
+<div class="highlight-console"><div class="highlight"><pre><span class="gp">$</span> git clone https://github.com/llvm-project/llvm-project-20170507 llvm-project
+<span class="gp">$</span> mkdir build
+<span class="gp">$</span> <span class="nb">cd </span>build
+<span class="gp">$</span> cmake -DCMAKE_BUILD_TYPE<span class="o">=</span>Release -DLLVM_ENABLE_PROJECTS<span class="o">=</span>lld -DCMAKE_INSTALL_PREFIX<span class="o">=</span>/usr/local ../llvm-project/llvm
+<span class="gp">$</span> make install
+</pre></div>
+</div>
+</div>
+<div class="section" id="using-lld">
+<h2>Using LLD<a class="headerlink" href="#using-lld" title="Permalink to this headline">¶</a></h2>
+<p>LLD is installed as <tt class="docutils literal"><span class="pre">ld.lld</span></tt>. On Unix, linkers are invoked by
+compiler drivers, so you are not expected to use that command
+directly. There are a few ways to tell compiler drivers to use ld.lld
+instead of the default linker.</p>
+<p>The easiest way to do that is to overwrite the default linker. After
+installing LLD to somewhere on your disk, you can create a symbolic
+link by doing <tt class="docutils literal"><span class="pre">ln</span> <span class="pre">-s</span> <span class="pre">/path/to/ld.lld</span> <span class="pre">/usr/bin/ld</span></tt> so that
+<tt class="docutils literal"><span class="pre">/usr/bin/ld</span></tt> is resolved to LLD.</p>
+<p>If you don’t want to change the system setting, you can use clang’s
+<tt class="docutils literal"><span class="pre">-fuse-ld</span></tt> option. In this way, you want to set <tt class="docutils literal"><span class="pre">-fuse-ld=lld</span></tt> to
+LDFLAGS when building your programs.</p>
+<p>LLD leaves its name and version number to a <tt class="docutils literal"><span class="pre">.comment</span></tt> section in an
+output. If you are in doubt whether you are successfully using LLD or
+not, run <tt class="docutils literal"><span class="pre">readelf</span> <span class="pre">--string-dump</span> <span class="pre">.comment</span> <span class="pre"><output-file></span></tt> and examine the
+output. If the string “Linker: LLD” is included in the output, you are
+using LLD.</p>
+</div>
+<div class="section" id="history">
+<h2>History<a class="headerlink" href="#history" title="Permalink to this headline">¶</a></h2>
+<p>Here is a brief project history of the ELF and COFF ports.</p>
+<ul class="simple">
+<li>May 2015: We decided to rewrite the COFF linker and did that.
+Noticed that the new linker is much faster than the MSVC linker.</li>
+<li>July 2015: The new ELF port was developed based on the COFF linker
+architecture.</li>
+<li>September 2015: The first patches to support MIPS and AArch64 landed.</li>
+<li>October 2015: Succeeded to self-host the ELF port. We have noticed
+that the linker was faster than the GNU linkers, but we weren’t sure
+at the time if we would be able to keep the gap as we would add more
+features to the linker.</li>
+<li>July 2016: Started working on improving the linker script support.</li>
+<li>December 2016: Succeeded to build the entire FreeBSD base system
+including the kernel. We had widen the performance gap against the
+GNU linkers.</li>
+</ul>
+</div>
+<div class="section" id="internals">
+<h2>Internals<a class="headerlink" href="#internals" title="Permalink to this headline">¶</a></h2>
+<p>For the internals of the linker, please read <a class="reference internal" href="NewLLD.html"><em>The ELF, COFF and Wasm Linkers</em></a>. It is a bit
+outdated but the fundamental concepts remain valid. We’ll update the
+document soon.</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="NewLLD.html">The ELF, COFF and Wasm Linkers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="NewLLD.html#design">Design</a></li>
+<li class="toctree-l1"><a class="reference internal" href="AtomLLD.html">ATOM-based lld</a></li>
+<li class="toctree-l1"><a class="reference internal" href="WebAssembly.html">WebAssembly lld port</a></li>
+<li class="toctree-l1"><a class="reference internal" href="windows_support.html">Windows support</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ReleaseNotes.html">LLD 6.0.0 Release Notes</a></li>
+</ul>
+</div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="NewLLD.html" title="The ELF, COFF and Wasm Linkers"
+             >next</a> |</li>
+  <li><a href="#">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/objects.inv
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/objects.inv?rev=336152&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/6.0.1/tools/lld/docs/objects.inv
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/6.0.1/tools/lld/docs/open_projects.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/open_projects.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/open_projects.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/open_projects.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,155 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Open Projects — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+    <link rel="up" title="ATOM-based lld" href="AtomLLD.html" />
+    <link rel="next" title="Sphinx Introduction for LLVM Developers" href="sphinx_intro.html" />
+    <link rel="prev" title="Driver" href="Driver.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="sphinx_intro.html" title="Sphinx Introduction for LLVM Developers"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="Driver.html" title="Driver"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" accesskey="U">ATOM-based lld</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Open Projects</a><ul>
+<li><a class="reference internal" href="#include-lld-core">include/lld/Core</a></li>
+<li><a class="reference internal" href="#documentation-todos">Documentation TODOs</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="Driver.html"
+                        title="previous chapter">Driver</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="sphinx_intro.html"
+                        title="next chapter">Sphinx Introduction for LLVM Developers</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/open_projects.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="open-projects">
+<span id="id1"></span><h1>Open Projects<a class="headerlink" href="#open-projects" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="include-lld-core">
+<h2>include/lld/Core<a class="headerlink" href="#include-lld-core" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li>The yaml reader/writer interfaces should be changed to return
+an explanatory string if there is an error.  The existing error_code
+abstraction only works for returning low level OS errors.  It does not
+work for describing formatting issues.</li>
+<li>We need to design a diagnostics interface.  It would be nice to share code
+with <a class="reference external" href="http://clang.llvm.org/docs/InternalsManual.html#Diagnostics">Clang</a> where possible.</li>
+<li>We need to add more attributes to File.  In particular, we need cpu
+and OS information (like target triples).  We should also provide explicit
+support for <a class="reference external" href="http://llvm.org/docs/LangRef.html#module_flags">LLVM IR module flags metadata</a>.</li>
+</ul>
+</div>
+<div class="section" id="documentation-todos">
+<h2>Documentation TODOs<a class="headerlink" href="#documentation-todos" title="Permalink to this headline">¶</a></h2>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="sphinx_intro.html" title="Sphinx Introduction for LLVM Developers"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="Driver.html" title="Driver"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/search.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/search.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/search.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/search.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,113 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Search — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <script type="text/javascript" src="_static/searchtools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+  <script type="text/javascript">
+    jQuery(function() { Search.loadIndex("searchindex.js"); });
+  </script>
+  
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <h1 id="search-documentation">Search</h1>
+  <div id="fallback" class="admonition warning">
+  <script type="text/javascript">$('#fallback').hide();</script>
+  <p>
+    Please activate JavaScript to enable the search
+    functionality.
+  </p>
+  </div>
+  <p>
+    From here you can search these documents. Enter your search
+    words into the box below and click "search". Note that the search
+    function will automatically search for all of the words. Pages
+    containing fewer words won't appear in the result list.
+  </p>
+  <form action="" method="get">
+    <input type="text" name="q" value="" />
+    <input type="submit" value="search" />
+    <span id="search-progress" style="padding-left: 10px"></span>
+  </form>
+  
+  <div id="search-results">
+  
+  </div>
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/searchindex.js
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/searchindex.js?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/searchindex.js (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/searchindex.js Mon Jul  2 16:21:43 2018
@@ -0,0 +1 @@
+Search.setIndex({objects:{"":{ReaderOptionsFoo:[4,0,1,""],createReaderFoo:[4,1,1,""],ReaderFoo:[4,0,1,""]}},terms:{represent:[10,7],all:[8,2,3,4,7,9,11],code:[2,4,3,6,7,10,11],partial:9,forget:11,whatev:10,flavorlinkingcontext:5,segv:11,crti:[],four:7,concept:[2,11,4],overlap:11,follow:[8,3,7,4],n32:3,disk:[2,7],lld:[0,1,2,3,4,5,6,7,8,9,10,11,12],compact:[3,7],stub:7,decid:[2,11],simon:[],depend:[8,2,11,4],system:[8,2,3,4,9,10,12],quarterli:2,graph:[7,4],readabl:8,cmake_c_compil:12,libobject:2,program:[9,2,11,7],swap:[],alberto:[],under:2,sens:11,sped:[],fatal:11,worth:11,henderson:[],sound:11,global:7,everi:[7,4],string:[2,4,3,6,7,11],without:2,far:11,percent:11,manifestdepend:3,mechan:11,whether:2,broadli:11,octob:2,implicitli:4,brows:[],look:[11,7,4],tri:1,interact:11,succeed:2,level:[6,8,11],did:[2,7],joel:[],bitcod:[2,11],list:[11,3,7,4],iter:7,"try":[11,7],vector:4,phase:7,small:2,mllvm:0,round:3,dir:9,pleas:[2,12],malici:11,writerfoo:4,dmitri:[],slower:[2,11],"_main":7,"0000000001fd2060":[],natur:11,direct:9,fold:[3,11],second:[11,5,4],cost:11,design:[2,4,5,6,7,10,11],rui:[],pass:[0,2,4,3,7,10,11],download:3,further:9,histori:2,port:[0,1,2,3,4,5,7,10],append:[11,7],compat:[2,3,10],index:[2,3,10,4],what:11,primer:8,kistanova:[],richard:[],readerwrit:[7,4],anton:[],section:[8,1,2,3,4,7,11],han:[],abl:[2,3,8],weren:2,bumpptralloc:4,anywai:[],current:[1,2,7,9,10,11],delet:[7,4],version:[9,1,3,7,2],easwaran:[],win64:9,"new":[8,2,3,4,5,7,10,11],net:9,method:[7,5,4],nakamura:[],metadata:[6,11],elimin:[2,3,11],inspect:7,hash:[3,11],dwarf:7,gener:[0,8,3,7,11,12],endian:2,shankar:[],here:[2,3,7,11,8],sphinx:[0,8,10],lack:[1,2],modular:10,slow:11,let:11,"00000000000000bd":[],address:[2,3,7,11,4],path:[2,7,12,8],becom:11,modifi:[0,7,10,5,4],sinc:[9,2,11,7],valu:7,wait:7,omag:3,search:[8,10],fixup:7,libc:12,shift:11,host:2,everyon:[],jame:[],amount:[2,11],throughput:2,stellard:[],implement:[1,4,3,5,7,10,11],schouten:[],rafael:[],labath:[],theori:7,control:[7,4],semant:[1,11],via:[9,5,12],repositori:9,clark:[],extra:5,appli:11,approxim:2,prefer:8,malloc:4,investig:4,italiano:[],releas:[2,3],unix:[9,2,11,7,12],leav:2,adopt:10,macro:0,printf:7,instal:[2,10,12,8],txt:5,causal:11,select:5,r_x86_64_16:[],silva:[],from:[8,1,2,3,4,7,9,11],describ:[2,4,3,5,6,11],would:[2,8,4,6,7,11],memori:[2,11,7,4],fill:3,scan:[7,4],visit:[11,7],two:[7,11,5],todai:11,next:[7,4],websit:8,few:[2,11,7],live:[7,4],doubt:2,call:[2,7,5,11,4],usr:2,those:[3,7,4],lesli:[],scope:7,benchmark:2,com:[1,2],type:[9,11,7,4],tell:[2,7,5,12],reorder:[11,7],more:[0,2,8,3,6,7,10,11,12],diagnost:6,x32:2,manifestuac:3,desir:5,python:[8,12],peopl:3,hundr:[],mozilla:[],mismatch:7,notic:[2,4],enhanc:7,warn:3,targtinfo:5,visual:[9,12],accept:[9,2,7,4],examin:2,particular:[6,3,7,4],known:11,universaldriv:5,cach:7,often:4,must:5,none:[9,3],dcmake_c_compil:12,work:[1,8,2,4,6,7,9,11],pcrel32:7,uniqu:11,spec:7,beckmann:[],remain:[2,11,7],coalesc:[7,4],zhai:[],can:[0,2,4,3,5,7,8,9,10,11,12],readerfoo:4,learn:[8,10],imped:7,costli:11,purpos:[7,5,4],linkerinput:4,plug:[10,7],def:9,problemat:7,overrid:5,claim:[],kamil:[],prompt:9,quickstart:[8,10],stream:7,give:[11,12],process:[9,11,7],sudo:8,share:[6,11,7,4],sln:[9,12],indic:10,high:11,sourc:[9,8,12,4],want:[0,2,8,4,7,11,12],collingbourn:[],msvc:[2,11],david:[],robinson:[],contribut:7,alwai:[2,3,4],gcc:12,abdulrasool:[],end:[1,4,3,7,10,11],goal:[7,5],secur:2,rather:11,anoth:[7,5,8],readelf:2,georg:[],write:[0,8,4,3,7,10,11],concis:[],layout:[],low:6,pure:[7,4],subdirectori:8,instead:[2,3,7,11,4],greatli:11,simpl:[8,7,4],css:9,updat:2,map:[11,7],enderbi:[],express:7,resourc:9,referenc:8,"000000000000002a":[],clone:2,after:[2,3,7,11,8],variant:[3,4],invok:[9,2,3,8],elf_rel:3,befor:[2,3,11],mac:8,cours:[2,8],pattern:7,inputfil:11,mai:[2,3,7,11,4],multipl:[11,7,4],data:[1,11,7],parallel:4,man:[],alloc:4,"short":[8,3,11],essenti:2,lazili:7,seriou:2,counter:11,explicit:[6,4],correspond:5,ghz:2,assign:11,caus:[11,7],inform:[0,8,3,6,7,11,12],sandbox:8,maintain:[11,7],environ:[2,3,7,10,8],alexand:[],reloc:[3,11,4],region:1,order:[8,2,11,5,4],feed:7,frontend:3,help:4,over:[11,7],comdat:[1,11],becaus:[2,11,7,4],"00000000008f8f50":[],veri:[1,10,11,2],through:[7,4],symbolt:11,n64:3,still:[1,2,4],pointer:[11,7,4],crt1:[],dynam:[3,7],paramet:3,msbuild:9,style:[9,8,3,10],group:11,directli:[2,11,7],fit:4,how:[8,11,7,4],chosen:3,fix:[11,3,7],writeroptionsmacho:7,inadvert:7,better:7,yaml:[6,7,4],window:[9,2,11,8],html:[8,11],infrastructur:4,comprehens:3,cross:[2,10,8],hidden:7,main:[2,7,5],might:7,easier:[],finer:7,wouldn:11,non:[2,3,7,11],"float":7,"return":[6,11,4],thei:[7,11,5],handl:[3,11],pollut:8,safe:[9,11],http:[8,1,11,12,2],initi:[3,7],wast:11,"break":[11,7],framework:9,pdb:[9,2,3],facilit:7,korobeynikov:[],verifi:4,svn:[9,2,12],ninja:[9,8],superset:5,discuss:[0,7,10,5,4],notext:[],introduct:[0,8,4,3,5,7,10],choic:11,root:[8,7],dllvm_enable_sphinx:8,somewher:2,name:[0,2,4,7,9,11],anyth:11,drop:2,unlik:7,bonu:[],separ:[7,4],easili:8,achiev:11,alreadi:[2,7,4],trap:3,andrew:[],addsect:[],debug:[0,2,3,7,9,10,11],found:[11,7],zhuravlyov:[],difficult:7,ters:[],errata:3,mean:[1,10,7,2],compil:[9,2,7,12],unwind:[7,4],git:[9,2],just:[8,2,4,5,7,11],dcmake_cxx_compil:12,atanasyan:[],replac:[2,11,7],chunk:[11,7],unresolv:[],continu:11,realli:11,ensur:8,"static":[9,10,7],expect:[1,7,2,11,4],wennborg:[],our:[2,11],happen:[10,11],milag:2,unique_ptr:4,special:[11,7],out:[2,4,3,7,9,10,12],variabl:7,architectur:[2,3,7,4],them:[2,11,7,4],shoaib:[],twice:2,miss:1,robert:[],develop:[0,2,8,4,7,9,10],crucial:7,xeon:2,ret:3,content:[11,10,7,4],rewrit:2,start:[8,1,2,4,7,10,11,12],toolchain:2,rel:11,reader:[0,4,5,6,7,10,11],print:3,got:[11,7],donmez:[],factori:[7,4],mccarthi:[],unfortun:7,proxi:7,insid:8,advanc:7,total:11,createreaderfoo:4,given:[9,1,7],loadfil:4,standard:[8,3,7,10],significantli:[2,3],reason:7,base:[8,2,4,7,10,11],mysqld:2,believ:11,nice:6,put:11,org:[8,11,12],symbolbodi:[],shortest:12,targetinfo:5,uiuc:10,hosek:[],ueyama:[],recogn:9,thread:[2,3],could:[11,7],omit:7,keep:[2,11,7],codegen:9,thing:11,length:4,fuse:2,place:[8,3,7,11,4],unabl:4,outsid:7,adrian:[],lto:[2,11],think:[11,4],first:[8,2,11,5,4],oper:[9,2,11,7,4],softwar:[8,11],rang:[3,7],obviou:11,x86_64:7,onc:[8,11,7,4],independ:[11,7],qualiti:2,number:[2,7,5,11],placehold:7,instruct:[8,3,7],mingw:3,wasm:[1,3,11,2],least:[],sylvestr:[],open:[6,9,10,7,12],kudrin:[],size:[2,3,11],latenc:2,differ:[8,2,4,5,7,11],ancient:2,smaller:3,rewritten:3,convent:1,script:[2,3],unknown:1,top:[],mkdir:2,sometim:[11,7],messag:8,tradition:[],master:[1,7],too:[2,11,4],tom:[],conveni:[],filter:[],store:[],pocoo:8,variou:[2,7,8],so_need:7,option:[0,2,4,3,5,7,8,9,10,11],namespac:4,juli:2,pavel:[],setuptool:8,specifi:[1,4,5,7,9,11],getter:5,pars:[9,7,5,4],arrayref:4,conserv:10,exactli:7,holder:7,haven:2,vari:[2,11,7,4],std:4,wide:[],kind:[11,7],ffmpeg:2,provid:[6,2,7],remov:[2,10,7,4],tree:2,rate:[],structur:[9,11,7],"final":11,project:[0,2,8,4,6,7,10,12],matter:11,"long":[3,11],balanc:11,were:11,posit:11,tag:[8,3],zachari:[],thu:7,browser:[],pre:[2,4],"function":[1,2,3,4,5,7,8,9,11],sai:7,stdin:7,comput:[11,7],behavior:[3,11],sam:[],igor:[],plaintext:8,linker:[0,1,2,3,4,5,7,9,10,11],mind:[],argument:[2,5],andr:[],raw:11,manner:[],have:[8,2,3,4,7,10,11],tabl:[11,3,7,10,4],need:[2,8,3,4,6,7,9,11,12],seen:11,seem:2,turn:[11,3,7],kevin:[],hello:7,packag:8,vieira:[],built:[2,10,7,12],lib:[9,5,4],disassembl:[],self:2,mib:2,"0x00":[],arm:[2,3],note:[0,1,2,3,4,5,7,10,11],also:[2,4,5,6,7,11,12],discret:4,build:[8,1,2,7,9,10,12],which:[8,4,3,5,7,10,11],techniqu:[11,4],combin:7,seh:9,register_tm_clon:[],tool:[8,1,2,4,7,10,12],coff:[0,2,4,3,5,7,9,10,11],even:2,begin:11,copi:[11,7,4],allow:[7,11,5,4],normal:[11,7],buffer:4,object:[1,2,4,7,9,10,11],compress:[],"00000000034b3bd0":[],bss:11,ledru:[],most:[8,1,2,4,7,11],regular:11,thank:[],plan:[7,5],bsd:10,konstantin:[],rom:7,why:10,fair:2,sub:2,tradit:[1,11,7],latex:[],simplic:11,placement:11,doc:[8,11],later:12,request:7,drive:[9,2],cleav:4,doe:[6,11,7,4],dummi:8,declar:4,malon:[],yum:8,determin:4,abi:[2,3],retpolineplt:3,outputsect:11,liblldelf:[],left:[7,4],microsoft:[9,5],fact:[2,10,7],cmakelist:5,"0000000001fd2000":[],paul:[],mostli:[9,8,7],gold:2,carefulli:[11,7],text:[9,11,7,4],probe:7,cheap:11,dbg:2,brief:2,area:7,particularli:[],hack:[],fine:11,find:[9,7],powerpc:2,setter:5,absolut:11,onli:[0,2,4,3,6,7,11],mitig:3,locat:[11,12],addend:7,pretti:11,bfd:[],trigger:[3,11],todo:[6,10],writer:[6,7,11,5],activ:[2,8],state:[7,4],makefil:12,than:[2,3,7,11],subrang:4,configur:4,parametr:4,experiment:1,suppos:7,februari:2,templat:7,factor:[10,7],folder:9,darwin:[7,5],local:[2,11,7],lit:7,unus:[3,4],mehdi:[],get:[2,8,3,7,10,12],indivis:7,sysv:3,pypi:8,clang:[6,2,3,10,12],foremost:[],x64:9,nativ:[2,11,4],dyn:3,cannot:11,writeryaml:7,progress:[9,1,2],report:[2,3],ssd:2,edg:[7,4],neither:9,requir:[1,4,7,10,11,12],takahashi:[],bat:[],bootload:[],enabl:[0,1,2,3,7,11],organ:[8,4],emb:[2,11],synthet:1,possibl:[6,1,11],synthes:11,patch:[2,3],reid:[],eugen:[],bad:11,stuff:7,"0x18000000":11,common:[11,5,4],though:2,contain:[11,3,7,4],act:4,septemb:2,where:[0,1,7,6,4],valid:2,view:7,user:[8,10,7],kernel:2,set:[2,10,7,11],evgenii:[],human:7,dump:[2,10,7],intuit:11,cmake_cxx_compil:12,noth:[11,7],frame:3,printout:0,orphan:3,heapsiz:9,see:[0,2,8,4,5,7,10,11,12],sean:[],respons:[11,4],fail:11,themselv:11,nonstandard:[],best:[8,11],lee:[],appear:[11,7],statu:[9,2,3],said:[11,7],ccff99:9,correctli:11,mainli:11,someth:7,nocopyreloc:[],dll:[9,11],target:[1,2,3,4,6,7,8,9,12],written:[0,8,11,7],petr:[],dt_need:3,"import":[9,11,4],awai:4,approach:11,tent:7,altern:[9,12],develomp:9,rimar:[],kei:[1,11,4],dtrace:7,exampl:[2,11,7,12],weak:7,extens:[10,11],lazi:[11,7],entir:[2,11],michal:[],galina:[],come:[8,7],embed:7,jon:[],magni:[],memorybuff:4,tlv:7,plugin:3,howev:[2,11],job:7,against:[9,2,11],rodynam:[],polici:11,r_mips_26:3,instanc:[8,11,7,4],grain:7,agent:[],logic:[11,7],pdf:[],stacksiz:9,strtoflavor:5,linktimeoptim:11,mark:[1,7,2],load:[11,7],among:2,restructuredtext:[0,8],simpli:5,point:[11,7,4],instanti:[7,4],had:[9,2,7],ehrlich:[],sweep:7,readeroptionsfoo:4,loader:11,header:[11,7],exploit:11,absoluteatom:7,shortcut:5,corrupt:11,suppli:7,typic:[11,7],throughout:[11,7],assum:11,duplic:3,vertic:[],leviant:[],platform:7,chrome:11,decent:2,blaiki:[],ing:[],three:[11,7],empti:11,github:[1,2],compon:9,ran:[2,3],much:[2,11],interpret:[9,4],easiest:2,basic:[11,7],futur:2,addit:[8,10,7,11],"abstract":[6,11,7],kleckner:[],modern:8,versa:[],both:[9,7,3,5],imag:11,resolut:11,a53:3,convert:[9,11,4],ani:[11,7,12,4],multithread:4,craft:[11,7],understand:[8,11],extract:11,former:11,wrapper:7,"case":[11,3,7,4],multi:[2,3],ident:[3,11],hdr:3,gnu:[2,3,5],plain:7,align:7,properti:11,freebsd:2,alter:7,defin:[8,11,7,4],"while":2,smith:[],abov:[2,11,4],error:[6,11,3,7],glossari:11,ketteni:[],anonym:[7,4],observ:11,loop:11,pack:3,opt:3,layer:[10,11],zero:3,almost:[9,2,3],therefor:[11,4],site:[3,7],worri:11,equal:3,binutil:5,ehframesect:[],attribut:[6,7,4],motiv:5,dllvm_enable_project:2,petar:[],stringref:[7,4],recal:4,pursu:11,turner:[],sever:[1,2],result:[2,3,7,11,4],"null":[],present:7,incorrectli:3,perform:[2,11,4],make:[8,2,3,4,7,11,12],belong:11,"_fprintf":7,same:[9,1,10,11,2],eric:[],member:11,binari:[1,11,4],complex:11,decod:[],descend:2,"public":4,android:3,document:[0,2,4,3,5,6,7,8,10,11],ffff99:9,multicor:2,latexpdf:[],complet:[2,11],fiseli:[],assembl:[10,4],tighten:2,overal:7,archiv:[11,7],x86:[9,2,3],mach:[0,2,4,5,7,10],flto:2,optim:[2,11,7],nest:4,driver:[0,2,5,9,10,11],effect:11,hand:11,driven:[11,7],fairli:11,consid:11,rais:[],temporari:4,exot:9,ownership:4,mani:[11,7,4],extern:[2,12],immedi:11,undefinedatom:[7,4],littl:[2,11],stack:2,tune:2,recent:[3,10],appropri:[8,4],equival:[11,7],"byte":3,whole:[2,11],sharedlibraryatom:7,rytarowski:[],well:[2,7,5,11],inherit:4,justifi:11,thought:11,bugzilla:12,"00000000016d84d8":[],command:[0,1,2,4,5,7,8,9,11],thi:[0,1,2,3,4,5,7,8,10,11,12],conflict:[8,11],undefin:[11,7,4],model:[10,7,4],wasm32:1,usual:[9,11,7,4],comment:[2,7],readeroptionsmacho:7,identifi:3,order_fil:7,execut:[2,8,7,9,10,11],less:11,entri:[7,3,5,11],centuri:2,exclud:[],ordin:9,rest:[8,11],tatham:[],product:2,relianc:10,gdb:[2,3],buka:[],error_cod:[6,4],aspect:4,part:[0,1,8,2,7,9],widen:2,flavor:[9,5],roughli:11,speed:11,yet:[1,2],languag:7,previous:[3,11],web:[8,3],now:[8,3],amd64:2,easi:[2,10,7,11],singl:[],mmap:11,close:2,filecheck:[7,4],elf:[0,1,2,3,4,5,7,10,11],except:[9,2],dcmake_build_typ:2,readeropt:4,add:[2,8,3,5,6,7,10,11],dllvm_experimental_targets_to_build:1,blob:1,exercis:[7,5],overview:5,input:[1,11,7,4],explanatori:6,modul:[6,9],match:[8,3,7],take:[1,11,7,4],real:11,applic:[9,8,10,7],interlac:7,"21st":2,around:8,format:[1,2,3,4,6,7,8,9,10,11],read:[8,2,4,7,9,10,11],big:[2,11,7,4],mikulin:[],piec:[11,4],saleem:[],arguabl:[],jake:[],deregister_tm_clon:[],apt:8,background:9,mip:[2,3],call32:7,world:7,bit:[9,2],foo:[7,4],associ:7,"21k":2,licens:10,linux:8,insert:11,archiev:11,ivar:[7,4],like:[2,8,3,4,6,7,9,11,12],specif:[0,1,4,7,10,11],vend:7,chesterfield:[],should:[1,2,3,4,6,7,8,11],resolv:[2,11,7],manifest:3,ldflag:2,collect:[2,3,7,4],benefit:11,runtim:[11,7],either:9,martin:[],popular:7,output:[1,3,7,11,2],realiti:11,decis:7,concret:[7,4],right:11,old:[9,2],amdgpu:2,deal:7,simplifi:11,creation:[7,4],some:[0,2,4,3,7,9,11],back:[1,11],dead:[7,4],dcmake_install_prefix:2,muldef:3,intern:[2,4,5,7,10,11],sure:[2,3],"export":[9,7],ffcccc:9,amini:[],proper:3,guarante:11,indirect:[],successfulli:[2,11],gorni:[],"0x140000000":11,distribut:8,virtualenv:8,"_start":[],lead:11,rsp:3,chromium:2,avoid:8,pad:[],definit:[9,11,7],icf:[2,3,11],subclass:[7,11,5,4],memor:11,track:7,larg:[2,11],unit:[1,10,7],jovanov:[],necessari:7,speak:11,trunk:12,refer:[7,5,4],ismail:[],core:[2,4,5,6,7,10],plt:[11,3,7],run:[0,1,2,4,7,9,10,11,12],overwrit:2,reach:2,garbag:3,each:[2,7,5,11,4],obtain:11,vitali:[],symlink:5,flavordriv:5,tablegen:5,although:11,offset:[11,7,4],major:3,dardi:[],subtract:[],between:11,haarman:[],simpler:[11,7],trustworthi:11,comparison:2,about:[2,11,7,8],actual:[9,11,7],r_x86_64_8:[],island:7,darwin11:7,slightli:3,manag:8,skeleton:4,aarch64:[2,3],previou:3,issu:[2,4,3,6,7,10,11],done:[8,4,3,7,9,11],readeryaml:7,fals:4,discard:3,definedatom:7,disabl:[2,3,7],produc:[1,11,7,4],mast:[],routin:7,own:[8,11,7,4],effici:[11,7],takumi:[],slice:11,inlin:7,within:11,encod:[7,4],easy_instal:8,automat:[3,11],down:11,maco:2,been:[2,4,3,7,9,10,11],strip:[1,7,4],contributor:[],chang:[2,8,3,4,6,7],destructor:4,soon:2,your:[8,2,11,4],merg:[11,3,7],occupi:11,accordingli:[11,4],fast:2,inputsect:11,kyungwoo:[],wai:[2,4,5,7,10,11],eh_fram:[3,4],behaviour:1,segment:3,construct:2,support:[1,2,3,4,5,6,7,8,9,10,12],megabyt:[],clegg:[],textual:[10,7],custom:[7,4],avail:[8,2,3,4],macho:4,reli:10,appl:[7,5],interfac:[6,5],includ:[2,4,3,5,6,7,10,11],lot:[11,3,7],suit:[7,5,4],biggest:7,"_build":[],machin:2,individu:[],gib:2,etc:[11,7],analysi:3,martel:[],doabl:11,programmat:[7,4],enough:11,handler:[9,11],meador:[],guid:[0,12],vs2013:9,stepanov:[],taken:7,link:[1,2,3,4,5,7,9,10,11],translat:7,int3:3,atom:[2,10,7,4],don:[8,2,4,7,9,11],line:[0,1,2,4,5,7,8,9,11],webassembl:[1,3,2],bug:[3,11,12],longer:[8,3],info:[9,2,11,7,4],tripl:[6,7],made:[9,11,7],eveson:[],consist:[2,11,7],understood:11,"default":[2,3,7,11,12],checkout:2,access:[8,11],troubl:11,until:11,record:4,good:9,limit:1,arm64:3,yuka:[],fundament:2,crtbegin:[],step:[10,7,4],problem:[11,12],autoconf:[],similar:[11,7],emit:[9,2,7],superclass:11,rva:11,featur:[8,1,2,3,7,10],constant:7,pecoff:4,creat:[0,1,8,2,4,7,9,10,11],shim:7,certain:[1,7,4],dure:[11,7,4],mirror:[9,2],pie:3,doesn:[9,2],repres:[11,7,4],thunk:3,repons:11,exist:[8,4,5,6,7,10,11],file:[1,2,3,4,5,6,7,9,10,11,12],pip:8,bob:[],ship:9,improv:[2,3,7],check:[2,4,5,7,9,11,12],probabl:2,otherwis:[8,11,4],mutual:11,peter:[],color:9,quot:3,know:[11,7],"198k":2,collector:3,socket:2,when:[1,2,3,4,7,9,11],detail:[2,11,5],virtual:[8,10,7,11,4],other:[2,11,7,4],lookup:11,librari:[2,3,7,9,10,11],branch:[3,7],varieti:[],test:[2,4,5,7,10,12],you:[0,2,4,3,5,7,8,9,10,11,12],jmp:3,page:[8,3,10,12],cortex:3,node:[7,4],llvm:[0,1,2,3,4,5,6,7,8,9,10,11,12],intend:8,liter:[7,4],bin:[2,8],sequenc:3,symbol:[1,7,2,11,4],mangl:11,actor:11,"class":[11,7,4],meenai:[],"0000000001fd2030":[],itself:[9,8],gap:2,reduc:11,outdat:2,experienc:[],land:[2,3],studio:[9,12],faster:[2,3,4],algorithm:11,vice:[],directori:[2,8],spectr:3,"0000000001fd202a":[],space:[11,4],descript:4,flag:[6,1,3],espindola:[],notion:7,tricki:11,mimic:1,calcul:4,ignor:3,storsjo:[],time:[2,11,7,4],cpp:[5,4],richardson:[],decemb:2,cmake:[9,2,12,8],debug_with_typ:0,cpu:[6,2,10,7],jone:[],all_build:12},objtypes:{"0":"cpp:class","1":"cpp:function"},titles:["Development","WebAssembly lld port","LLD - The LLVM Linker","LLD 6.0.0 Release Notes","Developing lld Readers","Driver","Open Projects","Linker Design","Sphinx Introduction for LLVM Developers","Windows support","ATOM-based lld","The ELF, COFF and Wasm Linkers","Getting Started: Building and Running lld"],objnames:{"0":["cpp","class","C++ class"],"1":["cpp","function","C++ function"]},filenames:["development","WebAssembly","index","ReleaseNotes","Readers","Driver","open_projects","design","sphinx_intro","windows_support","AtomLLD","NewLLD","getting_started"]})
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/sphinx_intro.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/sphinx_intro.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/sphinx_intro.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/sphinx_intro.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,239 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Sphinx Introduction for LLVM Developers — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+    <link rel="up" title="ATOM-based lld" href="AtomLLD.html" />
+    <link rel="next" title="WebAssembly lld port" href="WebAssembly.html" />
+    <link rel="prev" title="Open Projects" href="open_projects.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="WebAssembly.html" title="WebAssembly lld port"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="open_projects.html" title="Open Projects"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" accesskey="U">ATOM-based lld</a> »</li> 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Sphinx Introduction for LLVM Developers</a><ul>
+<li><a class="reference internal" href="#quickstart">Quickstart</a><ul>
+<li><a class="reference internal" href="#installing-sphinx">Installing Sphinx</a></li>
+<li><a class="reference internal" href="#building-the-documentation">Building the documentation</a></li>
+<li><a class="reference internal" href="#writing-documentation">Writing documentation</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#learning-more">Learning More</a></li>
+<li><a class="reference internal" href="#installing-sphinx-in-a-virtual-environment">Installing Sphinx in a Virtual Environment</a></li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="open_projects.html"
+                        title="previous chapter">Open Projects</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="WebAssembly.html"
+                        title="next chapter">WebAssembly lld port</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/sphinx_intro.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <div class="section" id="sphinx-introduction-for-llvm-developers">
+<span id="sphinx-intro"></span><h1>Sphinx Introduction for LLVM Developers<a class="headerlink" href="#sphinx-introduction-for-llvm-developers" title="Permalink to this headline">¶</a></h1>
+<p>This document is intended as a short and simple introduction to the Sphinx
+documentation generation system for LLVM developers.</p>
+<div class="section" id="quickstart">
+<h2>Quickstart<a class="headerlink" href="#quickstart" title="Permalink to this headline">¶</a></h2>
+<p>To get started writing documentation, you will need to:</p>
+<blockquote>
+<div><ol class="arabic simple">
+<li>Have the Sphinx tools <a class="reference internal" href="#installing-sphinx"><em>installed</em></a>.</li>
+<li>Understand how to <a class="reference internal" href="#building-the-documentation"><em>build the documentation</em></a>.</li>
+<li>Start <a class="reference internal" href="#writing-documentation"><em>writing documentation</em></a>!</li>
+</ol>
+</div></blockquote>
+<div class="section" id="installing-sphinx">
+<span id="id1"></span><h3>Installing Sphinx<a class="headerlink" href="#installing-sphinx" title="Permalink to this headline">¶</a></h3>
+<p>You should be able to install Sphinx using the standard Python package
+installation tool <tt class="docutils literal"><span class="pre">easy_install</span></tt>, as follows:</p>
+<div class="highlight-python"><pre>$ sudo easy_install sphinx
+Searching for sphinx
+Reading http://pypi.python.org/simple/sphinx/
+Reading http://sphinx.pocoo.org/
+Best match: Sphinx 1.1.3
+... more lines here ..</pre>
+</div>
+<p>If you do not have root access (or otherwise want to avoid installing Sphinx in
+system directories) see the section on <a class="reference internal" href="#installing-sphinx-in-a-venv"><em>Installing Sphinx in a Virtual Environment</em></a> .</p>
+<p>If you do not have the <tt class="docutils literal"><span class="pre">easy_install</span></tt> tool on your system, you should be able
+to install it using:</p>
+<blockquote>
+<div><dl class="docutils">
+<dt>Linux</dt>
+<dd>Use your distribution’s standard package management tool to install it,
+i.e., <tt class="docutils literal"><span class="pre">apt-get</span> <span class="pre">install</span> <span class="pre">easy_install</span></tt> or <tt class="docutils literal"><span class="pre">yum</span> <span class="pre">install</span> <span class="pre">easy_install</span></tt>.</dd>
+<dt>Mac OS X</dt>
+<dd>All modern Mac OS X systems come with <tt class="docutils literal"><span class="pre">easy_install</span></tt> as part of the base
+system.</dd>
+<dt>Windows</dt>
+<dd>See the <a class="reference external" href="http://pypi.python.org/pypi/setuptools">setuptools</a> package web
+page for instructions.</dd>
+</dl>
+</div></blockquote>
+</div>
+<div class="section" id="building-the-documentation">
+<span id="id2"></span><h3>Building the documentation<a class="headerlink" href="#building-the-documentation" title="Permalink to this headline">¶</a></h3>
+<p>In order to build the documentation need to add <tt class="docutils literal"><span class="pre">-DLLVM_ENABLE_SPHINX=ON</span></tt> to
+your <tt class="docutils literal"><span class="pre">cmake</span></tt> command.  Once you do this you can build the docs using
+<tt class="docutils literal"><span class="pre">docs-lld-html</span></tt> build (<tt class="docutils literal"><span class="pre">ninja</span></tt> or <tt class="docutils literal"><span class="pre">make</span></tt>) target.</p>
+<p>That build target will invoke <tt class="docutils literal"><span class="pre">sphinx-build</span></tt> with the appropriate options for
+the project, and generate the HTML documentation in a <tt class="docutils literal"><span class="pre">tools/lld/docs/html</span></tt>
+subdirectory.</p>
+</div>
+<div class="section" id="writing-documentation">
+<span id="id3"></span><h3>Writing documentation<a class="headerlink" href="#writing-documentation" title="Permalink to this headline">¶</a></h3>
+<p>The documentation itself is written in the reStructuredText (ReST) format, and
+Sphinx defines additional tags to support features like cross-referencing.</p>
+<p>The ReST format itself is organized around documents mostly being readable
+plaintext documents. You should generally be able to write new documentation
+easily just by following the style of the existing documentation.</p>
+<p>If you want to understand the formatting of the documents more, the best place
+to start is Sphinx’s own <a class="reference external" href="http://sphinx.pocoo.org/rest.html">ReST Primer</a>.</p>
+</div>
+</div>
+<div class="section" id="learning-more">
+<h2>Learning More<a class="headerlink" href="#learning-more" title="Permalink to this headline">¶</a></h2>
+<p>If you want to learn more about the Sphinx system, the best place to start is
+the Sphinx documentation itself, available <a class="reference external" href="http://sphinx.pocoo.org/contents.html">here</a>.</p>
+</div>
+<div class="section" id="installing-sphinx-in-a-virtual-environment">
+<span id="installing-sphinx-in-a-venv"></span><h2>Installing Sphinx in a Virtual Environment<a class="headerlink" href="#installing-sphinx-in-a-virtual-environment" title="Permalink to this headline">¶</a></h2>
+<p>Most Python developers prefer to work with tools inside a <em>virtualenv</em> (virtual
+environment) instance, which functions as an application sandbox. This avoids
+polluting your system installation with different packages used by various
+projects (and ensures that dependencies for different packages don’t conflict
+with one another). Of course, you need to first have the virtualenv software
+itself which generally would be installed at the system level:</p>
+<div class="highlight-python"><pre>$ sudo easy_install virtualenv</pre>
+</div>
+<p>but after that you no longer need to install additional packages in the system
+directories.</p>
+<p>Once you have the <em>virtualenv</em> tool itself installed, you can create a
+virtualenv for Sphinx using:</p>
+<div class="highlight-python"><pre>$ virtualenv ~/my-sphinx-install
+New python executable in /Users/dummy/my-sphinx-install/bin/python
+Installing setuptools............done.
+Installing pip...............done.
+
+$ ~/my-sphinx-install/bin/easy_install sphinx
+... install messages here ...</pre>
+</div>
+<p>and from now on you can “activate” the <em>virtualenv</em> using:</p>
+<div class="highlight-python"><pre>$ source ~/my-sphinx-install/bin/activate</pre>
+</div>
+<p>which will change your PATH to ensure the sphinx-build tool from inside the
+virtual environment will be used. See the <a class="reference external" href="http://www.virtualenv.org/en/latest/index.html">virtualenv website</a> for more information on using
+virtual environments.</p>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="WebAssembly.html" title="WebAssembly lld port"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="open_projects.html" title="Open Projects"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+
+          <li><a href="AtomLLD.html" >ATOM-based lld</a> »</li> 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Added: www-releases/trunk/6.0.1/tools/lld/docs/windows_support.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/6.0.1/tools/lld/docs/windows_support.html?rev=336152&view=auto
==============================================================================
--- www-releases/trunk/6.0.1/tools/lld/docs/windows_support.html (added)
+++ www-releases/trunk/6.0.1/tools/lld/docs/windows_support.html Mon Jul  2 16:21:43 2018
@@ -0,0 +1,209 @@
+
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    
+    <title>Windows support — lld 6 documentation</title>
+    
+    <link rel="stylesheet" href="_static/llvm.css" type="text/css" />
+    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    
+    <script type="text/javascript">
+      var DOCUMENTATION_OPTIONS = {
+        URL_ROOT:    '',
+        VERSION:     '6',
+        COLLAPSE_INDEX: false,
+        FILE_SUFFIX: '.html',
+        HAS_SOURCE:  true
+      };
+    </script>
+    <script type="text/javascript" src="_static/jquery.js"></script>
+    <script type="text/javascript" src="_static/underscore.js"></script>
+    <script type="text/javascript" src="_static/doctools.js"></script>
+    <link rel="shortcut icon" href="_static/favicon.ico"/>
+    <link rel="top" title="lld 6 documentation" href="index.html" />
+    <link rel="next" title="LLD 6.0.0 Release Notes" href="ReleaseNotes.html" />
+    <link rel="prev" title="WebAssembly lld port" href="WebAssembly.html" />
+<style type="text/css">
+  table.right { float: right; margin-left: 20px; }
+  table.right td { border: 1px solid #ccc; }
+</style>
+
+  </head>
+  <body>
+<div class="logo">
+<a href="index.html"><img src="_static/logo.png" alt="LLVM Documentation"/></a>
+</div>
+
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             accesskey="I">index</a></li>
+        <li class="right" >
+          <a href="ReleaseNotes.html" title="LLD 6.0.0 Release Notes"
+             accesskey="N">next</a> |</li>
+        <li class="right" >
+          <a href="WebAssembly.html" title="WebAssembly lld port"
+             accesskey="P">previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+
+      <div class="sphinxsidebar">
+        <div class="sphinxsidebarwrapper">
+  <h3><a href="index.html">Table Of Contents</a></h3>
+  <ul>
+<li><a class="reference internal" href="#">Windows support</a><ul>
+<li><a class="reference internal" href="#development-status">Development status</a></li>
+<li><a class="reference internal" href="#building-lld">Building LLD</a><ul>
+<li><a class="reference internal" href="#using-visual-studio-ide-msbuild">Using Visual Studio IDE/MSBuild</a></li>
+<li><a class="reference internal" href="#using-ninja">Using Ninja</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+
+  <h4>Previous topic</h4>
+  <p class="topless"><a href="WebAssembly.html"
+                        title="previous chapter">WebAssembly lld port</a></p>
+  <h4>Next topic</h4>
+  <p class="topless"><a href="ReleaseNotes.html"
+                        title="next chapter">LLD 6.0.0 Release Notes</a></p>
+  <h3>This Page</h3>
+  <ul class="this-page-menu">
+    <li><a href="_sources/windows_support.txt"
+           rel="nofollow">Show Source</a></li>
+  </ul>
+<div id="searchbox" style="display: none">
+  <h3>Quick search</h3>
+    <form class="search" action="search.html" method="get">
+      <input type="text" name="q" />
+      <input type="submit" value="Go" />
+      <input type="hidden" name="check_keywords" value="yes" />
+      <input type="hidden" name="area" value="default" />
+    </form>
+    <p class="searchtip" style="font-size: 90%">
+    Enter search terms or a module, class or function name.
+    </p>
+</div>
+<script type="text/javascript">$('#searchbox').show(0);</script>
+        </div>
+      </div>
+
+    <div class="document">
+      <div class="documentwrapper">
+        <div class="bodywrapper">
+          <div class="body">
+            
+  <style type="text/css">
+  .none { background-color: #FFCCCC }
+  .partial { background-color: #FFFF99 }
+  .good { background-color: #CCFF99 }
+</style><div class="section" id="windows-support">
+<h1>Windows support<a class="headerlink" href="#windows-support" title="Permalink to this headline">¶</a></h1>
+<p>LLD supports Windows operating system. When invoked as <tt class="docutils literal"><span class="pre">lld-link.exe</span></tt> or with
+<tt class="docutils literal"><span class="pre">-flavor</span> <span class="pre">link</span></tt>, the driver for Windows operating system is used to parse
+command line options, and it drives further linking processes. LLD accepts
+almost all command line options that the linker shipped with Microsoft Visual
+C++ (link.exe) supports.</p>
+<p>The current status is that LLD can link itself on Windows x86/x64
+using Visual C++ 2013 as the compiler.</p>
+<div class="section" id="development-status">
+<h2>Development status<a class="headerlink" href="#development-status" title="Permalink to this headline">¶</a></h2>
+<dl class="docutils">
+<dt>Driver</dt>
+<dd><span class="good">Mostly done</span>. Some exotic command line options that are not usually
+used for application develompent, such as <tt class="docutils literal"><span class="pre">/DRIVER</span></tt>, are not supported.</dd>
+<dt>Linking against DLL</dt>
+<dd><span class="good">Done</span>. LLD can read import libraries needed to link against DLL. Both
+export-by-name and export-by-ordinal are supported.</dd>
+<dt>Linking against static library</dt>
+<dd><span class="good">Done</span>. The format of static library (.lib) on Windows is actually the
+same as on Unix (.a). LLD can read it.</dd>
+<dt>Creating DLL</dt>
+<dd><span class="good">Done</span>. LLD creates a DLL if <tt class="docutils literal"><span class="pre">/DLL</span></tt> option is given. Exported
+functions can be specified either via command line (<tt class="docutils literal"><span class="pre">/EXPORT</span></tt>) or via
+module-definition file (.def). Both export-by-name and export-by-ordinal are
+supported.</dd>
+<dt>Windows resource files support</dt>
+<dd><span class="good">Done</span>. If an <tt class="docutils literal"><span class="pre">.res</span></tt> file is given, LLD converts the file to a COFF
+file using LLVM’s Object library.</dd>
+<dt>Safe Structured Exception Handler (SEH)</dt>
+<dd><span class="good">Done</span> for both x86 and x64.</dd>
+<dt>Module-definition file</dt>
+<dd><span class="partial">Partially done</span>. LLD currently recognizes these directives:
+<tt class="docutils literal"><span class="pre">EXPORTS</span></tt>, <tt class="docutils literal"><span class="pre">HEAPSIZE</span></tt>, <tt class="docutils literal"><span class="pre">STACKSIZE</span></tt>, <tt class="docutils literal"><span class="pre">NAME</span></tt>, and <tt class="docutils literal"><span class="pre">VERSION</span></tt>.</dd>
+<dt>Debug info</dt>
+<dd><span class="none">No progress has been made</span>. Microsoft linker can interpret the CodeGen
+debug info (old-style debug info) and PDB to emit an .pdb file. LLD doesn’t
+support neither.</dd>
+</dl>
+</div>
+<div class="section" id="building-lld">
+<h2>Building LLD<a class="headerlink" href="#building-lld" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="using-visual-studio-ide-msbuild">
+<h3>Using Visual Studio IDE/MSBuild<a class="headerlink" href="#using-visual-studio-ide-msbuild" title="Permalink to this headline">¶</a></h3>
+<ol class="arabic simple">
+<li>Check out LLVM and LLD from the LLVM SVN repository (or Git mirror),</li>
+<li>run <tt class="docutils literal"><span class="pre">cmake</span> <span class="pre">-G</span> <span class="pre">"Visual</span> <span class="pre">Studio</span> <span class="pre">12"</span> <span class="pre"><llvm-source-dir></span></tt> from VS command prompt,</li>
+<li>open LLVM.sln with Visual Studio, and</li>
+<li>build <tt class="docutils literal"><span class="pre">lld</span></tt> target in <tt class="docutils literal"><span class="pre">lld</span> <span class="pre">executables</span></tt> folder</li>
+</ol>
+<p>Alternatively, you can use msbuild if you don’t like to work in an IDE:</p>
+<div class="highlight-python"><pre>msbuild LLVM.sln /m /target:"lld executables\lld"</pre>
+</div>
+<p>MSBuild.exe had been shipped as a component of the .NET framework, but since
+2013 it’s part of Visual Studio. You can find it at “C:\Program Files
+(x86)\msbuild”.</p>
+<p>You can build LLD as a 64 bit application. To do that, open VS2013 x64 command
+prompt and run cmake for “Visual Studio 12 Win64” target.</p>
+</div>
+<div class="section" id="using-ninja">
+<h3>Using Ninja<a class="headerlink" href="#using-ninja" title="Permalink to this headline">¶</a></h3>
+<ol class="arabic simple">
+<li>Check out LLVM and LLD from the LLVM SVN repository (or Git mirror),</li>
+<li>run <tt class="docutils literal"><span class="pre">cmake</span> <span class="pre">-G</span> <span class="pre">ninja</span> <span class="pre"><llvm-source-dir></span></tt> from VS command prompt,</li>
+<li>run <tt class="docutils literal"><span class="pre">ninja</span> <span class="pre">lld</span></tt></li>
+</ol>
+</div>
+</div>
+</div>
+
+
+          </div>
+        </div>
+      </div>
+      <div class="clearer"></div>
+    </div>
+    <div class="related">
+      <h3>Navigation</h3>
+      <ul>
+        <li class="right" style="margin-right: 10px">
+          <a href="genindex.html" title="General Index"
+             >index</a></li>
+        <li class="right" >
+          <a href="ReleaseNotes.html" title="LLD 6.0.0 Release Notes"
+             >next</a> |</li>
+        <li class="right" >
+          <a href="WebAssembly.html" title="WebAssembly lld port"
+             >previous</a> |</li>
+  <li><a href="index.html">lld Home</a> | </li>
+ 
+      </ul>
+    </div>
+    <div class="footer">
+        © Copyright 2011-2018, LLVM Project.
+      Last updated on 2018-07-02.
+      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
+    </div>
+  </body>
+</html>
\ No newline at end of file

Modified: www-releases/trunk/download.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/download.html?rev=336152&r1=336151&r2=336152&view=diff
==============================================================================
--- www-releases/trunk/download.html (original)
+++ www-releases/trunk/download.html Mon Jul  2 16:21:43 2018
@@ -42,20 +42,20 @@ next release.</p>
   <li><a href="6.0.1/test-suite-6.0.1.src.tar.xz">LLVM Test Suite</a> <a href="6.0.1/test-suite-6.0.1.src.tar.xz.sig">(.sig)</a></li>
 </ul>
 
-<!--
 <p><b>Documentation:</b></p>
 <ul>
   <li><a href="6.0.1/docs/index.html">LLVM</a> (<a href="6.0.1/docs/ReleaseNotes.html">release notes</a>)</li>
   <li><a href="6.0.1/tools/clang/docs/index.html">Clang</a> (<a href="6.0.1/tools/clang/docs/ReleaseNotes.html">release notes</a>)</li>
   <li><a href="6.0.1/tools/clang/tools/extra/docs/index.html">clang-tools-extra</a> (<a href="6.0.1/tools/clang/tools/extra/docs/ReleaseNotes.html">release notes</a>)</li>
   <li><a href="6.0.1/tools/lld/docs/index.html">LLD</a> (<a href="6.0.1/tools/lld/docs/ReleaseNotes.html">release notes</a>)</li>
+<!--
   <li><a href="6.0.1/projects/libcxx/docs/index.html">libc++</a></li>
 
   <li><a href="6.0.1/llvm_doxygen-6.0.1.tar.xz">LLVM Doxygen</a> (.tar.xz)</li>
   <li><a href="6.0.1/clang_doxygen-6.0.1.tar.xz">Clang Doxygen</a> (.tar.xz)</li>
   <li><a href="6.0.1/clang-tools-extra_doxygen-6.0.1.tar.xz">clang-tools-extra Doxygen</a> (.tar.xz)</li>
-</ul>
 -->
+</ul>
 <p><b>Pre-Built Binaries:</b></p>
 <ul>
   <!--Apple Darwin-->




More information about the llvm-commits mailing list