DELTA 356843 17354 467 SVNz4\1v J3GZis lexically inside a function or inside /// a variable initializer. It recognizes non-defining declarations as well /// as members of local inline int x = [](){ return 0; }; /// \endcode bool isInLocalScopeENDREP DELTA 356843 63729 2496 SVN (N$ aarch64_be1?1oes not have aENDREP DELTA 357097 221768 82 SVN{Pn<:[ammInLocalScopeif (const auto *CRD = dyn_cast(LDC)) if (CRD->isLambda()) return truENDREP DELTA 357097 225425 497 SVNA_@&D~bllK1\{dp>D~;|)}x^͑Ak1eY%*,aVxM㈁`$3VDW G޼q_!x7FlG5KlԿ\piFT榵Q=1b!$NIFHI(tͩcTR~Q9T;=#Q{(4a9kY& _eIkCM;쟠v0 ~:v:x^Sn0 +xk 8ɹ1K t,L K=vC{|ɬKj̛ ;OG_햴{UG]NjDkzL69x;HzvQYD-㎏uFǍpQG@q3ZE{@?CVi|щcCVcmO䒵Ө&H.q0rP>ȈHCw4CjԤ Z"B:8Olcb`r EbIGg3Rzʼn{b.gТ9cSAsQKՓsA$+$TٓSqTCiE .ބ0(|6TFq);VkO Xa~gl4y8"H06 ;rϢa~q7׮/{*X@ˮ(B/FX\vhPOŇiV %WHqkg gBENDREP DELTA 353942 416667 554 SVN`p  zfz!Str.empty() && ENDREP DELTA 357937 68279 893 SVN+w)`W)// If we plan on emitting this inline builtin, we can't treat it as a builtin. if (FD->isInlineBuiltinDeclaration()) { const FunctionDecl *FDBody; bool HasBody = FD->hasBody(FDBody); (void)HasBody; assert(HasBody && "Inline builtin declarations should always have an " "available body!"); if (shouldEmitFunction(FDBody)) F->addAttribute(llvm::AttributeList::FunctionIndex, KI7Iue; } bool VisitVarDecl(VarDecl *VD) { if (VD->getTLSKind()) { // A thread-local variable cannot be imported. SafeToInline = false; return SafeToInline; } // A variable definition might imply a destructor call. if (VD->isThisDeclarationADefinition()) SafeToInline = !hc h3@af (D->isTemplated()) return; EmitGlobal(cast(D)); // Always provide some coverage mapping // even for the functions that aren't emitted. AddDeferredUnusedCoverageMapping(D); break; case ENDREP DELTA 358397 11819 12117 SVN$ ># addExportedSymbol(CmdArgs, "_rese854dArgs.push_back(Str); } } void Darwin::CheckObjCAENDREP DELTA 356843 597332 12355 SVN+*>8ZtmJ2?Qu?pToolChain &TCC const ToolChain &TCC// FIXME: The Linker class constructor takes a ToolChain and not a // Generic_ELF, so the static_cast might return a reference to a invalid // instance (see PR45061). Ideally, the Linker constructor needs to take a // Generic_ELF instead. const toolchains::Generic_ELF &ToolChain = static_castis(TT_TemplateOpener) && Next->MatchingParen) { Next = Next->MatchingParenp]e~?Xx^TQo0~߯Dm*UѠϑ G;fD>cCBHӆؾ>;_u ј wX.?74+k ) *,z'*Z+Mq 0\ CzNf rY8Px~>>Gn#!vT)Sku-M%DVN񶵢gBF+j|D57a};*r0Īn*L^L&4|pӒn{Xh9}INJq|&-mVR#]/e0\1гFYE4Cm٘؄M"P$,PcEA8aI -(Zy_;ijYayM[Z _o6H]XA}_ u,K;qWs[6_[:NnBC/OУ؝W8x5WoٸENDREP DELTA 359079 9474 30160 SVN 3.RInLocalScope -ENDREP DELTA 357937 200986 2599 SVN mt InLocalScope?"); } VarDeclC00ENDREP DELTA 359336 3012 149 SVNV=i^m~pFx^UMo@+9D6rnBF$U6fVkk?*3 `v.{o)RሞR]<BXRXkWwU #̦ p /lQ '"{=YrFQbpSk%nyNHh-gZ wCN{ fRho4?x ʬ*]؆ aZ܂N[?ȥ5K {4j bBRyϻE\R;*7tJeX/ǬDYAcD#v Rj;5:,ζ9oZ6bG61hNF!wַB:LmkTKsc]!'!-:>vQCvt!]5g"HNLJ \^'v]%O=羝3E[utszF_;y3M8DZ櫍l7*q:aԣDԪ)4d2`g3LcqNk+9Q31[ rnG3U!uo%޻ (;#4`+~/_tqpppready built assert(S->getAllocate() && S->getDeallocate() && "allocation and deallocation calls mqpppnsform::TransformDesignatedInitUpdateExpr( DesignatedInitUpdateExpr *E) { llvm_unreachable("Unexpwyp*VAh84urived().AlwaysRebuild() && !ArgumentChanged) return E; return getDerived().RebuildShuffleVectorExpr(E->getBuiltinLoc(), SubExprs, TreeTransform::TransformConvertVectorExpr(ConvertVectorExpr *E) { ExprResult SrcExpr = getDerived().TransformExpr(E->getSrcExpr()); if (SrcExpr.isInvalid()) return ExprError(); TypeSourceInfo *Type = getDerived().TransformType(E->getTypeSourceInfo()); if (!Type) return ExprError()6YY]ENDREP DELTA 229109 155563 1931 SVNwb;:WE?X>4|E[Wvva1L{0*x^ks۸~LJmdR;΍c9~I K ErHʏ^߻HHי; X,teKBVL9;8tN7}6qZ<9Z_kQLii!8_|3ٴ(|sm-fI6Y;FM$cB%b6p5->ge٦"aw<>Y!{Pz<&#wh=? $"¼tuyΣkxͼ9Zܦ<q  ~={߾Aj}t4`6ԔM*MFrg抚Bb!EQ0\L`S/csX-0!gA?mQO_fCڢs ,6/Mޒ+ث\+O )eInl0%`椙W(땃Ae zc'4$+`$૰ja[]80(`iE!z9ІY82Βy΋ѱ(̼L0\bH&D !:m]lu: l솸F?>ͺ< eL @Ů3QprmB:>.G# `}7Uד8KHoAR'⢡ܠ(MI䮹#ךwh o gi /<;k$*szaEu nAwKG:kkR^d<)m]x#g+pUMS }`+vcpF{DTb끴oLhIL ODr p2CTQ ,sx^`c`j /jʵwYHT : [{G|jRN3?r-!d܁&L"*^TT}F2#ijPdcIRt[Tۓ^'f@S;I؀.^yư,D*]ќ脕M;ϐĕh^Dc,/hvECw JLXv]D3>KxDň>ZԷ\+C>m.Y~YtI(jSzeM7dOi⮳JCnŁ*n(eMYh@Bpp/,甹 Ji:AuaU1(b&[9oKw|X@WT]k-{ Kv'k;pxAf lV۞jM87ncKXd_d @dX !FXZd̬Cq:$ʐIxϥU.|٠t C<7`& ڧ]p^x(D}i}vq䞎vd%g{OquW[4_֮=T- _PF-)^p5 :d \o7I`A@7;=V5X($Gz=ȺZTF?Q-tH"vY`"YN <]3>! ʔh.SAa#݉xPxUξY1^,IƗ3Jf9 Wcu%M}YpK :n,UǨ=BBn3j#S1vB}~RUe]LSX߬Oi1n!C2gAv!dBVyw%%u2^8d,/ ~\W waW@V(1>q"yMq*gS@ *IR@ς saPpZ GP҃炇K9-S AWRx]>s ADX1cid`(ry EX2y5+4 BzW00Jʳ%ϋ*c0PAΘ}d.P)[=i byJ ``d_;n6a>㳜x %d; 鱪UjT p/\~yE P@Y b3 *`cϛeڰ5M=/'K4gJ٩)Q:uo⣋>5>㣏AdȿQOJ۳n _0c1D뙼G)T~2 Оob6lhn=ٗ@&$*>AVE@n{>%\j l4ȼjpFx^}sj>wFy{+ (F>V)$gpcɍTɖa*թ!*S9TIAMZܽ/`xC#d6I,Gs#N)Ÿ,f7UQ`rm #h O.xH+Sc/"r/$6EO< ~hl0-VRJ%NKX)/ a([vP&k7U,o | 5%]FnN$K&7{`^`p%Bt?3;OzvKӑ9NI驉 x X˖NVݐvimx_Ygr}=φ}f7Pv0ڃF $!gn8ځ//Z~n`ޒh|4g|"rN>u ʹ2e&Ytqj)6|:IQ$ַZhhWۥ0@2%z GxB C7HZSo2}/A^U}HO#Ek 7jpemi1]3?q?-T3 5mIU/O*-1ADi9N'Hy6 PXZ) PcW$k'^<'xwuP4ǚ(`S((r\4M[\E|kuO?ma QjR TA*(\q%M8ʪ2/f P=uh Wգ$k_R $ٰ~:r(<3^Pš6;D=)[6EZENDREP DELTA 351288 57519 584 SVN'!zqg\p[Ly Do not // traverse DWARF sections. They are live, but they should not keep other // sections alive && !sc->isDWARF()ENDREP DELTA 357097 301971 234 SVN<'% %if (config->strip == StripPolicy::None) return false; if (isDebugSection(*s)) return true; if (auto *isec = dyn_cast(s)) if (InputSectionBase *rel = isec->getRelocatedSection()) if (isDebugSection(*rel)) return true; return falseENDREP DELTA 357937 205517 511 SVNa'  g-4isDebugSection(*secENDREP DELTA 356843 1402999 172 SVN  I@Ginline bool isDebugSection(const InputSectionBase &sec) { return sec.name.startswith(".debug") || sec.name.startswith(".zdebug"); }ENDREP DELTA 356843 1404396 572 SVN|s ixOrif ((flags ^ isec->flags) & SHF_TLSfirst->flags & SHF_LINK_ORDER) if (auto *d = first->getLinkOrderDep()) ENDREP DELTA 357097 303148 103 SVN;e 6]`j\Wd^x^mQN0 +LS€`ӘZ?:D(qN'M k|Jg8OЈ]Hhc. aa}tu0u]m7onzs_3D_2 d=.'7`6FRՖ.JFIPyTLi#+m-ᶓfH# U`9{kW*?SENDREP DELTA 351278 100277 223 SVN!Q nNSUa(:N<FRIPhWx^FGm|P:XO= T[?:K=p`,:xQPIx^VKo@+R^DʡDRNtw%]ۻ@> 3Y?6z@ji <1CX\pU "$ 3\#aNȗa$*פ "ˠTX^!HTe g4=q΅cT&&h-䓑F9L!ERG]S89A"seB*7BjL6uxt)sxKr&N^fEW #ﲹ.ævȽk.JkFX RH*;ȅoZ~<ʗκ.,]zV]=ϸ#lTiJHi;JY WpuKԍ45BH< qK%ϖ́˲]>yoWcNfLI^4IҘ GkTRvIoM=3G~ k=14=yQ}ZhWݖGտT6ht1sMZKކmw`$ ~e (Ti>N.ȗI]nS3.X.Q*eB N 2W7SF';,?L]ofdhmk rZv+?=0U&3WFmeJ'6*^Ñ*käcAsBtb[3J"CjX#۟|~NͣWTp~~-fpݦ"@gG[n6:w-6;V_ jUY|dBf)ʆ?vX>-cgSmoB>h0̶jRwЯENDREP DELTA 356843 1896599 24 SVNpI U SwySssert(RecordSize < UINT32_MAX && "Record too big"); assert(RecordSize % 4 == 0 && "RecordSize is not a multiple of 4 bytes which will cause " "misalignment in the output TPI stream!"); ENDREP DELTA 356843 2104557 674 SVNj{)S(}2o/O%K{MRknown()) return A; if (B.isUnknown if (!isa(RHS))knownknownknownENDREP DELTA 351278 821550 223 SVN@k R Q+Qknown()) return OS << "unknown"; if (Val.isUndef()) return OS << "undefENDREP DELTA 356843 2262834 2885 SVND4VEoUx^mPKO@+fPD J 'cmwZ.mڅ (0Ec6TiQ*18I_,u|uyjߪBȀx2V 76K%{`nTMQ0s\79ki\hRbd#HRƨ~*XZBhA C'cN,[cMsyIsG۽wgetOperand(2).getOpcode() != ISD::TargetConstant || !cast(LD->getOperand(2))->isOpaqu gtantSDNode *N1C = dyn_cast(N1); if (N0C && !N1C) return DAG.getNode(ISD::ADDE, SDLoc(N), N->getVTList(), N1, N0, CarryIn); // fold (adde x, y, false) -> (addc x, y) if (CarryIn.getOpcode() == ISD::CARRY_FALSE) return DAG.getNod~(g } if (SDValue Combined = visitANDLike(N0, N1, N)) return Combined; // Simplify: (and (op x...), (op y...)) -> (op (andMasking the negated exte getOperand(0).getValueType(); unsigned BitSize = SmallVT.getScalarSizeInBits(); if (N1C->getAPIntValue().uge(BitSize)) return DAG.getUNDEF(VT); if (!LegalTypes || TLI.isTypeDesirableForOp(ISD::SRL, SmallVT)) { uint64_t ShiftAmt = N1C->getZExtValue(); g EVT VT = N->getValueType(0); EVT EVT = cast(N1)->getVT(); unsigned VTBits = VT.getScalarSizeInBits(); unsigned EVTBits = EVT.getScalarSizeInBits(); if (N0.isUndef()) return DAG.getUNDEF(VT); // fold (sext_in_reg c1) -> c1 if (DAG.isConstantIntBuildVect%i$j-#\=`Q85gSINT_TO_FP, SDLoc(N), VT, N0); // If the inp// Cannot handle opaque target constants and we must respect the user's // request not to split indexes from loads. if (!canSplitIdx(LD)) return SDValue(); SDValue Idx = SplitIndexingFromLoad(LDCanSplitIdx = canSplitIdx(LD); if (!N->hasAnyUseOfValue(0) && (CanSplitIdxCanSplitIdxmat // are not conmnsert/extract: //e(SelOpcode, DL, VTENDREP DELTA 357937 228063 120 SVN TlJOLET6jstatic bool isTerminatingEHLabel(MachineBasicBlock *MBB, MachineInstr &MI) { // Ignore non-EH labels. if (!MI.isEHLabel()) return false; // Any EH label outside a landing pad must be for an invoke. Consider it a // terminator. if (!MBB->isEHPad()) return true; // If this is a landingpad, the first non-phi instruction will be an EH_LABEL. // Don't consider that label to be a terminator. return MI.getIterator() != MBB->getFirstNonPHI()isTerminatingEHLabel(MBB, IENDREP DELTA 351278 1443254 263 SVNy y# "The type record size is not a multiple of 4 bytes which will cause " "misalignment in the output TPI streamENDREP DELTA 356843 2418318 66 SVNHW,O+0 +#Kq*mrn_%H.x^Oo@~WzCLLM&&5YaM`X/Bؽ3`AE/B v'&Ja>#fA4Lttw\o<getWasmSection(".debug_names", SectionKind::getMetadata()); DwarfStrOffSection = Ctx->getWasmSection(".debug_str_offsets", SectionKind::getMetadata()); DwarfAddrSection = Ctx->getWasmSection(".debug_addr", SectionKind::getMetadata()); DwarfRnglistsSection = Ctx->getWasmSection(".debug_rnglists", SectionKind::getMetadata()); DwarfLoclistsSection = Ctx->getWasmSection(".debug_loclistENDREP DELTA 357937 246798 96 SVNBZCKzNtA2 = *(type *)(%1 + 0) or *(type *)(%1 + 0) = %2// Reject the form: // %1 = ADD_rr %2, %3 // *(type *)(%2 + 0) = %1 if (Opcode == BPF::STB || Opcode == BPF::STH || Opcode == BPF::STW || Opcode == BPF::STD || Opcode == BPF::STB32 || Opcode == BPF::STH32 || Opcode == BPF::STW32) { const MachineOperand &Opnd = DefInst->getOperand(0); if (Opnd.isReg() && Opnd.getReg() == I->getReg()) continue; }ENDREP DELTA 356843 3151074 30048 SVN'&na0z0 T:A.^unsigned Alignment = DAG.getEVTAlignment(Tmp.getValueType()); if (i32Stack) { MachineFunction &MF = DAG.getMachineFunction(); Alignment = 4Alignment, Alignment RLI.Alignment = Alignmentbool ValidFPToUint = Op.getOpcode() == ISD::FP_TO_UINT && (Subtarget.hasFPCVT() || Op.getValueType() == MVT::i32); if (ET == ISD::NON_EXTLOAD && (ValidFPToUint || vt toad(SDValue Op, SelectionDAG &DAG) const { SDLoc dl(Op); LoadSDNode *LN = cast(Op.getNode()); SDValue LoadChain = LN->getChain(); SDValue BasePtr = LN->getBasePtr(); if (Op.getVa\U*,# X5[e if (User->getOpcode() == ISD::SELECT_CC) { if (User->getOperand(0) == InputVector8+ us8se. Examples: f16, f80. return false; case MVT::f32: case MVT::f64: case MVT::ppcf128: return Imm.isPosZero(); } } // For vector shift operation op, fold // (op x, (and y, ((1 << numbits(x)) - 1))) -> (target op x, y) static SDENDREP DELTA 357937 257187 373 SVNˀѠ"'!'&Qu1b%SDLoc DL(Root);Attempt to create a zero vector. if ((UndefElts | ZeroElts).isAllOnesValue()) return getZeroVector(Root.getSimpleValueType(), Subtarget, DAG, DLtabmYlS@sdd) { !Subtarget.hasSSE3() || !TLI.isTypeLegal(VT) || !VT.getSimpleVT().isFloatingPoint()) return false; ommnts with undefs? // TODO: Can we assert that both operands are not zeros (because that should // get simplified at node creation time)? bool TValIsAllZeros = ISD::isBuildVectorAllZeros(LHS.getNode()); bool FValIsAllZeros =  lau wering &TLI = DAG.getTargetLoweringInfo(); if (TLI.isTypeLegal(VT) && TLI.isOperationLegal(ISD::CTPOP, VT)LHS needs to be a single use CTP omm ForCodeSize, Depth + 1); } bool NegA = !!NewOps[0]; bool NegB = !!NewOps[1]; bool NegC = !!NewOps[2]; unsigned NewOpc = negateFMAOpcode(Opc, NegA != NegB, NegC, true); // Fill in the non-negated ops with the yf omymub is a XOR with one use and a constant, invert the // immediate. Then add one to the LHS of the sub so we can turn // X-Y -> X+~Y+1, saving one register. if (Op1->hasOneUse() && Op1.getOpcode() == ISD::XOR && isaX^gGx^Sn0 + 5MwoYz5Yc5dH2bٿP`9H?|\2F_0HxYQzOqnG^yJJƍve)y%_qѤQdGquAkXjEd1t E!8CQx;Q.@5ah,Kﻶ56808'DfMiHSo-)hϥh5SPwcO]c¢s; )p4 cj hD f7Du~2` m7":ooyoey 0`KL)̩"ŐrM0Pyı+5L ک-{~۶a8󼁖)!tJ7FG^|x¿zl?-KZir+"f= :l[Ɯ2|$<% R3 -L1>4\i-EޟwVnp 2gKSG`NI> }FTkJߊHO>ܛ6C `q}ê0? ?ͺTENDREP DELTA 356843 3895457 487 SVN6B ! , IsJIT(JITENDREP DELTA 193323 4838783 1393 SVN\T WEwAx^TYo@~5"GՇrR@n7l5I8B@vo S%5`_d2FSY1PjGxf] "L O8.amLnWUl1OQ⒨ օ]i{1J×[жz}UdK}f^Og-{,%EPwθD#| ,[Vh:{[b6LxC<3UY2~aTƁ7s6 -k ώ 5 LqyY2kMqŵAuoSءbR۞Aj@03.قZ~hn& QW;,IC|4Fj"\7=Tίळru}ܢ* 0-z^p1ZPV6(f2)Bcx^\卺hLA0.kTh{&Y=+`l1ЂL[&Urj/15,؛Wup 5lRTn:-+%+X.S ?4/#u \\D ile$8֦iߕy|L|;d'ũVm+b3IyŢ&&8IyNENDREP DELTA 356843 3904663 668 SVNVmlk kauto SI = cast(S[I]); // Leave final.suspend to handleFinalSuspend since it is undefined behavior // to resume a coroutine suspended at the final suspend point. if (!SI->isFinal() && simplifySuspendPoint(SIENDREP DELTA 356843 3940258 1479 SVN"G!JEf\6t VarSize = Var->getSizeInBits(); DIExpression *Expr = GVE->getExpression(); // If the FragmentSize is smaller than the variable, // emit a fragment expression. // If the variable size is unknown a fragment must be // emitted to be safe. if (!VarSize || FragmentSizeInBits < *VarSizeOROion. Evaluator Eval(DL, TLI); Constant *RetValDummy; bool EvalSuccess = Eval.EvaluateFunction(F, RetValDummy, ENDREP DELTA 356843 4017203 266 SVN mNlDL~Zyl,Mgb> U&`e@FckRbrqR'Nb4x^Wmo9_1e$HPR4yw ؜텠65HCb UJhV{dKXHFI <7Q̒Ǩӯ23O2 v9ҷ?;,b? f1{lE Ó~˭|2YYWdF$Jq4ΡwԞp_BL:TrͰߜ ~c.G0 QE;吨\!cV 7l~[!UZ9*r9vQHn՛ cmW|=Ai>tD%\(8.fV싡x(u܂רSxl R4ׄO`{9~~[;djB6}IBki5gB}T̲{bWo_*ŧV@W#X%]Q%rG^͒mxMxBr̲,+\.%E^jyNEiO^X##BKwӸL@ y7W#A涼jj6Vwvا&ԸuW{܉(&CnsM,ZǎQ[;&j].JUա?q \(@IMiYw-AMy^{yevbj9|3(ENDREP DELTA 356843 4070081 78 SVNA I 0v0x^UQ;o0ǂй) A 5!cؑBUދܐ8w+8A!ZCueÊk]8:8p>dl< HAbfR~BciHb++aD̒Z Źx-`ϵ< kʭ xMI!gȦ61\b4aod)3i `a*Z mKZ1Q5OtwcYRh JP8&{ 0) non-empty if (Sec.Type != SHT_NOBITS && Sec.Size > 0) { Sec.Offset = Sec.Addr - MinAddr; TotalSize = std::max(TotalSize, Sec.Offset + Sec.Size); ENDREP DELTA 356843 4174492 323 SVNR S $^tx^}RMO@+Yh<,G.(BH)TVD;mH̼'_zEX@n老JMQiVṃI1|`8g"2 -Bf2;A+Fjz+Y݃&laG3]y ZҮnE_iK]2L̵RwaY1HjvlPf^/O^UMNKqJEŐ4pn_yF~bh6򡾙IyF3] 8,s&-Q9