From owner-svn-src-vendor@freebsd.org Sun Oct 20 04:15:05 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id ABF94152D5E; Sun, 20 Oct 2019 04:15:05 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 46wmdJ2c9Vz4LcB; Sun, 20 Oct 2019 04:14:59 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id M2cJiYIELUIS2M2cKiUUs0; Sat, 19 Oct 2019 22:14:57 -0600 X-Authority-Analysis: v=2.3 cv=N41X6F1B c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=8nJEP1OIZ-IA:10 a=XobE76Q3jBoA:10 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=8JuyV68ynUFHwCkUd98A:9 a=wPNLvfGTeEIA:10 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=Z5ABNNGmrOfJ6cZ5bIyy:22 a=bWyr8ysk75zN3GCy5bjg:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 41B645A55; Sat, 19 Oct 2019 21:14:55 -0700 (PDT) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x9K4EspE081470; Sat, 19 Oct 2019 21:14:54 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x9K4Es6d081467; Sat, 19 Oct 2019 21:14:54 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201910200414.x9K4Es6d081467@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: Re: svn commit: r343774 - in vendor-crypto/openssh/dist: . contrib/redhat contrib/suse openbsd-compat regress regress/misc/fuzz-harness regress/unittests/sshkey regress/unittests/sshkey/testdata regres... In-reply-to: <201902051503.x15F3rMN050696@repo.freebsd.org> References: <201902051503.x15F3rMN050696@repo.freebsd.org> Comments: In-reply-to =?UTF-8?Q?Dag-Erling_Sm=c3=b8rgrav?= message dated "Tue, 05 Feb 2019 15:03:53 +0000." Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Date: Sat, 19 Oct 2019 21:14:54 -0700 X-CMAE-Envelope: MS4wfMrfitOsgSL1b4rA4G3TgPJf+7sGokTICuJmijA53iURzgQjxIlLRshbdF/FZrHpx4CIe8aJPWe2HkV0E78FeORP3LnRpK5voG8Yhky6+BTPvMpbKKYb vXGJLPhDIQtppECJmJMBd0R84mxaMnIvsYqiZGHaI7gxVIhkCbjkfeMk+OV3WK6zdtJJIAjPyvPK9cX0tzPeKOtuDrcGhNDC0smdtVmpyKHW/2n7+yUaOOR5 uxcGh6CVZLz8eehmK6/Kh4eJ0j7G43VdrI/Kpe8iyn3o0Xk81LLGLQaqpwSw8yh7 X-Rspamd-Queue-Id: 46wmdJ2c9Vz4LcB X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; spf=none (mx1.freebsd.org: domain of cy.schubert@cschubert.com has no SPF policy when checking 64.59.134.12) smtp.mailfrom=cy.schubert@cschubert.com X-Spamd-Result: default: False [-2.44 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.11]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; MV_CASE(0.50)[]; LONG_SUBJ(1.52)[203]; IP_SCORE(-2.36)[ip: (-6.31), ipnet: 64.59.128.0/20(-3.04), asn: 6327(-2.37), country: CA(-0.09)]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLYTO_EQ_FROM(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[12.134.59.64.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[12.134.59.64.rep.mailspike.net : 127.0.0.17] X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Oct 2019 04:15:05 -0000 In message <201902051503.x15F3rMN050696@repo.freebsd.org>, =?UTF-8?Q?Dag-Erling _Sm=c3=b8rgrav?= writes: > Author: des > Date: Tue Feb 5 15:03:53 2019 > New Revision: 343774 > URL: https://svnweb.freebsd.org/changeset/base/343774 > > Log: > Vendor import of OpenSSH 7.9p1. > Hi des@, Are there plans to merge this into head? -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-vendor@freebsd.org Mon Oct 21 18:09:00 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7322715DC39; Mon, 21 Oct 2019 18:09:00 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46xl5838XZz4bq2; Mon, 21 Oct 2019 18:09:00 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 29A8627B6A; Mon, 21 Oct 2019 18:09:00 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9LI90f0066325; Mon, 21 Oct 2019 18:09:00 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9LI8vsx066307; Mon, 21 Oct 2019 18:08:57 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201910211808.x9LI8vsx066307@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Mon, 21 Oct 2019 18:08:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353835 - in vendor/tcsh/dist: . tests X-SVN-Group: vendor X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in vendor/tcsh/dist: . tests X-SVN-Commit-Revision: 353835 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Oct 2019 18:09:00 -0000 Author: brooks Date: Mon Oct 21 18:08:57 2019 New Revision: 353835 URL: https://svnweb.freebsd.org/changeset/base/353835 Log: Update vendor/tcsh to git 83c5be0: Upstream changes: 5. PR/113: Sobomax: avoid infinite loops for -c commands when stdout is not a tty. 4. Avoid infinite loops during history loads when merging, print a better error for errors during history load. 3. PR/88: Preserve empty arguments in :q 2. PR/94: Small apple issues (SAVESIGVEC, HOSTTYPE) 1. PR/81: Fix range matching issue where we were comparing with the range character instead of the start of range. [l-z]* would match foo Reported by: sobomax Modified: vendor/tcsh/dist/Fixes vendor/tcsh/dist/README.md vendor/tcsh/dist/glob.c vendor/tcsh/dist/host.defs vendor/tcsh/dist/sh.c vendor/tcsh/dist/sh.err.c vendor/tcsh/dist/sh.h vendor/tcsh/dist/sh.hist.c vendor/tcsh/dist/sh.lex.c vendor/tcsh/dist/tc.const.c vendor/tcsh/dist/tc.sig.h vendor/tcsh/dist/tcsh.man.new vendor/tcsh/dist/tests/lexical.at vendor/tcsh/dist/tests/subst.at vendor/tcsh/dist/tests/syntax.at vendor/tcsh/dist/tests/variables.at Modified: vendor/tcsh/dist/Fixes ============================================================================== --- vendor/tcsh/dist/Fixes Mon Oct 21 18:08:25 2019 (r353834) +++ vendor/tcsh/dist/Fixes Mon Oct 21 18:08:57 2019 (r353835) @@ -1,3 +1,11 @@ + 5. PR/113: Sobomax: avoid infinite loops for -c commands when stdout is + not a tty. + 4. Avoid infinite loops during history loads when merging, print a better + error for errors during history load. + 3. PR/88: Preserve empty arguments in :q + 2. PR/94: Small apple issues (SAVESIGVEC, HOSTTYPE) + 1. PR/81: Fix range matching issue where we were comparing with the + range character instead of the start of range. [l-z]* would match foo 12. V6.21.00 - 20190508 11. Abort history loading on words and lines too long https://bugzilla.redhat.com/show_bug.cgi?id=1598502 Modified: vendor/tcsh/dist/README.md ============================================================================== --- vendor/tcsh/dist/README.md Mon Oct 21 18:08:25 2019 (r353834) +++ vendor/tcsh/dist/README.md Mon Oct 21 18:08:57 2019 (r353835) @@ -1,4 +1,4 @@ -# Tcsh +# TCSH *C shell with file name completion and command line editing* @@ -14,10 +14,10 @@ PLEASE file any bug reports, fixes, and code for new f > https://bugs.astron.com/ Comments, questions, etc. (even flames) are welcome via email to -the Tcsh Bugs mailing list: +the tcsh mailing list: -> tcsh-bugs@astron.com -> https://mailman.astron.com/ +> tcsh@astron.com +> https://mailman.astron.com/mailman/listinfo/tcsh [![Build Status][status]][travis] Modified: vendor/tcsh/dist/glob.c ============================================================================== --- vendor/tcsh/dist/glob.c Mon Oct 21 18:08:25 2019 (r353834) +++ vendor/tcsh/dist/glob.c Mon Oct 21 18:08:57 2019 (r353835) @@ -100,7 +100,7 @@ static int Lstat (const char *, struct stat *); static int Stat (const char *, struct stat *sb); static Char *Strchr (Char *, int); #ifdef DEBUG -static void qprintf (const Char *); +static void qprintf (const char *, const Char *); #endif #define DOLLAR '$' @@ -254,19 +254,20 @@ Strchr(Char *str, int ch) #ifdef DEBUG static void -qprintf(const Char *s) +qprintf(const char *pre, const Char *s) { const Char *p; - + + xprintf("%s", pre); for (p = s; *p; p++) - printf("%c", *p & 0xff); - printf("\n"); + xprintf("%c", *p & 0xff); + xprintf("\n%s", pre); for (p = s; *p; p++) - printf("%c", *p & M_PROTECT ? '"' : ' '); - printf("\n"); + xprintf("%c", *p & M_PROTECT ? '"' : ' '); + xprintf("\n%s", pre); for (p = s; *p; p++) - printf("%c", *p & M_META ? '_' : ' '); - printf("\n"); + xprintf("%c", *p & M_META ? '_' : ' '); + xprintf("\n"); } #endif /* DEBUG */ @@ -410,7 +411,7 @@ glob(const char *pattern, int flags, int (*errfunc) (c } *bufnext = EOS; #ifdef DEBUG - qprintf(patbuf); + qprintf("patbuf=", patbuf); #endif if ((err = glob1(patbuf, pglob, no_match)) != 0) { @@ -707,7 +708,7 @@ match(const char *name, const Char *pat, const Char *p while (pat < patend || *name) { size_t lwk, pwk; - __Char wc, wk; + __Char wc, wk, wc1; c = *pat; /* Only for M_MASK bits */ if (*name == EOS) @@ -742,18 +743,20 @@ match(const char *name, const Char *pat, const Char *p pat += pwk; pwk = One_Char_mbtowc(&wc, pat, MB_LEN_MAX); } + wc1 = wc; while ((*pat & M_MASK) != M_END) { if ((*pat & M_MASK) == M_RNG) { __Char wc2; pat += pwk; pwk = One_Char_mbtowc(&wc2, pat, MB_LEN_MAX); - if (globcharcoll(wc, wk, 0) <= 0 && + if (globcharcoll(wc1, wk, 0) <= 0 && globcharcoll(wk, wc2, 0) <= 0) ok = 1; } else if (wc == wk) ok = 1; pat += pwk; + wc1 = wc; pwk = One_Char_mbtowc(&wc, pat, MB_LEN_MAX); } pat += pwk; Modified: vendor/tcsh/dist/host.defs ============================================================================== --- vendor/tcsh/dist/host.defs Mon Oct 21 18:08:25 2019 (r353834) +++ vendor/tcsh/dist/host.defs Mon Oct 21 18:08:57 2019 (r353835) @@ -854,9 +854,9 @@ enddef : newdef : defined(APPLE) && defined(MACH) comment : OS X vendor : : "apple" -hosttype: defined(i386) : "intel-pc" +hosttype: defined(i386) : "intel-mac" hosttype: defined(ppc) : "powermac" -hosttype: defined(M_amd64) : "amd" +hosttype: defined(M_amd64) : "intel-mac" ostype : : "darwin" machtype: defined(i386) : "i386" machtype: defined(M_amd64) : "x86_64" Modified: vendor/tcsh/dist/sh.c ============================================================================== --- vendor/tcsh/dist/sh.c Mon Oct 21 18:08:25 2019 (r353834) +++ vendor/tcsh/dist/sh.c Mon Oct 21 18:08:57 2019 (r353835) @@ -237,6 +237,7 @@ main(int argc, char **argv) int nofile = 0; volatile int nverbose = 0; volatile int rdirs = 0; + volatile int exitcode = 0; int quitit = 0; Char *cp; #ifdef AUTOLOGOUT @@ -1390,6 +1391,12 @@ main(int argc, char **argv) if (targinp) { + /* If this -c command caused an error before, skip processing */ + if (reenter && arginp) { + exitcode = 1; + goto done; + } + arginp = SAVE(targinp); /* * we put the command into a variable @@ -1422,6 +1429,7 @@ main(int argc, char **argv) */ process(setintr); +done: /* * Mop-up. */ @@ -1443,7 +1451,7 @@ main(int argc, char **argv) } record(); exitstat(); - return (0); + return exitcode; } void Modified: vendor/tcsh/dist/sh.err.c ============================================================================== --- vendor/tcsh/dist/sh.err.c Mon Oct 21 18:08:25 2019 (r353834) +++ vendor/tcsh/dist/sh.err.c Mon Oct 21 18:08:57 2019 (r353835) @@ -43,6 +43,7 @@ #endif char *seterr = NULL; /* Holds last error if there was one */ +extern int enterhist; #define ERR_FLAGS 0xf0000000 #define ERR_NAME 0x10000000 @@ -630,6 +631,8 @@ stderror(unsigned int id, ...) */ flush();/*FIXRESET*/ haderr = 1; /* Now to diagnostic output */ + if (enterhist) + xprintf("Can't load history: ");/*FIXRESET*/ if (flags & ERR_NAME) xprintf("%s: ", bname);/*FIXRESET*/ if ((flags & ERR_OLD)) { Modified: vendor/tcsh/dist/sh.h ============================================================================== --- vendor/tcsh/dist/sh.h Mon Oct 21 18:08:25 2019 (r353834) +++ vendor/tcsh/dist/sh.h Mon Oct 21 18:08:57 2019 (r353835) @@ -682,13 +682,27 @@ EXTERN int OLDSTD IZERO; /* Old standard input (def */ #ifdef SIGSETJMP - typedef struct { sigjmp_buf j; } jmp_buf_t; -# define setexit() sigsetjmp(reslab.j, 1) -# define _reset() siglongjmp(reslab.j, 1) + typedef struct { const char *f; size_t l; sigjmp_buf j; } jmp_buf_t; +# define tcsh_setjmp() sigsetjmp(reslab.j, 1) +# define tcsh_longjmp() siglongjmp(reslab.j, 1) +# define setexit() (reslab.f = __func__, \ + reslab.l = __LINE__, \ + sigsetjmp(reslab.j, 1)) +# define _reset() siglongjmp(reslab.j, 1) #else - typedef struct { jmp_buf j; } jmp_buf_t; -# define setexit() setjmp(reslab.j) -# define _reset() longjmp(reslab.j, 1) + typedef struct { const char *f; size_t l; jmp_buf j; } jmp_buf_t; +# define tcsh_setjmp() setjmp(reslab.j) +# define tcsh_longjmp() longjmp(reslab.j, 1) +#endif + +#define setexit() (reslab.f = __func__, \ + reslab.l = __LINE__, \ + tcsh_setjmp()) +#ifdef SETJMP_DEBUG +# define _reset() xprintf("reset %s %zu\n", reslab.f, reslab.l), \ + flush(), tcsh_longjmp() +#else +# define _reset() tcsh_longjmp() #endif #define getexit(a) (void) ((a) = reslab) Modified: vendor/tcsh/dist/sh.hist.c ============================================================================== --- vendor/tcsh/dist/sh.hist.c Mon Oct 21 18:08:25 2019 (r353834) +++ vendor/tcsh/dist/sh.hist.c Mon Oct 21 18:08:57 2019 (r353835) @@ -1281,6 +1281,7 @@ rechist(Char *fname, int ref) } if (merge) { + jmp_buf_t osetexit; if (lock) { #ifndef WINNT_NATIVE char *lockpath = strsave(short2str(fname)); @@ -1290,7 +1291,10 @@ rechist(Char *fname, int ref) cleanup_push(lockpath, dotlock_cleanup); #endif } - loadhist(fname, 1); + getexit(osetexit); + if (setexit()) + loadhist(fname, 1); + resexit(osetexit); } } rs = randsuf(); Modified: vendor/tcsh/dist/sh.lex.c ============================================================================== --- vendor/tcsh/dist/sh.lex.c Mon Oct 21 18:08:25 2019 (r353834) +++ vendor/tcsh/dist/sh.lex.c Mon Oct 21 18:08:57 2019 (r353835) @@ -1020,8 +1020,10 @@ domod(Char *cp, Char type) switch (type) { - case 'x': case 'q': + case 'x': + if (*cp == '\0') + return Strsave(STRQNULL); wp = Strsave(cp); for (xp = wp; (c = *xp) != 0; xp++) if ((c != ' ' && c != '\t') || type == 'q') Modified: vendor/tcsh/dist/tc.const.c ============================================================================== --- vendor/tcsh/dist/tc.const.c Mon Oct 21 18:08:25 2019 (r353834) +++ vendor/tcsh/dist/tc.const.c Mon Oct 21 18:08:57 2019 (r353835) @@ -253,10 +253,10 @@ Char STRnormal[] = { 'n', 'o', 'r', 'm', 'a', 'l', '\0 Char STRsldtlogout[] = { '/', '.', 'l', 'o', 'g', 'o', 'u', 't', '\0' }; Char STRjobs[] = { 'j', 'o', 'b', 's', '\0' }; Char STRdefprompt[] = { '%', '#', ' ', '\0' }; -Char STRmquestion[] = { '%', 'R', '?' | QUOTE, ' ', '\0' }; +Char STRmquestion[] = { '%', 'R', (Char)('?' | QUOTE), ' ', '\0' }; Char STRKCORRECT[] = { 'C', 'O', 'R', 'R', 'E', 'C', 'T', '>', '%', 'R', ' ', '(', 'y', '|', 'n', '|', 'e', '|', 'a', ')', - '?' | QUOTE, ' ', '\0' }; + (Char)('?' | QUOTE), ' ', '\0' }; Char STRunalias[] = { 'u', 'n', 'a', 'l', 'i', 'a', 's', '\0' }; Char STRalias[] = { 'a', 'l', 'i', 'a', 's', '\0' }; Char STRprecmd[] = { 'p', 'r', 'e', 'c', 'm', 'd', '\0' }; @@ -380,7 +380,7 @@ Char STRlistmaxrows[] = { 'l', 'i', 's', 't', 'm', 'a' Char STRlistmax[] = { 'l', 'i', 's', 't', 'm', 'a', 'x', '\0' }; Char STRlistlinks[] = { 'l', 'i', 's', 't', 'l', 'i', 'n', 'k', 's', '\0' }; Char STRDING[] = { 'D', 'I', 'N', 'G', '!', '\0' }; -Char STRQNULL[] = { '\0' | QUOTE, '\0' }; +Char STRQNULL[] = { (Char)('\0' | QUOTE), '\0' }; Char STRcorrect[] = { 'c', 'o', 'r', 'r', 'e', 'c', 't', '\0' }; Char STRcmd[] = { 'c', 'm', 'd', '\0' }; Char STRall[] = { 'a', 'l', 'l', '\0' }; Modified: vendor/tcsh/dist/tc.sig.h ============================================================================== --- vendor/tcsh/dist/tc.sig.h Mon Oct 21 18:08:25 2019 (r353834) +++ vendor/tcsh/dist/tc.sig.h Mon Oct 21 18:08:57 2019 (r353835) @@ -42,7 +42,7 @@ # include #endif /* SYSVREL > 0 */ -#if defined(__APPLE__) || defined(SUNOS4) || defined(DGUX) || defined(hp800) || (SYSVREL > 3 && defined(VFORK)) +#if defined(SUNOS4) || defined(DGUX) || defined(hp800) || (SYSVREL > 3 && defined(VFORK)) # define SAVESIGVEC #endif /* SUNOS4 || DGUX || hp800 || SVR4 & VFORK */ Modified: vendor/tcsh/dist/tcsh.man.new ============================================================================== --- vendor/tcsh/dist/tcsh.man.new Mon Oct 21 18:08:25 2019 (r353834) +++ vendor/tcsh/dist/tcsh.man.new Mon Oct 21 18:08:57 2019 (r353835) @@ -391,7 +391,7 @@ variants; see .Sx FILES . .Ss Editing We first describe -.Sx The command-line editor" +.Sx The command-line editor The .Sx Completion and listing and @@ -402,7 +402,7 @@ Finally, .Sx Editor commands lists and describes the editor commands specific to the shell and their default bindings. -.It Sx The command-line editor (+) +.Ss The command-line editor (+) Command-line input can be edited using key sequences much like those used in .Xr emacs 1 or @@ -684,9 +684,8 @@ If the .Va complete shell variable is set to .Sq enhance , -completion -1) ignores case and 2) considers periods, hyphens and underscores -.Sq ( . , +completion 1) ignores case and 2) considers periods, hyphens and underscores +.Sq ( \&. , .Sq \&- and .Sq _ ) @@ -727,7 +726,7 @@ hyphens or underscores. If the .Va complete shell variable is set to -.Sq enhance , +.Sq Enhance , completion ignores case and differences between a hyphen and an underscore word separator only when the user types a lowercase character or a hyphen. @@ -1093,17 +1092,20 @@ must be bound to a single character for this to work) or one of the following special characters may be typed: .Pp -.Sq ^W +.Bl -tag -width indent -compact +.It ^W Appends the rest of the word under the cursor to the search pattern. -delete (or any character bound to +.It delete +(or any character bound to .Ic backward-delete-char ) Undoes the effect of the last character typed and deletes a character from the search pattern if appropriate. -.Sq ^G +.It ^G If the previous search was successful, aborts the entire search. If not, goes back to the last successful search. -escape +.It escape Ends the search, leaving the current line in the input buffer. +.El .Pp Any other character not bound to .Ic self-insert-command @@ -1664,6 +1666,7 @@ The words of an input line are numbered from 0, the first (usually command) word being 0, the second word (first argument) being 1, etc. The basic word designators are: +.Pp .Bl -tag -width XXXX -offset indent -compact .It Ar 0 The first (command) word @@ -2021,7 +2024,7 @@ cause an error. .Pp Some aliases are referred to by the shell; see .Va Special aliases -.Sx Variable substitution +.Ss Variable substitution The shell maintains a list of variables, each of which has as value a list of zero or more words. The values of shell variables can be displayed and changed with the @@ -2219,7 +2222,7 @@ The following substitutions can not be modified with .Sq \&: modifiers. .Pp -.Bl -tag -width XXXXXXXX -offset indent -compact +.Bl -tag -width XXXXXXXXXX -offset indent -compact .It Ar $?name .It Ar ${?name} Substitutes the string @@ -2238,27 +2241,21 @@ if it is not. Always .Sq 0 in interactive shells. -.It Ar -$#name -${#name} +.It Ar $#name +.It Ar ${#name} Substitutes the number of words in .Va name -.It Ar -$# +.It Ar $# Equivalent to .Sq $#argv (+) -.It Ar -$% -.Va name +.It Ar $%name .It Ar ${%name} Substitutes the number of characters in .Va name (+) .Pp -$% -.Va number -.TP 8 +.It Ar $%number .It Ar ${%number} Substitutes the number of characters in .Va $argv[number] . @@ -2749,7 +2746,7 @@ file to it on standard input. The standard input and standard output of a command may be redirected with the following syntax: .Pp -.Bl -tag -width XXXXXX -offset indent -compact +.Bl -tag -width XXXXXXXXX -offset indent -compact .It Ar < name Open file .Va name @@ -3143,63 +3140,47 @@ They have the same format as before; .Va op may be one of .Pp -.PD 0 -.RS +4 -.TP 8 -.B A +.Bl -tag -width XXX -offset indent -compact +.It Ar A Last file access time, as the number of seconds since the epoch -.TP 8 -.B A: +.It Ar A: Like -.Va A +.Va Ar A , but in timestamp format, e.g., .Sq Fri May 14 16:36:10 1993 -.TP 8 -.B M +.It Ar M Last file modification time -.TP 8 -.B M: +.It Ar M: Like .Va M , but in timestamp format -.TP 8 -.B C +.It Ar C Last inode modification time -.TP 8 -.B C: +.It Ar C: Like .Va C , but in timestamp format -.TP 8 -.B D +.It Ar D Device number -.TP 8 -.B I +.It Ar I Inode number -.TP 8 -.B F +.It Ar F Composite .Va f ile identifier, in the form -.Va device -: +.Va device : .Va inode -.TP 8 -.B L +.It Ar L The name of the file pointed to by a symbolic link -.TP 8 -.B N +.It Ar N Number of (hard) links -.TP 8 -.B P +.It Ar P Permissions, in octal, without leading zero -.TP 8 -.B P: +.It Ar P: Like .Va P , with leading zero -.TP 8 -.B P\fImode +.It Ar P Equivalent to .Sq \-P .Va file @@ -3217,28 +3198,22 @@ if by group only, and .Sq 0 if by neither -.TP 8 -.B P\fImode\fB: -Like \fBP +.It Ar P: +Like +.Ar BP .Va mode , with leading zero -.TP 8 -.B U +.It Ar U Numeric userid -.TP 8 -.B U: +.It Ar U: Username, or the numeric userid if the username is unknown -.TP 8 -.B G +.It Ar G Numeric groupid -.TP 8 -.B G: +.It Ar G: Groupname, or the numeric groupid if the groupname is unknown -.TP 8 -.B Z +.It Ar Z Size, in bytes -.RE -.PD +.El .Pp Only one of these operators may appear in a multiple-operator test, and it must be the last. @@ -3791,45 +3766,24 @@ The next sections of this manual describe all of the a and .Va Special shell variables .Ss "Builtin commands" -.TP 8 -.B %\fIjob +.Bl -tag -width XXXXXXX -offset indent +.It Ar %job A synonym for the .Va fg builtin command. -.TP 8 -.B %\fIjob \fB& +.It Ar %job \&& A synonym for the .Va bg builtin command. -.TP 8 -.B : +.It Ar \&: Does nothing, successfully. .Pp -.B @ -.br -.B @ \fIname\fB = \fIexpr -.br -.B @ -.Va name -[ -.Va index -]\fB = \fIexpr -.br -.B @ \fIname -.Va ++ -|\fB-- -.PD 0 -.TP 8 -.B @ -.Va name -[ -.Va index -] -.Va ++ -|\fB-- +.It Ar @ +.It Ar @ name = expr +.It Ar @ name[index] = expr +.It Ar @ name++|-- +.It Ar @name[index]++|-- The first form prints the values of all shell variables. -.PD -.RS +8 .Pp The second form assigns the value of .Va expr @@ -3875,7 +3829,10 @@ has nothing to do with that described under .Va Expressions .Pp -The fourth and fifth forms increment (`++') or decrement (`\-\-') +The fourth and fifth forms increment ( +.Sq ++ ) +or decrement +.Sq ( -- ) .Va name or its .Va index @@ -3898,14 +3855,7 @@ are optional. Components of .Va expr must be separated by spaces. -.RE -.PD -.TP 8 -.B alias \fR[ -.Va name -[ -.Va wordlist -]] +.It Ar alias[name[wordlist]] Without arguments, prints all aliases. With .Va name @@ -3928,8 +3878,7 @@ or See also the .Va unalias builtin command. -.TP 8 -.B alloc +.It Ar alloc Shows the amount of dynamic memory acquired, broken down into used and free memory. With an argument shows the number of free and used blocks in each size @@ -3939,9 +3888,7 @@ This command's output may vary across system types, because systems other than the VAX may use a different memory allocator. .TP 8 -.B bg \fR[\fB% -.Va job -...] +.It Ar bg[%job...] Puts the specified jobs (or, without arguments, the current job) into the background, continuing each if it is stopped. .Va job @@ -3957,35 +3904,10 @@ as described under .Va Jobs .Pp -.B bindkey \fR[ -.Fl l\fR| -.Fl d\fR| -.Fl e\fR| -.Fl v\fR| -.Fl u\fR] (+) -.br -.Va bindkey -[ -.Fl a\fR] [ -.Fl b\fR] [ -.Fl k\fR] [ -.Fl r\fR] [ -.Fl \-\fR] -.Va key -(+) -.PD 0 -.TP 8 -.Va bindkey -[ -.Fl a\fR] [ -.Fl b\fR] [ -.Fl k\fR] [ -.Fl c\fR| -.Fl s\fR] [ -.Fl \-\fR] -.Va key command -(+) -.\" .B macro can't take too many words, so I used \fB in the previous tags +.It Ar bindkey Oo Fl l Ns | Ns Fl d Ns | Ns Fl e Ns | Ns Fl v Ns | Ns Fl u Oc (+) +.It Ar bindkey Oo Fl a Oc Oo Fl b Oc Oo Fl k Oc Oo Fl r Oc Oo Fl Fl Oc Ar key (+) +.It Ar bindkey Oo Fl a Oc Oo Fl b Oc Oo Fl k Oc Oo Fl c Ns | Ns Fl s Oc Oo Fl Fl Oc Ar key command (+) +.\" .It Ar macro can't take too many words, so I used \fB in the previous tags Without options, the first form lists all bound keys and the editor command to which each is bound, the second form lists the editor command to which .Va key @@ -3995,43 +3917,35 @@ the third form binds the editor command to .Va key Options include: -.PD .Pp -.PD 0 -.RS +8 -.TP 4 -.Fl l +.Bl -tag -width XXX -compact +.It Fl l Lists all editor commands and a short description of each. -.TP 4 -.Fl d +.It Fl d Binds all keys to the standard bindings for the default editor, as per .Va -e and .Va -v below. -.TP 4 -.Fl e +.It Fl e Binds all keys to .Va emacs (1)\-style bindings. Unsets .Va vimode -.TP 4 -.Fl v +.It Fl v Binds all keys to .Va vi (1)\-style bindings. Sets .Va vimode -.TP 4 -.Fl a +.It Fl a Lists or changes key-bindings in the alternative key map. This is the key map used in .Va vimode command mode. -.TP 4 -.Fl b +.It Fl b .Va key is interpreted as a control character written ^ @@ -4059,8 +3973,7 @@ or an extended prefix key written X- (e.g., .Sq X-A ). -.TP 4 -.Fl k +.It Fl k .Va key is interpreted as a symbolic arrow key name, which may be one of `down', @@ -4069,8 +3982,7 @@ is interpreted as a symbolic arrow key name, which may .Sq left or .Sq right -.TP 4 -.Fl r +.It Fl r Removes .Va key 's binding. @@ -4085,13 +3997,11 @@ to (q.v.), it unbinds .Va key completely. -.TP 4 -.Fl c +.It Fl c .Va command is interpreted as a builtin or external command instead of an editor command. -.TP 4 -.Fl s +.It Fl s .Va command is taken as a literal string and treated as terminal input when @@ -4101,15 +4011,14 @@ Bound keys in .Va command are themselves reinterpreted, and this continues for ten levels of interpretation. -.TP 4 -.Fl \- +.It Fl \&- Forces a break from option processing, so the next word is taken as .Va key -even if it begins with '\-'. -.TP 4 -.Fl u \fR(or any invalid option) +even if it begins with '\&-'. +.It Fl u +(or any invalid option) Prints a usage message. -.PD +.El .Pp .Va key may be a single character or a string. @@ -4137,48 +4046,35 @@ can contain backslashed escape sequences (in the style of System V .Va echo (1)) as follows: -.RS +4 -.TP 8 -.PD 0 -.B \ea +.Pp +.Bl -tag -width XXXX -compact -offset indent +.It \ea Bell -.TP 8 -.B \eb +.It \eb Backspace -.TP 8 -.B \ee +.It \ee Escape -.TP 8 -.B \ef +.It \ef Form feed -.TP 8 -.B \en +.It \en Newline -.TP 8 -.B \er +.It \er Carriage return -.TP 8 -.B \et +.It \et Horizontal tab -.TP 8 -.B \ev +.It \ev Vertical tab -.TP 8 -.B \e\fInnn +.It \e\fInnn The ASCII character corresponding to the octal number .Va nnn -.PD -.RE +.El .Pp `\e' nullifies the special meaning of the following character, if it has any, notably .Sq \e and .Sq ^ -.RE -.TP 8 -.B bs2cmd -.Va bs2000-command +.It bs2cmd Va bs2000-command (+) Passes .Va bs2000-command @@ -4186,8 +4082,7 @@ to the BS2000 command interpreter for execution. Only non-interactive commands can be executed, and it is not possible to execute any command that would overlay the image of the current process, like /EXECUTE or /CALL-PROCEDURE. (BS2000 only) -.TP 8 -.B break +.It break Causes execution to resume after the .Va end of the nearest @@ -4199,17 +4094,16 @@ The remaining commands on the current line are executed. Multi-level breaks are thus possible by writing them all on one line. -.TP 8 -.B breaksw +.It breaksw Causes a break from a .Va switch , resuming after the .Va endsw -.TP 8 -.B builtins \fR(+) + +.It builtins \fR(+) Prints the names of all builtin commands. -.TP 8 -.B bye \fR(+) + +.It bye \fR(+) A synonym for the .Va logout builtin command. @@ -4217,13 +4111,13 @@ Available only if the shell was so compiled; see the .Va version shell variable. -.TP 8 -.B case \fIlabel\fB: + +.It case \fIlabel\fB: A label in a .Va switch statement as discussed below. -.TP 8 -.B cd \fR[ + +.It cd \fR[ .Fl p\fR] [ .Fl l\fR] [ .Fl n\fR| @@ -4300,13 +4194,13 @@ and .Va cdtohome shell variables. .RE -.TP 8 -.B chdir + +.It chdir A synonym for the .Va cd builtin command. -.TP 8 -.B complete \fR[ + +.It complete \fR[ .Va command [\fIword\fB/\fIpattern\fB/ .Va list @@ -4350,7 +4244,7 @@ is to be completed, and may be one of the following: .PD 0 .RS +4 .TP 4 -.B c +.It c Current-word completion. .Va pattern is a glob-pattern which must match the beginning of the current word on @@ -4358,25 +4252,25 @@ the command line. .Va pattern is ignored when completing the current word. .TP 4 -.B C +.It C Like .Va c , but includes .Va pattern when completing the current word. .TP 4 -.B n +.It n Next-word completion. .Va pattern is a glob-pattern which must match the beginning of the previous word on the command line. .TP 4 -.B N +.It N Like .Va n , but must match the beginning of the word two before the current word. .TP 4 -.B p +.It p Position-dependent completion. .Va pattern is a numeric range, with the same syntax used to index shell @@ -4387,71 +4281,50 @@ variables, which must include the current word. .Va list , the list of possible completions, may be one of the following: .Pp -.PD 0 -.RS +4 -.TP 8 -.B a +.Bl -tag +.It a Aliases -.TP 8 -.B b +.It b Bindings (editor commands) -.TP 8 -.B c +.It c Commands (builtin or external commands) -.TP 8 -.B C +.It C External commands which begin with the supplied path prefix -.TP 8 -.B d +.It d Directories -.TP 8 -.B D *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Mon Oct 21 18:27:13 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 94B2415F6E8; Mon, 21 Oct 2019 18:27:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46xlV93PX7z3DtQ; Mon, 21 Oct 2019 18:27:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3869E27F24; Mon, 21 Oct 2019 18:27:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9LIRDJa079674; Mon, 21 Oct 2019 18:27:13 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9LIRDiV079673; Mon, 21 Oct 2019 18:27:13 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <201910211827.x9LIRDiV079673@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Mon, 21 Oct 2019 18:27:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353870 - vendor/tcsh/6.21.00-83c5be0 X-SVN-Group: vendor X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: vendor/tcsh/6.21.00-83c5be0 X-SVN-Commit-Revision: 353870 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Oct 2019 18:27:13 -0000 Author: brooks Date: Mon Oct 21 18:27:12 2019 New Revision: 353870 URL: https://svnweb.freebsd.org/changeset/base/353870 Log: Tag import of git 83c5be0. Added: vendor/tcsh/6.21.00-83c5be0/ - copied from r353869, vendor/tcsh/dist/ From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:51:49 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 56FA11599F0; Wed, 23 Oct 2019 17:51:49 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yycP1fxMz4S4j; Wed, 23 Oct 2019 17:51:49 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1B040340; Wed, 23 Oct 2019 17:51:49 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHpnI6075701; Wed, 23 Oct 2019 17:51:49 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHpjoC075676; Wed, 23 Oct 2019 17:51:45 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231751.x9NHpjoC075676@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:51:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353940 - in vendor/llvm/dist: include/llvm include/llvm-c include/llvm-c/Transforms include/llvm/ADT include/llvm/Analysis include/llvm/Analysis/Utils include/llvm/BinaryFormat include... X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/llvm/dist: include/llvm include/llvm-c include/llvm-c/Transforms include/llvm/ADT include/llvm/Analysis include/llvm/Analysis/Utils include/llvm/BinaryFormat include/llvm/BinaryFormat/ELFRel... X-SVN-Commit-Revision: 353940 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:51:49 -0000 Author: dim Date: Wed Oct 23 17:51:42 2019 New Revision: 353940 URL: https://svnweb.freebsd.org/changeset/base/353940 Log: Vendor import of stripped llvm trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub: https://llvm.org/svn/llvm-project/llvm/trunk@375505 Added: vendor/llvm/dist/include/llvm/ADT/DirectedGraph.h vendor/llvm/dist/include/llvm/Analysis/DDG.h vendor/llvm/dist/include/llvm/Analysis/DependenceGraphBuilder.h vendor/llvm/dist/include/llvm/Analysis/LoopCacheAnalysis.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h vendor/llvm/dist/include/llvm/CodeGen/LiveRangeCalc.h vendor/llvm/dist/include/llvm/CodeGen/MachineLoopUtils.h vendor/llvm/dist/include/llvm/CodeGen/ModuloSchedule.h vendor/llvm/dist/include/llvm/DebugInfo/GSYM/FileWriter.h vendor/llvm/dist/include/llvm/DebugInfo/GSYM/GsymCreator.h vendor/llvm/dist/include/llvm/DebugInfo/GSYM/GsymReader.h vendor/llvm/dist/include/llvm/DebugInfo/GSYM/Header.h vendor/llvm/dist/include/llvm/DebugInfo/GSYM/LineTable.h vendor/llvm/dist/include/llvm/ExecutionEngine/JITLink/MachO_arm64.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/Speculation.h vendor/llvm/dist/include/llvm/IR/FixedMetadataKinds.def vendor/llvm/dist/include/llvm/MC/MCRegister.h vendor/llvm/dist/include/llvm/MCA/CodeEmitter.h vendor/llvm/dist/include/llvm/Object/TapiFile.h vendor/llvm/dist/include/llvm/Object/TapiUniversal.h vendor/llvm/dist/include/llvm/ObjectYAML/yaml2obj.h vendor/llvm/dist/include/llvm/Remarks/BitstreamRemarkContainer.h vendor/llvm/dist/include/llvm/Remarks/BitstreamRemarkParser.h vendor/llvm/dist/include/llvm/Remarks/BitstreamRemarkSerializer.h vendor/llvm/dist/include/llvm/Remarks/YAMLRemarkSerializer.h vendor/llvm/dist/include/llvm/Support/Alignment.h vendor/llvm/dist/include/llvm/Support/Automaton.h vendor/llvm/dist/include/llvm/Support/FileCollector.h vendor/llvm/dist/include/llvm/Support/TypeSize.h vendor/llvm/dist/include/llvm/TableGen/Automaton.td vendor/llvm/dist/include/llvm/Target/GlobalISel/Combine.td vendor/llvm/dist/include/llvm/TextAPI/MachO/Platform.h vendor/llvm/dist/include/llvm/TextAPI/MachO/Target.h vendor/llvm/dist/include/llvm/Transforms/Instrumentation/SanitizerCoverage.h vendor/llvm/dist/include/llvm/Transforms/Scalar/LowerConstantIntrinsics.h vendor/llvm/dist/include/llvm/Transforms/Utils/MisExpect.h vendor/llvm/dist/lib/Analysis/DDG.cpp vendor/llvm/dist/lib/Analysis/DependenceGraphBuilder.cpp vendor/llvm/dist/lib/Analysis/LoopCacheAnalysis.cpp vendor/llvm/dist/lib/Analysis/VFABIDemangling.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/GISelKnownBits.cpp vendor/llvm/dist/lib/CodeGen/MIRNamerPass.cpp vendor/llvm/dist/lib/CodeGen/MIRVRegNamerUtils.cpp vendor/llvm/dist/lib/CodeGen/MIRVRegNamerUtils.h vendor/llvm/dist/lib/CodeGen/MachineLoopUtils.cpp vendor/llvm/dist/lib/CodeGen/ModuloSchedule.cpp vendor/llvm/dist/lib/DebugInfo/GSYM/FileWriter.cpp vendor/llvm/dist/lib/DebugInfo/GSYM/GsymCreator.cpp vendor/llvm/dist/lib/DebugInfo/GSYM/GsymReader.cpp vendor/llvm/dist/lib/DebugInfo/GSYM/Header.cpp vendor/llvm/dist/lib/DebugInfo/GSYM/LineTable.cpp vendor/llvm/dist/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp vendor/llvm/dist/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.h vendor/llvm/dist/lib/ExecutionEngine/JITLink/MachO_arm64.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/SpeculateAnalyses.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/Speculation.cpp vendor/llvm/dist/lib/MCA/CodeEmitter.cpp vendor/llvm/dist/lib/Object/TapiFile.cpp vendor/llvm/dist/lib/Object/TapiUniversal.cpp vendor/llvm/dist/lib/ObjectYAML/COFFEmitter.cpp vendor/llvm/dist/lib/ObjectYAML/ELFEmitter.cpp vendor/llvm/dist/lib/ObjectYAML/MachOEmitter.cpp vendor/llvm/dist/lib/ObjectYAML/MinidumpEmitter.cpp vendor/llvm/dist/lib/ObjectYAML/WasmEmitter.cpp vendor/llvm/dist/lib/ObjectYAML/yaml2obj.cpp vendor/llvm/dist/lib/Remarks/BitstreamRemarkParser.cpp vendor/llvm/dist/lib/Remarks/BitstreamRemarkParser.h vendor/llvm/dist/lib/Remarks/BitstreamRemarkSerializer.cpp vendor/llvm/dist/lib/Remarks/RemarkSerializer.cpp vendor/llvm/dist/lib/Support/ABIBreak.cpp vendor/llvm/dist/lib/Support/FileCheckImpl.h vendor/llvm/dist/lib/Support/FileCollector.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64Combine.td vendor/llvm/dist/lib/Target/AArch64/AArch64StackOffset.h vendor/llvm/dist/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp vendor/llvm/dist/lib/Target/ARM/MVETailPredication.cpp vendor/llvm/dist/lib/Target/ARM/MVEVPTBlockPass.cpp vendor/llvm/dist/lib/Target/Mips/MipsPfmCounters.td vendor/llvm/dist/lib/Target/RISCV/RISCVCallLowering.cpp vendor/llvm/dist/lib/Target/RISCV/RISCVCallLowering.h vendor/llvm/dist/lib/Target/RISCV/RISCVInstructionSelector.cpp vendor/llvm/dist/lib/Target/RISCV/RISCVLegalizerInfo.cpp vendor/llvm/dist/lib/Target/RISCV/RISCVLegalizerInfo.h vendor/llvm/dist/lib/Target/RISCV/RISCVRegisterBankInfo.cpp vendor/llvm/dist/lib/Target/RISCV/RISCVRegisterBankInfo.h vendor/llvm/dist/lib/Target/RISCV/RISCVRegisterBanks.td vendor/llvm/dist/lib/Target/SystemZ/SystemZScheduleZ15.td vendor/llvm/dist/lib/Target/X86/X86AvoidTrailingCall.cpp vendor/llvm/dist/lib/TextAPI/MachO/Platform.cpp vendor/llvm/dist/lib/TextAPI/MachO/Target.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/ValueProfileCollector.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/ValueProfileCollector.h vendor/llvm/dist/lib/Transforms/Instrumentation/ValueProfilePlugins.inc vendor/llvm/dist/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp vendor/llvm/dist/lib/Transforms/Utils/MisExpect.cpp vendor/llvm/dist/tools/llvm-ifs/ vendor/llvm/dist/tools/llvm-ifs/CMakeLists.txt vendor/llvm/dist/tools/llvm-ifs/LLVMBuild.txt vendor/llvm/dist/tools/llvm-ifs/llvm-ifs.cpp vendor/llvm/dist/tools/llvm-objcopy/CommonOpts.td vendor/llvm/dist/tools/llvm-objcopy/ELF/ELFConfig.cpp vendor/llvm/dist/tools/llvm-objcopy/ELF/ELFConfig.h vendor/llvm/dist/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp vendor/llvm/dist/tools/llvm-objcopy/MachO/MachOLayoutBuilder.h vendor/llvm/dist/tools/llvm-reduce/ vendor/llvm/dist/tools/llvm-reduce/CMakeLists.txt vendor/llvm/dist/tools/llvm-reduce/DeltaManager.h vendor/llvm/dist/tools/llvm-reduce/LLVMBuild.txt vendor/llvm/dist/tools/llvm-reduce/TestRunner.cpp vendor/llvm/dist/tools/llvm-reduce/TestRunner.h vendor/llvm/dist/tools/llvm-reduce/deltas/ vendor/llvm/dist/tools/llvm-reduce/deltas/Delta.cpp vendor/llvm/dist/tools/llvm-reduce/deltas/Delta.h vendor/llvm/dist/tools/llvm-reduce/deltas/ReduceArguments.cpp vendor/llvm/dist/tools/llvm-reduce/deltas/ReduceArguments.h vendor/llvm/dist/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp vendor/llvm/dist/tools/llvm-reduce/deltas/ReduceBasicBlocks.h vendor/llvm/dist/tools/llvm-reduce/deltas/ReduceFunctions.cpp vendor/llvm/dist/tools/llvm-reduce/deltas/ReduceFunctions.h vendor/llvm/dist/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp vendor/llvm/dist/tools/llvm-reduce/deltas/ReduceGlobalVars.h vendor/llvm/dist/tools/llvm-reduce/deltas/ReduceInstructions.cpp vendor/llvm/dist/tools/llvm-reduce/deltas/ReduceInstructions.h vendor/llvm/dist/tools/llvm-reduce/deltas/ReduceMetadata.cpp vendor/llvm/dist/tools/llvm-reduce/deltas/ReduceMetadata.h vendor/llvm/dist/tools/llvm-reduce/llvm-reduce.cpp vendor/llvm/dist/tools/vfabi-demangle-fuzzer/ vendor/llvm/dist/tools/vfabi-demangle-fuzzer/CMakeLists.txt vendor/llvm/dist/tools/vfabi-demangle-fuzzer/vfabi-demangler-fuzzer.cpp vendor/llvm/dist/utils/TableGen/DFAEmitter.cpp vendor/llvm/dist/utils/TableGen/DFAEmitter.h vendor/llvm/dist/utils/TableGen/GICombinerEmitter.cpp vendor/llvm/dist/utils/TableGen/GlobalISel/ vendor/llvm/dist/utils/TableGen/GlobalISel/CMakeLists.txt vendor/llvm/dist/utils/TableGen/GlobalISel/CodeExpander.cpp vendor/llvm/dist/utils/TableGen/GlobalISel/CodeExpander.h vendor/llvm/dist/utils/TableGen/GlobalISel/CodeExpansions.h vendor/llvm/dist/utils/add_argument_names.py (contents, props changed) vendor/llvm/dist/utils/llvm-locstats/ vendor/llvm/dist/utils/llvm-locstats/CMakeLists.txt vendor/llvm/dist/utils/llvm-locstats/llvm-locstats.py (contents, props changed) Deleted: vendor/llvm/dist/include/llvm/ADT/VariadicFunction.h vendor/llvm/dist/include/llvm/Support/JamCRC.h vendor/llvm/dist/include/llvm/Support/MutexGuard.h vendor/llvm/dist/include/llvm/Support/ScalableSize.h vendor/llvm/dist/include/llvm/Support/UniqueLock.h vendor/llvm/dist/lib/CodeGen/LiveRangeCalc.h vendor/llvm/dist/lib/ExecutionEngine/JITLink/MachOAtomGraphBuilder.cpp vendor/llvm/dist/lib/ExecutionEngine/JITLink/MachOAtomGraphBuilder.h vendor/llvm/dist/lib/Support/JamCRC.cpp vendor/llvm/dist/lib/Support/Mutex.cpp vendor/llvm/dist/lib/Support/Unix/Mutex.inc vendor/llvm/dist/lib/Support/Unix/RWMutex.inc vendor/llvm/dist/lib/Support/Windows/Mutex.inc vendor/llvm/dist/lib/Support/Windows/RWMutex.inc vendor/llvm/dist/lib/Target/SystemZ/SystemZExpandPseudo.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZScheduleArch13.td Modified: vendor/llvm/dist/include/llvm-c/Core.h vendor/llvm/dist/include/llvm-c/DebugInfo.h vendor/llvm/dist/include/llvm-c/Remarks.h vendor/llvm/dist/include/llvm-c/Transforms/IPO.h vendor/llvm/dist/include/llvm-c/Transforms/Scalar.h vendor/llvm/dist/include/llvm-c/lto.h vendor/llvm/dist/include/llvm/ADT/APFloat.h vendor/llvm/dist/include/llvm/ADT/APInt.h vendor/llvm/dist/include/llvm/ADT/Any.h vendor/llvm/dist/include/llvm/ADT/ArrayRef.h vendor/llvm/dist/include/llvm/ADT/DenseMap.h vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h vendor/llvm/dist/include/llvm/ADT/Hashing.h vendor/llvm/dist/include/llvm/ADT/IntervalMap.h vendor/llvm/dist/include/llvm/ADT/PointerIntPair.h vendor/llvm/dist/include/llvm/ADT/PointerUnion.h vendor/llvm/dist/include/llvm/ADT/STLExtras.h vendor/llvm/dist/include/llvm/ADT/SmallBitVector.h vendor/llvm/dist/include/llvm/ADT/Statistic.h vendor/llvm/dist/include/llvm/ADT/StringExtras.h vendor/llvm/dist/include/llvm/ADT/StringMap.h vendor/llvm/dist/include/llvm/ADT/StringRef.h vendor/llvm/dist/include/llvm/ADT/StringSet.h vendor/llvm/dist/include/llvm/ADT/TinyPtrVector.h vendor/llvm/dist/include/llvm/ADT/iterator_range.h vendor/llvm/dist/include/llvm/Analysis/AliasAnalysis.h vendor/llvm/dist/include/llvm/Analysis/AliasSetTracker.h vendor/llvm/dist/include/llvm/Analysis/AssumptionCache.h vendor/llvm/dist/include/llvm/Analysis/CFG.h vendor/llvm/dist/include/llvm/Analysis/CFLAndersAliasAnalysis.h vendor/llvm/dist/include/llvm/Analysis/CFLSteensAliasAnalysis.h vendor/llvm/dist/include/llvm/Analysis/CGSCCPassManager.h vendor/llvm/dist/include/llvm/Analysis/CaptureTracking.h vendor/llvm/dist/include/llvm/Analysis/DOTGraphTraitsPass.h vendor/llvm/dist/include/llvm/Analysis/DivergenceAnalysis.h vendor/llvm/dist/include/llvm/Analysis/GlobalsModRef.h vendor/llvm/dist/include/llvm/Analysis/InstructionSimplify.h vendor/llvm/dist/include/llvm/Analysis/LazyCallGraph.h vendor/llvm/dist/include/llvm/Analysis/LegacyDivergenceAnalysis.h vendor/llvm/dist/include/llvm/Analysis/Loads.h vendor/llvm/dist/include/llvm/Analysis/LoopAnalysisManager.h vendor/llvm/dist/include/llvm/Analysis/LoopInfo.h vendor/llvm/dist/include/llvm/Analysis/LoopInfoImpl.h vendor/llvm/dist/include/llvm/Analysis/MemoryBuiltins.h vendor/llvm/dist/include/llvm/Analysis/MemoryDependenceAnalysis.h vendor/llvm/dist/include/llvm/Analysis/MemorySSA.h vendor/llvm/dist/include/llvm/Analysis/MemorySSAUpdater.h vendor/llvm/dist/include/llvm/Analysis/MustExecute.h vendor/llvm/dist/include/llvm/Analysis/Passes.h vendor/llvm/dist/include/llvm/Analysis/ProfileSummaryInfo.h vendor/llvm/dist/include/llvm/Analysis/RegionInfoImpl.h vendor/llvm/dist/include/llvm/Analysis/ScalarEvolution.h vendor/llvm/dist/include/llvm/Analysis/ScalarEvolutionExpander.h vendor/llvm/dist/include/llvm/Analysis/TargetLibraryInfo.h vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfo.h vendor/llvm/dist/include/llvm/Analysis/TargetTransformInfoImpl.h vendor/llvm/dist/include/llvm/Analysis/TypeMetadataUtils.h vendor/llvm/dist/include/llvm/Analysis/Utils/Local.h vendor/llvm/dist/include/llvm/Analysis/ValueTracking.h vendor/llvm/dist/include/llvm/Analysis/VectorUtils.h vendor/llvm/dist/include/llvm/BinaryFormat/Dwarf.def vendor/llvm/dist/include/llvm/BinaryFormat/Dwarf.h vendor/llvm/dist/include/llvm/BinaryFormat/ELF.h vendor/llvm/dist/include/llvm/BinaryFormat/ELFRelocs/AArch64.def vendor/llvm/dist/include/llvm/BinaryFormat/MachO.h vendor/llvm/dist/include/llvm/BinaryFormat/Magic.h vendor/llvm/dist/include/llvm/BinaryFormat/Minidump.h vendor/llvm/dist/include/llvm/BinaryFormat/MinidumpConstants.def vendor/llvm/dist/include/llvm/BinaryFormat/Wasm.h vendor/llvm/dist/include/llvm/BinaryFormat/XCOFF.h vendor/llvm/dist/include/llvm/Bitcode/BitcodeAnalyzer.h vendor/llvm/dist/include/llvm/Bitcode/LLVMBitCodes.h vendor/llvm/dist/include/llvm/Bitstream/BitCodes.h vendor/llvm/dist/include/llvm/Bitstream/BitstreamReader.h vendor/llvm/dist/include/llvm/CodeGen/AccelTable.h vendor/llvm/dist/include/llvm/CodeGen/AsmPrinter.h vendor/llvm/dist/include/llvm/CodeGen/BasicTTIImpl.h vendor/llvm/dist/include/llvm/CodeGen/CallingConvLower.h vendor/llvm/dist/include/llvm/CodeGen/DFAPacketizer.h vendor/llvm/dist/include/llvm/CodeGen/DIE.h vendor/llvm/dist/include/llvm/CodeGen/FastISel.h vendor/llvm/dist/include/llvm/CodeGen/FunctionLoweringInfo.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/CallLowering.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/CombinerHelper.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/CombinerInfo.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/IRTranslator.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/InstructionSelector.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h vendor/llvm/dist/include/llvm/CodeGen/GlobalISel/Utils.h vendor/llvm/dist/include/llvm/CodeGen/ISDOpcodes.h vendor/llvm/dist/include/llvm/CodeGen/LiveInterval.h vendor/llvm/dist/include/llvm/CodeGen/LiveIntervals.h vendor/llvm/dist/include/llvm/CodeGen/LiveRegUnits.h vendor/llvm/dist/include/llvm/CodeGen/MIRYamlMapping.h vendor/llvm/dist/include/llvm/CodeGen/MachineBasicBlock.h vendor/llvm/dist/include/llvm/CodeGen/MachineCombinerPattern.h vendor/llvm/dist/include/llvm/CodeGen/MachineDominators.h vendor/llvm/dist/include/llvm/CodeGen/MachineFrameInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineFunction.h vendor/llvm/dist/include/llvm/CodeGen/MachineInstr.h vendor/llvm/dist/include/llvm/CodeGen/MachineInstrBuilder.h vendor/llvm/dist/include/llvm/CodeGen/MachineMemOperand.h vendor/llvm/dist/include/llvm/CodeGen/MachineModuleInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineOperand.h vendor/llvm/dist/include/llvm/CodeGen/MachinePipeliner.h vendor/llvm/dist/include/llvm/CodeGen/MachinePostDominators.h vendor/llvm/dist/include/llvm/CodeGen/MachineRegionInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineRegisterInfo.h vendor/llvm/dist/include/llvm/CodeGen/MachineScheduler.h vendor/llvm/dist/include/llvm/CodeGen/PBQP/Math.h vendor/llvm/dist/include/llvm/CodeGen/Passes.h vendor/llvm/dist/include/llvm/CodeGen/Register.h vendor/llvm/dist/include/llvm/CodeGen/RegisterClassInfo.h vendor/llvm/dist/include/llvm/CodeGen/RegisterPressure.h vendor/llvm/dist/include/llvm/CodeGen/RegisterScavenging.h vendor/llvm/dist/include/llvm/CodeGen/ScheduleDAGInstrs.h vendor/llvm/dist/include/llvm/CodeGen/SelectionDAG.h vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGISel.h vendor/llvm/dist/include/llvm/CodeGen/SelectionDAGNodes.h vendor/llvm/dist/include/llvm/CodeGen/StackProtector.h vendor/llvm/dist/include/llvm/CodeGen/SwitchLoweringUtils.h vendor/llvm/dist/include/llvm/CodeGen/TargetCallingConv.h vendor/llvm/dist/include/llvm/CodeGen/TargetFrameLowering.h vendor/llvm/dist/include/llvm/CodeGen/TargetInstrInfo.h vendor/llvm/dist/include/llvm/CodeGen/TargetLowering.h vendor/llvm/dist/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h vendor/llvm/dist/include/llvm/CodeGen/TargetPassConfig.h vendor/llvm/dist/include/llvm/CodeGen/TargetRegisterInfo.h vendor/llvm/dist/include/llvm/CodeGen/TargetSubtargetInfo.h vendor/llvm/dist/include/llvm/CodeGen/ValueTypes.h vendor/llvm/dist/include/llvm/CodeGen/ValueTypes.td vendor/llvm/dist/include/llvm/CodeGen/VirtRegMap.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/CVTypeVisitor.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def vendor/llvm/dist/include/llvm/DebugInfo/CodeView/EnumTables.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/SymbolRecord.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeDeserializer.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeRecordMapping.h vendor/llvm/dist/include/llvm/DebugInfo/CodeView/TypeVisitorCallbackPipeline.h vendor/llvm/dist/include/llvm/DebugInfo/DIContext.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFAttribute.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFContext.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugAbbrev.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugAddr.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugArangeSet.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDie.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFExpression.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFFormValue.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFListTable.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFObject.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFUnit.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFVerifier.h vendor/llvm/dist/include/llvm/DebugInfo/GSYM/FileEntry.h vendor/llvm/dist/include/llvm/DebugInfo/GSYM/FunctionInfo.h vendor/llvm/dist/include/llvm/DebugInfo/GSYM/InlineInfo.h vendor/llvm/dist/include/llvm/DebugInfo/GSYM/LineEntry.h vendor/llvm/dist/include/llvm/DebugInfo/GSYM/Range.h vendor/llvm/dist/include/llvm/DebugInfo/GSYM/StringTable.h vendor/llvm/dist/include/llvm/DebugInfo/PDB/GenericError.h vendor/llvm/dist/include/llvm/DebugInfo/PDB/Native/SymbolCache.h vendor/llvm/dist/include/llvm/DebugInfo/PDB/PDBSymbol.h vendor/llvm/dist/include/llvm/DebugInfo/Symbolize/Symbolize.h vendor/llvm/dist/include/llvm/Demangle/Demangle.h vendor/llvm/dist/include/llvm/Demangle/DemangleConfig.h vendor/llvm/dist/include/llvm/Demangle/ItaniumDemangle.h vendor/llvm/dist/include/llvm/Demangle/MicrosoftDemangle.h vendor/llvm/dist/include/llvm/Demangle/MicrosoftDemangleNodes.h vendor/llvm/dist/include/llvm/ExecutionEngine/JITLink/EHFrameSupport.h vendor/llvm/dist/include/llvm/ExecutionEngine/JITLink/JITLink.h vendor/llvm/dist/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h vendor/llvm/dist/include/llvm/ExecutionEngine/JITLink/MachO_x86_64.h vendor/llvm/dist/include/llvm/ExecutionEngine/JITSymbol.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/Core.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/LLJIT.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/LambdaResolver.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/LazyReexports.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/Legacy.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/RPCSerialization.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/RPCUtils.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/RemoteObjectLayer.h vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h vendor/llvm/dist/include/llvm/ExecutionEngine/RuntimeDyld.h vendor/llvm/dist/include/llvm/IR/Attributes.h vendor/llvm/dist/include/llvm/IR/AutoUpgrade.h vendor/llvm/dist/include/llvm/IR/BasicBlock.h vendor/llvm/dist/include/llvm/IR/CallSite.h vendor/llvm/dist/include/llvm/IR/CallingConv.h vendor/llvm/dist/include/llvm/IR/Constant.h vendor/llvm/dist/include/llvm/IR/ConstantRange.h vendor/llvm/dist/include/llvm/IR/DataLayout.h vendor/llvm/dist/include/llvm/IR/DebugInfoFlags.def vendor/llvm/dist/include/llvm/IR/DebugInfoMetadata.h vendor/llvm/dist/include/llvm/IR/DerivedTypes.h vendor/llvm/dist/include/llvm/IR/DiagnosticInfo.h vendor/llvm/dist/include/llvm/IR/Function.h vendor/llvm/dist/include/llvm/IR/GlobalAlias.h vendor/llvm/dist/include/llvm/IR/GlobalIFunc.h vendor/llvm/dist/include/llvm/IR/GlobalIndirectSymbol.h vendor/llvm/dist/include/llvm/IR/GlobalObject.h vendor/llvm/dist/include/llvm/IR/GlobalVariable.h vendor/llvm/dist/include/llvm/IR/IRBuilder.h vendor/llvm/dist/include/llvm/IR/InlineAsm.h vendor/llvm/dist/include/llvm/IR/InstrTypes.h vendor/llvm/dist/include/llvm/IR/Instruction.h vendor/llvm/dist/include/llvm/IR/Instructions.h vendor/llvm/dist/include/llvm/IR/IntrinsicInst.h vendor/llvm/dist/include/llvm/IR/Intrinsics.h vendor/llvm/dist/include/llvm/IR/Intrinsics.td vendor/llvm/dist/include/llvm/IR/IntrinsicsAArch64.td vendor/llvm/dist/include/llvm/IR/IntrinsicsAMDGPU.td vendor/llvm/dist/include/llvm/IR/IntrinsicsARM.td vendor/llvm/dist/include/llvm/IR/IntrinsicsBPF.td vendor/llvm/dist/include/llvm/IR/IntrinsicsMips.td vendor/llvm/dist/include/llvm/IR/IntrinsicsNVVM.td vendor/llvm/dist/include/llvm/IR/IntrinsicsWebAssembly.td vendor/llvm/dist/include/llvm/IR/IntrinsicsX86.td vendor/llvm/dist/include/llvm/IR/LLVMContext.h vendor/llvm/dist/include/llvm/IR/MDBuilder.h vendor/llvm/dist/include/llvm/IR/Metadata.h vendor/llvm/dist/include/llvm/IR/Module.h vendor/llvm/dist/include/llvm/IR/ModuleSummaryIndex.h vendor/llvm/dist/include/llvm/IR/ModuleSummaryIndexYAML.h vendor/llvm/dist/include/llvm/IR/Operator.h vendor/llvm/dist/include/llvm/IR/PassManager.h vendor/llvm/dist/include/llvm/IR/PassManagerInternal.h vendor/llvm/dist/include/llvm/IR/PatternMatch.h vendor/llvm/dist/include/llvm/IR/RemarkStreamer.h vendor/llvm/dist/include/llvm/IR/Type.h vendor/llvm/dist/include/llvm/IR/User.h vendor/llvm/dist/include/llvm/IR/Value.h vendor/llvm/dist/include/llvm/IR/ValueMap.h vendor/llvm/dist/include/llvm/InitializePasses.h vendor/llvm/dist/include/llvm/LTO/Config.h vendor/llvm/dist/include/llvm/LTO/LTO.h vendor/llvm/dist/include/llvm/LTO/legacy/LTOCodeGenerator.h vendor/llvm/dist/include/llvm/LinkAllPasses.h vendor/llvm/dist/include/llvm/MC/MCAsmInfo.h vendor/llvm/dist/include/llvm/MC/MCAsmInfoXCOFF.h vendor/llvm/dist/include/llvm/MC/MCAsmMacro.h vendor/llvm/dist/include/llvm/MC/MCContext.h vendor/llvm/dist/include/llvm/MC/MCDirectives.h vendor/llvm/dist/include/llvm/MC/MCDwarf.h vendor/llvm/dist/include/llvm/MC/MCExpr.h vendor/llvm/dist/include/llvm/MC/MCFixup.h vendor/llvm/dist/include/llvm/MC/MCFragment.h vendor/llvm/dist/include/llvm/MC/MCInstPrinter.h vendor/llvm/dist/include/llvm/MC/MCInstrAnalysis.h vendor/llvm/dist/include/llvm/MC/MCInstrDesc.h vendor/llvm/dist/include/llvm/MC/MCLinkerOptimizationHint.h vendor/llvm/dist/include/llvm/MC/MCRegisterInfo.h vendor/llvm/dist/include/llvm/MC/MCSection.h vendor/llvm/dist/include/llvm/MC/MCSectionXCOFF.h vendor/llvm/dist/include/llvm/MC/MCStreamer.h vendor/llvm/dist/include/llvm/MC/MCSubtargetInfo.h vendor/llvm/dist/include/llvm/MC/MCSymbolWasm.h vendor/llvm/dist/include/llvm/MC/MCSymbolXCOFF.h vendor/llvm/dist/include/llvm/MC/MCWasmObjectWriter.h vendor/llvm/dist/include/llvm/MC/MCXCOFFStreamer.h vendor/llvm/dist/include/llvm/MC/StringTableBuilder.h vendor/llvm/dist/include/llvm/MC/SubtargetFeature.h vendor/llvm/dist/include/llvm/MCA/Context.h vendor/llvm/dist/include/llvm/MCA/HardwareUnits/LSUnit.h vendor/llvm/dist/include/llvm/MCA/HardwareUnits/RegisterFile.h vendor/llvm/dist/include/llvm/MCA/HardwareUnits/ResourceManager.h vendor/llvm/dist/include/llvm/MCA/HardwareUnits/RetireControlUnit.h vendor/llvm/dist/include/llvm/MCA/HardwareUnits/Scheduler.h vendor/llvm/dist/include/llvm/MCA/Instruction.h vendor/llvm/dist/include/llvm/MCA/SourceMgr.h vendor/llvm/dist/include/llvm/MCA/Stages/RetireStage.h vendor/llvm/dist/include/llvm/Object/Archive.h vendor/llvm/dist/include/llvm/Object/Binary.h vendor/llvm/dist/include/llvm/Object/COFF.h vendor/llvm/dist/include/llvm/Object/ELF.h vendor/llvm/dist/include/llvm/Object/ELFObjectFile.h vendor/llvm/dist/include/llvm/Object/ELFTypes.h vendor/llvm/dist/include/llvm/Object/MachO.h vendor/llvm/dist/include/llvm/Object/MachOUniversal.h vendor/llvm/dist/include/llvm/Object/Minidump.h vendor/llvm/dist/include/llvm/Object/ObjectFile.h vendor/llvm/dist/include/llvm/Object/StackMapParser.h vendor/llvm/dist/include/llvm/Object/WindowsResource.h vendor/llvm/dist/include/llvm/Object/XCOFFObjectFile.h vendor/llvm/dist/include/llvm/ObjectYAML/DWARFYAML.h vendor/llvm/dist/include/llvm/ObjectYAML/ELFYAML.h vendor/llvm/dist/include/llvm/ObjectYAML/MachOYAML.h vendor/llvm/dist/include/llvm/ObjectYAML/MinidumpYAML.h vendor/llvm/dist/include/llvm/ObjectYAML/WasmYAML.h vendor/llvm/dist/include/llvm/Pass.h vendor/llvm/dist/include/llvm/Passes/PassBuilder.h vendor/llvm/dist/include/llvm/ProfileData/Coverage/CoverageMapping.h vendor/llvm/dist/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h vendor/llvm/dist/include/llvm/ProfileData/InstrProf.h vendor/llvm/dist/include/llvm/ProfileData/InstrProfReader.h vendor/llvm/dist/include/llvm/ProfileData/SampleProf.h vendor/llvm/dist/include/llvm/ProfileData/SampleProfReader.h vendor/llvm/dist/include/llvm/ProfileData/SampleProfWriter.h vendor/llvm/dist/include/llvm/Remarks/Remark.h vendor/llvm/dist/include/llvm/Remarks/RemarkFormat.h vendor/llvm/dist/include/llvm/Remarks/RemarkParser.h vendor/llvm/dist/include/llvm/Remarks/RemarkSerializer.h vendor/llvm/dist/include/llvm/Remarks/RemarkStringTable.h vendor/llvm/dist/include/llvm/Support/AArch64TargetParser.def vendor/llvm/dist/include/llvm/Support/AArch64TargetParser.h vendor/llvm/dist/include/llvm/Support/ARMTargetParser.def vendor/llvm/dist/include/llvm/Support/ARMTargetParser.h vendor/llvm/dist/include/llvm/Support/AlignOf.h vendor/llvm/dist/include/llvm/Support/Allocator.h vendor/llvm/dist/include/llvm/Support/BinaryStreamArray.h vendor/llvm/dist/include/llvm/Support/BinaryStreamReader.h vendor/llvm/dist/include/llvm/Support/CRC.h vendor/llvm/dist/include/llvm/Support/CommandLine.h vendor/llvm/dist/include/llvm/Support/Compiler.h vendor/llvm/dist/include/llvm/Support/DataExtractor.h vendor/llvm/dist/include/llvm/Support/Endian.h vendor/llvm/dist/include/llvm/Support/Error.h vendor/llvm/dist/include/llvm/Support/FileCheck.h vendor/llvm/dist/include/llvm/Support/FileSystem.h vendor/llvm/dist/include/llvm/Support/FileUtilities.h vendor/llvm/dist/include/llvm/Support/Format.h vendor/llvm/dist/include/llvm/Support/GenericDomTree.h vendor/llvm/dist/include/llvm/Support/GenericDomTreeConstruction.h vendor/llvm/dist/include/llvm/Support/GlobPattern.h vendor/llvm/dist/include/llvm/Support/Host.h vendor/llvm/dist/include/llvm/Support/MachineValueType.h vendor/llvm/dist/include/llvm/Support/MathExtras.h vendor/llvm/dist/include/llvm/Support/Mutex.h vendor/llvm/dist/include/llvm/Support/OnDiskHashTable.h vendor/llvm/dist/include/llvm/Support/Parallel.h vendor/llvm/dist/include/llvm/Support/RWMutex.h vendor/llvm/dist/include/llvm/Support/Regex.h vendor/llvm/dist/include/llvm/Support/Registry.h vendor/llvm/dist/include/llvm/Support/SHA1.h vendor/llvm/dist/include/llvm/Support/Signals.h vendor/llvm/dist/include/llvm/Support/SwapByteOrder.h vendor/llvm/dist/include/llvm/Support/TargetOpcodes.def vendor/llvm/dist/include/llvm/Support/TargetRegistry.h vendor/llvm/dist/include/llvm/Support/TimeProfiler.h vendor/llvm/dist/include/llvm/Support/TrailingObjects.h vendor/llvm/dist/include/llvm/Support/UnicodeCharRanges.h vendor/llvm/dist/include/llvm/Support/VirtualFileSystem.h vendor/llvm/dist/include/llvm/Support/Win64EH.h vendor/llvm/dist/include/llvm/Support/X86TargetParser.def vendor/llvm/dist/include/llvm/Support/YAMLTraits.h vendor/llvm/dist/include/llvm/Support/circular_raw_ostream.h vendor/llvm/dist/include/llvm/Support/raw_ostream.h vendor/llvm/dist/include/llvm/Support/type_traits.h vendor/llvm/dist/include/llvm/TableGen/Error.h vendor/llvm/dist/include/llvm/TableGen/Record.h vendor/llvm/dist/include/llvm/Target/GenericOpcodes.td vendor/llvm/dist/include/llvm/Target/GlobalISel/SelectionDAGCompat.td vendor/llvm/dist/include/llvm/Target/Target.td vendor/llvm/dist/include/llvm/Target/TargetCallingConv.td vendor/llvm/dist/include/llvm/Target/TargetItinerary.td vendor/llvm/dist/include/llvm/Target/TargetLoweringObjectFile.h vendor/llvm/dist/include/llvm/Target/TargetMachine.h vendor/llvm/dist/include/llvm/Target/TargetSchedule.td vendor/llvm/dist/include/llvm/Target/TargetSelectionDAG.td vendor/llvm/dist/include/llvm/TextAPI/MachO/Architecture.h vendor/llvm/dist/include/llvm/TextAPI/MachO/ArchitectureSet.h vendor/llvm/dist/include/llvm/TextAPI/MachO/InterfaceFile.h vendor/llvm/dist/include/llvm/TextAPI/MachO/Symbol.h vendor/llvm/dist/include/llvm/TextAPI/MachO/TextAPIReader.h vendor/llvm/dist/include/llvm/Transforms/IPO/Attributor.h vendor/llvm/dist/include/llvm/Transforms/IPO/GlobalDCE.h vendor/llvm/dist/include/llvm/Transforms/IPO/HotColdSplitting.h vendor/llvm/dist/include/llvm/Transforms/IPO/LowerTypeTests.h vendor/llvm/dist/include/llvm/Transforms/IPO/WholeProgramDevirt.h vendor/llvm/dist/include/llvm/Transforms/Instrumentation.h vendor/llvm/dist/include/llvm/Transforms/Instrumentation/InstrProfiling.h vendor/llvm/dist/include/llvm/Transforms/Instrumentation/MemorySanitizer.h vendor/llvm/dist/include/llvm/Transforms/Instrumentation/ThreadSanitizer.h vendor/llvm/dist/include/llvm/Transforms/Scalar.h vendor/llvm/dist/include/llvm/Transforms/Scalar/CallSiteSplitting.h vendor/llvm/dist/include/llvm/Transforms/Scalar/ConstantHoisting.h vendor/llvm/dist/include/llvm/Transforms/Scalar/Float2Int.h vendor/llvm/dist/include/llvm/Transforms/Scalar/GVN.h vendor/llvm/dist/include/llvm/Transforms/Scalar/GVNExpression.h vendor/llvm/dist/include/llvm/Transforms/Scalar/LoopPassManager.h vendor/llvm/dist/include/llvm/Transforms/Scalar/LoopUnrollPass.h vendor/llvm/dist/include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h vendor/llvm/dist/include/llvm/Transforms/Scalar/Reassociate.h vendor/llvm/dist/include/llvm/Transforms/Scalar/SCCP.h vendor/llvm/dist/include/llvm/Transforms/Utils/BasicBlockUtils.h vendor/llvm/dist/include/llvm/Transforms/Utils/BuildLibCalls.h vendor/llvm/dist/include/llvm/Transforms/Utils/BypassSlowDivision.h vendor/llvm/dist/include/llvm/Transforms/Utils/CodeExtractor.h vendor/llvm/dist/include/llvm/Transforms/Utils/Local.h vendor/llvm/dist/include/llvm/Transforms/Utils/LoopUtils.h vendor/llvm/dist/include/llvm/Transforms/Utils/PredicateInfo.h vendor/llvm/dist/include/llvm/Transforms/Utils/SimplifyLibCalls.h vendor/llvm/dist/include/llvm/Transforms/Utils/UnrollLoop.h vendor/llvm/dist/include/llvm/Transforms/Utils/ValueMapper.h vendor/llvm/dist/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h vendor/llvm/dist/include/llvm/Transforms/Vectorize/LoopVectorize.h vendor/llvm/dist/include/llvm/Transforms/Vectorize/SLPVectorizer.h vendor/llvm/dist/include/llvm/XRay/FDRRecordProducer.h vendor/llvm/dist/include/llvm/XRay/FDRRecords.h vendor/llvm/dist/include/llvm/XRay/FileHeaderReader.h vendor/llvm/dist/include/llvm/module.modulemap vendor/llvm/dist/lib/Analysis/AliasAnalysis.cpp vendor/llvm/dist/lib/Analysis/AliasSetTracker.cpp vendor/llvm/dist/lib/Analysis/Analysis.cpp vendor/llvm/dist/lib/Analysis/AssumptionCache.cpp vendor/llvm/dist/lib/Analysis/BasicAliasAnalysis.cpp vendor/llvm/dist/lib/Analysis/BranchProbabilityInfo.cpp vendor/llvm/dist/lib/Analysis/CFG.cpp vendor/llvm/dist/lib/Analysis/CFGPrinter.cpp vendor/llvm/dist/lib/Analysis/CFLAndersAliasAnalysis.cpp vendor/llvm/dist/lib/Analysis/CFLSteensAliasAnalysis.cpp vendor/llvm/dist/lib/Analysis/CallGraph.cpp vendor/llvm/dist/lib/Analysis/CaptureTracking.cpp vendor/llvm/dist/lib/Analysis/ConstantFolding.cpp vendor/llvm/dist/lib/Analysis/DependenceAnalysis.cpp vendor/llvm/dist/lib/Analysis/DivergenceAnalysis.cpp vendor/llvm/dist/lib/Analysis/GlobalsModRef.cpp vendor/llvm/dist/lib/Analysis/IVDescriptors.cpp vendor/llvm/dist/lib/Analysis/IndirectCallPromotionAnalysis.cpp vendor/llvm/dist/lib/Analysis/InlineCost.cpp vendor/llvm/dist/lib/Analysis/InstructionSimplify.cpp vendor/llvm/dist/lib/Analysis/LazyBranchProbabilityInfo.cpp vendor/llvm/dist/lib/Analysis/LazyCallGraph.cpp vendor/llvm/dist/lib/Analysis/LazyValueInfo.cpp vendor/llvm/dist/lib/Analysis/LegacyDivergenceAnalysis.cpp vendor/llvm/dist/lib/Analysis/Lint.cpp vendor/llvm/dist/lib/Analysis/Loads.cpp vendor/llvm/dist/lib/Analysis/LoopAccessAnalysis.cpp vendor/llvm/dist/lib/Analysis/LoopAnalysisManager.cpp vendor/llvm/dist/lib/Analysis/LoopInfo.cpp vendor/llvm/dist/lib/Analysis/LoopUnrollAnalyzer.cpp vendor/llvm/dist/lib/Analysis/MemDerefPrinter.cpp vendor/llvm/dist/lib/Analysis/MemoryBuiltins.cpp vendor/llvm/dist/lib/Analysis/MemoryDependenceAnalysis.cpp vendor/llvm/dist/lib/Analysis/MemorySSA.cpp vendor/llvm/dist/lib/Analysis/MemorySSAUpdater.cpp vendor/llvm/dist/lib/Analysis/ModuleSummaryAnalysis.cpp vendor/llvm/dist/lib/Analysis/MustExecute.cpp vendor/llvm/dist/lib/Analysis/OptimizationRemarkEmitter.cpp vendor/llvm/dist/lib/Analysis/OrderedInstructions.cpp vendor/llvm/dist/lib/Analysis/ProfileSummaryInfo.cpp vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp vendor/llvm/dist/lib/Analysis/ScalarEvolutionExpander.cpp vendor/llvm/dist/lib/Analysis/StackSafetyAnalysis.cpp vendor/llvm/dist/lib/Analysis/SyncDependenceAnalysis.cpp vendor/llvm/dist/lib/Analysis/TargetLibraryInfo.cpp vendor/llvm/dist/lib/Analysis/TargetTransformInfo.cpp vendor/llvm/dist/lib/Analysis/TypeMetadataUtils.cpp vendor/llvm/dist/lib/Analysis/ValueTracking.cpp vendor/llvm/dist/lib/Analysis/VectorUtils.cpp vendor/llvm/dist/lib/AsmParser/LLLexer.cpp vendor/llvm/dist/lib/AsmParser/LLParser.cpp vendor/llvm/dist/lib/AsmParser/LLParser.h vendor/llvm/dist/lib/AsmParser/LLToken.h vendor/llvm/dist/lib/AsmParser/Parser.cpp vendor/llvm/dist/lib/BinaryFormat/Dwarf.cpp vendor/llvm/dist/lib/BinaryFormat/Magic.cpp vendor/llvm/dist/lib/Bitcode/Reader/BitcodeAnalyzer.cpp vendor/llvm/dist/lib/Bitcode/Reader/BitcodeReader.cpp vendor/llvm/dist/lib/Bitcode/Reader/MetadataLoader.cpp vendor/llvm/dist/lib/Bitcode/Writer/BitWriter.cpp vendor/llvm/dist/lib/Bitcode/Writer/BitcodeWriter.cpp vendor/llvm/dist/lib/CodeGen/AggressiveAntiDepBreaker.cpp vendor/llvm/dist/lib/CodeGen/Analysis.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/ByteStreamer.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/CodeViewDebug.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DebugLocStream.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfExpression.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfExpression.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfFile.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfUnit.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfUnit.h vendor/llvm/dist/lib/CodeGen/AsmPrinter/EHStreamer.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp vendor/llvm/dist/lib/CodeGen/AsmPrinter/WinException.cpp vendor/llvm/dist/lib/CodeGen/AtomicExpandPass.cpp vendor/llvm/dist/lib/CodeGen/BranchFolding.cpp vendor/llvm/dist/lib/CodeGen/BranchRelaxation.cpp vendor/llvm/dist/lib/CodeGen/BreakFalseDeps.cpp vendor/llvm/dist/lib/CodeGen/CalcSpillWeights.cpp vendor/llvm/dist/lib/CodeGen/CallingConvLower.cpp vendor/llvm/dist/lib/CodeGen/CodeGen.cpp vendor/llvm/dist/lib/CodeGen/CodeGenPrepare.cpp vendor/llvm/dist/lib/CodeGen/CriticalAntiDepBreaker.cpp vendor/llvm/dist/lib/CodeGen/DFAPacketizer.cpp vendor/llvm/dist/lib/CodeGen/DeadMachineInstructionElim.cpp vendor/llvm/dist/lib/CodeGen/DetectDeadLanes.cpp vendor/llvm/dist/lib/CodeGen/EarlyIfConversion.cpp vendor/llvm/dist/lib/CodeGen/ExecutionDomainFix.cpp vendor/llvm/dist/lib/CodeGen/ExpandMemCmp.cpp vendor/llvm/dist/lib/CodeGen/ExpandPostRAPseudos.cpp vendor/llvm/dist/lib/CodeGen/GCMetadata.cpp vendor/llvm/dist/lib/CodeGen/GCRootLowering.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/CSEInfo.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/CallLowering.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/Combiner.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/CombinerHelper.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/IRTranslator.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/InstructionSelect.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/InstructionSelector.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/Legalizer.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/LegalizerHelper.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/LegalizerInfo.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/Localizer.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/RegBankSelect.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/RegisterBank.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp vendor/llvm/dist/lib/CodeGen/GlobalISel/Utils.cpp vendor/llvm/dist/lib/CodeGen/GlobalMerge.cpp vendor/llvm/dist/lib/CodeGen/HardwareLoops.cpp vendor/llvm/dist/lib/CodeGen/IfConversion.cpp vendor/llvm/dist/lib/CodeGen/ImplicitNullChecks.cpp vendor/llvm/dist/lib/CodeGen/InlineSpiller.cpp vendor/llvm/dist/lib/CodeGen/InterleavedLoadCombinePass.cpp vendor/llvm/dist/lib/CodeGen/LLVMTargetMachine.cpp vendor/llvm/dist/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp vendor/llvm/dist/lib/CodeGen/LexicalScopes.cpp vendor/llvm/dist/lib/CodeGen/LiveDebugValues.cpp vendor/llvm/dist/lib/CodeGen/LiveDebugVariables.cpp vendor/llvm/dist/lib/CodeGen/LiveInterval.cpp vendor/llvm/dist/lib/CodeGen/LiveIntervals.cpp vendor/llvm/dist/lib/CodeGen/LivePhysRegs.cpp vendor/llvm/dist/lib/CodeGen/LiveRangeCalc.cpp vendor/llvm/dist/lib/CodeGen/LiveRangeEdit.cpp vendor/llvm/dist/lib/CodeGen/LiveRangeShrink.cpp vendor/llvm/dist/lib/CodeGen/LiveRegMatrix.cpp vendor/llvm/dist/lib/CodeGen/LiveRegUnits.cpp vendor/llvm/dist/lib/CodeGen/LiveStacks.cpp vendor/llvm/dist/lib/CodeGen/LiveVariables.cpp vendor/llvm/dist/lib/CodeGen/LocalStackSlotAllocation.cpp vendor/llvm/dist/lib/CodeGen/LowerEmuTLS.cpp vendor/llvm/dist/lib/CodeGen/MIRCanonicalizerPass.cpp vendor/llvm/dist/lib/CodeGen/MIRParser/MILexer.cpp vendor/llvm/dist/lib/CodeGen/MIRParser/MILexer.h vendor/llvm/dist/lib/CodeGen/MIRParser/MIParser.cpp vendor/llvm/dist/lib/CodeGen/MIRParser/MIRParser.cpp vendor/llvm/dist/lib/CodeGen/MIRPrinter.cpp vendor/llvm/dist/lib/CodeGen/MachineBasicBlock.cpp vendor/llvm/dist/lib/CodeGen/MachineBlockPlacement.cpp vendor/llvm/dist/lib/CodeGen/MachineCSE.cpp vendor/llvm/dist/lib/CodeGen/MachineCombiner.cpp vendor/llvm/dist/lib/CodeGen/MachineCopyPropagation.cpp vendor/llvm/dist/lib/CodeGen/MachineDominators.cpp vendor/llvm/dist/lib/CodeGen/MachineFrameInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineFunction.cpp vendor/llvm/dist/lib/CodeGen/MachineFunctionPass.cpp vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp vendor/llvm/dist/lib/CodeGen/MachineInstrBundle.cpp vendor/llvm/dist/lib/CodeGen/MachineLICM.cpp vendor/llvm/dist/lib/CodeGen/MachineModuleInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineOperand.cpp vendor/llvm/dist/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp vendor/llvm/dist/lib/CodeGen/MachineOutliner.cpp vendor/llvm/dist/lib/CodeGen/MachinePipeliner.cpp vendor/llvm/dist/lib/CodeGen/MachinePostDominators.cpp vendor/llvm/dist/lib/CodeGen/MachineRegisterInfo.cpp vendor/llvm/dist/lib/CodeGen/MachineSSAUpdater.cpp vendor/llvm/dist/lib/CodeGen/MachineScheduler.cpp vendor/llvm/dist/lib/CodeGen/MachineSink.cpp vendor/llvm/dist/lib/CodeGen/MachineTraceMetrics.cpp vendor/llvm/dist/lib/CodeGen/MachineVerifier.cpp vendor/llvm/dist/lib/CodeGen/MacroFusion.cpp vendor/llvm/dist/lib/CodeGen/OptimizePHIs.cpp vendor/llvm/dist/lib/CodeGen/PHIElimination.cpp vendor/llvm/dist/lib/CodeGen/PatchableFunction.cpp vendor/llvm/dist/lib/CodeGen/PeepholeOptimizer.cpp vendor/llvm/dist/lib/CodeGen/PreISelIntrinsicLowering.cpp vendor/llvm/dist/lib/CodeGen/ProcessImplicitDefs.cpp vendor/llvm/dist/lib/CodeGen/PrologEpilogInserter.cpp vendor/llvm/dist/lib/CodeGen/PseudoSourceValue.cpp vendor/llvm/dist/lib/CodeGen/ReachingDefAnalysis.cpp vendor/llvm/dist/lib/CodeGen/RegAllocBase.cpp vendor/llvm/dist/lib/CodeGen/RegAllocFast.cpp vendor/llvm/dist/lib/CodeGen/RegAllocGreedy.cpp vendor/llvm/dist/lib/CodeGen/RegAllocPBQP.cpp vendor/llvm/dist/lib/CodeGen/RegUsageInfoCollector.cpp vendor/llvm/dist/lib/CodeGen/RegUsageInfoPropagate.cpp vendor/llvm/dist/lib/CodeGen/RegisterCoalescer.cpp vendor/llvm/dist/lib/CodeGen/RegisterPressure.cpp vendor/llvm/dist/lib/CodeGen/RegisterScavenging.cpp vendor/llvm/dist/lib/CodeGen/RenameIndependentSubregs.cpp vendor/llvm/dist/lib/CodeGen/SafeStack.cpp vendor/llvm/dist/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp vendor/llvm/dist/lib/CodeGen/ScheduleDAGInstrs.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/DAGCombiner.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/FastISel.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/InstrEmitter.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypes.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/StatepointLowering.cpp vendor/llvm/dist/lib/CodeGen/SelectionDAG/TargetLowering.cpp vendor/llvm/dist/lib/CodeGen/ShrinkWrap.cpp vendor/llvm/dist/lib/CodeGen/SjLjEHPrepare.cpp vendor/llvm/dist/lib/CodeGen/SplitKit.cpp vendor/llvm/dist/lib/CodeGen/SplitKit.h vendor/llvm/dist/lib/CodeGen/StackMaps.cpp vendor/llvm/dist/lib/CodeGen/StackProtector.cpp vendor/llvm/dist/lib/CodeGen/StackSlotColoring.cpp vendor/llvm/dist/lib/CodeGen/SwiftErrorValueTracking.cpp vendor/llvm/dist/lib/CodeGen/TailDuplicator.cpp vendor/llvm/dist/lib/CodeGen/TargetFrameLoweringImpl.cpp vendor/llvm/dist/lib/CodeGen/TargetInstrInfo.cpp vendor/llvm/dist/lib/CodeGen/TargetLoweringBase.cpp vendor/llvm/dist/lib/CodeGen/TargetLoweringObjectFileImpl.cpp vendor/llvm/dist/lib/CodeGen/TargetPassConfig.cpp vendor/llvm/dist/lib/CodeGen/TargetRegisterInfo.cpp vendor/llvm/dist/lib/CodeGen/TargetSchedule.cpp vendor/llvm/dist/lib/CodeGen/TwoAddressInstructionPass.cpp vendor/llvm/dist/lib/CodeGen/UnreachableBlockElim.cpp vendor/llvm/dist/lib/CodeGen/ValueTypes.cpp vendor/llvm/dist/lib/CodeGen/VirtRegMap.cpp vendor/llvm/dist/lib/CodeGen/XRayInstrumentation.cpp vendor/llvm/dist/lib/DebugInfo/CodeView/CVTypeVisitor.cpp vendor/llvm/dist/lib/DebugInfo/CodeView/CodeViewRecordIO.cpp vendor/llvm/dist/lib/DebugInfo/CodeView/EnumTables.cpp vendor/llvm/dist/lib/DebugInfo/CodeView/SymbolDumper.cpp vendor/llvm/dist/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp vendor/llvm/dist/lib/DebugInfo/CodeView/TypeRecordMapping.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFContext.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugAbbrev.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugArangeSet.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugLine.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDie.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFExpression.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFFormValue.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFListTable.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFTypeUnit.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFUnit.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFVerifier.cpp vendor/llvm/dist/lib/DebugInfo/GSYM/FunctionInfo.cpp vendor/llvm/dist/lib/DebugInfo/GSYM/InlineInfo.cpp vendor/llvm/dist/lib/DebugInfo/GSYM/Range.cpp vendor/llvm/dist/lib/DebugInfo/MSF/MappedBlockStream.cpp vendor/llvm/dist/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp vendor/llvm/dist/lib/DebugInfo/PDB/DIA/DIASectionContrib.cpp vendor/llvm/dist/lib/DebugInfo/PDB/DIA/DIASession.cpp vendor/llvm/dist/lib/DebugInfo/PDB/GenericError.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/Hash.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/NativeEnumInjectedSources.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/NativeSession.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/NativeTypeEnum.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/NativeTypeFunctionSig.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/PDBFile.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/TpiHashing.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/TpiStream.cpp vendor/llvm/dist/lib/DebugInfo/PDB/Native/TpiStreamBuilder.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolFunc.cpp vendor/llvm/dist/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp vendor/llvm/dist/lib/DebugInfo/PDB/UDTLayout.cpp vendor/llvm/dist/lib/DebugInfo/Symbolize/DIPrinter.cpp vendor/llvm/dist/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp vendor/llvm/dist/lib/DebugInfo/Symbolize/SymbolizableObjectFile.h vendor/llvm/dist/lib/DebugInfo/Symbolize/Symbolize.cpp vendor/llvm/dist/lib/Demangle/ItaniumDemangle.cpp vendor/llvm/dist/lib/Demangle/MicrosoftDemangle.cpp vendor/llvm/dist/lib/Demangle/MicrosoftDemangleNodes.cpp vendor/llvm/dist/lib/ExecutionEngine/ExecutionEngine.cpp vendor/llvm/dist/lib/ExecutionEngine/GDBRegistrationListener.cpp vendor/llvm/dist/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp vendor/llvm/dist/lib/ExecutionEngine/JITLink/BasicGOTAndStubsBuilder.h vendor/llvm/dist/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp vendor/llvm/dist/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h vendor/llvm/dist/lib/ExecutionEngine/JITLink/JITLink.cpp vendor/llvm/dist/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp vendor/llvm/dist/lib/ExecutionEngine/JITLink/JITLinkGeneric.h vendor/llvm/dist/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp vendor/llvm/dist/lib/ExecutionEngine/JITLink/MachO.cpp vendor/llvm/dist/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp vendor/llvm/dist/lib/ExecutionEngine/MCJIT/MCJIT.cpp vendor/llvm/dist/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp vendor/llvm/dist/lib/ExecutionEngine/OProfileJIT/OProfileWrapper.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/CompileUtils.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/Core.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/ExecutionUtils.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/IRCompileLayer.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/IRTransformLayer.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/IndirectionUtils.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/LLJIT.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/Layer.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/LazyReexports.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/Legacy.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcCBindingsStack.h vendor/llvm/dist/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp vendor/llvm/dist/lib/ExecutionEngine/Orc/ThreadSafeModule.cpp vendor/llvm/dist/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h vendor/llvm/dist/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h vendor/llvm/dist/lib/FuzzMutate/FuzzerCLI.cpp vendor/llvm/dist/lib/IR/AsmWriter.cpp vendor/llvm/dist/lib/IR/AttributeImpl.h vendor/llvm/dist/lib/IR/Attributes.cpp vendor/llvm/dist/lib/IR/AutoUpgrade.cpp vendor/llvm/dist/lib/IR/BasicBlock.cpp vendor/llvm/dist/lib/IR/ConstantFold.cpp vendor/llvm/dist/lib/IR/ConstantRange.cpp vendor/llvm/dist/lib/IR/Constants.cpp vendor/llvm/dist/lib/IR/ConstantsContext.h vendor/llvm/dist/lib/IR/Core.cpp vendor/llvm/dist/lib/IR/DIBuilder.cpp vendor/llvm/dist/lib/IR/DataLayout.cpp vendor/llvm/dist/lib/IR/DebugInfo.cpp vendor/llvm/dist/lib/IR/DebugInfoMetadata.cpp vendor/llvm/dist/lib/IR/DiagnosticInfo.cpp vendor/llvm/dist/lib/IR/Function.cpp vendor/llvm/dist/lib/IR/Globals.cpp vendor/llvm/dist/lib/IR/IRBuilder.cpp vendor/llvm/dist/lib/IR/IRPrintingPasses.cpp vendor/llvm/dist/lib/IR/InlineAsm.cpp vendor/llvm/dist/lib/IR/Instruction.cpp vendor/llvm/dist/lib/IR/Instructions.cpp vendor/llvm/dist/lib/IR/IntrinsicInst.cpp vendor/llvm/dist/lib/IR/LLVMContext.cpp vendor/llvm/dist/lib/IR/LLVMContextImpl.cpp vendor/llvm/dist/lib/IR/LegacyPassManager.cpp vendor/llvm/dist/lib/IR/MDBuilder.cpp vendor/llvm/dist/lib/IR/Metadata.cpp vendor/llvm/dist/lib/IR/Module.cpp vendor/llvm/dist/lib/IR/RemarkStreamer.cpp vendor/llvm/dist/lib/IR/SafepointIRVerifier.cpp vendor/llvm/dist/lib/IR/Type.cpp vendor/llvm/dist/lib/IR/Value.cpp vendor/llvm/dist/lib/IR/Verifier.cpp vendor/llvm/dist/lib/LTO/Caching.cpp vendor/llvm/dist/lib/LTO/LTO.cpp vendor/llvm/dist/lib/LTO/LTOBackend.cpp vendor/llvm/dist/lib/LTO/LTOCodeGenerator.cpp vendor/llvm/dist/lib/LTO/LTOModule.cpp vendor/llvm/dist/lib/LTO/SummaryBasedOptimizations.cpp vendor/llvm/dist/lib/LTO/ThinLTOCodeGenerator.cpp vendor/llvm/dist/lib/Linker/IRMover.cpp vendor/llvm/dist/lib/Linker/LinkModules.cpp vendor/llvm/dist/lib/MC/ELFObjectWriter.cpp vendor/llvm/dist/lib/MC/MCAsmBackend.cpp vendor/llvm/dist/lib/MC/MCAsmInfoXCOFF.cpp vendor/llvm/dist/lib/MC/MCAsmMacro.cpp vendor/llvm/dist/lib/MC/MCAsmStreamer.cpp vendor/llvm/dist/lib/MC/MCAssembler.cpp vendor/llvm/dist/lib/MC/MCContext.cpp vendor/llvm/dist/lib/MC/MCDwarf.cpp vendor/llvm/dist/lib/MC/MCELFStreamer.cpp vendor/llvm/dist/lib/MC/MCExpr.cpp vendor/llvm/dist/lib/MC/MCInstPrinter.cpp vendor/llvm/dist/lib/MC/MCInstrAnalysis.cpp vendor/llvm/dist/lib/MC/MCMachOStreamer.cpp vendor/llvm/dist/lib/MC/MCObjectFileInfo.cpp vendor/llvm/dist/lib/MC/MCObjectStreamer.cpp vendor/llvm/dist/lib/MC/MCParser/AsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/COFFAsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/DarwinAsmParser.cpp vendor/llvm/dist/lib/MC/MCParser/WasmAsmParser.cpp vendor/llvm/dist/lib/MC/MCRegisterInfo.cpp vendor/llvm/dist/lib/MC/MCSectionXCOFF.cpp vendor/llvm/dist/lib/MC/MCStreamer.cpp vendor/llvm/dist/lib/MC/MCSubtargetInfo.cpp vendor/llvm/dist/lib/MC/MCWasmObjectTargetWriter.cpp vendor/llvm/dist/lib/MC/MCWasmStreamer.cpp vendor/llvm/dist/lib/MC/MCWinCOFFStreamer.cpp vendor/llvm/dist/lib/MC/MCXCOFFStreamer.cpp vendor/llvm/dist/lib/MC/MachObjectWriter.cpp vendor/llvm/dist/lib/MC/StringTableBuilder.cpp vendor/llvm/dist/lib/MC/WasmObjectWriter.cpp vendor/llvm/dist/lib/MC/WinCOFFObjectWriter.cpp vendor/llvm/dist/lib/MC/XCOFFObjectWriter.cpp vendor/llvm/dist/lib/MCA/Context.cpp vendor/llvm/dist/lib/MCA/HardwareUnits/LSUnit.cpp vendor/llvm/dist/lib/MCA/HardwareUnits/RegisterFile.cpp vendor/llvm/dist/lib/MCA/HardwareUnits/ResourceManager.cpp vendor/llvm/dist/lib/MCA/HardwareUnits/RetireControlUnit.cpp vendor/llvm/dist/lib/MCA/HardwareUnits/Scheduler.cpp vendor/llvm/dist/lib/MCA/InstrBuilder.cpp vendor/llvm/dist/lib/MCA/Instruction.cpp vendor/llvm/dist/lib/MCA/Stages/DispatchStage.cpp vendor/llvm/dist/lib/MCA/Stages/EntryStage.cpp vendor/llvm/dist/lib/MCA/Stages/ExecuteStage.cpp vendor/llvm/dist/lib/MCA/Stages/RetireStage.cpp vendor/llvm/dist/lib/Object/Archive.cpp vendor/llvm/dist/lib/Object/ArchiveWriter.cpp vendor/llvm/dist/lib/Object/Binary.cpp vendor/llvm/dist/lib/Object/COFFObjectFile.cpp vendor/llvm/dist/lib/Object/Decompressor.cpp vendor/llvm/dist/lib/Object/ELF.cpp vendor/llvm/dist/lib/Object/ELFObjectFile.cpp vendor/llvm/dist/lib/Object/MachOObjectFile.cpp vendor/llvm/dist/lib/Object/MachOUniversal.cpp vendor/llvm/dist/lib/Object/Minidump.cpp vendor/llvm/dist/lib/Object/Object.cpp vendor/llvm/dist/lib/Object/ObjectFile.cpp vendor/llvm/dist/lib/Object/RelocationResolver.cpp vendor/llvm/dist/lib/Object/SymbolicFile.cpp vendor/llvm/dist/lib/Object/WasmObjectFile.cpp vendor/llvm/dist/lib/Object/WindowsResource.cpp vendor/llvm/dist/lib/Object/XCOFFObjectFile.cpp vendor/llvm/dist/lib/ObjectYAML/CodeViewYAMLSymbols.cpp vendor/llvm/dist/lib/ObjectYAML/ELFYAML.cpp vendor/llvm/dist/lib/ObjectYAML/MachOYAML.cpp vendor/llvm/dist/lib/ObjectYAML/MinidumpYAML.cpp vendor/llvm/dist/lib/ObjectYAML/WasmYAML.cpp vendor/llvm/dist/lib/Option/ArgList.cpp vendor/llvm/dist/lib/Passes/PassBuilder.cpp vendor/llvm/dist/lib/Passes/PassRegistry.def vendor/llvm/dist/lib/ProfileData/Coverage/CoverageMapping.cpp vendor/llvm/dist/lib/ProfileData/Coverage/CoverageMappingReader.cpp vendor/llvm/dist/lib/ProfileData/Coverage/CoverageMappingWriter.cpp vendor/llvm/dist/lib/ProfileData/GCOV.cpp vendor/llvm/dist/lib/ProfileData/InstrProf.cpp vendor/llvm/dist/lib/ProfileData/InstrProfReader.cpp vendor/llvm/dist/lib/ProfileData/InstrProfWriter.cpp vendor/llvm/dist/lib/ProfileData/ProfileSummaryBuilder.cpp vendor/llvm/dist/lib/ProfileData/SampleProf.cpp vendor/llvm/dist/lib/ProfileData/SampleProfReader.cpp vendor/llvm/dist/lib/ProfileData/SampleProfWriter.cpp vendor/llvm/dist/lib/Remarks/RemarkFormat.cpp vendor/llvm/dist/lib/Remarks/RemarkParser.cpp vendor/llvm/dist/lib/Remarks/RemarkStringTable.cpp vendor/llvm/dist/lib/Remarks/YAMLRemarkParser.cpp vendor/llvm/dist/lib/Remarks/YAMLRemarkParser.h vendor/llvm/dist/lib/Remarks/YAMLRemarkSerializer.cpp vendor/llvm/dist/lib/Support/AArch64TargetParser.cpp vendor/llvm/dist/lib/Support/APInt.cpp vendor/llvm/dist/lib/Support/ARMTargetParser.cpp vendor/llvm/dist/lib/Support/CRC.cpp vendor/llvm/dist/lib/Support/CachePruning.cpp vendor/llvm/dist/lib/Support/CodeGenCoverage.cpp vendor/llvm/dist/lib/Support/CommandLine.cpp vendor/llvm/dist/lib/Support/CrashRecoveryContext.cpp vendor/llvm/dist/lib/Support/DataExtractor.cpp vendor/llvm/dist/lib/Support/Error.cpp vendor/llvm/dist/lib/Support/FileCheck.cpp vendor/llvm/dist/lib/Support/FileOutputBuffer.cpp vendor/llvm/dist/lib/Support/FileUtilities.cpp vendor/llvm/dist/lib/Support/GlobPattern.cpp vendor/llvm/dist/lib/Support/Host.cpp vendor/llvm/dist/lib/Support/JSON.cpp vendor/llvm/dist/lib/Support/ManagedStatic.cpp vendor/llvm/dist/lib/Support/MemoryBuffer.cpp vendor/llvm/dist/lib/Support/Parallel.cpp vendor/llvm/dist/lib/Support/Path.cpp vendor/llvm/dist/lib/Support/PrettyStackTrace.cpp vendor/llvm/dist/lib/Support/RWMutex.cpp vendor/llvm/dist/lib/Support/Regex.cpp vendor/llvm/dist/lib/Support/Signposts.cpp vendor/llvm/dist/lib/Support/SpecialCaseList.cpp vendor/llvm/dist/lib/Support/Statistic.cpp vendor/llvm/dist/lib/Support/StringExtras.cpp vendor/llvm/dist/lib/Support/TimeProfiler.cpp vendor/llvm/dist/lib/Support/Timer.cpp vendor/llvm/dist/lib/Support/Unix/Memory.inc vendor/llvm/dist/lib/Support/Unix/Path.inc vendor/llvm/dist/lib/Support/Unix/Process.inc vendor/llvm/dist/lib/Support/Unix/Program.inc vendor/llvm/dist/lib/Support/Unix/Signals.inc vendor/llvm/dist/lib/Support/VirtualFileSystem.cpp vendor/llvm/dist/lib/Support/Windows/Path.inc vendor/llvm/dist/lib/Support/Windows/Program.inc vendor/llvm/dist/lib/Support/Windows/Signals.inc vendor/llvm/dist/lib/Support/Windows/WindowsSupport.h vendor/llvm/dist/lib/Support/Windows/explicit_symbols.inc vendor/llvm/dist/lib/Support/YAMLTraits.cpp vendor/llvm/dist/lib/Support/Z3Solver.cpp vendor/llvm/dist/lib/Support/raw_ostream.cpp vendor/llvm/dist/lib/Support/regcomp.c vendor/llvm/dist/lib/TableGen/Error.cpp vendor/llvm/dist/lib/TableGen/Main.cpp vendor/llvm/dist/lib/TableGen/Record.cpp vendor/llvm/dist/lib/TableGen/SetTheory.cpp vendor/llvm/dist/lib/TableGen/TGLexer.cpp vendor/llvm/dist/lib/TableGen/TGParser.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64.h vendor/llvm/dist/lib/Target/AArch64/AArch64.td vendor/llvm/dist/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64AsmPrinter.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64CallLowering.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64CallLowering.h vendor/llvm/dist/lib/Target/AArch64/AArch64CallingConvention.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64CallingConvention.h vendor/llvm/dist/lib/Target/AArch64/AArch64CallingConvention.td vendor/llvm/dist/lib/Target/AArch64/AArch64CollectLOH.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64CondBrTuning.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64ConditionalCompares.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64FastISel.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64FrameLowering.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64FrameLowering.h vendor/llvm/dist/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64ISelLowering.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64ISelLowering.h vendor/llvm/dist/lib/Target/AArch64/AArch64InstrAtomics.td vendor/llvm/dist/lib/Target/AArch64/AArch64InstrFormats.td vendor/llvm/dist/lib/Target/AArch64/AArch64InstrInfo.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64InstrInfo.h vendor/llvm/dist/lib/Target/AArch64/AArch64InstrInfo.td vendor/llvm/dist/lib/Target/AArch64/AArch64InstructionSelector.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64LegalizerInfo.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64LegalizerInfo.h vendor/llvm/dist/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64MCInstLower.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64MachineFunctionInfo.h vendor/llvm/dist/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64RegisterBankInfo.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64RegisterInfo.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64SVEInstrInfo.td vendor/llvm/dist/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64SpeculationHardening.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64StackTagging.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64StorePairSuppress.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64Subtarget.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64Subtarget.h vendor/llvm/dist/lib/Target/AArch64/AArch64SystemOperands.td vendor/llvm/dist/lib/Target/AArch64/AArch64TargetMachine.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64TargetObjectFile.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64TargetObjectFile.h vendor/llvm/dist/lib/Target/AArch64/AArch64TargetTransformInfo.cpp vendor/llvm/dist/lib/Target/AArch64/AArch64TargetTransformInfo.h vendor/llvm/dist/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp vendor/llvm/dist/lib/Target/AArch64/SVEInstrFormats.td vendor/llvm/dist/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp vendor/llvm/dist/lib/Target/AArch64/Utils/AArch64BaseInfo.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPU.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPU.td vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAsmPrinter.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUCallLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUCallLowering.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUCallingConv.td vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUFrameLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUFrameLowering.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUGISel.td vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.def vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUISelLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUISelLowering.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUInline.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUInstrInfo.td vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUInstructionSelector.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPULegalizerInfo.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPULibCalls.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPULibFunc.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUMachineFunction.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPURegisterBanks.td vendor/llvm/dist/lib/Target/AMDGPU/AMDGPURegisterInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPURegisterInfo.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUSearchableTables.td vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUSubtarget.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUSubtarget.h vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h vendor/llvm/dist/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp vendor/llvm/dist/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp vendor/llvm/dist/lib/Target/AMDGPU/BUFInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/DSInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp vendor/llvm/dist/lib/Target/AMDGPU/EvergreenInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/FLATInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/GCNDPPCombine.cpp vendor/llvm/dist/lib/Target/AMDGPU/GCNHazardRecognizer.cpp vendor/llvm/dist/lib/Target/AMDGPU/GCNILPSched.cpp vendor/llvm/dist/lib/Target/AMDGPU/GCNIterativeScheduler.cpp vendor/llvm/dist/lib/Target/AMDGPU/GCNNSAReassign.cpp vendor/llvm/dist/lib/Target/AMDGPU/GCNRegBankReassign.cpp vendor/llvm/dist/lib/Target/AMDGPU/GCNRegPressure.cpp vendor/llvm/dist/lib/Target/AMDGPU/GCNRegPressure.h vendor/llvm/dist/lib/Target/AMDGPU/GCNSchedStrategy.cpp vendor/llvm/dist/lib/Target/AMDGPU/GCNSchedStrategy.h vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h vendor/llvm/dist/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp vendor/llvm/dist/lib/Target/AMDGPU/MIMGInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/R600AsmPrinter.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600ControlFlowFinalizer.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600ExpandSpecialInstrs.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600FrameLowering.h vendor/llvm/dist/lib/Target/AMDGPU/R600ISelLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600InstrInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600MachineScheduler.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600Packetizer.cpp vendor/llvm/dist/lib/Target/AMDGPU/R600RegisterInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIAddIMGInit.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIDefines.h vendor/llvm/dist/lib/Target/AMDGPU/SIFixSGPRCopies.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIFixupVectorISel.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIFoldOperands.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIFormMemoryClauses.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIFrameLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIFrameLowering.h vendor/llvm/dist/lib/Target/AMDGPU/SIISelLowering.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIISelLowering.h vendor/llvm/dist/lib/Target/AMDGPU/SIInsertWaitcnts.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIInstrFormats.td vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.h vendor/llvm/dist/lib/Target/AMDGPU/SIInstrInfo.td vendor/llvm/dist/lib/Target/AMDGPU/SIInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp vendor/llvm/dist/lib/Target/AMDGPU/SILowerControlFlow.cpp vendor/llvm/dist/lib/Target/AMDGPU/SILowerI1Copies.cpp vendor/llvm/dist/lib/Target/AMDGPU/SILowerSGPRSpills.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIMachineFunctionInfo.h vendor/llvm/dist/lib/Target/AMDGPU/SIMachineScheduler.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIMemoryLegalizer.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIModeRegister.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIPeepholeSDWA.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIProgramInfo.h vendor/llvm/dist/lib/Target/AMDGPU/SIRegisterInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIRegisterInfo.h vendor/llvm/dist/lib/Target/AMDGPU/SIRegisterInfo.td vendor/llvm/dist/lib/Target/AMDGPU/SIShrinkInstructions.cpp vendor/llvm/dist/lib/Target/AMDGPU/SIWholeQuadMode.cpp vendor/llvm/dist/lib/Target/AMDGPU/SMInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/SOPInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp vendor/llvm/dist/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h vendor/llvm/dist/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp vendor/llvm/dist/lib/Target/AMDGPU/VOP1Instructions.td vendor/llvm/dist/lib/Target/AMDGPU/VOP2Instructions.td vendor/llvm/dist/lib/Target/AMDGPU/VOP3Instructions.td vendor/llvm/dist/lib/Target/AMDGPU/VOP3PInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/VOPCInstructions.td vendor/llvm/dist/lib/Target/AMDGPU/VOPInstructions.td vendor/llvm/dist/lib/Target/ARC/ARCFrameLowering.h vendor/llvm/dist/lib/Target/ARC/ARCISelLowering.cpp vendor/llvm/dist/lib/Target/ARC/ARCMachineFunctionInfo.h vendor/llvm/dist/lib/Target/ARC/ARCOptAddrMode.cpp vendor/llvm/dist/lib/Target/ARC/ARCRegisterInfo.cpp vendor/llvm/dist/lib/Target/ARC/ARCTargetMachine.cpp vendor/llvm/dist/lib/Target/ARM/A15SDOptimizer.cpp vendor/llvm/dist/lib/Target/ARM/ARM.h vendor/llvm/dist/lib/Target/ARM/ARM.td vendor/llvm/dist/lib/Target/ARM/ARMAsmPrinter.cpp vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.h vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.h vendor/llvm/dist/lib/Target/ARM/ARMBasicBlockInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMBasicBlockInfo.h vendor/llvm/dist/lib/Target/ARM/ARMCallLowering.cpp vendor/llvm/dist/lib/Target/ARM/ARMCallLowering.h vendor/llvm/dist/lib/Target/ARM/ARMCallingConv.cpp vendor/llvm/dist/lib/Target/ARM/ARMCodeGenPrepare.cpp vendor/llvm/dist/lib/Target/ARM/ARMConstantIslandPass.cpp vendor/llvm/dist/lib/Target/ARM/ARMConstantPoolValue.cpp vendor/llvm/dist/lib/Target/ARM/ARMExpandPseudoInsts.cpp vendor/llvm/dist/lib/Target/ARM/ARMFastISel.cpp vendor/llvm/dist/lib/Target/ARM/ARMFrameLowering.cpp vendor/llvm/dist/lib/Target/ARM/ARMFrameLowering.h vendor/llvm/dist/lib/Target/ARM/ARMISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.h vendor/llvm/dist/lib/Target/ARM/ARMInstrFormats.td vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.td vendor/llvm/dist/lib/Target/ARM/ARMInstrMVE.td vendor/llvm/dist/lib/Target/ARM/ARMInstrNEON.td vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb.td vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb2.td vendor/llvm/dist/lib/Target/ARM/ARMInstrVFP.td vendor/llvm/dist/lib/Target/ARM/ARMInstructionSelector.cpp vendor/llvm/dist/lib/Target/ARM/ARMLegalizerInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMLoadStoreOptimizer.cpp vendor/llvm/dist/lib/Target/ARM/ARMLowOverheadLoops.cpp vendor/llvm/dist/lib/Target/ARM/ARMMCInstLower.cpp vendor/llvm/dist/lib/Target/ARM/ARMMachineFunctionInfo.h vendor/llvm/dist/lib/Target/ARM/ARMParallelDSP.cpp vendor/llvm/dist/lib/Target/ARM/ARMPredicates.td vendor/llvm/dist/lib/Target/ARM/ARMRegisterInfo.td vendor/llvm/dist/lib/Target/ARM/ARMScheduleA9.td vendor/llvm/dist/lib/Target/ARM/ARMScheduleM4.td vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.cpp vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.h vendor/llvm/dist/lib/Target/ARM/ARMTargetMachine.cpp vendor/llvm/dist/lib/Target/ARM/ARMTargetTransformInfo.cpp vendor/llvm/dist/lib/Target/ARM/ARMTargetTransformInfo.h vendor/llvm/dist/lib/Target/ARM/AsmParser/ARMAsmParser.cpp vendor/llvm/dist/lib/Target/ARM/Disassembler/ARMDisassembler.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.h vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp vendor/llvm/dist/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp vendor/llvm/dist/lib/Target/ARM/MLxExpansionPass.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1FrameLowering.cpp vendor/llvm/dist/lib/Target/ARM/Thumb1InstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2ITBlockPass.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2InstrInfo.cpp vendor/llvm/dist/lib/Target/ARM/Thumb2SizeReduction.cpp vendor/llvm/dist/lib/Target/ARM/ThumbRegisterInfo.cpp vendor/llvm/dist/lib/Target/AVR/AVRAsmPrinter.cpp vendor/llvm/dist/lib/Target/AVR/AVRExpandPseudoInsts.cpp vendor/llvm/dist/lib/Target/AVR/AVRFrameLowering.cpp vendor/llvm/dist/lib/Target/AVR/AVRISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/AVR/AVRISelLowering.cpp vendor/llvm/dist/lib/Target/AVR/AVRISelLowering.h vendor/llvm/dist/lib/Target/AVR/AVRRegisterInfo.cpp vendor/llvm/dist/lib/Target/AVR/AVRTargetMachine.cpp vendor/llvm/dist/lib/Target/AVR/AsmParser/AVRAsmParser.cpp vendor/llvm/dist/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp vendor/llvm/dist/lib/Target/BPF/AsmParser/BPFAsmParser.cpp vendor/llvm/dist/lib/Target/BPF/BPF.h vendor/llvm/dist/lib/Target/BPF/BPFAbstractMemberAccess.cpp vendor/llvm/dist/lib/Target/BPF/BPFAsmPrinter.cpp vendor/llvm/dist/lib/Target/BPF/BPFCORE.h vendor/llvm/dist/lib/Target/BPF/BPFFrameLowering.h vendor/llvm/dist/lib/Target/BPF/BPFISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/BPF/BPFISelLowering.cpp vendor/llvm/dist/lib/Target/BPF/BPFInstrInfo.cpp vendor/llvm/dist/lib/Target/BPF/BPFInstrInfo.td vendor/llvm/dist/lib/Target/BPF/BPFMIChecking.cpp vendor/llvm/dist/lib/Target/BPF/BPFMIPeephole.cpp vendor/llvm/dist/lib/Target/BPF/BPFMISimplifyPatchable.cpp vendor/llvm/dist/lib/Target/BPF/BPFRegisterInfo.cpp vendor/llvm/dist/lib/Target/BPF/BPFTargetMachine.cpp vendor/llvm/dist/lib/Target/BPF/BTF.h vendor/llvm/dist/lib/Target/BPF/BTFDebug.cpp vendor/llvm/dist/lib/Target/BPF/BTFDebug.h vendor/llvm/dist/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp vendor/llvm/dist/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp vendor/llvm/dist/lib/Target/Hexagon/BitTracker.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonAsmPrinter.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonBitSimplify.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonBitTracker.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonBlockRanges.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonBranchRelaxation.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonConstExtenders.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonConstPropagation.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonCopyToCombine.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td vendor/llvm/dist/lib/Target/Hexagon/HexagonDepOperands.td vendor/llvm/dist/lib/Target/Hexagon/HexagonEarlyIfConv.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonExpandCondsets.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonFixupHwLoops.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonFrameLowering.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonFrameLowering.h vendor/llvm/dist/lib/Target/Hexagon/HexagonGenExtract.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonGenInsert.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonGenMux.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonGenPredicate.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonHardwareLoops.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonISelLowering.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonISelLowering.h vendor/llvm/dist/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonInstrInfo.h vendor/llvm/dist/lib/Target/Hexagon/HexagonIntrinsics.td vendor/llvm/dist/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonNewValueJump.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonOptAddrMode.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonPatterns.td vendor/llvm/dist/lib/Target/Hexagon/HexagonPatternsHVX.td vendor/llvm/dist/lib/Target/Hexagon/HexagonPeephole.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonRegisterInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonSplitConst32AndConst64.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonSplitDouble.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonStoreWidening.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonSubtarget.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonSubtarget.h vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetMachine.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonTargetTransformInfo.h vendor/llvm/dist/lib/Target/Hexagon/HexagonVExtract.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp vendor/llvm/dist/lib/Target/Hexagon/HexagonVLIWPacketizer.h vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCChecker.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp vendor/llvm/dist/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp vendor/llvm/dist/lib/Target/Hexagon/RDFCopy.cpp vendor/llvm/dist/lib/Target/Hexagon/RDFDeadCode.cpp vendor/llvm/dist/lib/Target/Hexagon/RDFGraph.cpp vendor/llvm/dist/lib/Target/Hexagon/RDFLiveness.cpp vendor/llvm/dist/lib/Target/Hexagon/RDFRegisters.cpp vendor/llvm/dist/lib/Target/Hexagon/RDFRegisters.h vendor/llvm/dist/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp vendor/llvm/dist/lib/Target/Lanai/LanaiAsmPrinter.cpp vendor/llvm/dist/lib/Target/Lanai/LanaiDelaySlotFiller.cpp vendor/llvm/dist/lib/Target/Lanai/LanaiFrameLowering.cpp vendor/llvm/dist/lib/Target/Lanai/LanaiFrameLowering.h vendor/llvm/dist/lib/Target/Lanai/LanaiISelLowering.cpp vendor/llvm/dist/lib/Target/Lanai/LanaiISelLowering.h vendor/llvm/dist/lib/Target/Lanai/LanaiInstrInfo.cpp vendor/llvm/dist/lib/Target/Lanai/LanaiInstrInfo.h vendor/llvm/dist/lib/Target/Lanai/LanaiRegisterInfo.cpp vendor/llvm/dist/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp vendor/llvm/dist/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp vendor/llvm/dist/lib/Target/MSP430/MCTargetDesc/MSP430ELFObjectWriter.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430AsmPrinter.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430BranchSelector.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430FrameLowering.h vendor/llvm/dist/lib/Target/MSP430/MSP430ISelLowering.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430ISelLowering.h vendor/llvm/dist/lib/Target/MSP430/MSP430RegisterInfo.cpp vendor/llvm/dist/lib/Target/MSP430/MSP430TargetMachine.cpp vendor/llvm/dist/lib/Target/Mips/AsmParser/MipsAsmParser.cpp vendor/llvm/dist/lib/Target/Mips/Disassembler/MipsDisassembler.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsOptionRecord.cpp vendor/llvm/dist/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp vendor/llvm/dist/lib/Target/Mips/MicroMipsDSPInstrInfo.td vendor/llvm/dist/lib/Target/Mips/MicroMipsInstrInfo.td vendor/llvm/dist/lib/Target/Mips/MicroMipsSizeReduction.cpp vendor/llvm/dist/lib/Target/Mips/Mips.td vendor/llvm/dist/lib/Target/Mips/Mips16ISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/Mips/Mips16ISelLowering.cpp vendor/llvm/dist/lib/Target/Mips/Mips16InstrInfo.cpp vendor/llvm/dist/lib/Target/Mips/Mips64InstrInfo.td vendor/llvm/dist/lib/Target/Mips/MipsAsmPrinter.cpp vendor/llvm/dist/lib/Target/Mips/MipsCallLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsCallLowering.h vendor/llvm/dist/lib/Target/Mips/MipsConstantIslandPass.cpp vendor/llvm/dist/lib/Target/Mips/MipsDSPInstrInfo.td vendor/llvm/dist/lib/Target/Mips/MipsExpandPseudo.cpp vendor/llvm/dist/lib/Target/Mips/MipsFastISel.cpp vendor/llvm/dist/lib/Target/Mips/MipsFrameLowering.h vendor/llvm/dist/lib/Target/Mips/MipsISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/Mips/MipsISelDAGToDAG.h vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsISelLowering.h vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.h vendor/llvm/dist/lib/Target/Mips/MipsInstrInfo.td vendor/llvm/dist/lib/Target/Mips/MipsInstructionSelector.cpp vendor/llvm/dist/lib/Target/Mips/MipsLegalizerInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsLegalizerInfo.h vendor/llvm/dist/lib/Target/Mips/MipsMSAInstrInfo.td vendor/llvm/dist/lib/Target/Mips/MipsOptimizePICCall.cpp vendor/llvm/dist/lib/Target/Mips/MipsPreLegalizerCombiner.cpp vendor/llvm/dist/lib/Target/Mips/MipsRegisterBankInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsRegisterBankInfo.h vendor/llvm/dist/lib/Target/Mips/MipsRegisterBanks.td vendor/llvm/dist/lib/Target/Mips/MipsSEFrameLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsSEISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/Mips/MipsSEISelDAGToDAG.h vendor/llvm/dist/lib/Target/Mips/MipsSEISelLowering.cpp vendor/llvm/dist/lib/Target/Mips/MipsSEInstrInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsSERegisterInfo.cpp vendor/llvm/dist/lib/Target/Mips/MipsSubtarget.cpp vendor/llvm/dist/lib/Target/Mips/MipsSubtarget.h vendor/llvm/dist/lib/Target/Mips/MipsTargetMachine.cpp vendor/llvm/dist/lib/Target/Mips/MipsTargetStreamer.h vendor/llvm/dist/lib/Target/NVPTX/NVPTX.h vendor/llvm/dist/lib/Target/NVPTX/NVPTXAsmPrinter.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXAsmPrinter.h vendor/llvm/dist/lib/Target/NVPTX/NVPTXFrameLowering.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXISelLowering.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXInstrInfo.td vendor/llvm/dist/lib/Target/NVPTX/NVPTXIntrinsics.td vendor/llvm/dist/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXLowerAlloca.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXLowerArgs.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXPeephole.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXTargetMachine.cpp vendor/llvm/dist/lib/Target/NVPTX/NVPTXUtilities.cpp vendor/llvm/dist/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp vendor/llvm/dist/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp vendor/llvm/dist/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp vendor/llvm/dist/lib/Target/PowerPC/P9InstrResources.td vendor/llvm/dist/lib/Target/PowerPC/PPC.h vendor/llvm/dist/lib/Target/PowerPC/PPCAsmPrinter.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCBranchCoalescing.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCBranchSelector.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCFastISel.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCFrameLowering.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCFrameLowering.h vendor/llvm/dist/lib/Target/PowerPC/PPCISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.h vendor/llvm/dist/lib/Target/PowerPC/PPCInstr64Bit.td vendor/llvm/dist/lib/Target/PowerPC/PPCInstrAltivec.td vendor/llvm/dist/lib/Target/PowerPC/PPCInstrFormats.td vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.h vendor/llvm/dist/lib/Target/PowerPC/PPCInstrInfo.td vendor/llvm/dist/lib/Target/PowerPC/PPCInstrVSX.td vendor/llvm/dist/lib/Target/PowerPC/PPCLoopPreIncPrep.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCMCInstLower.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCMIPeephole.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCPreEmitPeephole.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCQPXLoadSplat.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCReduceCRLogicals.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.td vendor/llvm/dist/lib/Target/PowerPC/PPCSubtarget.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCSubtarget.h vendor/llvm/dist/lib/Target/PowerPC/PPCTLSDynamicCall.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCTOCRegDeps.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCTargetMachine.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCTargetTransformInfo.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCTargetTransformInfo.h vendor/llvm/dist/lib/Target/PowerPC/PPCVSXCopy.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCVSXFMAMutate.cpp vendor/llvm/dist/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp vendor/llvm/dist/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp vendor/llvm/dist/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h vendor/llvm/dist/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp vendor/llvm/dist/lib/Target/RISCV/RISCV.h vendor/llvm/dist/lib/Target/RISCV/RISCV.td vendor/llvm/dist/lib/Target/RISCV/RISCVCallingConv.td vendor/llvm/dist/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp vendor/llvm/dist/lib/Target/RISCV/RISCVFrameLowering.cpp vendor/llvm/dist/lib/Target/RISCV/RISCVFrameLowering.h vendor/llvm/dist/lib/Target/RISCV/RISCVISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/RISCV/RISCVISelLowering.cpp vendor/llvm/dist/lib/Target/RISCV/RISCVISelLowering.h vendor/llvm/dist/lib/Target/RISCV/RISCVInstrInfo.cpp vendor/llvm/dist/lib/Target/RISCV/RISCVInstrInfo.h vendor/llvm/dist/lib/Target/RISCV/RISCVInstrInfo.td vendor/llvm/dist/lib/Target/RISCV/RISCVInstrInfoA.td vendor/llvm/dist/lib/Target/RISCV/RISCVInstrInfoC.td vendor/llvm/dist/lib/Target/RISCV/RISCVInstrInfoF.td vendor/llvm/dist/lib/Target/RISCV/RISCVMergeBaseOffset.cpp vendor/llvm/dist/lib/Target/RISCV/RISCVRegisterInfo.cpp vendor/llvm/dist/lib/Target/RISCV/RISCVRegisterInfo.h vendor/llvm/dist/lib/Target/RISCV/RISCVRegisterInfo.td vendor/llvm/dist/lib/Target/RISCV/RISCVSubtarget.cpp vendor/llvm/dist/lib/Target/RISCV/RISCVSubtarget.h vendor/llvm/dist/lib/Target/RISCV/RISCVTargetMachine.cpp vendor/llvm/dist/lib/Target/RISCV/Utils/RISCVBaseInfo.h vendor/llvm/dist/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp vendor/llvm/dist/lib/Target/Sparc/DelaySlotFiller.cpp vendor/llvm/dist/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp vendor/llvm/dist/lib/Target/Sparc/SparcFrameLowering.cpp vendor/llvm/dist/lib/Target/Sparc/SparcISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/Sparc/SparcISelLowering.cpp vendor/llvm/dist/lib/Target/Sparc/SparcISelLowering.h vendor/llvm/dist/lib/Target/Sparc/SparcInstr64Bit.td vendor/llvm/dist/lib/Target/Sparc/SparcInstrInfo.cpp vendor/llvm/dist/lib/Target/Sparc/SparcInstrInfo.td vendor/llvm/dist/lib/Target/Sparc/SparcRegisterInfo.cpp vendor/llvm/dist/lib/Target/Sparc/SparcTargetMachine.cpp vendor/llvm/dist/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp vendor/llvm/dist/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZ.h vendor/llvm/dist/lib/Target/SystemZ/SystemZAsmPrinter.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZAsmPrinter.h vendor/llvm/dist/lib/Target/SystemZ/SystemZElimCompare.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZFrameLowering.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZISelLowering.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrFP.td vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrFormats.td vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.h vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.td vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrVector.td vendor/llvm/dist/lib/Target/SystemZ/SystemZLongBranch.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZMachineScheduler.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZOperands.td vendor/llvm/dist/lib/Target/SystemZ/SystemZOperators.td vendor/llvm/dist/lib/Target/SystemZ/SystemZPatterns.td vendor/llvm/dist/lib/Target/SystemZ/SystemZPostRewrite.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZProcessors.td vendor/llvm/dist/lib/Target/SystemZ/SystemZRegisterInfo.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZRegisterInfo.h vendor/llvm/dist/lib/Target/SystemZ/SystemZSchedule.td vendor/llvm/dist/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZShortenInst.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetMachine.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp vendor/llvm/dist/lib/Target/SystemZ/SystemZTargetTransformInfo.h vendor/llvm/dist/lib/Target/TargetLoweringObjectFile.cpp vendor/llvm/dist/lib/Target/TargetMachine.cpp vendor/llvm/dist/lib/Target/TargetMachineC.cpp vendor/llvm/dist/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp vendor/llvm/dist/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyFastISel.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyFrameLowering.h vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyISD.def vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyISelLowering.h vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrControl.td vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrConv.td vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrInfo.h vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrInfo.td vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrMemory.td vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyMCInstLower.h vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyPeephole.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyRegNumbering.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h vendor/llvm/dist/lib/Target/WebAssembly/WebAssemblyUtilities.cpp vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmParser.cpp vendor/llvm/dist/lib/Target/X86/AsmParser/X86AsmParserCommon.h vendor/llvm/dist/lib/Target/X86/AsmParser/X86Operand.h vendor/llvm/dist/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp vendor/llvm/dist/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp vendor/llvm/dist/lib/Target/X86/X86.h vendor/llvm/dist/lib/Target/X86/X86.td vendor/llvm/dist/lib/Target/X86/X86AsmPrinter.cpp vendor/llvm/dist/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp vendor/llvm/dist/lib/Target/X86/X86CallFrameOptimization.cpp vendor/llvm/dist/lib/Target/X86/X86CallLowering.cpp vendor/llvm/dist/lib/Target/X86/X86CallLowering.h vendor/llvm/dist/lib/Target/X86/X86CallingConv.td vendor/llvm/dist/lib/Target/X86/X86CmovConversion.cpp vendor/llvm/dist/lib/Target/X86/X86CondBrFolding.cpp vendor/llvm/dist/lib/Target/X86/X86DomainReassignment.cpp vendor/llvm/dist/lib/Target/X86/X86EvexToVex.cpp vendor/llvm/dist/lib/Target/X86/X86ExpandPseudo.cpp vendor/llvm/dist/lib/Target/X86/X86FastISel.cpp vendor/llvm/dist/lib/Target/X86/X86FixupBWInsts.cpp vendor/llvm/dist/lib/Target/X86/X86FixupLEAs.cpp vendor/llvm/dist/lib/Target/X86/X86FixupSetCC.cpp vendor/llvm/dist/lib/Target/X86/X86FlagsCopyLowering.cpp vendor/llvm/dist/lib/Target/X86/X86FloatingPoint.cpp vendor/llvm/dist/lib/Target/X86/X86FrameLowering.cpp vendor/llvm/dist/lib/Target/X86/X86FrameLowering.h vendor/llvm/dist/lib/Target/X86/X86ISelDAGToDAG.cpp vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp vendor/llvm/dist/lib/Target/X86/X86ISelLowering.h vendor/llvm/dist/lib/Target/X86/X86IndirectBranchTracking.cpp vendor/llvm/dist/lib/Target/X86/X86InsertPrefetch.cpp vendor/llvm/dist/lib/Target/X86/X86InstrAVX512.td vendor/llvm/dist/lib/Target/X86/X86InstrArithmetic.td vendor/llvm/dist/lib/Target/X86/X86InstrBuilder.h vendor/llvm/dist/lib/Target/X86/X86InstrCMovSetCC.td vendor/llvm/dist/lib/Target/X86/X86InstrCompiler.td vendor/llvm/dist/lib/Target/X86/X86InstrControl.td vendor/llvm/dist/lib/Target/X86/X86InstrExtension.td vendor/llvm/dist/lib/Target/X86/X86InstrFoldTables.cpp vendor/llvm/dist/lib/Target/X86/X86InstrFoldTables.h vendor/llvm/dist/lib/Target/X86/X86InstrFragmentsSIMD.td vendor/llvm/dist/lib/Target/X86/X86InstrInfo.cpp vendor/llvm/dist/lib/Target/X86/X86InstrInfo.h vendor/llvm/dist/lib/Target/X86/X86InstrInfo.td vendor/llvm/dist/lib/Target/X86/X86InstrMMX.td vendor/llvm/dist/lib/Target/X86/X86InstrMPX.td vendor/llvm/dist/lib/Target/X86/X86InstrSSE.td vendor/llvm/dist/lib/Target/X86/X86InstrSystem.td vendor/llvm/dist/lib/Target/X86/X86InstrTSX.td vendor/llvm/dist/lib/Target/X86/X86InstrXOP.td vendor/llvm/dist/lib/Target/X86/X86InstructionSelector.cpp vendor/llvm/dist/lib/Target/X86/X86IntrinsicsInfo.h vendor/llvm/dist/lib/Target/X86/X86LegalizerInfo.cpp vendor/llvm/dist/lib/Target/X86/X86LegalizerInfo.h vendor/llvm/dist/lib/Target/X86/X86MCInstLower.cpp vendor/llvm/dist/lib/Target/X86/X86MachineFunctionInfo.h vendor/llvm/dist/lib/Target/X86/X86OptimizeLEAs.cpp vendor/llvm/dist/lib/Target/X86/X86RegisterBankInfo.cpp vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.cpp vendor/llvm/dist/lib/Target/X86/X86RetpolineThunks.cpp vendor/llvm/dist/lib/Target/X86/X86SchedBroadwell.td vendor/llvm/dist/lib/Target/X86/X86SchedHaswell.td vendor/llvm/dist/lib/Target/X86/X86SchedPredicates.td vendor/llvm/dist/lib/Target/X86/X86SchedSandyBridge.td vendor/llvm/dist/lib/Target/X86/X86SchedSkylakeClient.td vendor/llvm/dist/lib/Target/X86/X86SchedSkylakeServer.td vendor/llvm/dist/lib/Target/X86/X86Schedule.td vendor/llvm/dist/lib/Target/X86/X86ScheduleAtom.td vendor/llvm/dist/lib/Target/X86/X86ScheduleBdVer2.td vendor/llvm/dist/lib/Target/X86/X86ScheduleBtVer2.td vendor/llvm/dist/lib/Target/X86/X86ScheduleSLM.td vendor/llvm/dist/lib/Target/X86/X86ScheduleZnver1.td vendor/llvm/dist/lib/Target/X86/X86SelectionDAGInfo.cpp vendor/llvm/dist/lib/Target/X86/X86SpeculativeLoadHardening.cpp vendor/llvm/dist/lib/Target/X86/X86Subtarget.cpp vendor/llvm/dist/lib/Target/X86/X86Subtarget.h vendor/llvm/dist/lib/Target/X86/X86TargetMachine.cpp vendor/llvm/dist/lib/Target/X86/X86TargetMachine.h vendor/llvm/dist/lib/Target/X86/X86TargetObjectFile.cpp vendor/llvm/dist/lib/Target/X86/X86TargetObjectFile.h vendor/llvm/dist/lib/Target/X86/X86TargetTransformInfo.cpp vendor/llvm/dist/lib/Target/X86/X86TargetTransformInfo.h vendor/llvm/dist/lib/Target/X86/X86VZeroUpper.cpp vendor/llvm/dist/lib/Target/X86/X86WinAllocaExpander.cpp vendor/llvm/dist/lib/Target/X86/X86WinEHState.cpp vendor/llvm/dist/lib/Target/XCore/XCoreAsmPrinter.cpp vendor/llvm/dist/lib/Target/XCore/XCoreFrameLowering.cpp vendor/llvm/dist/lib/Target/XCore/XCoreFrameToArgsOffsetElim.cpp vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.cpp vendor/llvm/dist/lib/Target/XCore/XCoreRegisterInfo.cpp vendor/llvm/dist/lib/Target/XCore/XCoreTargetMachine.cpp vendor/llvm/dist/lib/Target/XCore/XCoreTargetTransformInfo.h vendor/llvm/dist/lib/TextAPI/MachO/Architecture.cpp vendor/llvm/dist/lib/TextAPI/MachO/InterfaceFile.cpp vendor/llvm/dist/lib/TextAPI/MachO/Symbol.cpp vendor/llvm/dist/lib/TextAPI/MachO/TextStub.cpp vendor/llvm/dist/lib/TextAPI/MachO/TextStubCommon.cpp vendor/llvm/dist/lib/TextAPI/MachO/TextStubCommon.h vendor/llvm/dist/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp vendor/llvm/dist/lib/ToolDrivers/llvm-lib/LibDriver.cpp vendor/llvm/dist/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp vendor/llvm/dist/lib/Transforms/Coroutines/CoroCleanup.cpp vendor/llvm/dist/lib/Transforms/Coroutines/CoroEarly.cpp vendor/llvm/dist/lib/Transforms/Coroutines/CoroElide.cpp vendor/llvm/dist/lib/Transforms/Coroutines/CoroFrame.cpp vendor/llvm/dist/lib/Transforms/Coroutines/CoroInstr.h vendor/llvm/dist/lib/Transforms/Coroutines/CoroInternal.h vendor/llvm/dist/lib/Transforms/Coroutines/CoroSplit.cpp vendor/llvm/dist/lib/Transforms/Coroutines/Coroutines.cpp vendor/llvm/dist/lib/Transforms/IPO/ArgumentPromotion.cpp vendor/llvm/dist/lib/Transforms/IPO/Attributor.cpp vendor/llvm/dist/lib/Transforms/IPO/BlockExtractor.cpp vendor/llvm/dist/lib/Transforms/IPO/ConstantMerge.cpp vendor/llvm/dist/lib/Transforms/IPO/CrossDSOCFI.cpp vendor/llvm/dist/lib/Transforms/IPO/FunctionAttrs.cpp vendor/llvm/dist/lib/Transforms/IPO/FunctionImport.cpp vendor/llvm/dist/lib/Transforms/IPO/GlobalDCE.cpp vendor/llvm/dist/lib/Transforms/IPO/GlobalOpt.cpp vendor/llvm/dist/lib/Transforms/IPO/HotColdSplitting.cpp vendor/llvm/dist/lib/Transforms/IPO/IPO.cpp vendor/llvm/dist/lib/Transforms/IPO/InferFunctionAttrs.cpp vendor/llvm/dist/lib/Transforms/IPO/Inliner.cpp vendor/llvm/dist/lib/Transforms/IPO/LoopExtractor.cpp vendor/llvm/dist/lib/Transforms/IPO/LowerTypeTests.cpp vendor/llvm/dist/lib/Transforms/IPO/MergeFunctions.cpp vendor/llvm/dist/lib/Transforms/IPO/PartialInlining.cpp vendor/llvm/dist/lib/Transforms/IPO/PassManagerBuilder.cpp vendor/llvm/dist/lib/Transforms/IPO/SCCP.cpp vendor/llvm/dist/lib/Transforms/IPO/SampleProfile.cpp vendor/llvm/dist/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp vendor/llvm/dist/lib/Transforms/IPO/WholeProgramDevirt.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAddSub.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCalls.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCasts.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCompares.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineInternal.h vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombinePHI.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineSelect.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineShifts.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineVectorOps.cpp vendor/llvm/dist/lib/Transforms/InstCombine/InstructionCombining.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/AddressSanitizer.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/BoundsChecking.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/CFGMST.h vendor/llvm/dist/lib/Transforms/Instrumentation/ControlHeightReduction.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/GCOVProfiling.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/InstrOrderFile.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/InstrProfiling.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/Instrumentation.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/MemorySanitizer.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/PGOInstrumentation.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/SanitizerCoverage.cpp vendor/llvm/dist/lib/Transforms/Instrumentation/ThreadSanitizer.cpp vendor/llvm/dist/lib/Transforms/ObjCARC/PtrState.cpp vendor/llvm/dist/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp vendor/llvm/dist/lib/Transforms/Scalar/CallSiteSplitting.cpp vendor/llvm/dist/lib/Transforms/Scalar/ConstantHoisting.cpp vendor/llvm/dist/lib/Transforms/Scalar/ConstantProp.cpp vendor/llvm/dist/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp vendor/llvm/dist/lib/Transforms/Scalar/DCE.cpp vendor/llvm/dist/lib/Transforms/Scalar/DeadStoreElimination.cpp vendor/llvm/dist/lib/Transforms/Scalar/DivRemPairs.cpp vendor/llvm/dist/lib/Transforms/Scalar/EarlyCSE.cpp vendor/llvm/dist/lib/Transforms/Scalar/FlattenCFGPass.cpp vendor/llvm/dist/lib/Transforms/Scalar/Float2Int.cpp vendor/llvm/dist/lib/Transforms/Scalar/GVN.cpp vendor/llvm/dist/lib/Transforms/Scalar/GVNHoist.cpp vendor/llvm/dist/lib/Transforms/Scalar/GuardWidening.cpp vendor/llvm/dist/lib/Transforms/Scalar/IndVarSimplify.cpp vendor/llvm/dist/lib/Transforms/Scalar/InferAddressSpaces.cpp vendor/llvm/dist/lib/Transforms/Scalar/InstSimplifyPass.cpp vendor/llvm/dist/lib/Transforms/Scalar/JumpThreading.cpp vendor/llvm/dist/lib/Transforms/Scalar/LICM.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopDataPrefetch.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopDeletion.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopFuse.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopIdiomRecognize.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopInstSimplify.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopInterchange.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopLoadElimination.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopPredication.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopRerollPass.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopRotation.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopSimplifyCFG.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopSink.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopStrengthReduce.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopUnrollPass.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopUnswitch.cpp vendor/llvm/dist/lib/Transforms/Scalar/LoopVersioningLICM.cpp vendor/llvm/dist/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp vendor/llvm/dist/lib/Transforms/Scalar/MemCpyOptimizer.cpp vendor/llvm/dist/lib/Transforms/Scalar/MergeICmps.cpp vendor/llvm/dist/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp vendor/llvm/dist/lib/Transforms/Scalar/NaryReassociate.cpp vendor/llvm/dist/lib/Transforms/Scalar/NewGVN.cpp vendor/llvm/dist/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp vendor/llvm/dist/lib/Transforms/Scalar/PlaceSafepoints.cpp vendor/llvm/dist/lib/Transforms/Scalar/Reassociate.cpp vendor/llvm/dist/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp vendor/llvm/dist/lib/Transforms/Scalar/SCCP.cpp vendor/llvm/dist/lib/Transforms/Scalar/SROA.cpp vendor/llvm/dist/lib/Transforms/Scalar/Scalar.cpp vendor/llvm/dist/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp vendor/llvm/dist/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp vendor/llvm/dist/lib/Transforms/Scalar/SpeculateAroundPHIs.cpp vendor/llvm/dist/lib/Transforms/Scalar/StructurizeCFG.cpp vendor/llvm/dist/lib/Transforms/Scalar/TailRecursionElimination.cpp vendor/llvm/dist/lib/Transforms/Utils/BasicBlockUtils.cpp vendor/llvm/dist/lib/Transforms/Utils/BuildLibCalls.cpp vendor/llvm/dist/lib/Transforms/Utils/BypassSlowDivision.cpp vendor/llvm/dist/lib/Transforms/Utils/CanonicalizeAliases.cpp vendor/llvm/dist/lib/Transforms/Utils/CloneFunction.cpp vendor/llvm/dist/lib/Transforms/Utils/CloneModule.cpp vendor/llvm/dist/lib/Transforms/Utils/CodeExtractor.cpp vendor/llvm/dist/lib/Transforms/Utils/EntryExitInstrumenter.cpp vendor/llvm/dist/lib/Transforms/Utils/Evaluator.cpp vendor/llvm/dist/lib/Transforms/Utils/FlattenCFG.cpp vendor/llvm/dist/lib/Transforms/Utils/FunctionImportUtils.cpp vendor/llvm/dist/lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp vendor/llvm/dist/lib/Transforms/Utils/LibCallsShrinkWrap.cpp vendor/llvm/dist/lib/Transforms/Utils/Local.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopRotationUtils.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopSimplify.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopUnroll.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopUnrollAndJam.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopUnrollPeel.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopUtils.cpp vendor/llvm/dist/lib/Transforms/Utils/LoopVersioning.cpp vendor/llvm/dist/lib/Transforms/Utils/MetaRenamer.cpp vendor/llvm/dist/lib/Transforms/Utils/ModuleUtils.cpp vendor/llvm/dist/lib/Transforms/Utils/PredicateInfo.cpp vendor/llvm/dist/lib/Transforms/Utils/SimplifyCFG.cpp vendor/llvm/dist/lib/Transforms/Utils/SimplifyLibCalls.cpp vendor/llvm/dist/lib/Transforms/Utils/SymbolRewriter.cpp vendor/llvm/dist/lib/Transforms/Utils/VNCoercion.cpp vendor/llvm/dist/lib/Transforms/Utils/ValueMapper.cpp vendor/llvm/dist/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp vendor/llvm/dist/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp vendor/llvm/dist/lib/Transforms/Vectorize/LoopVectorizationPlanner.h vendor/llvm/dist/lib/Transforms/Vectorize/LoopVectorize.cpp vendor/llvm/dist/lib/Transforms/Vectorize/SLPVectorizer.cpp vendor/llvm/dist/lib/Transforms/Vectorize/VPlan.cpp vendor/llvm/dist/lib/Transforms/Vectorize/VPlan.h vendor/llvm/dist/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp vendor/llvm/dist/lib/Transforms/Vectorize/VPlanSLP.cpp vendor/llvm/dist/lib/WindowsManifest/WindowsManifestMerger.cpp vendor/llvm/dist/lib/XRay/FDRRecordProducer.cpp vendor/llvm/dist/lib/XRay/FileHeaderReader.cpp vendor/llvm/dist/lib/XRay/InstrumentationMap.cpp vendor/llvm/dist/lib/XRay/Profile.cpp vendor/llvm/dist/lib/XRay/RecordInitializer.cpp vendor/llvm/dist/lib/XRay/Trace.cpp vendor/llvm/dist/tools/bugpoint/BugDriver.h vendor/llvm/dist/tools/bugpoint/ExtractFunction.cpp vendor/llvm/dist/tools/bugpoint/OptimizerDriver.cpp vendor/llvm/dist/tools/bugpoint/ToolRunner.cpp vendor/llvm/dist/tools/bugpoint/bugpoint.cpp vendor/llvm/dist/tools/llc/llc.cpp vendor/llvm/dist/tools/lli/lli.cpp vendor/llvm/dist/tools/llvm-ar/llvm-ar.cpp vendor/llvm/dist/tools/llvm-as/llvm-as.cpp vendor/llvm/dist/tools/llvm-cov/CodeCoverage.cpp vendor/llvm/dist/tools/llvm-cov/SourceCoverageView.cpp vendor/llvm/dist/tools/llvm-cov/TestingSupport.cpp vendor/llvm/dist/tools/llvm-cxxdump/llvm-cxxdump.cpp vendor/llvm/dist/tools/llvm-cxxmap/llvm-cxxmap.cpp vendor/llvm/dist/tools/llvm-dis/llvm-dis.cpp vendor/llvm/dist/tools/llvm-dwarfdump/Statistics.cpp vendor/llvm/dist/tools/llvm-dwarfdump/llvm-dwarfdump.cpp vendor/llvm/dist/tools/llvm-extract/llvm-extract.cpp vendor/llvm/dist/tools/llvm-link/llvm-link.cpp vendor/llvm/dist/tools/llvm-lto/llvm-lto.cpp vendor/llvm/dist/tools/llvm-lto2/llvm-lto2.cpp vendor/llvm/dist/tools/llvm-mc/Disassembler.cpp vendor/llvm/dist/tools/llvm-mc/Disassembler.h vendor/llvm/dist/tools/llvm-mc/llvm-mc.cpp vendor/llvm/dist/tools/llvm-mca/CodeRegion.cpp vendor/llvm/dist/tools/llvm-mca/CodeRegionGenerator.cpp vendor/llvm/dist/tools/llvm-mca/Views/BottleneckAnalysis.cpp vendor/llvm/dist/tools/llvm-mca/Views/BottleneckAnalysis.h vendor/llvm/dist/tools/llvm-mca/Views/InstructionInfoView.cpp vendor/llvm/dist/tools/llvm-mca/Views/InstructionInfoView.h vendor/llvm/dist/tools/llvm-mca/Views/TimelineView.cpp vendor/llvm/dist/tools/llvm-mca/Views/TimelineView.h vendor/llvm/dist/tools/llvm-mca/llvm-mca.cpp vendor/llvm/dist/tools/llvm-modextract/llvm-modextract.cpp vendor/llvm/dist/tools/llvm-nm/llvm-nm.cpp vendor/llvm/dist/tools/llvm-objcopy/COFF/COFFObjcopy.cpp vendor/llvm/dist/tools/llvm-objcopy/COFF/Reader.cpp vendor/llvm/dist/tools/llvm-objcopy/COFF/Writer.cpp vendor/llvm/dist/tools/llvm-objcopy/CopyConfig.cpp vendor/llvm/dist/tools/llvm-objcopy/CopyConfig.h vendor/llvm/dist/tools/llvm-objcopy/ELF/ELFObjcopy.cpp vendor/llvm/dist/tools/llvm-objcopy/ELF/Object.cpp vendor/llvm/dist/tools/llvm-objcopy/ELF/Object.h vendor/llvm/dist/tools/llvm-objcopy/MachO/MachOObjcopy.cpp vendor/llvm/dist/tools/llvm-objcopy/MachO/MachOReader.cpp vendor/llvm/dist/tools/llvm-objcopy/MachO/MachOReader.h vendor/llvm/dist/tools/llvm-objcopy/MachO/MachOWriter.cpp vendor/llvm/dist/tools/llvm-objcopy/MachO/MachOWriter.h vendor/llvm/dist/tools/llvm-objcopy/MachO/Object.h vendor/llvm/dist/tools/llvm-objcopy/ObjcopyOpts.td vendor/llvm/dist/tools/llvm-objcopy/StripOpts.td vendor/llvm/dist/tools/llvm-objcopy/llvm-objcopy.cpp vendor/llvm/dist/tools/llvm-objdump/COFFDump.cpp vendor/llvm/dist/tools/llvm-objdump/ELFDump.cpp vendor/llvm/dist/tools/llvm-objdump/MachODump.cpp vendor/llvm/dist/tools/llvm-objdump/llvm-objdump.cpp vendor/llvm/dist/tools/llvm-objdump/llvm-objdump.h vendor/llvm/dist/tools/llvm-pdbutil/BytesOutputStyle.cpp vendor/llvm/dist/tools/llvm-pdbutil/DumpOutputStyle.cpp vendor/llvm/dist/tools/llvm-pdbutil/ExplainOutputStyle.cpp vendor/llvm/dist/tools/llvm-pdbutil/InputFile.cpp vendor/llvm/dist/tools/llvm-pdbutil/MinimalSymbolDumper.cpp vendor/llvm/dist/tools/llvm-pdbutil/PrettyTypeDumper.cpp vendor/llvm/dist/tools/llvm-pdbutil/llvm-pdbutil.cpp vendor/llvm/dist/tools/llvm-profdata/llvm-profdata.cpp vendor/llvm/dist/tools/llvm-readobj/ARMEHABIPrinter.h vendor/llvm/dist/tools/llvm-readobj/ARMWinEHPrinter.cpp vendor/llvm/dist/tools/llvm-readobj/COFFDumper.cpp vendor/llvm/dist/tools/llvm-readobj/DwarfCFIEHPrinter.h vendor/llvm/dist/tools/llvm-readobj/ELFDumper.cpp vendor/llvm/dist/tools/llvm-readobj/MachODumper.cpp vendor/llvm/dist/tools/llvm-readobj/ObjDumper.cpp vendor/llvm/dist/tools/llvm-readobj/ObjDumper.h vendor/llvm/dist/tools/llvm-readobj/WasmDumper.cpp vendor/llvm/dist/tools/llvm-readobj/Win64EHDumper.cpp vendor/llvm/dist/tools/llvm-readobj/WindowsResourceDumper.cpp vendor/llvm/dist/tools/llvm-readobj/XCOFFDumper.cpp vendor/llvm/dist/tools/llvm-readobj/llvm-readobj.cpp vendor/llvm/dist/tools/llvm-readobj/llvm-readobj.h vendor/llvm/dist/tools/llvm-rtdyld/llvm-rtdyld.cpp vendor/llvm/dist/tools/llvm-stress/llvm-stress.cpp vendor/llvm/dist/tools/llvm-symbolizer/llvm-symbolizer.cpp vendor/llvm/dist/tools/llvm-xray/func-id-helper.cpp vendor/llvm/dist/tools/llvm-xray/xray-account.cpp vendor/llvm/dist/tools/llvm-xray/xray-converter.cpp vendor/llvm/dist/tools/llvm-xray/xray-extract.cpp vendor/llvm/dist/tools/llvm-xray/xray-fdr-dump.cpp vendor/llvm/dist/tools/llvm-xray/xray-graph-diff.cpp vendor/llvm/dist/tools/llvm-xray/xray-graph.cpp vendor/llvm/dist/tools/opt/opt.cpp vendor/llvm/dist/utils/TableGen/AsmMatcherEmitter.cpp vendor/llvm/dist/utils/TableGen/AsmWriterEmitter.cpp vendor/llvm/dist/utils/TableGen/CallingConvEmitter.cpp vendor/llvm/dist/utils/TableGen/CodeEmitterGen.cpp vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.cpp vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.h vendor/llvm/dist/utils/TableGen/CodeGenInstruction.cpp vendor/llvm/dist/utils/TableGen/CodeGenInstruction.h vendor/llvm/dist/utils/TableGen/CodeGenIntrinsics.h vendor/llvm/dist/utils/TableGen/CodeGenMapTable.cpp vendor/llvm/dist/utils/TableGen/CodeGenRegisters.cpp vendor/llvm/dist/utils/TableGen/CodeGenRegisters.h vendor/llvm/dist/utils/TableGen/CodeGenSchedule.cpp vendor/llvm/dist/utils/TableGen/CodeGenTarget.cpp vendor/llvm/dist/utils/TableGen/CodeGenTarget.h vendor/llvm/dist/utils/TableGen/DAGISelEmitter.cpp vendor/llvm/dist/utils/TableGen/DAGISelMatcher.h vendor/llvm/dist/utils/TableGen/DAGISelMatcherEmitter.cpp vendor/llvm/dist/utils/TableGen/DAGISelMatcherGen.cpp vendor/llvm/dist/utils/TableGen/DAGISelMatcherOpt.cpp vendor/llvm/dist/utils/TableGen/DFAPacketizerEmitter.cpp vendor/llvm/dist/utils/TableGen/DisassemblerEmitter.cpp vendor/llvm/dist/utils/TableGen/FixedLenDecoderEmitter.cpp vendor/llvm/dist/utils/TableGen/GlobalISelEmitter.cpp vendor/llvm/dist/utils/TableGen/InfoByHwMode.cpp vendor/llvm/dist/utils/TableGen/InfoByHwMode.h vendor/llvm/dist/utils/TableGen/InstrDocsEmitter.cpp vendor/llvm/dist/utils/TableGen/InstrInfoEmitter.cpp vendor/llvm/dist/utils/TableGen/IntrinsicEmitter.cpp vendor/llvm/dist/utils/TableGen/RISCVCompressInstEmitter.cpp vendor/llvm/dist/utils/TableGen/RegisterInfoEmitter.cpp vendor/llvm/dist/utils/TableGen/SearchableTableEmitter.cpp vendor/llvm/dist/utils/TableGen/SubtargetEmitter.cpp vendor/llvm/dist/utils/TableGen/SubtargetFeatureInfo.cpp vendor/llvm/dist/utils/TableGen/TableGen.cpp vendor/llvm/dist/utils/TableGen/TableGenBackends.h vendor/llvm/dist/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp vendor/llvm/dist/utils/TableGen/X86DisassemblerTables.cpp vendor/llvm/dist/utils/TableGen/X86EVEX2VEXTablesEmitter.cpp vendor/llvm/dist/utils/TableGen/X86RecognizableInstr.cpp Modified: vendor/llvm/dist/include/llvm-c/Core.h ============================================================================== --- vendor/llvm/dist/include/llvm-c/Core.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm-c/Core.h Wed Oct 23 17:51:42 2019 (r353940) @@ -370,9 +370,13 @@ typedef enum { LLVMAtomicRMWBinOpUMax, /**< Sets the value if it's greater than the original using an unsigned comparison and return the old one */ - LLVMAtomicRMWBinOpUMin /**< Sets the value if it's greater than the - original using an unsigned comparison and return - the old one */ + LLVMAtomicRMWBinOpUMin, /**< Sets the value if it's greater than the + original using an unsigned comparison and return + the old one */ + LLVMAtomicRMWBinOpFAdd, /**< Add a floating point value and return the + old one */ + LLVMAtomicRMWBinOpFSub /**< Subtract a floating point value and return the + old one */ } LLVMAtomicRMWBinOp; typedef enum { @@ -1539,6 +1543,7 @@ LLVMTypeRef LLVMX86MMXType(void); macro(GlobalVariable) \ macro(UndefValue) \ macro(Instruction) \ + macro(UnaryOperator) \ macro(BinaryOperator) \ macro(CallInst) \ macro(IntrinsicInst) \ @@ -1571,6 +1576,8 @@ LLVMTypeRef LLVMX86MMXType(void); macro(ResumeInst) \ macro(CleanupReturnInst) \ macro(CatchReturnInst) \ + macro(CatchSwitchInst) \ + macro(CallBrInst) \ macro(FuncletPadInst) \ macro(CatchPadInst) \ macro(CleanupPadInst) \ @@ -1592,7 +1599,10 @@ LLVMTypeRef LLVMX86MMXType(void); macro(ZExtInst) \ macro(ExtractValueInst) \ macro(LoadInst) \ - macro(VAArgInst) + macro(VAArgInst) \ + macro(AtomicCmpXchgInst) \ + macro(AtomicRMWInst) \ + macro(FenceInst) /** * @defgroup LLVMCCoreValueGeneral General APIs @@ -3807,8 +3817,12 @@ LLVMValueRef LLVMBuildGlobalStringPtr(LLVMBuilderRef B const char *Name); LLVMBool LLVMGetVolatile(LLVMValueRef MemoryAccessInst); void LLVMSetVolatile(LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile); +LLVMBool LLVMGetWeak(LLVMValueRef CmpXchgInst); +void LLVMSetWeak(LLVMValueRef CmpXchgInst, LLVMBool IsWeak); LLVMAtomicOrdering LLVMGetOrdering(LLVMValueRef MemoryAccessInst); void LLVMSetOrdering(LLVMValueRef MemoryAccessInst, LLVMAtomicOrdering Ordering); +LLVMAtomicRMWBinOp LLVMGetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst); +void LLVMSetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst, LLVMAtomicRMWBinOp BinOp); /* Casts */ LLVMValueRef LLVMBuildTrunc(LLVMBuilderRef, LLVMValueRef Val, Modified: vendor/llvm/dist/include/llvm-c/DebugInfo.h ============================================================================== --- vendor/llvm/dist/include/llvm-c/DebugInfo.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm-c/DebugInfo.h Wed Oct 23 17:51:42 2019 (r353940) @@ -32,7 +32,7 @@ typedef enum { LLVMDIFlagPublic = 3, LLVMDIFlagFwdDecl = 1 << 2, LLVMDIFlagAppleBlock = 1 << 3, - LLVMDIFlagBlockByrefStruct = 1 << 4, + LLVMDIFlagReservedBit4 = 1 << 4, LLVMDIFlagVirtual = 1 << 5, LLVMDIFlagArtificial = 1 << 6, LLVMDIFlagExplicit = 1 << 7, @@ -170,6 +170,19 @@ typedef unsigned LLVMMetadataKind; typedef unsigned LLVMDWARFTypeEncoding; /** + * Describes the kind of macro declaration used for LLVMDIBuilderCreateMacro. + * @see llvm::dwarf::MacinfoRecordType + * @note Values are from DW_MACINFO_* constants in the DWARF specification. + */ +typedef enum { + LLVMDWARFMacinfoRecordTypeDefine = 0x01, + LLVMDWARFMacinfoRecordTypeMacro = 0x02, + LLVMDWARFMacinfoRecordTypeStartFile = 0x03, + LLVMDWARFMacinfoRecordTypeEndFile = 0x04, + LLVMDWARFMacinfoRecordTypeVendorExt = 0xff +} LLVMDWARFMacinfoRecordType; + +/** * The current debug metadata version number. */ unsigned LLVMDebugMetadataVersion(void); @@ -520,6 +533,38 @@ LLVMDIBuilderCreateSubroutineType(LLVMDIBuilderRef Bui LLVMMetadataRef *ParameterTypes, unsigned NumParameterTypes, LLVMDIFlags Flags); + +/** + * Create debugging information entry for a macro. + * @param Builder The DIBuilder. + * @param ParentMacroFile Macro parent (could be NULL). + * @param Line Source line number where the macro is defined. + * @param RecordType DW_MACINFO_define or DW_MACINFO_undef. + * @param Name Macro name. + * @param NameLen Macro name length. + * @param Value Macro value. + * @param ValueLen Macro value length. + */ +LLVMMetadataRef LLVMDIBuilderCreateMacro(LLVMDIBuilderRef Builder, + LLVMMetadataRef ParentMacroFile, + unsigned Line, + LLVMDWARFMacinfoRecordType RecordType, + const char *Name, size_t NameLen, + const char *Value, size_t ValueLen); + +/** + * Create debugging information temporary entry for a macro file. + * List of macro node direct children will be calculated by DIBuilder, + * using the \p ParentMacroFile relationship. + * @param Builder The DIBuilder. + * @param ParentMacroFile Macro parent (could be NULL). + * @param Line Source line number where the macro file is included. + * @param File File descriptor containing the name of the macro file. + */ +LLVMMetadataRef +LLVMDIBuilderCreateTempMacroFile(LLVMDIBuilderRef Builder, + LLVMMetadataRef ParentMacroFile, unsigned Line, + LLVMMetadataRef File); /** * Create debugging information entry for an enumerator. Modified: vendor/llvm/dist/include/llvm-c/Remarks.h ============================================================================== --- vendor/llvm/dist/include/llvm-c/Remarks.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm-c/Remarks.h Wed Oct 23 17:51:42 2019 (r353940) @@ -30,7 +30,8 @@ extern "C" { * @{ */ -#define REMARKS_API_VERSION 0 +// 0 -> 1: Bitstream remarks support. +#define REMARKS_API_VERSION 1 /** * The type of the emitted remark. @@ -239,6 +240,20 @@ typedef struct LLVMRemarkOpaqueParser *LLVMRemarkParse */ extern LLVMRemarkParserRef LLVMRemarkParserCreateYAML(const void *Buf, uint64_t Size); + +/** + * Creates a remark parser that can be used to parse the buffer located in \p + * Buf of size \p Size bytes. + * + * \p Buf cannot be `NULL`. + * + * This function should be paired with LLVMRemarkParserDispose() to avoid + * leaking resources. + * + * \since REMARKS_API_VERSION=1 + */ +extern LLVMRemarkParserRef LLVMRemarkParserCreateBitstream(const void *Buf, + uint64_t Size); /** * Returns the next remark in the file. Modified: vendor/llvm/dist/include/llvm-c/Transforms/IPO.h ============================================================================== --- vendor/llvm/dist/include/llvm-c/Transforms/IPO.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm-c/Transforms/IPO.h Wed Oct 23 17:51:42 2019 (r353940) @@ -34,6 +34,9 @@ void LLVMAddArgumentPromotionPass(LLVMPassManagerRef P /** See llvm::createConstantMergePass function. */ void LLVMAddConstantMergePass(LLVMPassManagerRef PM); +/** See llvm::createMergeFunctionsPass function. */ +void LLVMAddMergeFunctionsPass(LLVMPassManagerRef PM); + /** See llvm::createCalledValuePropagationPass function. */ void LLVMAddCalledValuePropagationPass(LLVMPassManagerRef PM); @@ -66,6 +69,21 @@ void LLVMAddIPSCCPPass(LLVMPassManagerRef PM); /** See llvm::createInternalizePass function. */ void LLVMAddInternalizePass(LLVMPassManagerRef, unsigned AllButMain); + +/** + * Create and add the internalize pass to the given pass manager with the + * provided preservation callback. + * + * The context parameter is forwarded to the callback on each invocation. + * As such, it is the responsibility of the caller to extend its lifetime + * until execution of this pass has finished. + * + * @see llvm::createInternalizePass function. + */ +void LLVMAddInternalizePassWithMustPreservePredicate( + LLVMPassManagerRef PM, + void *Context, + LLVMBool (*MustPreserve)(LLVMValueRef, void *)); /** See llvm::createStripDeadPrototypesPass function. */ void LLVMAddStripDeadPrototypesPass(LLVMPassManagerRef PM); Modified: vendor/llvm/dist/include/llvm-c/Transforms/Scalar.h ============================================================================== --- vendor/llvm/dist/include/llvm-c/Transforms/Scalar.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm-c/Transforms/Scalar.h Wed Oct 23 17:51:42 2019 (r353940) @@ -35,6 +35,9 @@ extern "C" { /** See llvm::createAggressiveDCEPass function. */ void LLVMAddAggressiveDCEPass(LLVMPassManagerRef PM); +/** See llvm::createDeadCodeEliminationPass function. */ +void LLVMAddDCEPass(LLVMPassManagerRef PM); + /** See llvm::createBitTrackingDCEPass function. */ void LLVMAddBitTrackingDCEPass(LLVMPassManagerRef PM); @@ -143,6 +146,9 @@ void LLVMAddEarlyCSEMemSSAPass(LLVMPassManagerRef PM); /** See llvm::createLowerExpectIntrinsicPass function */ void LLVMAddLowerExpectIntrinsicPass(LLVMPassManagerRef PM); + +/** See llvm::createLowerConstantIntrinsicsPass function */ +void LLVMAddLowerConstantIntrinsicsPass(LLVMPassManagerRef PM); /** See llvm::createTypeBasedAliasAnalysisPass function */ void LLVMAddTypeBasedAliasAnalysisPass(LLVMPassManagerRef PM); Modified: vendor/llvm/dist/include/llvm-c/lto.h ============================================================================== --- vendor/llvm/dist/include/llvm-c/lto.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm-c/lto.h Wed Oct 23 17:51:42 2019 (r353940) @@ -44,7 +44,7 @@ typedef bool lto_bool_t; * @{ */ -#define LTO_API_VERSION 24 +#define LTO_API_VERSION 25 /** * \since prior to LTO_API_VERSION=3 @@ -550,7 +550,57 @@ extern void lto_codegen_set_should_embed_uselists(lto_code_gen_t cg, lto_bool_t ShouldEmbedUselists); +/** Opaque reference to an LTO input file */ +typedef struct LLVMOpaqueLTOInput *lto_input_t; + /** + * Creates an LTO input file from a buffer. The path + * argument is used for diagnotics as this function + * otherwise does not know which file the given buffer + * is associated with. + * + * \since LTO_API_VERSION=24 + */ +extern lto_input_t lto_input_create(const void *buffer, + size_t buffer_size, + const char *path); + +/** + * Frees all memory internally allocated by the LTO input file. + * Upon return the lto_module_t is no longer valid. + * + * \since LTO_API_VERSION=24 + */ +extern void lto_input_dispose(lto_input_t input); + +/** + * Returns the number of dependent library specifiers + * for the given LTO input file. + * + * \since LTO_API_VERSION=24 + */ +extern unsigned lto_input_get_num_dependent_libraries(lto_input_t input); + +/** + * Returns the ith dependent library specifier + * for the given LTO input file. The returned + * string is not null-terminated. + * + * \since LTO_API_VERSION=24 + */ +extern const char * lto_input_get_dependent_library(lto_input_t input, + size_t index, + size_t *size); + +/** + * Returns the list of libcall symbols that can be generated by LTO + * that might not be visible from the symbol table of bitcode files. + * + * \since prior to LTO_API_VERSION=25 + */ +extern const char *const *lto_runtime_lib_symbols_list(size_t *size); + +/** * @} // endgoup LLVMCLTO * @defgroup LLVMCTLTO ThinLTO * @ingroup LLVMC @@ -845,48 +895,6 @@ thinlto_codegen_set_cache_size_megabytes(thinlto_code_ */ extern void thinlto_codegen_set_cache_size_files(thinlto_code_gen_t cg, unsigned max_size_files); - -/** Opaque reference to an LTO input file */ -typedef struct LLVMOpaqueLTOInput *lto_input_t; - -/** - * Creates an LTO input file from a buffer. The path - * argument is used for diagnotics as this function - * otherwise does not know which file the given buffer - * is associated with. - * - * \since LTO_API_VERSION=24 - */ -extern lto_input_t lto_input_create(const void *buffer, - size_t buffer_size, - const char *path); - -/** - * Frees all memory internally allocated by the LTO input file. - * Upon return the lto_module_t is no longer valid. - * - * \since LTO_API_VERSION=24 - */ -extern void lto_input_dispose(lto_input_t input); - -/** - * Returns the number of dependent library specifiers - * for the given LTO input file. - * - * \since LTO_API_VERSION=24 - */ -extern unsigned lto_input_get_num_dependent_libraries(lto_input_t input); - -/** - * Returns the ith dependent library specifier - * for the given LTO input file. The returned - * string is not null-terminated. - * - * \since LTO_API_VERSION=24 - */ -extern const char * lto_input_get_dependent_library(lto_input_t input, - size_t index, - size_t *size); /** * @} // endgroup LLVMCTLTO_CACHING Modified: vendor/llvm/dist/include/llvm/ADT/APFloat.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/APFloat.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm/ADT/APFloat.h Wed Oct 23 17:51:42 2019 (r353940) @@ -192,6 +192,11 @@ struct APFloatBase { /// IEEE-754R 7: Default exception handling. /// /// opUnderflow or opOverflow are always returned or-ed with opInexact. + /// + /// APFloat models this behavior specified by IEEE-754: + /// "For operations producing results in floating-point format, the default + /// result of an operation that signals the invalid operation exception + /// shall be a quiet NaN." enum opStatus { opOK = 0x00, opInvalidOp = 0x01, Modified: vendor/llvm/dist/include/llvm/ADT/APInt.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/APInt.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm/ADT/APInt.h Wed Oct 23 17:51:42 2019 (r353940) @@ -1467,6 +1467,13 @@ class LLVM_NODISCARD APInt { (public) U.pVal[whichWord(BitPosition)] &= Mask; } + /// Set bottom loBits bits to 0. + void clearLowBits(unsigned loBits) { + assert(loBits <= BitWidth && "More bits than bitwidth"); + APInt Keep = getHighBitsSet(BitWidth, BitWidth - loBits); + *this &= Keep; + } + /// Set the sign bit to 0. void clearSignBit() { clearBit(BitWidth - 1); @@ -1496,9 +1503,11 @@ class LLVM_NODISCARD APInt { (public) /// Insert the bits from a smaller APInt starting at bitPosition. void insertBits(const APInt &SubBits, unsigned bitPosition); + void insertBits(uint64_t SubBits, unsigned bitPosition, unsigned numBits); /// Return an APInt with the extracted bits [bitPosition,bitPosition+numBits). APInt extractBits(unsigned numBits, unsigned bitPosition) const; + uint64_t extractBitsAsZExtValue(unsigned numBits, unsigned bitPosition) const; /// @} /// \name Value Characterization Functions Modified: vendor/llvm/dist/include/llvm/ADT/Any.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/Any.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm/ADT/Any.h Wed Oct 23 17:51:42 2019 (r353940) @@ -38,7 +38,7 @@ class Any { explicit StorageImpl(T &&Value) : Value(std::move(Value)) {} std::unique_ptr clone() const override { - return llvm::make_unique>(Value); + return std::make_unique>(Value); } const void *id() const override { return &TypeId::Id; } @@ -78,7 +78,7 @@ class Any { int>::type = 0> Any(T &&Value) { using U = typename std::decay::type; - Storage = llvm::make_unique>(std::forward(Value)); + Storage = std::make_unique>(std::forward(Value)); } Any(Any &&Other) : Storage(std::move(Other.Storage)) {} Modified: vendor/llvm/dist/include/llvm/ADT/ArrayRef.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/ArrayRef.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm/ADT/ArrayRef.h Wed Oct 23 17:51:42 2019 (r353940) @@ -481,6 +481,12 @@ namespace llvm { return Vec; } + /// Construct an ArrayRef from a std::array. + template + ArrayRef makeArrayRef(const std::array &Arr) { + return Arr; + } + /// Construct an ArrayRef from an ArrayRef (no-op) (const) template ArrayRef makeArrayRef(const ArrayRef &Vec) { return Vec; Modified: vendor/llvm/dist/include/llvm/ADT/DenseMap.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/DenseMap.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm/ADT/DenseMap.h Wed Oct 23 17:51:42 2019 (r353940) @@ -38,34 +38,8 @@ namespace detail { // implementation without requiring two members. template struct DenseMapPair : public std::pair { + using std::pair::pair; - // FIXME: Switch to inheriting constructors when we drop support for older - // clang versions. - // NOTE: This default constructor is declared with '{}' rather than - // '= default' to work around a separate bug in clang-3.8. This can - // also go when we switch to inheriting constructors. - DenseMapPair() {} - - DenseMapPair(const KeyT &Key, const ValueT &Value) - : std::pair(Key, Value) {} - - DenseMapPair(KeyT &&Key, ValueT &&Value) - : std::pair(std::move(Key), std::move(Value)) {} - - template - DenseMapPair(AltKeyT &&AltKey, AltValueT &&AltValue, - typename std::enable_if< - std::is_convertible::value && - std::is_convertible::value>::type * = 0) - : std::pair(std::forward(AltKey), - std::forward(AltValue)) {} - - template - DenseMapPair(AltPairT &&AltPair, - typename std::enable_if>::value>::type * = nullptr) - : std::pair(std::forward(AltPair)) {} - KeyT &getFirst() { return std::pair::first; } const KeyT &getFirst() const { return std::pair::first; } ValueT &getSecond() { return std::pair::second; } @@ -748,7 +722,7 @@ class DenseMap : public DenseMapBasedestroyAll(); - operator delete(Buckets); + deallocate_buffer(Buckets, sizeof(BucketT) * NumBuckets, alignof(BucketT)); } void swap(DenseMap& RHS) { @@ -768,7 +742,7 @@ class DenseMap : public DenseMapBasedestroyAll(); - operator delete(Buckets); + deallocate_buffer(Buckets, sizeof(BucketT) * NumBuckets, alignof(BucketT)); init(0); swap(other); return *this; @@ -776,7 +750,7 @@ class DenseMap : public DenseMapBasedestroyAll(); - operator delete(Buckets); + deallocate_buffer(Buckets, sizeof(BucketT) * NumBuckets, alignof(BucketT)); if (allocateBuckets(other.NumBuckets)) { this->BaseT::copyFrom(other); } else { @@ -809,10 +783,12 @@ class DenseMap : public DenseMapBasemoveFromOldBuckets(OldBuckets, OldBuckets+OldNumBuckets); // Free the old table. - operator delete(OldBuckets); + deallocate_buffer(OldBuckets, sizeof(BucketT) * OldNumBuckets, + alignof(BucketT)); } void shrink_and_clear() { + unsigned OldNumBuckets = NumBuckets; unsigned OldNumEntries = NumEntries; this->destroyAll(); @@ -825,7 +801,8 @@ class DenseMap : public DenseMapBase(operator new(sizeof(BucketT) * NumBuckets)); + Buckets = static_cast( + allocate_buffer(sizeof(BucketT) * NumBuckets, alignof(BucketT))); return true; } }; @@ -1076,7 +1054,8 @@ class SmallDenseMap (public) this->moveFromOldBuckets(OldRep.Buckets, OldRep.Buckets+OldRep.NumBuckets); // Free the old table. - operator delete(OldRep.Buckets); + deallocate_buffer(OldRep.Buckets, sizeof(BucketT) * OldRep.NumBuckets, + alignof(BucketT)); } void shrink_and_clear() { @@ -1160,15 +1139,17 @@ class SmallDenseMap (public) if (Small) return; - operator delete(getLargeRep()->Buckets); + deallocate_buffer(getLargeRep()->Buckets, + sizeof(BucketT) * getLargeRep()->NumBuckets, + alignof(BucketT)); getLargeRep()->~LargeRep(); } LargeRep allocateBuckets(unsigned Num) { assert(Num > InlineBuckets && "Must allocate more buckets than are inline"); - LargeRep Rep = { - static_cast(operator new(sizeof(BucketT) * Num)), Num - }; + LargeRep Rep = {static_cast(allocate_buffer( + sizeof(BucketT) * Num, alignof(BucketT))), + Num}; return Rep; } }; Modified: vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm/ADT/DenseMapInfo.h Wed Oct 23 17:51:42 2019 (r353940) @@ -17,7 +17,7 @@ #include "llvm/ADT/Hashing.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/PointerLikeTypeTraits.h" -#include "llvm/Support/ScalableSize.h" +#include "llvm/Support/TypeSize.h" #include #include #include @@ -63,6 +63,17 @@ template<> struct DenseMapInfo { static unsigned getHashValue(const char& Val) { return Val * 37U; } static bool isEqual(const char &LHS, const char &RHS) { + return LHS == RHS; + } +}; + +// Provide DenseMapInfo for unsigned chars. +template <> struct DenseMapInfo { + static inline unsigned char getEmptyKey() { return ~0; } + static inline unsigned char getTombstoneKey() { return ~0 - 1; } + static unsigned getHashValue(const unsigned char &Val) { return Val * 37U; } + + static bool isEqual(const unsigned char &LHS, const unsigned char &RHS) { return LHS == RHS; } }; Added: vendor/llvm/dist/include/llvm/ADT/DirectedGraph.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/llvm/dist/include/llvm/ADT/DirectedGraph.h Wed Oct 23 17:51:42 2019 (r353940) @@ -0,0 +1,270 @@ +//===- llvm/ADT/DirectedGraph.h - Directed Graph ----------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file defines the interface and a base class implementation for a +// directed graph. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_ADT_DIRECTEDGRAPH_H +#define LLVM_ADT_DIRECTEDGRAPH_H + +#include "llvm/ADT/GraphTraits.h" +#include "llvm/ADT/SetVector.h" +#include "llvm/ADT/SmallVector.h" +#include "llvm/Support/Debug.h" +#include "llvm/Support/raw_ostream.h" + +namespace llvm { + +/// Represent an edge in the directed graph. +/// The edge contains the target node it connects to. +template class DGEdge { +public: + DGEdge() = delete; + /// Create an edge pointing to the given node \p N. + explicit DGEdge(NodeType &N) : TargetNode(N) {} + explicit DGEdge(const DGEdge &E) + : TargetNode(E.TargetNode) {} + DGEdge &operator=(const DGEdge &E) { + TargetNode = E.TargetNode; + return *this; + } + + /// Static polymorphism: delegate implementation (via isEqualTo) to the + /// derived class. + bool operator==(const EdgeType &E) const { return getDerived().isEqualTo(E); } + bool operator!=(const EdgeType &E) const { return !operator==(E); } + + /// Retrieve the target node this edge connects to. + const NodeType &getTargetNode() const { return TargetNode; } + NodeType &getTargetNode() { + return const_cast( + static_cast &>(*this).getTargetNode()); + } + +protected: + // As the default implementation use address comparison for equality. + bool isEqualTo(const EdgeType &E) const { return this == &E; } + + // Cast the 'this' pointer to the derived type and return a reference. + EdgeType &getDerived() { return *static_cast(this); } + const EdgeType &getDerived() const { + return *static_cast(this); + } + + // The target node this edge connects to. + NodeType &TargetNode; +}; + +/// Represent a node in the directed graph. +/// The node has a (possibly empty) list of outgoing edges. +template class DGNode { +public: + using EdgeListTy = SetVector; + using iterator = typename EdgeListTy::iterator; + using const_iterator = typename EdgeListTy::const_iterator; + + /// Create a node with a single outgoing edge \p E. + explicit DGNode(EdgeType &E) : Edges() { Edges.insert(&E); } + DGNode() = default; + + explicit DGNode(const DGNode &N) : Edges(N.Edges) {} + DGNode(DGNode &&N) : Edges(std::move(N.Edges)) {} + + DGNode &operator=(const DGNode &N) { + Edges = N.Edges; + return *this; + } + DGNode &operator=(const DGNode &&N) { + Edges = std::move(N.Edges); + return *this; + } + + /// Static polymorphism: delegate implementation (via isEqualTo) to the + /// derived class. + bool operator==(const NodeType &N) const { return getDerived().isEqualTo(N); } + bool operator!=(const NodeType &N) const { return !operator==(N); } + + const_iterator begin() const { return Edges.begin(); } + const_iterator end() const { return Edges.end(); } + iterator begin() { return Edges.begin(); } + iterator end() { return Edges.end(); } + const EdgeType &front() const { return *Edges.front(); } + EdgeType &front() { return *Edges.front(); } + const EdgeType &back() const { return *Edges.back(); } + EdgeType &back() { return *Edges.back(); } + + /// Collect in \p EL, all the edges from this node to \p N. + /// Return true if at least one edge was found, and false otherwise. + /// Note that this implementation allows more than one edge to connect + /// a given pair of nodes. + bool findEdgesTo(const NodeType &N, SmallVectorImpl &EL) const { + assert(EL.empty() && "Expected the list of edges to be empty."); + for (auto *E : Edges) + if (E->getTargetNode() == N) + EL.push_back(E); + return !EL.empty(); + } + + /// Add the given edge \p E to this node, if it doesn't exist already. Returns + /// true if the edge is added and false otherwise. + bool addEdge(EdgeType &E) { return Edges.insert(&E); } + + /// Remove the given edge \p E from this node, if it exists. + void removeEdge(EdgeType &E) { Edges.remove(&E); } + + /// Test whether there is an edge that goes from this node to \p N. + bool hasEdgeTo(const NodeType &N) const { + return (findEdgeTo(N) != Edges.end()); + } + + /// Retrieve the outgoing edges for the node. + const EdgeListTy &getEdges() const { return Edges; } + EdgeListTy &getEdges() { + return const_cast( + static_cast &>(*this).Edges); + } + + /// Clear the outgoing edges. + void clear() { Edges.clear(); } + +protected: + // As the default implementation use address comparison for equality. + bool isEqualTo(const NodeType &N) const { return this == &N; } + + // Cast the 'this' pointer to the derived type and return a reference. + NodeType &getDerived() { return *static_cast(this); } + const NodeType &getDerived() const { + return *static_cast(this); + } + + /// Find an edge to \p N. If more than one edge exists, this will return + /// the first one in the list of edges. + const_iterator findEdgeTo(const NodeType &N) const { + return llvm::find_if( + Edges, [&N](const EdgeType *E) { return E->getTargetNode() == N; }); + } + + // The list of outgoing edges. + EdgeListTy Edges; +}; + +/// Directed graph +/// +/// The graph is represented by a table of nodes. +/// Each node contains a (possibly empty) list of outgoing edges. +/// Each edge contains the target node it connects to. +template class DirectedGraph { +protected: + using NodeListTy = SmallVector; + using EdgeListTy = SmallVector; +public: + using iterator = typename NodeListTy::iterator; + using const_iterator = typename NodeListTy::const_iterator; + using DGraphType = DirectedGraph; + + DirectedGraph() = default; + explicit DirectedGraph(NodeType &N) : Nodes() { addNode(N); } + DirectedGraph(const DGraphType &G) : Nodes(G.Nodes) {} + DirectedGraph(DGraphType &&RHS) : Nodes(std::move(RHS.Nodes)) {} + DGraphType &operator=(const DGraphType &G) { + Nodes = G.Nodes; + return *this; + } + DGraphType &operator=(const DGraphType &&G) { + Nodes = std::move(G.Nodes); + return *this; + } + + const_iterator begin() const { return Nodes.begin(); } + const_iterator end() const { return Nodes.end(); } + iterator begin() { return Nodes.begin(); } + iterator end() { return Nodes.end(); } + const NodeType &front() const { return *Nodes.front(); } + NodeType &front() { return *Nodes.front(); } + const NodeType &back() const { return *Nodes.back(); } + NodeType &back() { return *Nodes.back(); } + + size_t size() const { return Nodes.size(); } + + /// Find the given node \p N in the table. + const_iterator findNode(const NodeType &N) const { + return llvm::find_if(Nodes, + [&N](const NodeType *Node) { return *Node == N; }); + } + iterator findNode(const NodeType &N) { + return const_cast( + static_cast(*this).findNode(N)); + } + + /// Add the given node \p N to the graph if it is not already present. + bool addNode(NodeType &N) { + if (findNode(N) != Nodes.end()) + return false; + Nodes.push_back(&N); + return true; + } + + /// Collect in \p EL all edges that are coming into node \p N. Return true + /// if at least one edge was found, and false otherwise. + bool findIncomingEdgesToNode(const NodeType &N, SmallVectorImpl &EL) const { + assert(EL.empty() && "Expected the list of edges to be empty."); + EdgeListTy TempList; + for (auto *Node : Nodes) { + if (*Node == N) + continue; + Node->findEdgesTo(N, TempList); + EL.insert(EL.end(), TempList.begin(), TempList.end()); + TempList.clear(); + } + return !EL.empty(); + } + + /// Remove the given node \p N from the graph. If the node has incoming or + /// outgoing edges, they are also removed. Return true if the node was found + /// and then removed, and false if the node was not found in the graph to + /// begin with. + bool removeNode(NodeType &N) { + iterator IT = findNode(N); + if (IT == Nodes.end()) + return false; + // Remove incoming edges. + EdgeListTy EL; + for (auto *Node : Nodes) { + if (*Node == N) + continue; + Node->findEdgesTo(N, EL); + for (auto *E : EL) + Node->removeEdge(*E); + EL.clear(); + } + N.clear(); + Nodes.erase(IT); + return true; + } + + /// Assuming nodes \p Src and \p Dst are already in the graph, connect node \p + /// Src to node \p Dst using the provided edge \p E. Return true if \p Src is + /// not already connected to \p Dst via \p E, and false otherwise. + bool connect(NodeType &Src, NodeType &Dst, EdgeType &E) { + assert(findNode(Src) != Nodes.end() && "Src node should be present."); + assert(findNode(Dst) != Nodes.end() && "Dst node should be present."); + assert((E.getTargetNode() == Dst) && + "Target of the given edge does not match Dst."); + return Src.addEdge(E); + } + +protected: + // The list of nodes in the graph. + NodeListTy Nodes; +}; + +} // namespace llvm + +#endif // LLVM_ADT_DIRECTEDGRAPH_H Modified: vendor/llvm/dist/include/llvm/ADT/Hashing.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/Hashing.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm/ADT/Hashing.h Wed Oct 23 17:51:42 2019 (r353940) @@ -45,7 +45,6 @@ #define LLVM_ADT_HASHING_H #include "llvm/Support/DataTypes.h" -#include "llvm/Support/Host.h" #include "llvm/Support/SwapByteOrder.h" #include "llvm/Support/type_traits.h" #include Modified: vendor/llvm/dist/include/llvm/ADT/IntervalMap.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/IntervalMap.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm/ADT/IntervalMap.h Wed Oct 23 17:51:42 2019 (r353940) @@ -963,8 +963,8 @@ class IntervalMap { (public) private: // The root data is either a RootLeaf or a RootBranchData instance. - LLVM_ALIGNAS(RootLeaf) LLVM_ALIGNAS(RootBranchData) - AlignedCharArrayUnion data; + alignas(RootLeaf) alignas(RootBranchData) + AlignedCharArrayUnion data; // Tree height. // 0: Leaves in root. Modified: vendor/llvm/dist/include/llvm/ADT/PointerIntPair.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/PointerIntPair.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm/ADT/PointerIntPair.h Wed Oct 23 17:51:42 2019 (r353940) @@ -13,6 +13,7 @@ #ifndef LLVM_ADT_POINTERINTPAIR_H #define LLVM_ADT_POINTERINTPAIR_H +#include "llvm/Support/Compiler.h" #include "llvm/Support/PointerLikeTypeTraits.h" #include "llvm/Support/type_traits.h" #include @@ -59,19 +60,19 @@ class PointerIntPair { (public) IntType getInt() const { return (IntType)Info::getInt(Value); } - void setPointer(PointerTy PtrVal) { + void setPointer(PointerTy PtrVal) LLVM_LVALUE_FUNCTION { Value = Info::updatePointer(Value, PtrVal); } - void setInt(IntType IntVal) { + void setInt(IntType IntVal) LLVM_LVALUE_FUNCTION { Value = Info::updateInt(Value, static_cast(IntVal)); } - void initWithPointer(PointerTy PtrVal) { + void initWithPointer(PointerTy PtrVal) LLVM_LVALUE_FUNCTION { Value = Info::updatePointer(0, PtrVal); } - void setPointerAndInt(PointerTy PtrVal, IntType IntVal) { + void setPointerAndInt(PointerTy PtrVal, IntType IntVal) LLVM_LVALUE_FUNCTION { Value = Info::updateInt(Info::updatePointer(0, PtrVal), static_cast(IntVal)); } @@ -89,7 +90,7 @@ class PointerIntPair { (public) void *getOpaqueValue() const { return reinterpret_cast(Value); } - void setFromOpaqueValue(void *Val) { + void setFromOpaqueValue(void *Val) LLVM_LVALUE_FUNCTION { Value = reinterpret_cast(Val); } Modified: vendor/llvm/dist/include/llvm/ADT/PointerUnion.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/PointerUnion.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm/ADT/PointerUnion.h Wed Oct 23 17:51:42 2019 (r353940) @@ -54,22 +54,15 @@ struct PointerUnionTypeSelectorReturn< }; namespace pointer_union_detail { - constexpr int constexprMin(int a, int b) { return a < b ? a : b; } /// Determine the number of bits required to store integers with values < n. /// This is ceil(log2(n)). constexpr int bitsRequired(unsigned n) { return n > 1 ? 1 + bitsRequired((n + 1) / 2) : 0; } - // FIXME: In C++14, replace this with - // std::min({PointerLikeTypeTraits::NumLowBitsAvailable...}) - template constexpr int lowBitsAvailable() { - return PointerLikeTypeTraits::NumLowBitsAvailable; + template constexpr int lowBitsAvailable() { + return std::min({PointerLikeTypeTraits::NumLowBitsAvailable...}); } - template - constexpr int lowBitsAvailable() { - return constexprMin(lowBitsAvailable(), lowBitsAvailable()); - } /// Find the index of a type in a list of types. TypeIndex::Index /// is the index of T in Us, or sizeof...(Us) if T does not appear in the @@ -167,10 +160,11 @@ class PointerUnion void *, pointer_union_detail::bitsRequired(sizeof...(PTs)), int, pointer_union_detail::PointerUnionUIntTraits>, 0, PTs...> { - // The first type is special in some ways, but we don't want PointerUnion to - // be a 'template ' because it's much more - // convenient to have a name for the whole pack. So split off the first type - // here. + // The first type is special because we want to directly cast a pointer to a + // default-initialized union to a pointer to the first type. But we don't + // want PointerUnion to be a 'template ' + // because it's much more convenient to have a name for the whole pack. So + // split off the first type here. using First = typename pointer_union_detail::GetFirstType::type; using Base = typename PointerUnion::PointerUnionMembers; @@ -182,12 +176,7 @@ class PointerUnion /// Test if the pointer held in the union is null, regardless of /// which type it is. - bool isNull() const { - // Convert from the void* to one of the pointer types, to make sure that - // we recursively strip off low bits if we have a nested PointerUnion. - return !PointerLikeTypeTraits::getFromVoidPointer( - this->Val.getPointer()); - } + bool isNull() const { return !this->Val.getPointer(); } explicit operator bool() const { return !isNull(); } @@ -226,7 +215,8 @@ class PointerUnion First *getAddrOfPtr1() { assert(is() && "Val is not the first pointer"); assert( - get() == this->Val.getPointer() && + PointerLikeTypeTraits::getAsVoidPointer(get()) == + this->Val.getPointer() && "Can't get the address because PointerLikeTypeTraits changes the ptr"); return const_cast( reinterpret_cast(this->Val.getAddrOfPointer())); Modified: vendor/llvm/dist/include/llvm/ADT/STLExtras.h ============================================================================== --- vendor/llvm/dist/include/llvm/ADT/STLExtras.h Wed Oct 23 17:28:35 2019 (r353939) +++ vendor/llvm/dist/include/llvm/ADT/STLExtras.h Wed Oct 23 17:51:42 2019 (r353940) @@ -95,18 +95,6 @@ template struct identity { } }; -template struct less_ptr { - bool operator()(const Ty* left, const Ty* right) const { - return *left < *right; - } -}; - -template struct greater_ptr { - bool operator()(const Ty* left, const Ty* right) const { - return *right < *left; - } -}; - /// An efficient, type-erasing, non-owning reference to a callable. This is *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:51:53 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5938B1599F6; Wed, 23 Oct 2019 17:51:53 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yycT1kzCz4S5L; Wed, 23 Oct 2019 17:51:53 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 05020341; Wed, 23 Oct 2019 17:51:53 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHpqje075747; Wed, 23 Oct 2019 17:51:52 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHpqFn075746; Wed, 23 Oct 2019 17:51:52 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231751.x9NHpqFn075746@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:51:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353941 - vendor/llvm/llvm-r375505 X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/llvm/llvm-r375505 X-SVN-Commit-Revision: 353941 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:51:53 -0000 Author: dim Date: Wed Oct 23 17:51:52 2019 New Revision: 353941 URL: https://svnweb.freebsd.org/changeset/base/353941 Log: Tag stripped llvm trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub. Added: vendor/llvm/llvm-r375505/ - copied from r353940, vendor/llvm/dist/ From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:52:13 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9AF3D159A83; Wed, 23 Oct 2019 17:52:13 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yycs4NC1z4SKF; Wed, 23 Oct 2019 17:52:13 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 79F4835C; Wed, 23 Oct 2019 17:52:13 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHqDuH077759; Wed, 23 Oct 2019 17:52:13 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHqBfP075797; Wed, 23 Oct 2019 17:52:11 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231752.x9NHqBfP075797@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:52:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353942 - in vendor/clang/dist: include/clang include/clang-c include/clang/AST include/clang/ASTMatchers include/clang/Analysis include/clang/Basic include/clang/CodeGen include/clang/... X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/clang/dist: include/clang include/clang-c include/clang/AST include/clang/ASTMatchers include/clang/Analysis include/clang/Basic include/clang/CodeGen include/clang/CrossTU include/clang/Dir... X-SVN-Commit-Revision: 353942 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:52:13 -0000 Author: dim Date: Wed Oct 23 17:52:09 2019 New Revision: 353942 URL: https://svnweb.freebsd.org/changeset/base/353942 Log: Vendor import of stripped clang trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub: https://llvm.org/svn/llvm-project/cfe/trunk@375505 Added: vendor/clang/dist/include/clang-c/FatalErrorHandler.h vendor/clang/dist/include/clang/AST/CXXRecordDeclDefinitionBits.def vendor/clang/dist/include/clang/AST/OptionalDiagnostic.h vendor/clang/dist/include/clang/Analysis/PathDiagnostic.h vendor/clang/dist/include/clang/Basic/AArch64SVEACLETypes.def vendor/clang/dist/include/clang/Basic/AttributeCommonInfo.h vendor/clang/dist/include/clang/Basic/BuiltinsBPF.def vendor/clang/dist/include/clang/Basic/LangStandard.h vendor/clang/dist/include/clang/Basic/LangStandards.def vendor/clang/dist/include/clang/Basic/TypeNodes.td vendor/clang/dist/include/clang/Index/IndexingOptions.h vendor/clang/dist/include/clang/Lex/PreprocessorExcludedConditionalDirectiveSkipMapping.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicCastInfo.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h vendor/clang/dist/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h vendor/clang/dist/include/clang/Tooling/DependencyScanning/DependencyScanningService.h vendor/clang/dist/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h vendor/clang/dist/include/clang/Tooling/Refactoring/Extract/SourceExtraction.h (contents, props changed) vendor/clang/dist/include/clang/Tooling/Transformer/ vendor/clang/dist/include/clang/Tooling/Transformer/MatchConsumer.h vendor/clang/dist/include/clang/Tooling/Transformer/RangeSelector.h vendor/clang/dist/include/clang/Tooling/Transformer/RewriteRule.h vendor/clang/dist/include/clang/Tooling/Transformer/SourceCode.h vendor/clang/dist/include/clang/Tooling/Transformer/SourceCodeBuilders.h vendor/clang/dist/include/clang/Tooling/Transformer/Stencil.h vendor/clang/dist/include/clang/Tooling/Transformer/Transformer.h vendor/clang/dist/lib/AST/Interp/ vendor/clang/dist/lib/AST/Interp/Block.cpp vendor/clang/dist/lib/AST/Interp/Block.h vendor/clang/dist/lib/AST/Interp/Boolean.h vendor/clang/dist/lib/AST/Interp/ByteCodeEmitter.cpp vendor/clang/dist/lib/AST/Interp/ByteCodeEmitter.h vendor/clang/dist/lib/AST/Interp/ByteCodeExprGen.cpp vendor/clang/dist/lib/AST/Interp/ByteCodeExprGen.h vendor/clang/dist/lib/AST/Interp/ByteCodeGenError.cpp vendor/clang/dist/lib/AST/Interp/ByteCodeGenError.h vendor/clang/dist/lib/AST/Interp/ByteCodeStmtGen.cpp vendor/clang/dist/lib/AST/Interp/ByteCodeStmtGen.h vendor/clang/dist/lib/AST/Interp/Context.cpp vendor/clang/dist/lib/AST/Interp/Context.h vendor/clang/dist/lib/AST/Interp/Descriptor.cpp vendor/clang/dist/lib/AST/Interp/Descriptor.h vendor/clang/dist/lib/AST/Interp/Disasm.cpp vendor/clang/dist/lib/AST/Interp/EvalEmitter.cpp vendor/clang/dist/lib/AST/Interp/EvalEmitter.h vendor/clang/dist/lib/AST/Interp/Frame.cpp vendor/clang/dist/lib/AST/Interp/Frame.h vendor/clang/dist/lib/AST/Interp/Function.cpp vendor/clang/dist/lib/AST/Interp/Function.h vendor/clang/dist/lib/AST/Interp/Integral.h vendor/clang/dist/lib/AST/Interp/Interp.cpp vendor/clang/dist/lib/AST/Interp/Interp.h vendor/clang/dist/lib/AST/Interp/InterpFrame.cpp vendor/clang/dist/lib/AST/Interp/InterpFrame.h vendor/clang/dist/lib/AST/Interp/InterpStack.cpp vendor/clang/dist/lib/AST/Interp/InterpStack.h vendor/clang/dist/lib/AST/Interp/InterpState.cpp vendor/clang/dist/lib/AST/Interp/InterpState.h vendor/clang/dist/lib/AST/Interp/Opcode.h vendor/clang/dist/lib/AST/Interp/Opcodes.td vendor/clang/dist/lib/AST/Interp/Pointer.cpp vendor/clang/dist/lib/AST/Interp/Pointer.h vendor/clang/dist/lib/AST/Interp/PrimType.cpp vendor/clang/dist/lib/AST/Interp/PrimType.h vendor/clang/dist/lib/AST/Interp/Program.cpp vendor/clang/dist/lib/AST/Interp/Program.h vendor/clang/dist/lib/AST/Interp/Record.cpp vendor/clang/dist/lib/AST/Interp/Record.h vendor/clang/dist/lib/AST/Interp/Source.cpp vendor/clang/dist/lib/AST/Interp/Source.h vendor/clang/dist/lib/AST/Interp/State.cpp vendor/clang/dist/lib/AST/Interp/State.h vendor/clang/dist/lib/Analysis/PathDiagnostic.cpp vendor/clang/dist/lib/Basic/LangStandards.cpp vendor/clang/dist/lib/Basic/Stack.cpp vendor/clang/dist/lib/DirectoryWatcher/windows/ vendor/clang/dist/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp vendor/clang/dist/lib/Driver/ToolChains/InterfaceStubs.cpp vendor/clang/dist/lib/Driver/ToolChains/InterfaceStubs.h vendor/clang/dist/lib/Headers/ppc_wrappers/pmmintrin.h vendor/clang/dist/lib/Headers/ppc_wrappers/smmintrin.h vendor/clang/dist/lib/Headers/ppc_wrappers/tmmintrin.h vendor/clang/dist/lib/Sema/SemaConcept.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/Yaml.h (contents, props changed) vendor/clang/dist/lib/StaticAnalyzer/Core/DynamicType.cpp vendor/clang/dist/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp vendor/clang/dist/lib/Tooling/DependencyScanning/DependencyScanningService.cpp vendor/clang/dist/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp vendor/clang/dist/lib/Tooling/Transformer/ vendor/clang/dist/lib/Tooling/Transformer/CMakeLists.txt vendor/clang/dist/lib/Tooling/Transformer/RangeSelector.cpp vendor/clang/dist/lib/Tooling/Transformer/RewriteRule.cpp vendor/clang/dist/lib/Tooling/Transformer/SourceCode.cpp vendor/clang/dist/lib/Tooling/Transformer/SourceCodeBuilders.cpp vendor/clang/dist/lib/Tooling/Transformer/Stencil.cpp vendor/clang/dist/lib/Tooling/Transformer/Transformer.cpp vendor/clang/dist/tools/clang-offload-wrapper/ vendor/clang/dist/tools/clang-offload-wrapper/CMakeLists.txt vendor/clang/dist/tools/clang-offload-wrapper/ClangOffloadWrapper.cpp vendor/clang/dist/utils/TableGen/ClangOpcodesEmitter.cpp vendor/clang/dist/utils/TableGen/ClangTypeNodesEmitter.cpp Deleted: vendor/clang/dist/include/clang/AST/TypeNodes.def vendor/clang/dist/include/clang/Frontend/LangStandard.h vendor/clang/dist/include/clang/Frontend/LangStandards.def vendor/clang/dist/include/clang/Index/CodegenNameGenerator.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeMap.h vendor/clang/dist/include/clang/Tooling/Refactoring/RangeSelector.h vendor/clang/dist/include/clang/Tooling/Refactoring/SourceCode.h vendor/clang/dist/include/clang/Tooling/Refactoring/Stencil.h vendor/clang/dist/include/clang/Tooling/Refactoring/Transformer.h vendor/clang/dist/lib/Frontend/LangStandards.cpp vendor/clang/dist/lib/Index/CodegenNameGenerator.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/DynamicTypeMap.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/PathDiagnostic.cpp vendor/clang/dist/lib/Tooling/Refactoring/Extract/SourceExtraction.h vendor/clang/dist/lib/Tooling/Refactoring/RangeSelector.cpp vendor/clang/dist/lib/Tooling/Refactoring/SourceCode.cpp vendor/clang/dist/lib/Tooling/Refactoring/Stencil.cpp vendor/clang/dist/lib/Tooling/Refactoring/Transformer.cpp Modified: vendor/clang/dist/include/clang-c/Index.h vendor/clang/dist/include/clang/AST/APValue.h vendor/clang/dist/include/clang/AST/ASTContext.h vendor/clang/dist/include/clang/AST/ASTFwd.h vendor/clang/dist/include/clang/AST/ASTImporter.h vendor/clang/dist/include/clang/AST/ASTImporterSharedState.h vendor/clang/dist/include/clang/AST/ASTNodeTraverser.h vendor/clang/dist/include/clang/AST/ASTStructuralEquivalence.h vendor/clang/dist/include/clang/AST/ASTTypeTraits.h vendor/clang/dist/include/clang/AST/Attr.h vendor/clang/dist/include/clang/AST/CharUnits.h vendor/clang/dist/include/clang/AST/CommentCommands.td vendor/clang/dist/include/clang/AST/CommentLexer.h vendor/clang/dist/include/clang/AST/Decl.h vendor/clang/dist/include/clang/AST/DeclBase.h vendor/clang/dist/include/clang/AST/DeclCXX.h vendor/clang/dist/include/clang/AST/DeclTemplate.h vendor/clang/dist/include/clang/AST/Expr.h vendor/clang/dist/include/clang/AST/ExprCXX.h vendor/clang/dist/include/clang/AST/ExternalASTMerger.h vendor/clang/dist/include/clang/AST/FormatString.h vendor/clang/dist/include/clang/AST/GlobalDecl.h vendor/clang/dist/include/clang/AST/JSONNodeDumper.h vendor/clang/dist/include/clang/AST/Mangle.h vendor/clang/dist/include/clang/AST/NSAPI.h vendor/clang/dist/include/clang/AST/OpenMPClause.h vendor/clang/dist/include/clang/AST/OperationKinds.def vendor/clang/dist/include/clang/AST/RawCommentList.h vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h vendor/clang/dist/include/clang/AST/Stmt.h vendor/clang/dist/include/clang/AST/StmtOpenMP.h vendor/clang/dist/include/clang/AST/TextNodeDumper.h vendor/clang/dist/include/clang/AST/Type.h vendor/clang/dist/include/clang/AST/TypeLoc.h vendor/clang/dist/include/clang/AST/TypeLocNodes.def vendor/clang/dist/include/clang/AST/TypeVisitor.h vendor/clang/dist/include/clang/ASTMatchers/ASTMatchers.h vendor/clang/dist/include/clang/ASTMatchers/ASTMatchersInternal.h vendor/clang/dist/include/clang/Analysis/AnalysisDeclContext.h vendor/clang/dist/include/clang/Analysis/CFG.h vendor/clang/dist/include/clang/Analysis/CallGraph.h vendor/clang/dist/include/clang/Basic/Attr.td vendor/clang/dist/include/clang/Basic/AttrDocs.td vendor/clang/dist/include/clang/Basic/Builtins.def vendor/clang/dist/include/clang/Basic/BuiltinsAArch64.def vendor/clang/dist/include/clang/Basic/BuiltinsAMDGPU.def vendor/clang/dist/include/clang/Basic/BuiltinsARM.def vendor/clang/dist/include/clang/Basic/BuiltinsPPC.def vendor/clang/dist/include/clang/Basic/BuiltinsWebAssembly.def vendor/clang/dist/include/clang/Basic/BuiltinsX86.def vendor/clang/dist/include/clang/Basic/BuiltinsX86_64.def vendor/clang/dist/include/clang/Basic/CodeGenOptions.def vendor/clang/dist/include/clang/Basic/CodeGenOptions.h vendor/clang/dist/include/clang/Basic/Diagnostic.h vendor/clang/dist/include/clang/Basic/DiagnosticASTKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticCommentKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticCommonKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticDriverKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticFrontendKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td vendor/clang/dist/include/clang/Basic/DiagnosticOptions.def vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticSerializationKinds.td vendor/clang/dist/include/clang/Basic/Features.def vendor/clang/dist/include/clang/Basic/FileManager.h vendor/clang/dist/include/clang/Basic/IdentifierTable.h vendor/clang/dist/include/clang/Basic/LangOptions.def vendor/clang/dist/include/clang/Basic/LangOptions.h vendor/clang/dist/include/clang/Basic/Linkage.h vendor/clang/dist/include/clang/Basic/OpenCLOptions.h vendor/clang/dist/include/clang/Basic/OpenMPKinds.def vendor/clang/dist/include/clang/Basic/OpenMPKinds.h vendor/clang/dist/include/clang/Basic/OperatorKinds.h vendor/clang/dist/include/clang/Basic/SourceManager.h vendor/clang/dist/include/clang/Basic/Specifiers.h vendor/clang/dist/include/clang/Basic/Stack.h vendor/clang/dist/include/clang/Basic/StmtNodes.td vendor/clang/dist/include/clang/Basic/SyncScope.h vendor/clang/dist/include/clang/Basic/TargetBuiltins.h vendor/clang/dist/include/clang/Basic/TargetInfo.h vendor/clang/dist/include/clang/Basic/TokenKinds.def vendor/clang/dist/include/clang/Basic/TokenKinds.h vendor/clang/dist/include/clang/Basic/X86Target.def vendor/clang/dist/include/clang/Basic/arm_neon.td vendor/clang/dist/include/clang/CodeGen/CGFunctionInfo.h vendor/clang/dist/include/clang/CrossTU/CrossTranslationUnit.h vendor/clang/dist/include/clang/DirectoryWatcher/DirectoryWatcher.h vendor/clang/dist/include/clang/Driver/Action.h vendor/clang/dist/include/clang/Driver/CC1Options.td vendor/clang/dist/include/clang/Driver/CLCompatOptions.td vendor/clang/dist/include/clang/Driver/Driver.h vendor/clang/dist/include/clang/Driver/Options.h vendor/clang/dist/include/clang/Driver/Options.td vendor/clang/dist/include/clang/Driver/Phases.h vendor/clang/dist/include/clang/Driver/SanitizerArgs.h vendor/clang/dist/include/clang/Driver/ToolChain.h vendor/clang/dist/include/clang/Driver/Types.def vendor/clang/dist/include/clang/Driver/Types.h vendor/clang/dist/include/clang/Format/Format.h vendor/clang/dist/include/clang/Frontend/ASTUnit.h vendor/clang/dist/include/clang/Frontend/CompilerInstance.h vendor/clang/dist/include/clang/Frontend/CompilerInvocation.h vendor/clang/dist/include/clang/Frontend/FrontendActions.h vendor/clang/dist/include/clang/Frontend/FrontendOptions.h vendor/clang/dist/include/clang/Frontend/Utils.h vendor/clang/dist/include/clang/Index/IndexDataConsumer.h vendor/clang/dist/include/clang/Index/IndexingAction.h vendor/clang/dist/include/clang/Lex/DependencyDirectivesSourceMinimizer.h vendor/clang/dist/include/clang/Lex/DirectoryLookup.h vendor/clang/dist/include/clang/Lex/HeaderMap.h vendor/clang/dist/include/clang/Lex/HeaderSearch.h vendor/clang/dist/include/clang/Lex/HeaderSearchOptions.h vendor/clang/dist/include/clang/Lex/Lexer.h vendor/clang/dist/include/clang/Lex/MacroArgs.h vendor/clang/dist/include/clang/Lex/PPCallbacks.h vendor/clang/dist/include/clang/Lex/Preprocessor.h vendor/clang/dist/include/clang/Lex/PreprocessorOptions.h vendor/clang/dist/include/clang/Parse/Parser.h vendor/clang/dist/include/clang/Rewrite/Core/Rewriter.h vendor/clang/dist/include/clang/Sema/Overload.h vendor/clang/dist/include/clang/Sema/ParsedAttr.h vendor/clang/dist/include/clang/Sema/ScopeInfo.h vendor/clang/dist/include/clang/Sema/Sema.h vendor/clang/dist/include/clang/Sema/SemaInternal.h vendor/clang/dist/include/clang/Sema/TypoCorrection.h vendor/clang/dist/include/clang/Serialization/ASTBitCodes.h vendor/clang/dist/include/clang/Serialization/ASTReader.h vendor/clang/dist/include/clang/StaticAnalyzer/Checkers/Checkers.td vendor/clang/dist/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def vendor/clang/dist/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/Checker.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/CheckerManager.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h vendor/clang/dist/include/clang/Tooling/ASTDiff/ASTDiff.h vendor/clang/dist/include/clang/Tooling/AllTUsExecution.h vendor/clang/dist/include/clang/Tooling/ArgumentsAdjusters.h vendor/clang/dist/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h vendor/clang/dist/include/clang/Tooling/Execution.h vendor/clang/dist/include/clang/Tooling/Inclusions/HeaderIncludes.h vendor/clang/dist/include/clang/Tooling/Inclusions/IncludeStyle.h vendor/clang/dist/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h vendor/clang/dist/include/clang/Tooling/Refactoring/RefactoringActionRulesInternal.h vendor/clang/dist/include/clang/Tooling/StandaloneExecution.h vendor/clang/dist/include/clang/Tooling/Syntax/Tokens.h vendor/clang/dist/include/clang/Tooling/Tooling.h vendor/clang/dist/include/clang/module.modulemap vendor/clang/dist/lib/ARCMigrate/ARCMT.cpp vendor/clang/dist/lib/ARCMigrate/FileRemapper.cpp vendor/clang/dist/lib/ARCMigrate/ObjCMT.cpp vendor/clang/dist/lib/ARCMigrate/PlistReporter.cpp vendor/clang/dist/lib/AST/APValue.cpp vendor/clang/dist/lib/AST/ASTContext.cpp vendor/clang/dist/lib/AST/ASTDiagnostic.cpp vendor/clang/dist/lib/AST/ASTImporter.cpp vendor/clang/dist/lib/AST/ASTStructuralEquivalence.cpp vendor/clang/dist/lib/AST/ASTTypeTraits.cpp vendor/clang/dist/lib/AST/CXXInheritance.cpp vendor/clang/dist/lib/AST/Comment.cpp vendor/clang/dist/lib/AST/CommentLexer.cpp vendor/clang/dist/lib/AST/CommentParser.cpp vendor/clang/dist/lib/AST/CommentSema.cpp vendor/clang/dist/lib/AST/Decl.cpp vendor/clang/dist/lib/AST/DeclBase.cpp vendor/clang/dist/lib/AST/DeclCXX.cpp vendor/clang/dist/lib/AST/DeclPrinter.cpp vendor/clang/dist/lib/AST/DeclTemplate.cpp vendor/clang/dist/lib/AST/Expr.cpp vendor/clang/dist/lib/AST/ExprCXX.cpp vendor/clang/dist/lib/AST/ExprClassification.cpp vendor/clang/dist/lib/AST/ExprConstant.cpp vendor/clang/dist/lib/AST/ExternalASTMerger.cpp vendor/clang/dist/lib/AST/FormatString.cpp vendor/clang/dist/lib/AST/FormatStringParsing.h vendor/clang/dist/lib/AST/InheritViz.cpp vendor/clang/dist/lib/AST/ItaniumCXXABI.cpp vendor/clang/dist/lib/AST/ItaniumMangle.cpp vendor/clang/dist/lib/AST/JSONNodeDumper.cpp vendor/clang/dist/lib/AST/Mangle.cpp vendor/clang/dist/lib/AST/MicrosoftCXXABI.cpp vendor/clang/dist/lib/AST/MicrosoftMangle.cpp vendor/clang/dist/lib/AST/NSAPI.cpp vendor/clang/dist/lib/AST/OpenMPClause.cpp vendor/clang/dist/lib/AST/PrintfFormatString.cpp vendor/clang/dist/lib/AST/RawCommentList.cpp vendor/clang/dist/lib/AST/Stmt.cpp vendor/clang/dist/lib/AST/StmtOpenMP.cpp vendor/clang/dist/lib/AST/StmtPrinter.cpp vendor/clang/dist/lib/AST/StmtProfile.cpp vendor/clang/dist/lib/AST/TemplateBase.cpp vendor/clang/dist/lib/AST/TextNodeDumper.cpp vendor/clang/dist/lib/AST/Type.cpp vendor/clang/dist/lib/AST/TypeLoc.cpp vendor/clang/dist/lib/AST/TypePrinter.cpp vendor/clang/dist/lib/AST/VTTBuilder.cpp vendor/clang/dist/lib/AST/VTableBuilder.cpp vendor/clang/dist/lib/ASTMatchers/ASTMatchFinder.cpp vendor/clang/dist/lib/ASTMatchers/Dynamic/Marshallers.h vendor/clang/dist/lib/ASTMatchers/Dynamic/Registry.cpp vendor/clang/dist/lib/Analysis/AnalysisDeclContext.cpp vendor/clang/dist/lib/Analysis/BodyFarm.cpp vendor/clang/dist/lib/Analysis/CFG.cpp vendor/clang/dist/lib/Analysis/CallGraph.cpp vendor/clang/dist/lib/Analysis/CloneDetection.cpp vendor/clang/dist/lib/Analysis/CocoaConventions.cpp vendor/clang/dist/lib/Analysis/Consumed.cpp vendor/clang/dist/lib/Analysis/ProgramPoint.cpp vendor/clang/dist/lib/Analysis/ReachableCode.cpp vendor/clang/dist/lib/Analysis/RetainSummaryManager.cpp vendor/clang/dist/lib/Analysis/ThreadSafety.cpp vendor/clang/dist/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp vendor/clang/dist/lib/Basic/Attributes.cpp vendor/clang/dist/lib/Basic/FileManager.cpp vendor/clang/dist/lib/Basic/IdentifierTable.cpp vendor/clang/dist/lib/Basic/Module.cpp vendor/clang/dist/lib/Basic/OpenMPKinds.cpp vendor/clang/dist/lib/Basic/SourceManager.cpp vendor/clang/dist/lib/Basic/TargetInfo.cpp vendor/clang/dist/lib/Basic/Targets.cpp vendor/clang/dist/lib/Basic/Targets/AArch64.cpp vendor/clang/dist/lib/Basic/Targets/AArch64.h vendor/clang/dist/lib/Basic/Targets/AMDGPU.cpp vendor/clang/dist/lib/Basic/Targets/ARM.cpp vendor/clang/dist/lib/Basic/Targets/BPF.cpp vendor/clang/dist/lib/Basic/Targets/BPF.h vendor/clang/dist/lib/Basic/Targets/OSTargets.h vendor/clang/dist/lib/Basic/Targets/PPC.cpp vendor/clang/dist/lib/Basic/Targets/PPC.h vendor/clang/dist/lib/Basic/Targets/RISCV.cpp vendor/clang/dist/lib/Basic/Targets/RISCV.h vendor/clang/dist/lib/Basic/Targets/SPIR.h vendor/clang/dist/lib/Basic/Targets/Sparc.h vendor/clang/dist/lib/Basic/Targets/SystemZ.cpp vendor/clang/dist/lib/Basic/Targets/X86.cpp vendor/clang/dist/lib/Basic/Targets/X86.h vendor/clang/dist/lib/Basic/TokenKinds.cpp vendor/clang/dist/lib/CodeGen/BackendUtil.cpp vendor/clang/dist/lib/CodeGen/CGAtomic.cpp vendor/clang/dist/lib/CodeGen/CGBlocks.cpp vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp vendor/clang/dist/lib/CodeGen/CGCUDANV.cpp vendor/clang/dist/lib/CodeGen/CGCXX.cpp vendor/clang/dist/lib/CodeGen/CGCXXABI.cpp vendor/clang/dist/lib/CodeGen/CGCXXABI.h vendor/clang/dist/lib/CodeGen/CGCall.cpp vendor/clang/dist/lib/CodeGen/CGClass.cpp vendor/clang/dist/lib/CodeGen/CGCleanup.cpp vendor/clang/dist/lib/CodeGen/CGDebugInfo.cpp vendor/clang/dist/lib/CodeGen/CGDecl.cpp vendor/clang/dist/lib/CodeGen/CGDeclCXX.cpp vendor/clang/dist/lib/CodeGen/CGException.cpp vendor/clang/dist/lib/CodeGen/CGExpr.cpp vendor/clang/dist/lib/CodeGen/CGExprAgg.cpp vendor/clang/dist/lib/CodeGen/CGExprCXX.cpp vendor/clang/dist/lib/CodeGen/CGExprComplex.cpp vendor/clang/dist/lib/CodeGen/CGExprConstant.cpp vendor/clang/dist/lib/CodeGen/CGExprScalar.cpp vendor/clang/dist/lib/CodeGen/CGLoopInfo.cpp vendor/clang/dist/lib/CodeGen/CGLoopInfo.h vendor/clang/dist/lib/CodeGen/CGNonTrivialStruct.cpp vendor/clang/dist/lib/CodeGen/CGObjC.cpp vendor/clang/dist/lib/CodeGen/CGObjCGNU.cpp vendor/clang/dist/lib/CodeGen/CGObjCMac.cpp vendor/clang/dist/lib/CodeGen/CGOpenMPRuntime.cpp vendor/clang/dist/lib/CodeGen/CGOpenMPRuntime.h vendor/clang/dist/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp vendor/clang/dist/lib/CodeGen/CGOpenMPRuntimeNVPTX.h vendor/clang/dist/lib/CodeGen/CGStmt.cpp vendor/clang/dist/lib/CodeGen/CGStmtOpenMP.cpp vendor/clang/dist/lib/CodeGen/CGVTables.cpp vendor/clang/dist/lib/CodeGen/CodeGenAction.cpp vendor/clang/dist/lib/CodeGen/CodeGenFunction.cpp vendor/clang/dist/lib/CodeGen/CodeGenFunction.h vendor/clang/dist/lib/CodeGen/CodeGenModule.cpp vendor/clang/dist/lib/CodeGen/CodeGenModule.h vendor/clang/dist/lib/CodeGen/CodeGenPGO.cpp vendor/clang/dist/lib/CodeGen/CodeGenPGO.h vendor/clang/dist/lib/CodeGen/CodeGenTypes.cpp vendor/clang/dist/lib/CodeGen/ConstantInitBuilder.cpp vendor/clang/dist/lib/CodeGen/CoverageMappingGen.cpp vendor/clang/dist/lib/CodeGen/CoverageMappingGen.h vendor/clang/dist/lib/CodeGen/EHScopeStack.h vendor/clang/dist/lib/CodeGen/ItaniumCXXABI.cpp vendor/clang/dist/lib/CodeGen/MicrosoftCXXABI.cpp vendor/clang/dist/lib/CodeGen/ModuleBuilder.cpp vendor/clang/dist/lib/CodeGen/ObjectFilePCHContainerOperations.cpp vendor/clang/dist/lib/CodeGen/TargetInfo.cpp vendor/clang/dist/lib/CrossTU/CrossTranslationUnit.cpp vendor/clang/dist/lib/DirectoryWatcher/default/DirectoryWatcher-not-implemented.cpp vendor/clang/dist/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp vendor/clang/dist/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp vendor/clang/dist/lib/Driver/Action.cpp vendor/clang/dist/lib/Driver/Compilation.cpp vendor/clang/dist/lib/Driver/Driver.cpp vendor/clang/dist/lib/Driver/DriverOptions.cpp vendor/clang/dist/lib/Driver/Phases.cpp vendor/clang/dist/lib/Driver/SanitizerArgs.cpp vendor/clang/dist/lib/Driver/ToolChain.cpp vendor/clang/dist/lib/Driver/ToolChains/AMDGPU.cpp vendor/clang/dist/lib/Driver/ToolChains/AVR.cpp vendor/clang/dist/lib/Driver/ToolChains/Ananas.cpp vendor/clang/dist/lib/Driver/ToolChains/Arch/AArch64.cpp vendor/clang/dist/lib/Driver/ToolChains/Arch/ARM.cpp vendor/clang/dist/lib/Driver/ToolChains/Arch/Mips.cpp vendor/clang/dist/lib/Driver/ToolChains/Arch/Mips.h vendor/clang/dist/lib/Driver/ToolChains/Arch/PPC.cpp vendor/clang/dist/lib/Driver/ToolChains/Arch/RISCV.cpp vendor/clang/dist/lib/Driver/ToolChains/Arch/RISCV.h vendor/clang/dist/lib/Driver/ToolChains/Arch/X86.cpp vendor/clang/dist/lib/Driver/ToolChains/BareMetal.cpp vendor/clang/dist/lib/Driver/ToolChains/Clang.cpp vendor/clang/dist/lib/Driver/ToolChains/Clang.h vendor/clang/dist/lib/Driver/ToolChains/CloudABI.cpp vendor/clang/dist/lib/Driver/ToolChains/CommonArgs.cpp vendor/clang/dist/lib/Driver/ToolChains/CommonArgs.h vendor/clang/dist/lib/Driver/ToolChains/CrossWindows.cpp vendor/clang/dist/lib/Driver/ToolChains/Cuda.cpp vendor/clang/dist/lib/Driver/ToolChains/Darwin.cpp vendor/clang/dist/lib/Driver/ToolChains/DragonFly.cpp vendor/clang/dist/lib/Driver/ToolChains/FreeBSD.cpp vendor/clang/dist/lib/Driver/ToolChains/FreeBSD.h vendor/clang/dist/lib/Driver/ToolChains/Fuchsia.cpp vendor/clang/dist/lib/Driver/ToolChains/Fuchsia.h vendor/clang/dist/lib/Driver/ToolChains/Gnu.cpp vendor/clang/dist/lib/Driver/ToolChains/HIP.cpp vendor/clang/dist/lib/Driver/ToolChains/HIP.h vendor/clang/dist/lib/Driver/ToolChains/Hexagon.cpp vendor/clang/dist/lib/Driver/ToolChains/Linux.cpp vendor/clang/dist/lib/Driver/ToolChains/MSP430.cpp vendor/clang/dist/lib/Driver/ToolChains/MSVC.cpp vendor/clang/dist/lib/Driver/ToolChains/MSVC.h vendor/clang/dist/lib/Driver/ToolChains/MinGW.cpp vendor/clang/dist/lib/Driver/ToolChains/MinGW.h vendor/clang/dist/lib/Driver/ToolChains/Minix.cpp vendor/clang/dist/lib/Driver/ToolChains/Myriad.cpp vendor/clang/dist/lib/Driver/ToolChains/NaCl.cpp vendor/clang/dist/lib/Driver/ToolChains/NetBSD.cpp vendor/clang/dist/lib/Driver/ToolChains/OpenBSD.cpp vendor/clang/dist/lib/Driver/ToolChains/PPCLinux.cpp vendor/clang/dist/lib/Driver/ToolChains/PS4CPU.cpp vendor/clang/dist/lib/Driver/ToolChains/RISCVToolchain.cpp vendor/clang/dist/lib/Driver/ToolChains/RISCVToolchain.h vendor/clang/dist/lib/Driver/ToolChains/Solaris.cpp vendor/clang/dist/lib/Driver/ToolChains/WebAssembly.cpp vendor/clang/dist/lib/Driver/ToolChains/XCore.cpp vendor/clang/dist/lib/Driver/Types.cpp vendor/clang/dist/lib/Driver/XRayArgs.cpp vendor/clang/dist/lib/Format/BreakableToken.cpp vendor/clang/dist/lib/Format/ContinuationIndenter.cpp vendor/clang/dist/lib/Format/Encoding.h vendor/clang/dist/lib/Format/Format.cpp vendor/clang/dist/lib/Format/FormatToken.h vendor/clang/dist/lib/Format/FormatTokenLexer.cpp vendor/clang/dist/lib/Format/FormatTokenLexer.h vendor/clang/dist/lib/Format/NamespaceEndCommentsFixer.cpp vendor/clang/dist/lib/Format/TokenAnnotator.cpp vendor/clang/dist/lib/Format/TokenAnnotator.h vendor/clang/dist/lib/Format/UnwrappedLineFormatter.cpp vendor/clang/dist/lib/Format/UnwrappedLineParser.cpp vendor/clang/dist/lib/Format/UnwrappedLineParser.h vendor/clang/dist/lib/Format/WhitespaceManager.cpp vendor/clang/dist/lib/Frontend/ASTConsumers.cpp vendor/clang/dist/lib/Frontend/ASTUnit.cpp vendor/clang/dist/lib/Frontend/ChainedIncludesSource.cpp vendor/clang/dist/lib/Frontend/CompilerInstance.cpp vendor/clang/dist/lib/Frontend/CompilerInvocation.cpp vendor/clang/dist/lib/Frontend/CreateInvocationFromCommandLine.cpp vendor/clang/dist/lib/Frontend/DependencyFile.cpp vendor/clang/dist/lib/Frontend/DependencyGraph.cpp vendor/clang/dist/lib/Frontend/FrontendAction.cpp vendor/clang/dist/lib/Frontend/FrontendActions.cpp vendor/clang/dist/lib/Frontend/FrontendOptions.cpp vendor/clang/dist/lib/Frontend/HeaderIncludeGen.cpp vendor/clang/dist/lib/Frontend/InitHeaderSearch.cpp vendor/clang/dist/lib/Frontend/InitPreprocessor.cpp vendor/clang/dist/lib/Frontend/InterfaceStubFunctionsConsumer.cpp vendor/clang/dist/lib/Frontend/ModuleDependencyCollector.cpp vendor/clang/dist/lib/Frontend/MultiplexConsumer.cpp vendor/clang/dist/lib/Frontend/PrecompiledPreamble.cpp vendor/clang/dist/lib/Frontend/PrintPreprocessedOutput.cpp vendor/clang/dist/lib/Frontend/Rewrite/FixItRewriter.cpp vendor/clang/dist/lib/Frontend/Rewrite/FrontendActions.cpp vendor/clang/dist/lib/Frontend/Rewrite/HTMLPrint.cpp vendor/clang/dist/lib/Frontend/Rewrite/InclusionRewriter.cpp vendor/clang/dist/lib/Frontend/Rewrite/RewriteModernObjC.cpp vendor/clang/dist/lib/Frontend/Rewrite/RewriteObjC.cpp vendor/clang/dist/lib/Frontend/SerializedDiagnosticPrinter.cpp vendor/clang/dist/lib/Frontend/TextDiagnostic.cpp vendor/clang/dist/lib/Frontend/VerifyDiagnosticConsumer.cpp vendor/clang/dist/lib/FrontendTool/ExecuteCompilerInvocation.cpp vendor/clang/dist/lib/Headers/__clang_cuda_intrinsics.h vendor/clang/dist/lib/Headers/altivec.h vendor/clang/dist/lib/Headers/arm_acle.h vendor/clang/dist/lib/Headers/avx512fintrin.h vendor/clang/dist/lib/Headers/bmiintrin.h vendor/clang/dist/lib/Headers/cpuid.h vendor/clang/dist/lib/Headers/emmintrin.h vendor/clang/dist/lib/Headers/ia32intrin.h vendor/clang/dist/lib/Headers/immintrin.h vendor/clang/dist/lib/Headers/opencl-c-base.h vendor/clang/dist/lib/Headers/opencl-c.h vendor/clang/dist/lib/Headers/ppc_wrappers/emmintrin.h vendor/clang/dist/lib/Headers/ppc_wrappers/mm_malloc.h vendor/clang/dist/lib/Headers/ppc_wrappers/mmintrin.h vendor/clang/dist/lib/Headers/ppc_wrappers/xmmintrin.h vendor/clang/dist/lib/Index/IndexSymbol.cpp vendor/clang/dist/lib/Index/IndexingAction.cpp vendor/clang/dist/lib/Index/USRGeneration.cpp vendor/clang/dist/lib/Lex/DependencyDirectivesSourceMinimizer.cpp vendor/clang/dist/lib/Lex/HeaderMap.cpp vendor/clang/dist/lib/Lex/HeaderSearch.cpp vendor/clang/dist/lib/Lex/Lexer.cpp vendor/clang/dist/lib/Lex/MacroArgs.cpp vendor/clang/dist/lib/Lex/ModuleMap.cpp vendor/clang/dist/lib/Lex/PPDirectives.cpp vendor/clang/dist/lib/Lex/PPLexerChange.cpp vendor/clang/dist/lib/Lex/PPMacroExpansion.cpp vendor/clang/dist/lib/Lex/Pragma.cpp vendor/clang/dist/lib/Lex/Preprocessor.cpp vendor/clang/dist/lib/Lex/TokenLexer.cpp vendor/clang/dist/lib/Lex/UnicodeCharSets.h vendor/clang/dist/lib/Parse/ParseCXXInlineMethods.cpp vendor/clang/dist/lib/Parse/ParseDecl.cpp vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp vendor/clang/dist/lib/Parse/ParseExpr.cpp vendor/clang/dist/lib/Parse/ParseExprCXX.cpp vendor/clang/dist/lib/Parse/ParseInit.cpp vendor/clang/dist/lib/Parse/ParseObjc.cpp vendor/clang/dist/lib/Parse/ParseOpenMP.cpp vendor/clang/dist/lib/Parse/ParsePragma.cpp vendor/clang/dist/lib/Parse/ParseStmt.cpp vendor/clang/dist/lib/Parse/ParseTemplate.cpp vendor/clang/dist/lib/Parse/ParseTentative.cpp vendor/clang/dist/lib/Parse/Parser.cpp vendor/clang/dist/lib/Rewrite/Rewriter.cpp vendor/clang/dist/lib/Sema/AnalysisBasedWarnings.cpp vendor/clang/dist/lib/Sema/DeclSpec.cpp vendor/clang/dist/lib/Sema/OpenCLBuiltins.td vendor/clang/dist/lib/Sema/ParsedAttr.cpp vendor/clang/dist/lib/Sema/Sema.cpp vendor/clang/dist/lib/Sema/SemaAccess.cpp vendor/clang/dist/lib/Sema/SemaAttr.cpp vendor/clang/dist/lib/Sema/SemaCUDA.cpp vendor/clang/dist/lib/Sema/SemaCXXScopeSpec.cpp vendor/clang/dist/lib/Sema/SemaCast.cpp vendor/clang/dist/lib/Sema/SemaChecking.cpp vendor/clang/dist/lib/Sema/SemaCodeComplete.cpp vendor/clang/dist/lib/Sema/SemaCoroutine.cpp vendor/clang/dist/lib/Sema/SemaDecl.cpp vendor/clang/dist/lib/Sema/SemaDeclAttr.cpp vendor/clang/dist/lib/Sema/SemaDeclCXX.cpp vendor/clang/dist/lib/Sema/SemaDeclObjC.cpp vendor/clang/dist/lib/Sema/SemaExceptionSpec.cpp vendor/clang/dist/lib/Sema/SemaExpr.cpp vendor/clang/dist/lib/Sema/SemaExprCXX.cpp vendor/clang/dist/lib/Sema/SemaExprMember.cpp vendor/clang/dist/lib/Sema/SemaExprObjC.cpp vendor/clang/dist/lib/Sema/SemaInit.cpp vendor/clang/dist/lib/Sema/SemaLambda.cpp vendor/clang/dist/lib/Sema/SemaLookup.cpp vendor/clang/dist/lib/Sema/SemaModule.cpp vendor/clang/dist/lib/Sema/SemaObjCProperty.cpp vendor/clang/dist/lib/Sema/SemaOpenMP.cpp vendor/clang/dist/lib/Sema/SemaOverload.cpp vendor/clang/dist/lib/Sema/SemaStmt.cpp vendor/clang/dist/lib/Sema/SemaStmtAsm.cpp vendor/clang/dist/lib/Sema/SemaStmtAttr.cpp vendor/clang/dist/lib/Sema/SemaTemplate.cpp vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp vendor/clang/dist/lib/Sema/SemaTemplateInstantiate.cpp vendor/clang/dist/lib/Sema/SemaTemplateInstantiateDecl.cpp vendor/clang/dist/lib/Sema/SemaTemplateVariadic.cpp vendor/clang/dist/lib/Sema/SemaType.cpp vendor/clang/dist/lib/Sema/TreeTransform.h vendor/clang/dist/lib/Sema/TypeLocBuilder.cpp vendor/clang/dist/lib/Sema/TypeLocBuilder.h vendor/clang/dist/lib/Serialization/ASTCommon.cpp vendor/clang/dist/lib/Serialization/ASTReader.cpp vendor/clang/dist/lib/Serialization/ASTReaderDecl.cpp vendor/clang/dist/lib/Serialization/ASTReaderStmt.cpp vendor/clang/dist/lib/Serialization/ASTWriter.cpp vendor/clang/dist/lib/Serialization/ASTWriterDecl.cpp vendor/clang/dist/lib/Serialization/ASTWriterStmt.cpp vendor/clang/dist/lib/Serialization/GlobalModuleIndex.cpp vendor/clang/dist/lib/Serialization/ModuleManager.cpp vendor/clang/dist/lib/Serialization/PCHContainerOperations.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CStringChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/CloneChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MIGChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h vendor/clang/dist/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MallocChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/MoveChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h vendor/clang/dist/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h vendor/clang/dist/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/StreamChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/Taint.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/Taint.h vendor/clang/dist/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/ValistChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/VforkChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/AnalysisManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/BugReporter.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/CallEvent.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/Checker.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/CheckerHelpers.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/CheckerManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/CommonBugCategories.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/Environment.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ExplodedGraph.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngine.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngineC.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/LoopUnrolling.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/MemRegion.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/ProgramState.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/RegionStore.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/SMTConstraintManager.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/Store.cpp vendor/clang/dist/lib/StaticAnalyzer/Core/WorkList.cpp vendor/clang/dist/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp vendor/clang/dist/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp vendor/clang/dist/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp vendor/clang/dist/lib/StaticAnalyzer/Frontend/FrontendActions.cpp vendor/clang/dist/lib/StaticAnalyzer/Frontend/ModelInjector.cpp vendor/clang/dist/lib/Tooling/ASTDiff/ASTDiff.cpp vendor/clang/dist/lib/Tooling/AllTUsExecution.cpp vendor/clang/dist/lib/Tooling/ArgumentsAdjusters.cpp vendor/clang/dist/lib/Tooling/CommonOptionsParser.cpp vendor/clang/dist/lib/Tooling/CompilationDatabase.cpp vendor/clang/dist/lib/Tooling/Core/Replacement.cpp vendor/clang/dist/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp vendor/clang/dist/lib/Tooling/GuessTargetAndModeCompilationDatabase.cpp vendor/clang/dist/lib/Tooling/Inclusions/HeaderIncludes.cpp vendor/clang/dist/lib/Tooling/Inclusions/IncludeStyle.cpp vendor/clang/dist/lib/Tooling/InterpolatingCompilationDatabase.cpp vendor/clang/dist/lib/Tooling/Refactoring.cpp vendor/clang/dist/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp vendor/clang/dist/lib/Tooling/Refactoring/Extract/Extract.cpp vendor/clang/dist/lib/Tooling/Refactoring/Extract/SourceExtraction.cpp vendor/clang/dist/lib/Tooling/Refactoring/RefactoringActions.cpp vendor/clang/dist/lib/Tooling/Refactoring/Rename/RenamingAction.cpp vendor/clang/dist/lib/Tooling/Refactoring/Rename/SymbolOccurrences.cpp vendor/clang/dist/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp vendor/clang/dist/lib/Tooling/RefactoringCallbacks.cpp vendor/clang/dist/lib/Tooling/StandaloneExecution.cpp vendor/clang/dist/lib/Tooling/Syntax/BuildTree.cpp vendor/clang/dist/lib/Tooling/Syntax/Tokens.cpp vendor/clang/dist/lib/Tooling/Tooling.cpp vendor/clang/dist/tools/clang-format/ClangFormat.cpp vendor/clang/dist/tools/driver/cc1_main.cpp vendor/clang/dist/tools/driver/cc1as_main.cpp vendor/clang/dist/tools/driver/driver.cpp vendor/clang/dist/utils/TableGen/ClangASTNodesEmitter.cpp vendor/clang/dist/utils/TableGen/ClangAttrEmitter.cpp vendor/clang/dist/utils/TableGen/ClangCommentCommandInfoEmitter.cpp vendor/clang/dist/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp vendor/clang/dist/utils/TableGen/ClangDataCollectorsEmitter.cpp vendor/clang/dist/utils/TableGen/ClangDiagnosticsEmitter.cpp vendor/clang/dist/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp vendor/clang/dist/utils/TableGen/ClangOptionDocEmitter.cpp vendor/clang/dist/utils/TableGen/ClangSACheckersEmitter.cpp vendor/clang/dist/utils/TableGen/NeonEmitter.cpp vendor/clang/dist/utils/TableGen/TableGen.cpp vendor/clang/dist/utils/TableGen/TableGenBackends.h Added: vendor/clang/dist/include/clang-c/FatalErrorHandler.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/clang/dist/include/clang-c/FatalErrorHandler.h Wed Oct 23 17:52:09 2019 (r353942) @@ -0,0 +1,33 @@ +/*===-- clang-c/FatalErrorHandler.h - Fatal Error Handling --------*- C -*-===*\ +|* *| +|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| +|* Exceptions. *| +|* See https://llvm.org/LICENSE.txt for license information. *| +|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_CLANG_C_FATAL_ERROR_HANDLER_H +#define LLVM_CLANG_C_FATAL_ERROR_HANDLER_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Installs error handler that prints error message to stderr and calls abort(). + * Replaces currently installed error handler (if any). + */ +void clang_install_aborting_llvm_fatal_error_handler(void); + +/** + * Removes currently installed error handler (if any). + * If no error handler is intalled, the default strategy is to print error + * message to stderr and call exit(1). + */ +void clang_uninstall_llvm_fatal_error_handler(void); + +#ifdef __cplusplus +} +#endif +#endif Modified: vendor/clang/dist/include/clang-c/Index.h ============================================================================== --- vendor/clang/dist/include/clang-c/Index.h Wed Oct 23 17:51:52 2019 (r353941) +++ vendor/clang/dist/include/clang-c/Index.h Wed Oct 23 17:52:09 2019 (r353942) @@ -1356,7 +1356,12 @@ enum CXTranslationUnit_Flags { * the case where these warnings are not of interest, as for an IDE for * example, which typically shows only the diagnostics in the main file. */ - CXTranslationUnit_IgnoreNonErrorsFromIncludedFiles = 0x4000 + CXTranslationUnit_IgnoreNonErrorsFromIncludedFiles = 0x4000, + + /** + * Tells the preprocessor not to skip excluded conditional blocks. + */ + CXTranslationUnit_RetainExcludedConditionalBlocks = 0x8000 }; /** @@ -2550,7 +2555,20 @@ enum CXCursorKind { */ CXCursor_BuiltinBitCastExpr = 280, - CXCursor_LastStmt = CXCursor_BuiltinBitCastExpr, + /** OpenMP master taskloop directive. + */ + CXCursor_OMPMasterTaskLoopDirective = 281, + + /** OpenMP parallel master taskloop directive. + */ + CXCursor_OMPParallelMasterTaskLoopDirective = 282, + + /** OpenMP master taskloop simd directive. + */ + CXCursor_OMPMasterTaskLoopSimdDirective = 283, + + + CXCursor_LastStmt = CXCursor_OMPMasterTaskLoopSimdDirective, /** * Cursor that represents the translation unit itself. Modified: vendor/clang/dist/include/clang/AST/APValue.h ============================================================================== --- vendor/clang/dist/include/clang/AST/APValue.h Wed Oct 23 17:51:52 2019 (r353941) +++ vendor/clang/dist/include/clang/AST/APValue.h Wed Oct 23 17:52:09 2019 (r353942) @@ -53,6 +53,34 @@ class TypeInfoLValue { (public) void print(llvm::raw_ostream &Out, const PrintingPolicy &Policy) const; }; + +/// Symbolic representation of a dynamic allocation. +class DynamicAllocLValue { + unsigned Index; + +public: + DynamicAllocLValue() : Index(0) {} + explicit DynamicAllocLValue(unsigned Index) : Index(Index + 1) {} + unsigned getIndex() { return Index - 1; } + + explicit operator bool() const { return Index != 0; } + + void *getOpaqueValue() { + return reinterpret_cast(static_cast(Index) + << NumLowBitsAvailable); + } + static DynamicAllocLValue getFromOpaqueValue(void *Value) { + DynamicAllocLValue V; + V.Index = reinterpret_cast(Value) >> NumLowBitsAvailable; + return V; + } + + static unsigned getMaxIndex() { + return (std::numeric_limits::max() >> NumLowBitsAvailable) - 1; + } + + static constexpr int NumLowBitsAvailable = 3; +}; } namespace llvm { @@ -67,6 +95,17 @@ template<> struct PointerLikeTypeTraits struct PointerLikeTypeTraits { + static void *getAsVoidPointer(clang::DynamicAllocLValue V) { + return V.getOpaqueValue(); + } + static clang::DynamicAllocLValue getFromVoidPointer(void *P) { + return clang::DynamicAllocLValue::getFromOpaqueValue(P); + } + static constexpr int NumLowBitsAvailable = + clang::DynamicAllocLValue::NumLowBitsAvailable; +}; } namespace clang { @@ -97,13 +136,15 @@ class APValue { (public) }; class LValueBase { - typedef llvm::PointerUnion + typedef llvm::PointerUnion PtrTy; public: LValueBase() : Local{} {} LValueBase(const ValueDecl *P, unsigned I = 0, unsigned V = 0); LValueBase(const Expr *P, unsigned I = 0, unsigned V = 0); + static LValueBase getDynamicAlloc(DynamicAllocLValue LV, QualType Type); static LValueBase getTypeInfo(TypeInfoLValue LV, QualType TypeInfo); template @@ -124,6 +165,7 @@ class APValue { (public) unsigned getCallIndex() const; unsigned getVersion() const; QualType getTypeInfoType() const; + QualType getDynamicAllocType() const; friend bool operator==(const LValueBase &LHS, const LValueBase &RHS); friend bool operator!=(const LValueBase &LHS, const LValueBase &RHS) { @@ -140,6 +182,8 @@ class APValue { (public) LocalState Local; /// The type std::type_info, if this is a TypeInfoLValue. void *TypeInfoType; + /// The QualType, if this is a DynamicAllocLValue. + void *DynamicAllocType; }; }; Modified: vendor/clang/dist/include/clang/AST/ASTContext.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTContext.h Wed Oct 23 17:51:52 2019 (r353941) +++ vendor/clang/dist/include/clang/AST/ASTContext.h Wed Oct 23 17:52:09 2019 (r353942) @@ -139,6 +139,12 @@ class FullComment; } // namespace comments +namespace interp { + +class Context; + +} // namespace interp + struct TypeInfo { uint64_t Width = 0; unsigned Align = 0; @@ -179,7 +185,8 @@ class ASTContext : public RefCountedBase { mutable llvm::FoldingSet LValueReferenceTypes; mutable llvm::FoldingSet RValueReferenceTypes; mutable llvm::FoldingSet MemberPointerTypes; - mutable llvm::FoldingSet ConstantArrayTypes; + mutable llvm::ContextualFoldingSet + ConstantArrayTypes; mutable llvm::FoldingSet IncompleteArrayTypes; mutable std::vector VariableArrayTypes; mutable llvm::FoldingSet DependentSizedArrayTypes; @@ -507,6 +514,8 @@ class ASTContext : public RefCountedBase { /// need to be consistently numbered for the mangler). llvm::DenseMap> MangleNumberingContexts; + llvm::DenseMap> + ExtraMangleNumberingContexts; /// Side-table of mangling numbers for declarations which rarely /// need them (like static local vars). @@ -564,6 +573,7 @@ class ASTContext : public RefCountedBase { const TargetInfo *Target = nullptr; const TargetInfo *AuxTarget = nullptr; clang::PrintingPolicy PrintingPolicy; + std::unique_ptr InterpContext; public: IdentifierTable &Idents; @@ -573,6 +583,9 @@ class ASTContext : public RefCountedBase { IntrusiveRefCntPtr ExternalSource; ASTMutationListener *Listener = nullptr; + /// Returns the clang bytecode interpreter context. + interp::Context &getInterpContext(); + /// Container for either a single DynTypedNode or for an ArrayRef to /// DynTypedNode. For use with ParentMap. class DynTypedNodeList { @@ -729,71 +742,49 @@ class ASTContext : public RefCountedBase { /// True if comments are already loaded from ExternalASTSource. mutable bool CommentsLoaded = false; - class RawCommentAndCacheFlags { - public: - enum Kind { - /// We searched for a comment attached to the particular declaration, but - /// didn't find any. - /// - /// getRaw() == 0. - NoCommentInDecl = 0, + /// Mapping from declaration to directly attached comment. + /// + /// Raw comments are owned by Comments list. This mapping is populated + /// lazily. + mutable llvm::DenseMap DeclRawComments; - /// We have found a comment attached to this particular declaration. - /// - /// getRaw() != 0. - FromDecl, - - /// This declaration does not have an attached comment, and we have - /// searched the redeclaration chain. - /// - /// If getRaw() == 0, the whole redeclaration chain does not have any - /// comments. - /// - /// If getRaw() != 0, it is a comment propagated from other - /// redeclaration. - FromRedecl - }; - - Kind getKind() const LLVM_READONLY { - return Data.getInt(); - } - - void setKind(Kind K) { - Data.setInt(K); - } - - const RawComment *getRaw() const LLVM_READONLY { - return Data.getPointer(); - } - - void setRaw(const RawComment *RC) { - Data.setPointer(RC); - } - - const Decl *getOriginalDecl() const LLVM_READONLY { - return OriginalDecl; - } - - void setOriginalDecl(const Decl *Orig) { - OriginalDecl = Orig; - } - - private: - llvm::PointerIntPair Data; - const Decl *OriginalDecl; - }; - - /// Mapping from declarations to comments attached to any - /// redeclaration. + /// Mapping from canonical declaration to the first redeclaration in chain + /// that has a comment attached. /// /// Raw comments are owned by Comments list. This mapping is populated /// lazily. - mutable llvm::DenseMap RedeclComments; + mutable llvm::DenseMap RedeclChainComments; + /// Keeps track of redeclaration chains that don't have any comment attached. + /// Mapping from canonical declaration to redeclaration chain that has no + /// comments attached to any redeclaration. Specifically it's mapping to + /// the last redeclaration we've checked. + /// + /// Shall not contain declarations that have comments attached to any + /// redeclaration in their chain. + mutable llvm::DenseMap CommentlessRedeclChains; + /// Mapping from declarations to parsed comments attached to any /// redeclaration. mutable llvm::DenseMap ParsedComments; + /// Attaches \p Comment to \p OriginalD and to its redeclaration chain + /// and removes the redeclaration chain from the set of commentless chains. + /// + /// Don't do anything if a comment has already been attached to \p OriginalD + /// or its redeclaration chain. + void cacheRawCommentForDecl(const Decl &OriginalD, + const RawComment &Comment) const; + + /// \returns searches \p CommentsInFile for doc comment for \p D. + /// + /// \p RepresentativeLocForDecl is used as a location for searching doc + /// comments. \p CommentsInFile is a mapping offset -> comment of files in the + /// same file where \p RepresentativeLocForDecl is. + RawComment *getRawCommentForDeclNoCacheImpl( + const Decl *D, const SourceLocation RepresentativeLocForDecl, + const std::map &CommentsInFile) const; + /// Return the documentation comment attached to a given declaration, /// without looking into cache. RawComment *getRawCommentForDeclNoCache(const Decl *D) const; @@ -818,6 +809,16 @@ class ASTContext : public RefCountedBase { getRawCommentForAnyRedecl(const Decl *D, const Decl **OriginalDecl = nullptr) const; + /// Searches existing comments for doc comments that should be attached to \p + /// Decls. If any doc comment is found, it is parsed. + /// + /// Requirement: All \p Decls are in the same file. + /// + /// If the last comment in the file is already attached we assume + /// there are not comments left to be attached to \p Decls. + void attachCommentsToJustParsedDecls(ArrayRef Decls, + const Preprocessor *PP); + /// Return parsed documentation comment attached to a given declaration. /// Returns nullptr if no comment is attached. /// @@ -1054,6 +1055,9 @@ class ASTContext : public RefCountedBase { #define EXT_OPAQUE_TYPE(ExtType, Id, Ext) \ CanQualType Id##Ty; #include "clang/Basic/OpenCLExtensionTypes.def" +#define SVE_TYPE(Name, Id, SingletonId) \ + CanQualType SingletonId; +#include "clang/Basic/AArch64SVEACLETypes.def" // Types for deductions in C++0x [stmt.ranged]'s desugaring. Built on demand. mutable QualType AutoDeductTy; // Deduction against 'auto'. @@ -1329,6 +1333,7 @@ class ASTContext : public RefCountedBase { /// Return the unique reference to the type for a constant array of /// the specified element type. QualType getConstantArrayType(QualType EltTy, const llvm::APInt &ArySize, + const Expr *SizeExpr, ArrayType::ArraySizeModifier ASM, unsigned IndexTypeQuals) const; @@ -1498,8 +1503,7 @@ class ASTContext : public RefCountedBase { bool isKindOf) const; QualType getObjCTypeParamType(const ObjCTypeParamDecl *Decl, - ArrayRef protocols, - QualType Canonical = QualType()) const; + ArrayRef protocols) const; bool ObjCObjectAdoptsQTypeProtocols(QualType QT, ObjCInterfaceDecl *Decl); @@ -2054,6 +2058,11 @@ class ASTContext : public RefCountedBase { /// types. bool areCompatibleVectorTypes(QualType FirstVec, QualType SecondVec); + /// Return true if the type has been explicitly qualified with ObjC ownership. + /// A type may be implicitly qualified with ownership under ObjC ARC, and in + /// some cases the compiler treats these differently. + bool hasDirectOwnershipQualifier(QualType Ty) const; + /// Return true if this is an \c NSObject object with its \c NSObject /// attribute set. static bool isObjCNSObjectType(QualType Ty) { @@ -2577,10 +2586,12 @@ class ASTContext : public RefCountedBase { return T == getObjCSelType(); } - bool ObjCQualifiedIdTypesAreCompatible(QualType LHS, QualType RHS, + bool ObjCQualifiedIdTypesAreCompatible(const ObjCObjectPointerType *LHS, + const ObjCObjectPointerType *RHS, bool ForCompare); - bool ObjCQualifiedClassTypesAreCompatible(QualType LHS, QualType RHS); + bool ObjCQualifiedClassTypesAreCompatible(const ObjCObjectPointerType *LHS, + const ObjCObjectPointerType *RHS); // Check the safety of assignment from LHS to RHS bool canAssignObjCInterfaces(const ObjCObjectPointerType *LHSOPT, @@ -2802,6 +2813,9 @@ class ASTContext : public RefCountedBase { /// Retrieve the context for computing mangling numbers in the given /// DeclContext. MangleNumberingContext &getManglingNumberContext(const DeclContext *DC); + enum NeedExtraManglingDecl_t { NeedExtraManglingDecl }; + MangleNumberingContext &getManglingNumberContext(NeedExtraManglingDecl_t, + const Decl *D); std::unique_ptr createMangleNumberingContext() const; Modified: vendor/clang/dist/include/clang/AST/ASTFwd.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTFwd.h Wed Oct 23 17:51:52 2019 (r353941) +++ vendor/clang/dist/include/clang/AST/ASTFwd.h Wed Oct 23 17:52:09 2019 (r353942) @@ -24,7 +24,7 @@ class Stmt; #include "clang/AST/StmtNodes.inc" class Type; #define TYPE(DERIVED, BASE) class DERIVED##Type; -#include "clang/AST/TypeNodes.def" +#include "clang/AST/TypeNodes.inc" class CXXCtorInitializer; } // end namespace clang Modified: vendor/clang/dist/include/clang/AST/ASTImporter.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTImporter.h Wed Oct 23 17:51:52 2019 (r353941) +++ vendor/clang/dist/include/clang/AST/ASTImporter.h Wed Oct 23 17:52:09 2019 (r353942) @@ -87,7 +87,11 @@ class TypeSourceInfo; using NonEquivalentDeclSet = llvm::DenseSet>; using ImportedCXXBaseSpecifierMap = llvm::DenseMap; + using FileIDImportHandlerType = + std::function; + enum class ODRHandlingType { Conservative, Liberal }; + // An ImportPath is the list of the AST nodes which we visit during an // Import call. // If node `A` depends on node `B` then the path contains an `A`->`B` edge. @@ -210,6 +214,8 @@ class TypeSourceInfo; }; private: + FileIDImportHandlerType FileIDImportHandler; + std::shared_ptr SharedState = nullptr; /// The path which we go through during the import of a given AST node. @@ -232,6 +238,8 @@ class TypeSourceInfo; /// Whether to perform a minimal import. bool Minimal; + ODRHandlingType ODRHandling; + /// Whether the last diagnostic came from the "from" context. bool LastDiagFromFrom = false; @@ -310,10 +318,20 @@ class TypeSourceInfo; virtual ~ASTImporter(); + /// Set a callback function for FileID import handling. + /// The function is invoked when a FileID is imported from the From context. + /// The imported FileID in the To context and the original FileID in the + /// From context is passed to it. + void setFileIDImportHandler(FileIDImportHandlerType H) { + FileIDImportHandler = H; + } + /// Whether the importer will perform a minimal import, creating /// to-be-completed forward declarations when possible. bool isMinimalImport() const { return Minimal; } + void setODRHandling(ODRHandlingType T) { ODRHandling = T; } + /// \brief Import the given object, returns the result. /// /// \param To Import the object into this variable. @@ -366,6 +384,20 @@ class TypeSourceInfo; /// imported. If it does not exist nullptr is returned. TranslationUnitDecl *GetFromTU(Decl *ToD); + /// Return the declaration in the "from" context from which the declaration + /// in the "to" context was imported. If it was not imported or of the wrong + /// type a null value is returned. + template + llvm::Optional getImportedFromDecl(const DeclT *ToD) const { + auto FromI = ImportedFromDecls.find(ToD); + if (FromI == ImportedFromDecls.end()) + return {}; + auto *FromD = dyn_cast(FromI->second); + if (!FromD) + return {}; + return FromD; + } + /// Import the given declaration context from the "from" /// AST context into the "to" AST context. /// @@ -491,12 +523,11 @@ class TypeSourceInfo; /// /// \param NumDecls the number of conflicting declarations in \p Decls. /// - /// \returns the name that the newly-imported declaration should have. - virtual DeclarationName HandleNameConflict(DeclarationName Name, - DeclContext *DC, - unsigned IDNS, - NamedDecl **Decls, - unsigned NumDecls); + /// \returns the name that the newly-imported declaration should have. Or + /// an error if we can't handle the name conflict. + virtual Expected + HandleNameConflict(DeclarationName Name, DeclContext *DC, unsigned IDNS, + NamedDecl **Decls, unsigned NumDecls); /// Retrieve the context that AST nodes are being imported into. ASTContext &getToContext() const { return ToContext; } Modified: vendor/clang/dist/include/clang/AST/ASTImporterSharedState.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTImporterSharedState.h Wed Oct 23 17:51:52 2019 (r353941) +++ vendor/clang/dist/include/clang/AST/ASTImporterSharedState.h Wed Oct 23 17:52:09 2019 (r353942) @@ -47,7 +47,7 @@ class ASTImporterSharedState { (public) ASTImporterSharedState() = default; ASTImporterSharedState(TranslationUnitDecl &ToTU) { - LookupTable = llvm::make_unique(ToTU); + LookupTable = std::make_unique(ToTU); } ASTImporterLookupTable *getLookupTable() { return LookupTable.get(); } Modified: vendor/clang/dist/include/clang/AST/ASTNodeTraverser.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTNodeTraverser.h Wed Oct 23 17:51:52 2019 (r353941) +++ vendor/clang/dist/include/clang/AST/ASTNodeTraverser.h Wed Oct 23 17:52:09 2019 (r353942) @@ -237,6 +237,9 @@ class ASTNodeTraverser (public) for (const auto &TP : *TPL) Visit(TP); + + if (const Expr *RC = TPL->getRequiresClause()) + Visit(RC); } void Modified: vendor/clang/dist/include/clang/AST/ASTStructuralEquivalence.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTStructuralEquivalence.h Wed Oct 23 17:51:52 2019 (r353941) +++ vendor/clang/dist/include/clang/AST/ASTStructuralEquivalence.h Wed Oct 23 17:52:09 2019 (r353942) @@ -18,7 +18,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/DenseSet.h" #include "llvm/ADT/Optional.h" -#include +#include #include namespace clang { @@ -42,14 +42,13 @@ struct StructuralEquivalenceContext { /// AST contexts for which we are checking structural equivalence. ASTContext &FromCtx, &ToCtx; - /// The set of "tentative" equivalences between two canonical - /// declarations, mapping from a declaration in the first context to the - /// declaration in the second context that we believe to be equivalent. - llvm::DenseMap TentativeEquivalences; + // Queue of from-to Decl pairs that are to be checked to determine the final + // result of equivalence of a starting Decl pair. + std::queue> DeclsToCheck; - /// Queue of declarations in the first context whose equivalence - /// with a declaration in the second context still needs to be verified. - std::deque DeclsToCheck; + // Set of from-to Decl pairs that are already visited during the check + // (are in or were once in \c DeclsToCheck) of a starting Decl pair. + llvm::DenseSet> VisitedDecls; /// Declaration (from, to) pairs that are known not to be equivalent /// (which we have already complained about). @@ -88,14 +87,14 @@ struct StructuralEquivalenceContext { /// Implementation functions (all static functions in /// ASTStructuralEquivalence.cpp) must never call this function because that /// will wreak havoc the internal state (\c DeclsToCheck and - /// \c TentativeEquivalences members) and can cause faulty equivalent results. + /// \c VisitedDecls members) and can cause faulty equivalent results. bool IsEquivalent(Decl *D1, Decl *D2); /// Determine whether the two types are structurally equivalent. /// Implementation functions (all static functions in /// ASTStructuralEquivalence.cpp) must never call this function because that /// will wreak havoc the internal state (\c DeclsToCheck and - /// \c TentativeEquivalences members) and can cause faulty equivalent results. + /// \c VisitedDecls members) and can cause faulty equivalent results. bool IsEquivalent(QualType T1, QualType T2); /// Find the index of the given anonymous struct/union within its Modified: vendor/clang/dist/include/clang/AST/ASTTypeTraits.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTTypeTraits.h Wed Oct 23 17:51:52 2019 (r353941) +++ vendor/clang/dist/include/clang/AST/ASTTypeTraits.h Wed Oct 23 17:52:09 2019 (r353942) @@ -148,7 +148,7 @@ class ASTNodeKind { (private) #include "clang/AST/StmtNodes.inc" NKI_Type, #define TYPE(DERIVED, BASE) NKI_##DERIVED##Type, -#include "clang/AST/TypeNodes.def" +#include "clang/AST/TypeNodes.inc" NKI_OMPClause, #define OPENMP_CLAUSE(TextualSpelling, Class) NKI_##Class, #include "clang/Basic/OpenMPKinds.def" @@ -205,7 +205,7 @@ KIND_TO_KIND_ID(OMPClause) #define STMT(DERIVED, BASE) KIND_TO_KIND_ID(DERIVED) #include "clang/AST/StmtNodes.inc" #define TYPE(DERIVED, BASE) KIND_TO_KIND_ID(DERIVED##Type) -#include "clang/AST/TypeNodes.def" +#include "clang/AST/TypeNodes.inc" #define OPENMP_CLAUSE(TextualSpelling, Class) KIND_TO_KIND_ID(Class) #include "clang/Basic/OpenMPKinds.def" #undef KIND_TO_KIND_ID Modified: vendor/clang/dist/include/clang/AST/Attr.h ============================================================================== --- vendor/clang/dist/include/clang/AST/Attr.h Wed Oct 23 17:51:52 2019 (r353941) +++ vendor/clang/dist/include/clang/AST/Attr.h Wed Oct 23 17:52:09 2019 (r353942) @@ -19,6 +19,7 @@ #include "clang/AST/Expr.h" #include "clang/AST/Type.h" #include "clang/Basic/AttrKinds.h" +#include "clang/Basic/AttributeCommonInfo.h" #include "clang/Basic/LLVM.h" #include "clang/Basic/OpenMPKinds.h" #include "clang/Basic/Sanitizers.h" @@ -32,6 +33,7 @@ namespace clang { class ASTContext; + class AttributeCommonInfo; class IdentifierInfo; class ObjCInterfaceDecl; class Expr; @@ -40,84 +42,79 @@ namespace clang { class TypeSourceInfo; /// Attr - This represents one attribute. -class Attr { -private: - SourceRange Range; - unsigned AttrKind : 16; + class Attr : public AttributeCommonInfo { + private: + unsigned AttrKind : 16; -protected: - /// An index into the spelling list of an - /// attribute defined in Attr.td file. - unsigned SpellingListIndex : 4; - unsigned Inherited : 1; - unsigned IsPackExpansion : 1; - unsigned Implicit : 1; - // FIXME: These are properties of the attribute kind, not state for this - // instance of the attribute. - unsigned IsLateParsed : 1; - unsigned InheritEvenIfAlreadyPresent : 1; + protected: + /// An index into the spelling list of an + /// attribute defined in Attr.td file. + unsigned Inherited : 1; + unsigned IsPackExpansion : 1; + unsigned Implicit : 1; + // FIXME: These are properties of the attribute kind, not state for this + // instance of the attribute. + unsigned IsLateParsed : 1; + unsigned InheritEvenIfAlreadyPresent : 1; - void *operator new(size_t bytes) noexcept { - llvm_unreachable("Attrs cannot be allocated with regular 'new'."); - } - void operator delete(void *data) noexcept { - llvm_unreachable("Attrs cannot be released with regular 'delete'."); - } + void *operator new(size_t bytes) noexcept { + llvm_unreachable("Attrs cannot be allocated with regular 'new'."); + } + void operator delete(void *data) noexcept { + llvm_unreachable("Attrs cannot be released with regular 'delete'."); + } -public: - // Forward so that the regular new and delete do not hide global ones. - void *operator new(size_t Bytes, ASTContext &C, - size_t Alignment = 8) noexcept { - return ::operator new(Bytes, C, Alignment); - } - void operator delete(void *Ptr, ASTContext &C, size_t Alignment) noexcept { - return ::operator delete(Ptr, C, Alignment); - } + public: + // Forward so that the regular new and delete do not hide global ones. + void *operator new(size_t Bytes, ASTContext &C, + size_t Alignment = 8) noexcept { + return ::operator new(Bytes, C, Alignment); + } + void operator delete(void *Ptr, ASTContext &C, size_t Alignment) noexcept { + return ::operator delete(Ptr, C, Alignment); + } -protected: - Attr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, - bool IsLateParsed) - : Range(R), AttrKind(AK), SpellingListIndex(SpellingListIndex), - Inherited(false), IsPackExpansion(false), Implicit(false), - IsLateParsed(IsLateParsed), InheritEvenIfAlreadyPresent(false) {} + protected: + Attr(ASTContext &Context, const AttributeCommonInfo &CommonInfo, + attr::Kind AK, bool IsLateParsed) + : AttributeCommonInfo(CommonInfo), AttrKind(AK), Inherited(false), + IsPackExpansion(false), Implicit(false), IsLateParsed(IsLateParsed), + InheritEvenIfAlreadyPresent(false) {} -public: + public: + attr::Kind getKind() const { return static_cast(AttrKind); } - attr::Kind getKind() const { - return static_cast(AttrKind); - } + unsigned getSpellingListIndex() const { + return getAttributeSpellingListIndex(); + } + const char *getSpelling() const; - unsigned getSpellingListIndex() const { return SpellingListIndex; } - const char *getSpelling() const; + SourceLocation getLocation() const { return getRange().getBegin(); } - SourceLocation getLocation() const { return Range.getBegin(); } - SourceRange getRange() const { return Range; } - void setRange(SourceRange R) { Range = R; } + bool isInherited() const { return Inherited; } - bool isInherited() const { return Inherited; } + /// Returns true if the attribute has been implicitly created instead + /// of explicitly written by the user. + bool isImplicit() const { return Implicit; } + void setImplicit(bool I) { Implicit = I; } - /// Returns true if the attribute has been implicitly created instead - /// of explicitly written by the user. - bool isImplicit() const { return Implicit; } - void setImplicit(bool I) { Implicit = I; } + void setPackExpansion(bool PE) { IsPackExpansion = PE; } + bool isPackExpansion() const { return IsPackExpansion; } - void setPackExpansion(bool PE) { IsPackExpansion = PE; } - bool isPackExpansion() const { return IsPackExpansion; } + // Clone this attribute. + Attr *clone(ASTContext &C) const; - // Clone this attribute. - Attr *clone(ASTContext &C) const; + bool isLateParsed() const { return IsLateParsed; } - bool isLateParsed() const { return IsLateParsed; } + // Pretty print this attribute. + void printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const; + }; - // Pretty print this attribute. - void printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const; -}; - class TypeAttr : public Attr { protected: - TypeAttr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, - bool IsLateParsed) - : Attr(AK, R, SpellingListIndex, IsLateParsed) {} + TypeAttr(ASTContext &Context, const AttributeCommonInfo &CommonInfo, + attr::Kind AK, bool IsLateParsed) + : Attr(Context, CommonInfo, AK, IsLateParsed) {} public: static bool classof(const Attr *A) { @@ -128,9 +125,9 @@ class TypeAttr : public Attr { (public) class StmtAttr : public Attr { protected: - StmtAttr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, - bool IsLateParsed) - : Attr(AK, R, SpellingListIndex, IsLateParsed) {} + StmtAttr(ASTContext &Context, const AttributeCommonInfo &CommonInfo, + attr::Kind AK, bool IsLateParsed) + : Attr(Context, CommonInfo, AK, IsLateParsed) {} public: static bool classof(const Attr *A) { @@ -141,9 +138,10 @@ class StmtAttr : public Attr { (public) class InheritableAttr : public Attr { protected: - InheritableAttr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, - bool IsLateParsed, bool InheritEvenIfAlreadyPresent) - : Attr(AK, R, SpellingListIndex, IsLateParsed) { + InheritableAttr(ASTContext &Context, const AttributeCommonInfo &CommonInfo, + attr::Kind AK, bool IsLateParsed, + bool InheritEvenIfAlreadyPresent) + : Attr(Context, CommonInfo, AK, IsLateParsed) { this->InheritEvenIfAlreadyPresent = InheritEvenIfAlreadyPresent; } @@ -165,9 +163,10 @@ class InheritableAttr : public Attr { (public) class InheritableParamAttr : public InheritableAttr { protected: - InheritableParamAttr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, + InheritableParamAttr(ASTContext &Context, + const AttributeCommonInfo &CommonInfo, attr::Kind AK, bool IsLateParsed, bool InheritEvenIfAlreadyPresent) - : InheritableAttr(AK, R, SpellingListIndex, IsLateParsed, + : InheritableAttr(Context, CommonInfo, AK, IsLateParsed, InheritEvenIfAlreadyPresent) {} public: @@ -182,11 +181,11 @@ class InheritableParamAttr : public InheritableAttr { /// for the parameter. class ParameterABIAttr : public InheritableParamAttr { protected: - ParameterABIAttr(attr::Kind AK, SourceRange R, - unsigned SpellingListIndex, bool IsLateParsed, + ParameterABIAttr(ASTContext &Context, const AttributeCommonInfo &CommonInfo, + attr::Kind AK, bool IsLateParsed, bool InheritEvenIfAlreadyPresent) - : InheritableParamAttr(AK, R, SpellingListIndex, IsLateParsed, - InheritEvenIfAlreadyPresent) {} + : InheritableParamAttr(Context, CommonInfo, AK, IsLateParsed, + InheritEvenIfAlreadyPresent) {} public: ParameterABI getABI() const { Added: vendor/clang/dist/include/clang/AST/CXXRecordDeclDefinitionBits.def ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/clang/dist/include/clang/AST/CXXRecordDeclDefinitionBits.def Wed Oct 23 17:52:09 2019 (r353942) @@ -0,0 +1,236 @@ +//===-- CXXRecordDeclDefinitionBits.def - Class definition bits -*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file enumerates the various bitfields that we want to store on C++ class +// definitions. +// +//===----------------------------------------------------------------------===// +// +/// @file CXXRecordDeclDefinitionBits.def +/// +/// In this file, each of the bitfields representing data about a C++ class +/// results in an expansion of the FIELD macro, which should be defined before +/// including this file. +/// +/// The macro have three operands: +/// +/// Name: The name of the field, as a member of CXXRecordDecl::DefinitionData. +/// +/// BitWidth: The width of the field in bits. +/// +/// MergePolicy: How to behave when the value of the field is different in +/// multiple translation units, one of: +/// NO_MERGE: It is an ODR violation if the fields do not match. +/// MERGE_OR: Merge the fields by ORing them together. + +#ifndef FIELD +#error define FIELD before including this file +#endif + +/// True if this class has any user-declared constructors. +FIELD(UserDeclaredConstructor, 1, NO_MERGE) + +/// The user-declared special members which this class has. +FIELD(UserDeclaredSpecialMembers, 6, NO_MERGE) + +/// True when this class is an aggregate. +FIELD(Aggregate, 1, NO_MERGE) + +/// True when this class is a POD-type. +FIELD(PlainOldData, 1, NO_MERGE) + +/// True when this class is empty for traits purposes, that is: +/// * has no data members other than 0-width bit-fields and empty fields +/// marked [[no_unique_address]] +/// * has no virtual function/base, and +/// * doesn't inherit from a non-empty class. +/// Doesn't take union-ness into account. +FIELD(Empty, 1, NO_MERGE) + +/// True when this class is polymorphic, i.e., has at +/// least one virtual member or derives from a polymorphic class. +FIELD(Polymorphic, 1, NO_MERGE) + +/// True when this class is abstract, i.e., has at least +/// one pure virtual function, (that can come from a base class). +FIELD(Abstract, 1, NO_MERGE) + +/// True when this class is standard-layout, per the applicable +/// language rules (including DRs). +FIELD(IsStandardLayout, 1, NO_MERGE) + +/// True when this class was standard-layout under the C++11 +/// definition. +/// +/// C++11 [class]p7. A standard-layout class is a class that: +/// * has no non-static data members of type non-standard-layout class (or +/// array of such types) or reference, +/// * has no virtual functions (10.3) and no virtual base classes (10.1), +/// * has the same access control (Clause 11) for all non-static data +/// members +/// * has no non-standard-layout base classes, +/// * either has no non-static data members in the most derived class and at +/// most one base class with non-static data members, or has no base +/// classes with non-static data members, and +/// * has no base classes of the same type as the first non-static data +/// member. +FIELD(IsCXX11StandardLayout, 1, NO_MERGE) + +/// True when any base class has any declared non-static data +/// members or bit-fields. +/// This is a helper bit of state used to implement IsStandardLayout more +/// efficiently. +FIELD(HasBasesWithFields, 1, NO_MERGE) + +/// True when any base class has any declared non-static data +/// members. +/// This is a helper bit of state used to implement IsCXX11StandardLayout +/// more efficiently. +FIELD(HasBasesWithNonStaticDataMembers, 1, NO_MERGE) + +/// True when there are private non-static data members. +FIELD(HasPrivateFields, 1, NO_MERGE) + +/// True when there are protected non-static data members. +FIELD(HasProtectedFields, 1, NO_MERGE) + +/// True when there are private non-static data members. +FIELD(HasPublicFields, 1, NO_MERGE) + +/// True if this class (or any subobject) has mutable fields. +FIELD(HasMutableFields, 1, NO_MERGE) + +/// True if this class (or any nested anonymous struct or union) +/// has variant members. +FIELD(HasVariantMembers, 1, NO_MERGE) + +/// True if there no non-field members declared by the user. +FIELD(HasOnlyCMembers, 1, NO_MERGE) + +/// True if any field has an in-class initializer, including those +/// within anonymous unions or structs. +FIELD(HasInClassInitializer, 1, NO_MERGE) + +/// True if any field is of reference type, and does not have an +/// in-class initializer. +/// +/// In this case, value-initialization of this class is illegal in C++98 +/// even if the class has a trivial default constructor. +FIELD(HasUninitializedReferenceMember, 1, NO_MERGE) + +/// True if any non-mutable field whose type doesn't have a user- +/// provided default ctor also doesn't have an in-class initializer. +FIELD(HasUninitializedFields, 1, NO_MERGE) + +/// True if there are any member using-declarations that inherit +/// constructors from a base class. +FIELD(HasInheritedConstructor, 1, NO_MERGE) + +/// True if there are any member using-declarations named +/// 'operator='. +FIELD(HasInheritedAssignment, 1, NO_MERGE) + +/// These flags are \c true if a defaulted corresponding special +/// member can't be fully analyzed without performing overload resolution. +/// @{ +FIELD(NeedOverloadResolutionForCopyConstructor, 1, NO_MERGE) +FIELD(NeedOverloadResolutionForMoveConstructor, 1, NO_MERGE) +FIELD(NeedOverloadResolutionForMoveAssignment, 1, NO_MERGE) +FIELD(NeedOverloadResolutionForDestructor, 1, NO_MERGE) +/// @} + +/// These flags are \c true if an implicit defaulted corresponding +/// special member would be defined as deleted. +/// @{ +FIELD(DefaultedCopyConstructorIsDeleted, 1, NO_MERGE) +FIELD(DefaultedMoveConstructorIsDeleted, 1, NO_MERGE) +FIELD(DefaultedMoveAssignmentIsDeleted, 1, NO_MERGE) +FIELD(DefaultedDestructorIsDeleted, 1, NO_MERGE) +/// @} + +/// The trivial special members which this class has, per +/// C++11 [class.ctor]p5, C++11 [class.copy]p12, C++11 [class.copy]p25, +/// C++11 [class.dtor]p5, or would have if the member were not suppressed. +/// +/// This excludes any user-declared but not user-provided special members +/// which have been declared but not yet defined. +FIELD(HasTrivialSpecialMembers, 6, MERGE_OR) + +/// These bits keep track of the triviality of special functions for the +/// purpose of calls. Only the bits corresponding to SMF_CopyConstructor, +/// SMF_MoveConstructor, and SMF_Destructor are meaningful here. +FIELD(HasTrivialSpecialMembersForCall, 6, MERGE_OR) + +/// The declared special members of this class which are known to be +/// non-trivial. +/// +/// This excludes any user-declared but not user-provided special members +/// which have been declared but not yet defined, and any implicit special +/// members which have not yet been declared. +FIELD(DeclaredNonTrivialSpecialMembers, 6, MERGE_OR) + +/// These bits keep track of the declared special members that are +/// non-trivial for the purpose of calls. +/// Only the bits corresponding to SMF_CopyConstructor, +/// SMF_MoveConstructor, and SMF_Destructor are meaningful here. +FIELD(DeclaredNonTrivialSpecialMembersForCall, 6, MERGE_OR) + +/// True when this class has a destructor with no semantic effect. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:52:17 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 96F9E159A9D; Wed, 23 Oct 2019 17:52:17 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yycx186wz4SLc; Wed, 23 Oct 2019 17:52:17 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E284B362; Wed, 23 Oct 2019 17:52:16 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHqG4g078101; Wed, 23 Oct 2019 17:52:16 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHqGfP078100; Wed, 23 Oct 2019 17:52:16 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231752.x9NHqGfP078100@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:52:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353943 - vendor/clang/clang-r375505 X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/clang/clang-r375505 X-SVN-Commit-Revision: 353943 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:52:17 -0000 Author: dim Date: Wed Oct 23 17:52:16 2019 New Revision: 353943 URL: https://svnweb.freebsd.org/changeset/base/353943 Log: Tag stripped clang trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub. Added: vendor/clang/clang-r375505/ - copied from r353942, vendor/clang/dist/ From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:52:24 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 46AC3159AF2; Wed, 23 Oct 2019 17:52:24 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yyd41xDpz4SXk; Wed, 23 Oct 2019 17:52:24 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0DA29371; Wed, 23 Oct 2019 17:52:24 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHqOqK078157; Wed, 23 Oct 2019 17:52:24 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHqMbX078149; Wed, 23 Oct 2019 17:52:22 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231752.x9NHqMbX078149@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:52:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353944 - in vendor/compiler-rt/dist: include/fuzzer include/sanitizer lib/asan lib/builtins lib/builtins/aarch64 lib/builtins/arm lib/dfsan lib/fuzzer lib/fuzzer/utils lib/gwp_asan lib... X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/compiler-rt/dist: include/fuzzer include/sanitizer lib/asan lib/builtins lib/builtins/aarch64 lib/builtins/arm lib/dfsan lib/fuzzer lib/fuzzer/utils lib/gwp_asan lib/gwp_asan/optional lib/gw... X-SVN-Commit-Revision: 353944 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:52:24 -0000 Author: dim Date: Wed Oct 23 17:52:22 2019 New Revision: 353944 URL: https://svnweb.freebsd.org/changeset/base/353944 Log: Vendor import of stripped compiler-rt trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub: https://llvm.org/svn/llvm-project/compiler-rt/trunk@375505 Added: vendor/compiler-rt/dist/include/fuzzer/ vendor/compiler-rt/dist/include/fuzzer/FuzzedDataProvider.h vendor/compiler-rt/dist/include/sanitizer/ubsan_interface.h vendor/compiler-rt/dist/lib/asan/asan_activation.cpp vendor/compiler-rt/dist/lib/asan/asan_allocator.cpp vendor/compiler-rt/dist/lib/asan/asan_debugging.cpp vendor/compiler-rt/dist/lib/asan/asan_descriptions.cpp vendor/compiler-rt/dist/lib/asan/asan_errors.cpp vendor/compiler-rt/dist/lib/asan/asan_fake_stack.cpp vendor/compiler-rt/dist/lib/asan/asan_flags.cpp vendor/compiler-rt/dist/lib/asan/asan_fuchsia.cpp vendor/compiler-rt/dist/lib/asan/asan_globals.cpp vendor/compiler-rt/dist/lib/asan/asan_globals_win.cpp vendor/compiler-rt/dist/lib/asan/asan_interceptors.cpp vendor/compiler-rt/dist/lib/asan/asan_interceptors_memintrinsics.cpp vendor/compiler-rt/dist/lib/asan/asan_linux.cpp vendor/compiler-rt/dist/lib/asan/asan_mac.cpp vendor/compiler-rt/dist/lib/asan/asan_malloc_linux.cpp vendor/compiler-rt/dist/lib/asan/asan_malloc_mac.cpp vendor/compiler-rt/dist/lib/asan/asan_malloc_win.cpp vendor/compiler-rt/dist/lib/asan/asan_memory_profile.cpp vendor/compiler-rt/dist/lib/asan/asan_new_delete.cpp vendor/compiler-rt/dist/lib/asan/asan_poisoning.cpp vendor/compiler-rt/dist/lib/asan/asan_posix.cpp vendor/compiler-rt/dist/lib/asan/asan_preinit.cpp vendor/compiler-rt/dist/lib/asan/asan_premap_shadow.cpp vendor/compiler-rt/dist/lib/asan/asan_report.cpp vendor/compiler-rt/dist/lib/asan/asan_rtems.cpp vendor/compiler-rt/dist/lib/asan/asan_rtl.cpp vendor/compiler-rt/dist/lib/asan/asan_shadow_setup.cpp vendor/compiler-rt/dist/lib/asan/asan_stack.cpp vendor/compiler-rt/dist/lib/asan/asan_stats.cpp vendor/compiler-rt/dist/lib/asan/asan_suppressions.cpp vendor/compiler-rt/dist/lib/asan/asan_thread.cpp vendor/compiler-rt/dist/lib/asan/asan_win.cpp vendor/compiler-rt/dist/lib/asan/asan_win_dll_thunk.cpp vendor/compiler-rt/dist/lib/asan/asan_win_dynamic_runtime_thunk.cpp vendor/compiler-rt/dist/lib/asan/asan_win_weak_interception.cpp vendor/compiler-rt/dist/lib/builtins/aarch64/fp_mode.c vendor/compiler-rt/dist/lib/builtins/arm/fp_mode.c vendor/compiler-rt/dist/lib/builtins/fp_mode.c vendor/compiler-rt/dist/lib/builtins/fp_mode.h vendor/compiler-rt/dist/lib/dfsan/dfsan.cpp vendor/compiler-rt/dist/lib/dfsan/dfsan_custom.cpp vendor/compiler-rt/dist/lib/dfsan/dfsan_interceptors.cpp vendor/compiler-rt/dist/lib/gwp_asan/scripts/ vendor/compiler-rt/dist/lib/gwp_asan/scripts/symbolize.sh (contents, props changed) vendor/compiler-rt/dist/lib/gwp_asan/stack_trace_compressor.cpp vendor/compiler-rt/dist/lib/gwp_asan/stack_trace_compressor.h vendor/compiler-rt/dist/lib/hwasan/hwasan_exceptions.cpp vendor/compiler-rt/dist/lib/interception/interception_linux.cpp vendor/compiler-rt/dist/lib/interception/interception_mac.cpp vendor/compiler-rt/dist/lib/interception/interception_type_test.cpp vendor/compiler-rt/dist/lib/interception/interception_win.cpp vendor/compiler-rt/dist/lib/lsan/lsan.cpp vendor/compiler-rt/dist/lib/lsan/lsan_allocator.cpp vendor/compiler-rt/dist/lib/lsan/lsan_common.cpp vendor/compiler-rt/dist/lib/lsan/lsan_common_linux.cpp vendor/compiler-rt/dist/lib/lsan/lsan_common_mac.cpp vendor/compiler-rt/dist/lib/lsan/lsan_interceptors.cpp vendor/compiler-rt/dist/lib/lsan/lsan_linux.cpp vendor/compiler-rt/dist/lib/lsan/lsan_mac.cpp vendor/compiler-rt/dist/lib/lsan/lsan_malloc_mac.cpp vendor/compiler-rt/dist/lib/lsan/lsan_preinit.cpp vendor/compiler-rt/dist/lib/lsan/lsan_thread.cpp vendor/compiler-rt/dist/lib/msan/msan.cpp vendor/compiler-rt/dist/lib/msan/msan_allocator.cpp vendor/compiler-rt/dist/lib/msan/msan_chained_origin_depot.cpp vendor/compiler-rt/dist/lib/msan/msan_interceptors.cpp vendor/compiler-rt/dist/lib/msan/msan_linux.cpp vendor/compiler-rt/dist/lib/msan/msan_new_delete.cpp vendor/compiler-rt/dist/lib/msan/msan_poisoning.cpp vendor/compiler-rt/dist/lib/msan/msan_report.cpp vendor/compiler-rt/dist/lib/msan/msan_thread.cpp vendor/compiler-rt/dist/lib/profile/InstrProfilingRuntime.cpp vendor/compiler-rt/dist/lib/safestack/safestack.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sancov_flags.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_checks.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_report.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_libcdep.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_nolibc.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_win_dll_thunk.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_win_dynamic_runtime_thunk.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_win_sections.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_win_weak_interception.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_deadlock_detector1.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_deadlock_detector2.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_errno.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_file.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flag_parser.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flags.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_fuchsia.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_glibc_version.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libc.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libignore.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_libcdep.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_s390.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac_libcdep.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_netbsd.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_openbsd.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_persistent_allocator.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_linux.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix_libcdep.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_printf.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_bsd.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_common.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_linux.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_mac.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_rtems.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_solaris.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stackdepot.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace_sparc.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stoptheworld_mac.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_suppressions.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_mac.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_report.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_win.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_termination.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_thread_registry.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_tls_get_addr.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_type_traits.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_unwind_win.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win_dll_thunk.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win_dynamic_runtime_thunk.cpp vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win_weak_interception.cpp vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cpp vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cpp vendor/compiler-rt/dist/lib/scudo/standalone/checksum.cpp vendor/compiler-rt/dist/lib/scudo/standalone/common.cpp vendor/compiler-rt/dist/lib/scudo/standalone/crc32_hw.cpp vendor/compiler-rt/dist/lib/scudo/standalone/flags.cpp vendor/compiler-rt/dist/lib/scudo/standalone/flags_parser.cpp vendor/compiler-rt/dist/lib/scudo/standalone/fuchsia.cpp vendor/compiler-rt/dist/lib/scudo/standalone/linux.cpp vendor/compiler-rt/dist/lib/scudo/standalone/report.cpp vendor/compiler-rt/dist/lib/scudo/standalone/secondary.cpp vendor/compiler-rt/dist/lib/scudo/standalone/string_utils.cpp vendor/compiler-rt/dist/lib/scudo/standalone/wrappers_c.cpp vendor/compiler-rt/dist/lib/scudo/standalone/wrappers_c_bionic.cpp vendor/compiler-rt/dist/lib/scudo/standalone/wrappers_cpp.cpp vendor/compiler-rt/dist/lib/stats/stats.cpp vendor/compiler-rt/dist/lib/stats/stats_client.cpp vendor/compiler-rt/dist/lib/tsan/benchmarks/func_entry_exit.cpp vendor/compiler-rt/dist/lib/tsan/benchmarks/mini_bench_local.cpp vendor/compiler-rt/dist/lib/tsan/benchmarks/mini_bench_shared.cpp vendor/compiler-rt/dist/lib/tsan/benchmarks/mop.cpp vendor/compiler-rt/dist/lib/tsan/benchmarks/start_many_threads.cpp vendor/compiler-rt/dist/lib/tsan/benchmarks/vts_many_threads_bench.cpp vendor/compiler-rt/dist/lib/tsan/dd/dd_interceptors.cpp vendor/compiler-rt/dist/lib/tsan/dd/dd_rtl.cpp vendor/compiler-rt/dist/lib/tsan/go/tsan_go.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_clock.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_debugging.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_external.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_fd.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_flags.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_ignoreset.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors_mac.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors_mach_vm.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors_posix.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_ann.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_atomic.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_java.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_malloc_mac.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_md5.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mman.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mutex.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mutexset.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_new_delete.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_linux.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_mac.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_posix.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_windows.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_preinit.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_report.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_mutex.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_proc.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_report.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_thread.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_stack_trace.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_stat.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_suppressions.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_symbolize.cpp vendor/compiler-rt/dist/lib/tsan/rtl/tsan_sync.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_diag.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_diag_standalone.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_flags.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers_cxx.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_init.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_init_standalone.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_init_standalone_preinit.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_monitor.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_signals_standalone.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash_itanium.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash_win.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_value.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_win_dll_thunk.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_win_dynamic_runtime_thunk.cpp vendor/compiler-rt/dist/lib/ubsan/ubsan_win_weak_interception.cpp vendor/compiler-rt/dist/lib/ubsan_minimal/ubsan_minimal_handlers.cpp vendor/compiler-rt/dist/lib/xray/xray_AArch64.cpp vendor/compiler-rt/dist/lib/xray/xray_arm.cpp vendor/compiler-rt/dist/lib/xray/xray_basic_flags.cpp vendor/compiler-rt/dist/lib/xray/xray_basic_logging.cpp vendor/compiler-rt/dist/lib/xray/xray_buffer_queue.cpp vendor/compiler-rt/dist/lib/xray/xray_fdr_flags.cpp vendor/compiler-rt/dist/lib/xray/xray_fdr_logging.cpp vendor/compiler-rt/dist/lib/xray/xray_flags.cpp vendor/compiler-rt/dist/lib/xray/xray_init.cpp vendor/compiler-rt/dist/lib/xray/xray_interface.cpp vendor/compiler-rt/dist/lib/xray/xray_log_interface.cpp vendor/compiler-rt/dist/lib/xray/xray_mips.cpp vendor/compiler-rt/dist/lib/xray/xray_mips64.cpp vendor/compiler-rt/dist/lib/xray/xray_powerpc64.cpp vendor/compiler-rt/dist/lib/xray/xray_profile_collector.cpp vendor/compiler-rt/dist/lib/xray/xray_profiling.cpp vendor/compiler-rt/dist/lib/xray/xray_profiling_flags.cpp vendor/compiler-rt/dist/lib/xray/xray_trampoline_powerpc64.cpp vendor/compiler-rt/dist/lib/xray/xray_utils.cpp vendor/compiler-rt/dist/lib/xray/xray_x86_64.cpp vendor/compiler-rt/dist/tools/ vendor/compiler-rt/dist/tools/CMakeLists.txt vendor/compiler-rt/dist/tools/gwp_asan/ vendor/compiler-rt/dist/tools/gwp_asan/CMakeLists.txt vendor/compiler-rt/dist/tools/gwp_asan/stack_trace_compressor_fuzzer.cpp Deleted: vendor/compiler-rt/dist/lib/asan/asan_activation.cc vendor/compiler-rt/dist/lib/asan/asan_allocator.cc vendor/compiler-rt/dist/lib/asan/asan_debugging.cc vendor/compiler-rt/dist/lib/asan/asan_descriptions.cc vendor/compiler-rt/dist/lib/asan/asan_errors.cc vendor/compiler-rt/dist/lib/asan/asan_fake_stack.cc vendor/compiler-rt/dist/lib/asan/asan_flags.cc vendor/compiler-rt/dist/lib/asan/asan_fuchsia.cc vendor/compiler-rt/dist/lib/asan/asan_globals.cc vendor/compiler-rt/dist/lib/asan/asan_globals_win.cc vendor/compiler-rt/dist/lib/asan/asan_interceptors.cc vendor/compiler-rt/dist/lib/asan/asan_interceptors_memintrinsics.cc vendor/compiler-rt/dist/lib/asan/asan_linux.cc vendor/compiler-rt/dist/lib/asan/asan_mac.cc vendor/compiler-rt/dist/lib/asan/asan_malloc_linux.cc vendor/compiler-rt/dist/lib/asan/asan_malloc_mac.cc vendor/compiler-rt/dist/lib/asan/asan_malloc_win.cc vendor/compiler-rt/dist/lib/asan/asan_memory_profile.cc vendor/compiler-rt/dist/lib/asan/asan_new_delete.cc vendor/compiler-rt/dist/lib/asan/asan_poisoning.cc vendor/compiler-rt/dist/lib/asan/asan_posix.cc vendor/compiler-rt/dist/lib/asan/asan_preinit.cc vendor/compiler-rt/dist/lib/asan/asan_premap_shadow.cc vendor/compiler-rt/dist/lib/asan/asan_report.cc vendor/compiler-rt/dist/lib/asan/asan_rtems.cc vendor/compiler-rt/dist/lib/asan/asan_rtl.cc vendor/compiler-rt/dist/lib/asan/asan_shadow_setup.cc vendor/compiler-rt/dist/lib/asan/asan_stack.cc vendor/compiler-rt/dist/lib/asan/asan_stats.cc vendor/compiler-rt/dist/lib/asan/asan_suppressions.cc vendor/compiler-rt/dist/lib/asan/asan_thread.cc vendor/compiler-rt/dist/lib/asan/asan_win.cc vendor/compiler-rt/dist/lib/asan/asan_win_dll_thunk.cc vendor/compiler-rt/dist/lib/asan/asan_win_dynamic_runtime_thunk.cc vendor/compiler-rt/dist/lib/asan/asan_win_weak_interception.cc vendor/compiler-rt/dist/lib/dfsan/dfsan.cc vendor/compiler-rt/dist/lib/dfsan/dfsan_custom.cc vendor/compiler-rt/dist/lib/dfsan/dfsan_interceptors.cc vendor/compiler-rt/dist/lib/fuzzer/utils/ vendor/compiler-rt/dist/lib/interception/interception_linux.cc vendor/compiler-rt/dist/lib/interception/interception_mac.cc vendor/compiler-rt/dist/lib/interception/interception_type_test.cc vendor/compiler-rt/dist/lib/interception/interception_win.cc vendor/compiler-rt/dist/lib/lsan/lsan.cc vendor/compiler-rt/dist/lib/lsan/lsan_allocator.cc vendor/compiler-rt/dist/lib/lsan/lsan_common.cc vendor/compiler-rt/dist/lib/lsan/lsan_common_linux.cc vendor/compiler-rt/dist/lib/lsan/lsan_common_mac.cc vendor/compiler-rt/dist/lib/lsan/lsan_interceptors.cc vendor/compiler-rt/dist/lib/lsan/lsan_linux.cc vendor/compiler-rt/dist/lib/lsan/lsan_mac.cc vendor/compiler-rt/dist/lib/lsan/lsan_malloc_mac.cc vendor/compiler-rt/dist/lib/lsan/lsan_preinit.cc vendor/compiler-rt/dist/lib/lsan/lsan_thread.cc vendor/compiler-rt/dist/lib/msan/msan.cc vendor/compiler-rt/dist/lib/msan/msan_allocator.cc vendor/compiler-rt/dist/lib/msan/msan_chained_origin_depot.cc vendor/compiler-rt/dist/lib/msan/msan_interceptors.cc vendor/compiler-rt/dist/lib/msan/msan_linux.cc vendor/compiler-rt/dist/lib/msan/msan_new_delete.cc vendor/compiler-rt/dist/lib/msan/msan_poisoning.cc vendor/compiler-rt/dist/lib/msan/msan_report.cc vendor/compiler-rt/dist/lib/msan/msan_thread.cc vendor/compiler-rt/dist/lib/profile/InstrProfilingRuntime.cc vendor/compiler-rt/dist/lib/safestack/safestack.cc vendor/compiler-rt/dist/lib/sancov/ vendor/compiler-rt/dist/lib/sanitizer_common/sancov_flags.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_checks.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_report.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_nolibc.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_fuchsia.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_win_dll_thunk.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_win_dynamic_runtime_thunk.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_win_sections.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_win_weak_interception.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_deadlock_detector1.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_deadlock_detector2.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_errno.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_file.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flag_parser.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flags.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_fuchsia.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libc.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libignore.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_s390.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_netbsd.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_openbsd.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_persistent_allocator.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_linux.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_openbsd.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_posix.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_solaris.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_printf.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_bsd.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_common.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_linux.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_mac.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_solaris.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_rtems.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_solaris.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stackdepot.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace_printer.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace_sparc.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stoptheworld_mac.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_suppressions.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_mac.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_markup.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_report.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_win.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_termination.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_thread_registry.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_tls_get_addr.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_type_traits.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_unwind_win.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win_dll_thunk.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win_dynamic_runtime_thunk.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win_weak_interception.cc vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cc vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cc vendor/compiler-rt/dist/lib/scudo/standalone/checksum.cc vendor/compiler-rt/dist/lib/scudo/standalone/common.cc vendor/compiler-rt/dist/lib/scudo/standalone/crc32_hw.cc vendor/compiler-rt/dist/lib/scudo/standalone/flags.cc vendor/compiler-rt/dist/lib/scudo/standalone/flags_parser.cc vendor/compiler-rt/dist/lib/scudo/standalone/fuchsia.cc vendor/compiler-rt/dist/lib/scudo/standalone/linux.cc vendor/compiler-rt/dist/lib/scudo/standalone/report.cc vendor/compiler-rt/dist/lib/scudo/standalone/secondary.cc vendor/compiler-rt/dist/lib/scudo/standalone/string_utils.cc vendor/compiler-rt/dist/lib/scudo/standalone/wrappers_c.cc vendor/compiler-rt/dist/lib/scudo/standalone/wrappers_c_bionic.cc vendor/compiler-rt/dist/lib/scudo/standalone/wrappers_cpp.cc vendor/compiler-rt/dist/lib/stats/stats.cc vendor/compiler-rt/dist/lib/stats/stats_client.cc vendor/compiler-rt/dist/lib/tsan/benchmarks/func_entry_exit.cc vendor/compiler-rt/dist/lib/tsan/benchmarks/mini_bench_local.cc vendor/compiler-rt/dist/lib/tsan/benchmarks/mini_bench_shared.cc vendor/compiler-rt/dist/lib/tsan/benchmarks/mop.cc vendor/compiler-rt/dist/lib/tsan/benchmarks/start_many_threads.cc vendor/compiler-rt/dist/lib/tsan/benchmarks/vts_many_threads_bench.cc vendor/compiler-rt/dist/lib/tsan/dd/dd_interceptors.cc vendor/compiler-rt/dist/lib/tsan/dd/dd_rtl.cc vendor/compiler-rt/dist/lib/tsan/go/tsan_go.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_clock.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_debugging.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_external.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_fd.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_flags.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_ignoreset.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors_mac.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_ann.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_atomic.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_java.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_libdispatch.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_malloc_mac.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_md5.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mman.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mutex.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mutexset.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_new_delete.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_linux.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_mac.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_posix.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_windows.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_preinit.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_report.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_mutex.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_proc.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_report.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_thread.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_stack_trace.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_stat.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_suppressions.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_symbolize.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_sync.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_diag.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_diag_standalone.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_flags.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers_cxx.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_init.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_init_standalone.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_init_standalone_preinit.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_monitor.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_signals_standalone.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash_itanium.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash_win.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_value.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_win_dll_thunk.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_win_dynamic_runtime_thunk.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_win_weak_interception.cc vendor/compiler-rt/dist/lib/ubsan_minimal/ubsan_minimal_handlers.cc vendor/compiler-rt/dist/lib/xray/xray_AArch64.cc vendor/compiler-rt/dist/lib/xray/xray_arm.cc vendor/compiler-rt/dist/lib/xray/xray_basic_flags.cc vendor/compiler-rt/dist/lib/xray/xray_basic_logging.cc vendor/compiler-rt/dist/lib/xray/xray_buffer_queue.cc vendor/compiler-rt/dist/lib/xray/xray_fdr_flags.cc vendor/compiler-rt/dist/lib/xray/xray_fdr_logging.cc vendor/compiler-rt/dist/lib/xray/xray_flags.cc vendor/compiler-rt/dist/lib/xray/xray_init.cc vendor/compiler-rt/dist/lib/xray/xray_interface.cc vendor/compiler-rt/dist/lib/xray/xray_log_interface.cc vendor/compiler-rt/dist/lib/xray/xray_mips.cc vendor/compiler-rt/dist/lib/xray/xray_mips64.cc vendor/compiler-rt/dist/lib/xray/xray_powerpc64.cc vendor/compiler-rt/dist/lib/xray/xray_profile_collector.cc vendor/compiler-rt/dist/lib/xray/xray_profiling.cc vendor/compiler-rt/dist/lib/xray/xray_profiling_flags.cc vendor/compiler-rt/dist/lib/xray/xray_trampoline_powerpc64.cc vendor/compiler-rt/dist/lib/xray/xray_utils.cc vendor/compiler-rt/dist/lib/xray/xray_x86_64.cc Modified: vendor/compiler-rt/dist/include/sanitizer/dfsan_interface.h vendor/compiler-rt/dist/include/sanitizer/tsan_interface_atomic.h vendor/compiler-rt/dist/lib/asan/asan_allocator.h vendor/compiler-rt/dist/lib/asan/asan_descriptions.h vendor/compiler-rt/dist/lib/asan/asan_errors.h vendor/compiler-rt/dist/lib/asan/asan_fake_stack.h vendor/compiler-rt/dist/lib/asan/asan_flags.inc vendor/compiler-rt/dist/lib/asan/asan_interceptors.h vendor/compiler-rt/dist/lib/asan/asan_interceptors_memintrinsics.h vendor/compiler-rt/dist/lib/asan/asan_internal.h vendor/compiler-rt/dist/lib/asan/asan_scariness_score.h vendor/compiler-rt/dist/lib/asan/asan_stack.h vendor/compiler-rt/dist/lib/asan/asan_suppressions.h vendor/compiler-rt/dist/lib/asan/asan_thread.h vendor/compiler-rt/dist/lib/builtins/adddf3.c vendor/compiler-rt/dist/lib/builtins/addsf3.c vendor/compiler-rt/dist/lib/builtins/addtf3.c vendor/compiler-rt/dist/lib/builtins/atomic.c vendor/compiler-rt/dist/lib/builtins/clear_cache.c vendor/compiler-rt/dist/lib/builtins/cpu_model.c vendor/compiler-rt/dist/lib/builtins/divtf3.c vendor/compiler-rt/dist/lib/builtins/emutls.c vendor/compiler-rt/dist/lib/builtins/extenddftf2.c vendor/compiler-rt/dist/lib/builtins/extendsftf2.c vendor/compiler-rt/dist/lib/builtins/fixunsxfdi.c vendor/compiler-rt/dist/lib/builtins/fixunsxfsi.c vendor/compiler-rt/dist/lib/builtins/fixxfdi.c vendor/compiler-rt/dist/lib/builtins/fp_add_impl.inc vendor/compiler-rt/dist/lib/builtins/fp_lib.h vendor/compiler-rt/dist/lib/builtins/fp_trunc_impl.inc vendor/compiler-rt/dist/lib/builtins/subdf3.c vendor/compiler-rt/dist/lib/builtins/subsf3.c vendor/compiler-rt/dist/lib/builtins/subtf3.c vendor/compiler-rt/dist/lib/builtins/udivmoddi4.c vendor/compiler-rt/dist/lib/fuzzer/FuzzerBuiltinsMsvc.h vendor/compiler-rt/dist/lib/fuzzer/FuzzerDefs.h vendor/compiler-rt/dist/lib/fuzzer/FuzzerDriver.cpp vendor/compiler-rt/dist/lib/fuzzer/FuzzerExtFunctions.def vendor/compiler-rt/dist/lib/fuzzer/FuzzerFlags.def vendor/compiler-rt/dist/lib/fuzzer/FuzzerInternal.h vendor/compiler-rt/dist/lib/fuzzer/FuzzerLoop.cpp vendor/compiler-rt/dist/lib/fuzzer/FuzzerMerge.cpp vendor/compiler-rt/dist/lib/fuzzer/FuzzerOptions.h vendor/compiler-rt/dist/lib/fuzzer/FuzzerTracePC.cpp vendor/compiler-rt/dist/lib/fuzzer/FuzzerTracePC.h vendor/compiler-rt/dist/lib/fuzzer/FuzzerUtil.h vendor/compiler-rt/dist/lib/fuzzer/FuzzerUtilFuchsia.cpp vendor/compiler-rt/dist/lib/fuzzer/FuzzerUtilPosix.cpp vendor/compiler-rt/dist/lib/fuzzer/FuzzerUtilWindows.cpp vendor/compiler-rt/dist/lib/gwp_asan/guarded_pool_allocator.cpp vendor/compiler-rt/dist/lib/gwp_asan/guarded_pool_allocator.h vendor/compiler-rt/dist/lib/gwp_asan/optional/backtrace.h vendor/compiler-rt/dist/lib/gwp_asan/optional/backtrace_linux_libc.cpp vendor/compiler-rt/dist/lib/gwp_asan/optional/backtrace_sanitizer_common.cpp vendor/compiler-rt/dist/lib/gwp_asan/options.h vendor/compiler-rt/dist/lib/gwp_asan/options.inc vendor/compiler-rt/dist/lib/hwasan/hwasan.cpp vendor/compiler-rt/dist/lib/hwasan/hwasan.h vendor/compiler-rt/dist/lib/hwasan/hwasan_allocator.cpp vendor/compiler-rt/dist/lib/hwasan/hwasan_allocator.h vendor/compiler-rt/dist/lib/hwasan/hwasan_flags.inc vendor/compiler-rt/dist/lib/hwasan/hwasan_interceptors.cpp vendor/compiler-rt/dist/lib/hwasan/hwasan_interface_internal.h vendor/compiler-rt/dist/lib/hwasan/hwasan_linux.cpp vendor/compiler-rt/dist/lib/hwasan/hwasan_new_delete.cpp vendor/compiler-rt/dist/lib/hwasan/hwasan_report.cpp vendor/compiler-rt/dist/lib/hwasan/hwasan_tag_mismatch_aarch64.S vendor/compiler-rt/dist/lib/interception/interception.h vendor/compiler-rt/dist/lib/lsan/lsan_common.h vendor/compiler-rt/dist/lib/msan/msan.h vendor/compiler-rt/dist/lib/profile/InstrProfiling.h vendor/compiler-rt/dist/lib/profile/InstrProfilingFile.c vendor/compiler-rt/dist/lib/profile/InstrProfilingPlatformFuchsia.c vendor/compiler-rt/dist/lib/profile/InstrProfilingUtil.c vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_checks.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_asm.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_atomic_msvc.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors.inc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interface.inc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_syscalls.inc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flag_parser.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_getauxval.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_internal_defs.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_malloc_mac.inc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_interceptors.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_posix.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_solaris.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_suppressions.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_internal.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_tls_get_addr.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_vector.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win_defs.h vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt vendor/compiler-rt/dist/lib/scudo/scudo_allocator_secondary.h vendor/compiler-rt/dist/lib/scudo/scudo_errors.cpp vendor/compiler-rt/dist/lib/scudo/standalone/allocator_config.h vendor/compiler-rt/dist/lib/scudo/standalone/chunk.h vendor/compiler-rt/dist/lib/scudo/standalone/combined.h vendor/compiler-rt/dist/lib/scudo/standalone/internal_defs.h vendor/compiler-rt/dist/lib/scudo/standalone/linux.h vendor/compiler-rt/dist/lib/scudo/standalone/list.h vendor/compiler-rt/dist/lib/scudo/standalone/local_cache.h vendor/compiler-rt/dist/lib/scudo/standalone/mutex.h vendor/compiler-rt/dist/lib/scudo/standalone/primary32.h vendor/compiler-rt/dist/lib/scudo/standalone/primary64.h vendor/compiler-rt/dist/lib/scudo/standalone/quarantine.h vendor/compiler-rt/dist/lib/scudo/standalone/secondary.h vendor/compiler-rt/dist/lib/scudo/standalone/size_class_map.h vendor/compiler-rt/dist/lib/scudo/standalone/stats.h vendor/compiler-rt/dist/lib/scudo/standalone/string_utils.h vendor/compiler-rt/dist/lib/scudo/standalone/tsd_exclusive.h vendor/compiler-rt/dist/lib/scudo/standalone/tsd_shared.h vendor/compiler-rt/dist/lib/scudo/standalone/wrappers_c.inc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_dispatch_defs.h vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface.h vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_inl.h vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_java.h vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mman.h vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform.h vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl.h vendor/compiler-rt/dist/lib/ubsan/ubsan_checks.inc Added: vendor/compiler-rt/dist/include/fuzzer/FuzzedDataProvider.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/include/fuzzer/FuzzedDataProvider.h Wed Oct 23 17:52:22 2019 (r353944) @@ -0,0 +1,299 @@ +//===- FuzzedDataProvider.h - Utility header for fuzz targets ---*- C++ -* ===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// A single header library providing an utility class to break up an array of +// bytes. Whenever run on the same input, provides the same output, as long as +// its methods are called in the same order, with the same arguments. +//===----------------------------------------------------------------------===// + +#ifndef LLVM_FUZZER_FUZZED_DATA_PROVIDER_H_ +#define LLVM_FUZZER_FUZZED_DATA_PROVIDER_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// In addition to the comments below, the API is also briefly documented at +// https://github.com/google/fuzzing/blob/master/docs/split-inputs.md#fuzzed-data-provider +class FuzzedDataProvider { + public: + // |data| is an array of length |size| that the FuzzedDataProvider wraps to + // provide more granular access. |data| must outlive the FuzzedDataProvider. + FuzzedDataProvider(const uint8_t *data, size_t size) + : data_ptr_(data), remaining_bytes_(size) {} + ~FuzzedDataProvider() = default; + + // Returns a std::vector containing |num_bytes| of input data. If fewer than + // |num_bytes| of data remain, returns a shorter std::vector containing all + // of the data that's left. Can be used with any byte sized type, such as + // char, unsigned char, uint8_t, etc. + template std::vector ConsumeBytes(size_t num_bytes) { + num_bytes = std::min(num_bytes, remaining_bytes_); + return ConsumeBytes(num_bytes, num_bytes); + } + + // Similar to |ConsumeBytes|, but also appends the terminator value at the end + // of the resulting vector. Useful, when a mutable null-terminated C-string is + // needed, for example. But that is a rare case. Better avoid it, if possible, + // and prefer using |ConsumeBytes| or |ConsumeBytesAsString| methods. + template + std::vector ConsumeBytesWithTerminator(size_t num_bytes, + T terminator = 0) { + num_bytes = std::min(num_bytes, remaining_bytes_); + std::vector result = ConsumeBytes(num_bytes + 1, num_bytes); + result.back() = terminator; + return result; + } + + // Returns a std::string containing |num_bytes| of input data. Using this and + // |.c_str()| on the resulting string is the best way to get an immutable + // null-terminated C string. If fewer than |num_bytes| of data remain, returns + // a shorter std::string containing all of the data that's left. + std::string ConsumeBytesAsString(size_t num_bytes) { + static_assert(sizeof(std::string::value_type) == sizeof(uint8_t), + "ConsumeBytesAsString cannot convert the data to a string."); + + num_bytes = std::min(num_bytes, remaining_bytes_); + std::string result( + reinterpret_cast(data_ptr_), + num_bytes); + Advance(num_bytes); + return result; + } + + // Returns a number in the range [min, max] by consuming bytes from the + // input data. The value might not be uniformly distributed in the given + // range. If there's no input data left, always returns |min|. |min| must + // be less than or equal to |max|. + template T ConsumeIntegralInRange(T min, T max) { + static_assert(std::is_integral::value, "An integral type is required."); + static_assert(sizeof(T) <= sizeof(uint64_t), "Unsupported integral type."); + + if (min > max) + abort(); + + // Use the biggest type possible to hold the range and the result. + uint64_t range = static_cast(max) - min; + uint64_t result = 0; + size_t offset = 0; + + while (offset < sizeof(T) * CHAR_BIT && (range >> offset) > 0 && + remaining_bytes_ != 0) { + // Pull bytes off the end of the seed data. Experimentally, this seems to + // allow the fuzzer to more easily explore the input space. This makes + // sense, since it works by modifying inputs that caused new code to run, + // and this data is often used to encode length of data read by + // |ConsumeBytes|. Separating out read lengths makes it easier modify the + // contents of the data that is actually read. + --remaining_bytes_; + result = (result << CHAR_BIT) | data_ptr_[remaining_bytes_]; + offset += CHAR_BIT; + } + + // Avoid division by 0, in case |range + 1| results in overflow. + if (range != std::numeric_limits::max()) + result = result % (range + 1); + + return static_cast(min + result); + } + + // Returns a std::string of length from 0 to |max_length|. When it runs out of + // input data, returns what remains of the input. Designed to be more stable + // with respect to a fuzzer inserting characters than just picking a random + // length and then consuming that many bytes with |ConsumeBytes|. + std::string ConsumeRandomLengthString(size_t max_length) { + // Reads bytes from the start of |data_ptr_|. Maps "\\" to "\", and maps "\" + // followed by anything else to the end of the string. As a result of this + // logic, a fuzzer can insert characters into the string, and the string + // will be lengthened to include those new characters, resulting in a more + // stable fuzzer than picking the length of a string independently from + // picking its contents. + std::string result; + + // Reserve the anticipated capaticity to prevent several reallocations. + result.reserve(std::min(max_length, remaining_bytes_)); + for (size_t i = 0; i < max_length && remaining_bytes_ != 0; ++i) { + char next = ConvertUnsignedToSigned(data_ptr_[0]); + Advance(1); + if (next == '\\' && remaining_bytes_ != 0) { + next = ConvertUnsignedToSigned(data_ptr_[0]); + Advance(1); + if (next != '\\') + break; + } + result += next; + } + + result.shrink_to_fit(); + return result; + } + + // Returns a std::vector containing all remaining bytes of the input data. + template std::vector ConsumeRemainingBytes() { + return ConsumeBytes(remaining_bytes_); + } + + // Returns a std::string containing all remaining bytes of the input data. + // Prefer using |ConsumeRemainingBytes| unless you actually need a std::string + // object. + std::string ConsumeRemainingBytesAsString() { + return ConsumeBytesAsString(remaining_bytes_); + } + + // Returns a number in the range [Type's min, Type's max]. The value might + // not be uniformly distributed in the given range. If there's no input data + // left, always returns |min|. + template T ConsumeIntegral() { + return ConsumeIntegralInRange(std::numeric_limits::min(), + std::numeric_limits::max()); + } + + // Reads one byte and returns a bool, or false when no data remains. + bool ConsumeBool() { return 1 & ConsumeIntegral(); } + + // Returns a copy of the value selected from the given fixed-size |array|. + template + T PickValueInArray(const T (&array)[size]) { + static_assert(size > 0, "The array must be non empty."); + return array[ConsumeIntegralInRange(0, size - 1)]; + } + + template + T PickValueInArray(std::initializer_list list) { + // TODO(Dor1s): switch to static_assert once C++14 is allowed. + if (!list.size()) + abort(); + + return *(list.begin() + ConsumeIntegralInRange(0, list.size() - 1)); + } + + // Returns an enum value. The enum must start at 0 and be contiguous. It must + // also contain |kMaxValue| aliased to its largest (inclusive) value. Such as: + // enum class Foo { SomeValue, OtherValue, kMaxValue = OtherValue }; + template T ConsumeEnum() { + static_assert(std::is_enum::value, "|T| must be an enum type."); + return static_cast(ConsumeIntegralInRange( + 0, static_cast(T::kMaxValue))); + } + + // Returns a floating point number in the range [0.0, 1.0]. If there's no + // input data left, always returns 0. + template T ConsumeProbability() { + static_assert(std::is_floating_point::value, + "A floating point type is required."); + + // Use different integral types for different floating point types in order + // to provide better density of the resulting values. + using IntegralType = + typename std::conditional<(sizeof(T) <= sizeof(uint32_t)), uint32_t, + uint64_t>::type; + + T result = static_cast(ConsumeIntegral()); + result /= static_cast(std::numeric_limits::max()); + return result; + } + + // Returns a floating point value in the range [Type's lowest, Type's max] by + // consuming bytes from the input data. If there's no input data left, always + // returns approximately 0. + template T ConsumeFloatingPoint() { + return ConsumeFloatingPointInRange(std::numeric_limits::lowest(), + std::numeric_limits::max()); + } + + // Returns a floating point value in the given range by consuming bytes from + // the input data. If there's no input data left, returns |min|. Note that + // |min| must be less than or equal to |max|. + template T ConsumeFloatingPointInRange(T min, T max) { + if (min > max) + abort(); + + T range = .0; + T result = min; + constexpr T zero(.0); + if (max > zero && min < zero && max > min + std::numeric_limits::max()) { + // The diff |max - min| would overflow the given floating point type. Use + // the half of the diff as the range and consume a bool to decide whether + // the result is in the first of the second part of the diff. + range = (max / 2.0) - (min / 2.0); + if (ConsumeBool()) { + result += range; + } + } else { + range = max - min; + } + + return result + range * ConsumeProbability(); + } + + // Reports the remaining bytes available for fuzzed input. + size_t remaining_bytes() { return remaining_bytes_; } + + private: + FuzzedDataProvider(const FuzzedDataProvider &) = delete; + FuzzedDataProvider &operator=(const FuzzedDataProvider &) = delete; + + void Advance(size_t num_bytes) { + if (num_bytes > remaining_bytes_) + abort(); + + data_ptr_ += num_bytes; + remaining_bytes_ -= num_bytes; + } + + template + std::vector ConsumeBytes(size_t size, size_t num_bytes_to_consume) { + static_assert(sizeof(T) == sizeof(uint8_t), "Incompatible data type."); + + // The point of using the size-based constructor below is to increase the + // odds of having a vector object with capacity being equal to the length. + // That part is always implementation specific, but at least both libc++ and + // libstdc++ allocate the requested number of bytes in that constructor, + // which seems to be a natural choice for other implementations as well. + // To increase the odds even more, we also call |shrink_to_fit| below. + std::vector result(size); + std::memcpy(result.data(), data_ptr_, num_bytes_to_consume); + Advance(num_bytes_to_consume); + + // Even though |shrink_to_fit| is also implementation specific, we expect it + // to provide an additional assurance in case vector's constructor allocated + // a buffer which is larger than the actual amount of data we put inside it. + result.shrink_to_fit(); + return result; + } + + template TS ConvertUnsignedToSigned(TU value) { + static_assert(sizeof(TS) == sizeof(TU), "Incompatible data types."); + static_assert(!std::numeric_limits::is_signed, + "Source type must be unsigned."); + + // TODO(Dor1s): change to `if constexpr` once C++17 becomes mainstream. + if (std::numeric_limits::is_modulo) + return static_cast(value); + + // Avoid using implementation-defined unsigned to signer conversions. + // To learn more, see https://stackoverflow.com/questions/13150449. + if (value <= std::numeric_limits::max()) { + return static_cast(value); + } else { + constexpr auto TS_min = std::numeric_limits::min(); + return TS_min + static_cast(value - TS_min); + } + } + + const uint8_t *data_ptr_; + size_t remaining_bytes_; +}; + +#endif // LLVM_FUZZER_FUZZED_DATA_PROVIDER_H_ Modified: vendor/compiler-rt/dist/include/sanitizer/dfsan_interface.h ============================================================================== --- vendor/compiler-rt/dist/include/sanitizer/dfsan_interface.h Wed Oct 23 17:52:16 2019 (r353943) +++ vendor/compiler-rt/dist/include/sanitizer/dfsan_interface.h Wed Oct 23 17:52:22 2019 (r353944) @@ -112,7 +112,7 @@ void dfsan_weak_hook_strncmp(void *caller_pc, const ch } // extern "C" template -void dfsan_set_label(dfsan_label label, T &data) { // NOLINT +void dfsan_set_label(dfsan_label label, T &data) { // NOLINT dfsan_set_label(label, (void *)&data, sizeof(T)); } Modified: vendor/compiler-rt/dist/include/sanitizer/tsan_interface_atomic.h ============================================================================== --- vendor/compiler-rt/dist/include/sanitizer/tsan_interface_atomic.h Wed Oct 23 17:52:16 2019 (r353943) +++ vendor/compiler-rt/dist/include/sanitizer/tsan_interface_atomic.h Wed Oct 23 17:52:22 2019 (r353944) @@ -17,10 +17,10 @@ extern "C" { #endif -typedef char __tsan_atomic8; -typedef short __tsan_atomic16; // NOLINT -typedef int __tsan_atomic32; -typedef long __tsan_atomic64; // NOLINT +typedef char __tsan_atomic8; +typedef short __tsan_atomic16; +typedef int __tsan_atomic32; +typedef long __tsan_atomic64; #if defined(__SIZEOF_INT128__) \ || (__clang_major__ * 100 + __clang_minor__ >= 302) __extension__ typedef __int128 __tsan_atomic128; Added: vendor/compiler-rt/dist/include/sanitizer/ubsan_interface.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/include/sanitizer/ubsan_interface.h Wed Oct 23 17:52:22 2019 (r353944) @@ -0,0 +1,32 @@ +//===-- sanitizer/ubsan_interface.h -----------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file is a part of UBSanitizer (UBSan). +// +// Public interface header. +//===----------------------------------------------------------------------===// +#ifndef SANITIZER_UBSAN_INTERFACE_H +#define SANITIZER_UBSAN_INTERFACE_H + +#ifdef __cplusplus +extern "C" { +#endif +/// User-provided default option settings. +/// +/// You can provide your own implementation of this function to return a string +/// containing UBSan runtime options (for example, +/// verbosity=1:halt_on_error=0). +/// +/// \returns Default options string. +const char* __ubsan_default_options(void); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // SANITIZER_UBSAN_INTERFACE_H Added: vendor/compiler-rt/dist/lib/asan/asan_activation.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/lib/asan/asan_activation.cpp Wed Oct 23 17:52:22 2019 (r353944) @@ -0,0 +1,143 @@ +//===-- asan_activation.cpp -------------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file is a part of AddressSanitizer, an address sanity checker. +// +// ASan activation/deactivation logic. +//===----------------------------------------------------------------------===// + +#include "asan_activation.h" +#include "asan_allocator.h" +#include "asan_flags.h" +#include "asan_internal.h" +#include "asan_mapping.h" +#include "asan_poisoning.h" +#include "asan_stack.h" +#include "sanitizer_common/sanitizer_common.h" +#include "sanitizer_common/sanitizer_flags.h" + +namespace __asan { + +static struct AsanDeactivatedFlags { + AllocatorOptions allocator_options; + int malloc_context_size; + bool poison_heap; + bool coverage; + const char *coverage_dir; + + void RegisterActivationFlags(FlagParser *parser, Flags *f, CommonFlags *cf) { +#define ASAN_ACTIVATION_FLAG(Type, Name) \ + RegisterFlag(parser, #Name, "", &f->Name); +#define COMMON_ACTIVATION_FLAG(Type, Name) \ + RegisterFlag(parser, #Name, "", &cf->Name); +#include "asan_activation_flags.inc" +#undef ASAN_ACTIVATION_FLAG +#undef COMMON_ACTIVATION_FLAG + + RegisterIncludeFlags(parser, cf); + } + + void OverrideFromActivationFlags() { + Flags f; + CommonFlags cf; + FlagParser parser; + RegisterActivationFlags(&parser, &f, &cf); + + cf.SetDefaults(); + // Copy the current activation flags. + allocator_options.CopyTo(&f, &cf); + cf.malloc_context_size = malloc_context_size; + f.poison_heap = poison_heap; + cf.coverage = coverage; + cf.coverage_dir = coverage_dir; + cf.verbosity = Verbosity(); + cf.help = false; // this is activation-specific help + + // Check if activation flags need to be overriden. + if (const char *env = GetEnv("ASAN_ACTIVATION_OPTIONS")) { + parser.ParseString(env); + } + + InitializeCommonFlags(&cf); + + if (Verbosity()) ReportUnrecognizedFlags(); + + if (cf.help) parser.PrintFlagDescriptions(); + + allocator_options.SetFrom(&f, &cf); + malloc_context_size = cf.malloc_context_size; + poison_heap = f.poison_heap; + coverage = cf.coverage; + coverage_dir = cf.coverage_dir; + } + + void Print() { + Report( + "quarantine_size_mb %d, thread_local_quarantine_size_kb %d, " + "max_redzone %d, poison_heap %d, malloc_context_size %d, " + "alloc_dealloc_mismatch %d, allocator_may_return_null %d, coverage %d, " + "coverage_dir %s, allocator_release_to_os_interval_ms %d\n", + allocator_options.quarantine_size_mb, + allocator_options.thread_local_quarantine_size_kb, + allocator_options.max_redzone, poison_heap, malloc_context_size, + allocator_options.alloc_dealloc_mismatch, + allocator_options.may_return_null, coverage, coverage_dir, + allocator_options.release_to_os_interval_ms); + } +} asan_deactivated_flags; + +static bool asan_is_deactivated; + +void AsanDeactivate() { + CHECK(!asan_is_deactivated); + VReport(1, "Deactivating ASan\n"); + + // Stash runtime state. + GetAllocatorOptions(&asan_deactivated_flags.allocator_options); + asan_deactivated_flags.malloc_context_size = GetMallocContextSize(); + asan_deactivated_flags.poison_heap = CanPoisonMemory(); + asan_deactivated_flags.coverage = common_flags()->coverage; + asan_deactivated_flags.coverage_dir = common_flags()->coverage_dir; + + // Deactivate the runtime. + SetCanPoisonMemory(false); + SetMallocContextSize(1); + + AllocatorOptions disabled = asan_deactivated_flags.allocator_options; + disabled.quarantine_size_mb = 0; + disabled.thread_local_quarantine_size_kb = 0; + // Redzone must be at least Max(16, granularity) bytes long. + disabled.min_redzone = Max(16, (int)SHADOW_GRANULARITY); + disabled.max_redzone = disabled.min_redzone; + disabled.alloc_dealloc_mismatch = false; + disabled.may_return_null = true; + ReInitializeAllocator(disabled); + + asan_is_deactivated = true; +} + +void AsanActivate() { + if (!asan_is_deactivated) return; + VReport(1, "Activating ASan\n"); + + UpdateProcessName(); + + asan_deactivated_flags.OverrideFromActivationFlags(); + + SetCanPoisonMemory(asan_deactivated_flags.poison_heap); + SetMallocContextSize(asan_deactivated_flags.malloc_context_size); + ReInitializeAllocator(asan_deactivated_flags.allocator_options); + + asan_is_deactivated = false; + if (Verbosity()) { + Report("Activated with flags:\n"); + asan_deactivated_flags.Print(); + } +} + +} // namespace __asan Added: vendor/compiler-rt/dist/lib/asan/asan_allocator.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/compiler-rt/dist/lib/asan/asan_allocator.cpp Wed Oct 23 17:52:22 2019 (r353944) @@ -0,0 +1,1119 @@ +//===-- asan_allocator.cpp ------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file is a part of AddressSanitizer, an address sanity checker. +// +// Implementation of ASan's memory allocator, 2-nd version. +// This variant uses the allocator from sanitizer_common, i.e. the one shared +// with ThreadSanitizer and MemorySanitizer. +// +//===----------------------------------------------------------------------===// + +#include "asan_allocator.h" +#include "asan_mapping.h" +#include "asan_poisoning.h" +#include "asan_report.h" +#include "asan_stack.h" +#include "asan_thread.h" +#include "sanitizer_common/sanitizer_allocator_checks.h" +#include "sanitizer_common/sanitizer_allocator_interface.h" +#include "sanitizer_common/sanitizer_errno.h" +#include "sanitizer_common/sanitizer_flags.h" +#include "sanitizer_common/sanitizer_internal_defs.h" +#include "sanitizer_common/sanitizer_list.h" +#include "sanitizer_common/sanitizer_stackdepot.h" +#include "sanitizer_common/sanitizer_quarantine.h" +#include "lsan/lsan_common.h" + +namespace __asan { + +// Valid redzone sizes are 16, 32, 64, ... 2048, so we encode them in 3 bits. +// We use adaptive redzones: for larger allocation larger redzones are used. +static u32 RZLog2Size(u32 rz_log) { + CHECK_LT(rz_log, 8); + return 16 << rz_log; +} + +static u32 RZSize2Log(u32 rz_size) { + CHECK_GE(rz_size, 16); + CHECK_LE(rz_size, 2048); + CHECK(IsPowerOfTwo(rz_size)); + u32 res = Log2(rz_size) - 4; + CHECK_EQ(rz_size, RZLog2Size(res)); + return res; +} + +static AsanAllocator &get_allocator(); + +// The memory chunk allocated from the underlying allocator looks like this: +// L L L L L L H H U U U U U U R R +// L -- left redzone words (0 or more bytes) +// H -- ChunkHeader (16 bytes), which is also a part of the left redzone. +// U -- user memory. +// R -- right redzone (0 or more bytes) +// ChunkBase consists of ChunkHeader and other bytes that overlap with user +// memory. + +// If the left redzone is greater than the ChunkHeader size we store a magic +// value in the first uptr word of the memory block and store the address of +// ChunkBase in the next uptr. +// M B L L L L L L L L L H H U U U U U U +// | ^ +// ---------------------| +// M -- magic value kAllocBegMagic +// B -- address of ChunkHeader pointing to the first 'H' +static const uptr kAllocBegMagic = 0xCC6E96B9; + +struct ChunkHeader { + // 1-st 8 bytes. + u32 chunk_state : 8; // Must be first. + u32 alloc_tid : 24; + + u32 free_tid : 24; + u32 from_memalign : 1; + u32 alloc_type : 2; + u32 rz_log : 3; + u32 lsan_tag : 2; + // 2-nd 8 bytes + // This field is used for small sizes. For large sizes it is equal to + // SizeClassMap::kMaxSize and the actual size is stored in the + // SecondaryAllocator's metadata. + u32 user_requested_size : 29; + // align < 8 -> 0 + // else -> log2(min(align, 512)) - 2 + u32 user_requested_alignment_log : 3; + u32 alloc_context_id; +}; + +struct ChunkBase : ChunkHeader { + // Header2, intersects with user memory. + u32 free_context_id; +}; + +static const uptr kChunkHeaderSize = sizeof(ChunkHeader); +static const uptr kChunkHeader2Size = sizeof(ChunkBase) - kChunkHeaderSize; +COMPILER_CHECK(kChunkHeaderSize == 16); +COMPILER_CHECK(kChunkHeader2Size <= 16); + +// Every chunk of memory allocated by this allocator can be in one of 3 states: +// CHUNK_AVAILABLE: the chunk is in the free list and ready to be allocated. +// CHUNK_ALLOCATED: the chunk is allocated and not yet freed. +// CHUNK_QUARANTINE: the chunk was freed and put into quarantine zone. +enum { + CHUNK_AVAILABLE = 0, // 0 is the default value even if we didn't set it. + CHUNK_ALLOCATED = 2, + CHUNK_QUARANTINE = 3 +}; + +struct AsanChunk: ChunkBase { + uptr Beg() { return reinterpret_cast(this) + kChunkHeaderSize; } + uptr UsedSize(bool locked_version = false) { + if (user_requested_size != SizeClassMap::kMaxSize) + return user_requested_size; + return *reinterpret_cast( + get_allocator().GetMetaData(AllocBeg(locked_version))); + } + void *AllocBeg(bool locked_version = false) { + if (from_memalign) { + if (locked_version) + return get_allocator().GetBlockBeginFastLocked( + reinterpret_cast(this)); + return get_allocator().GetBlockBegin(reinterpret_cast(this)); + } + return reinterpret_cast(Beg() - RZLog2Size(rz_log)); + } + bool AddrIsInside(uptr addr, bool locked_version = false) { + return (addr >= Beg()) && (addr < Beg() + UsedSize(locked_version)); + } +}; + +struct QuarantineCallback { + QuarantineCallback(AllocatorCache *cache, BufferedStackTrace *stack) + : cache_(cache), + stack_(stack) { + } + + void Recycle(AsanChunk *m) { + CHECK_EQ(m->chunk_state, CHUNK_QUARANTINE); + atomic_store((atomic_uint8_t*)m, CHUNK_AVAILABLE, memory_order_relaxed); + CHECK_NE(m->alloc_tid, kInvalidTid); + CHECK_NE(m->free_tid, kInvalidTid); + PoisonShadow(m->Beg(), + RoundUpTo(m->UsedSize(), SHADOW_GRANULARITY), + kAsanHeapLeftRedzoneMagic); + void *p = reinterpret_cast(m->AllocBeg()); + if (p != m) { + uptr *alloc_magic = reinterpret_cast(p); + CHECK_EQ(alloc_magic[0], kAllocBegMagic); + // Clear the magic value, as allocator internals may overwrite the + // contents of deallocated chunk, confusing GetAsanChunk lookup. + alloc_magic[0] = 0; + CHECK_EQ(alloc_magic[1], reinterpret_cast(m)); + } + + // Statistics. + AsanStats &thread_stats = GetCurrentThreadStats(); + thread_stats.real_frees++; + thread_stats.really_freed += m->UsedSize(); + + get_allocator().Deallocate(cache_, p); + } + + void *Allocate(uptr size) { + void *res = get_allocator().Allocate(cache_, size, 1); + // TODO(alekseys): Consider making quarantine OOM-friendly. + if (UNLIKELY(!res)) + ReportOutOfMemory(size, stack_); + return res; + } + + void Deallocate(void *p) { + get_allocator().Deallocate(cache_, p); + } + + private: + AllocatorCache* const cache_; + BufferedStackTrace* const stack_; +}; + +typedef Quarantine AsanQuarantine; +typedef AsanQuarantine::Cache QuarantineCache; + +void AsanMapUnmapCallback::OnMap(uptr p, uptr size) const { + PoisonShadow(p, size, kAsanHeapLeftRedzoneMagic); + // Statistics. + AsanStats &thread_stats = GetCurrentThreadStats(); + thread_stats.mmaps++; + thread_stats.mmaped += size; +} +void AsanMapUnmapCallback::OnUnmap(uptr p, uptr size) const { + PoisonShadow(p, size, 0); + // We are about to unmap a chunk of user memory. + // Mark the corresponding shadow memory as not needed. + FlushUnneededASanShadowMemory(p, size); + // Statistics. + AsanStats &thread_stats = GetCurrentThreadStats(); + thread_stats.munmaps++; + thread_stats.munmaped += size; +} + +// We can not use THREADLOCAL because it is not supported on some of the +// platforms we care about (OSX 10.6, Android). +// static THREADLOCAL AllocatorCache cache; +AllocatorCache *GetAllocatorCache(AsanThreadLocalMallocStorage *ms) { + CHECK(ms); + return &ms->allocator_cache; +} + +QuarantineCache *GetQuarantineCache(AsanThreadLocalMallocStorage *ms) { + CHECK(ms); + CHECK_LE(sizeof(QuarantineCache), sizeof(ms->quarantine_cache)); + return reinterpret_cast(ms->quarantine_cache); +} + +void AllocatorOptions::SetFrom(const Flags *f, const CommonFlags *cf) { + quarantine_size_mb = f->quarantine_size_mb; + thread_local_quarantine_size_kb = f->thread_local_quarantine_size_kb; + min_redzone = f->redzone; + max_redzone = f->max_redzone; + may_return_null = cf->allocator_may_return_null; + alloc_dealloc_mismatch = f->alloc_dealloc_mismatch; + release_to_os_interval_ms = cf->allocator_release_to_os_interval_ms; +} + +void AllocatorOptions::CopyTo(Flags *f, CommonFlags *cf) { + f->quarantine_size_mb = quarantine_size_mb; + f->thread_local_quarantine_size_kb = thread_local_quarantine_size_kb; + f->redzone = min_redzone; + f->max_redzone = max_redzone; + cf->allocator_may_return_null = may_return_null; + f->alloc_dealloc_mismatch = alloc_dealloc_mismatch; + cf->allocator_release_to_os_interval_ms = release_to_os_interval_ms; +} + +struct Allocator { + static const uptr kMaxAllowedMallocSize = + FIRST_32_SECOND_64(3UL << 30, 1ULL << 40); + + AsanAllocator allocator; + AsanQuarantine quarantine; + StaticSpinMutex fallback_mutex; + AllocatorCache fallback_allocator_cache; + QuarantineCache fallback_quarantine_cache; + + atomic_uint8_t rss_limit_exceeded; + + // ------------------- Options -------------------------- + atomic_uint16_t min_redzone; + atomic_uint16_t max_redzone; + atomic_uint8_t alloc_dealloc_mismatch; + + // ------------------- Initialization ------------------------ + explicit Allocator(LinkerInitialized) + : quarantine(LINKER_INITIALIZED), + fallback_quarantine_cache(LINKER_INITIALIZED) {} + + void CheckOptions(const AllocatorOptions &options) const { + CHECK_GE(options.min_redzone, 16); + CHECK_GE(options.max_redzone, options.min_redzone); + CHECK_LE(options.max_redzone, 2048); + CHECK(IsPowerOfTwo(options.min_redzone)); + CHECK(IsPowerOfTwo(options.max_redzone)); + } + + void SharedInitCode(const AllocatorOptions &options) { + CheckOptions(options); + quarantine.Init((uptr)options.quarantine_size_mb << 20, + (uptr)options.thread_local_quarantine_size_kb << 10); + atomic_store(&alloc_dealloc_mismatch, options.alloc_dealloc_mismatch, + memory_order_release); + atomic_store(&min_redzone, options.min_redzone, memory_order_release); + atomic_store(&max_redzone, options.max_redzone, memory_order_release); + } + + void InitLinkerInitialized(const AllocatorOptions &options) { + SetAllocatorMayReturnNull(options.may_return_null); + allocator.InitLinkerInitialized(options.release_to_os_interval_ms); + SharedInitCode(options); + } + + bool RssLimitExceeded() { + return atomic_load(&rss_limit_exceeded, memory_order_relaxed); + } + + void SetRssLimitExceeded(bool limit_exceeded) { + atomic_store(&rss_limit_exceeded, limit_exceeded, memory_order_relaxed); + } + + void RePoisonChunk(uptr chunk) { + // This could be a user-facing chunk (with redzones), or some internal + // housekeeping chunk, like TransferBatch. Start by assuming the former. + AsanChunk *ac = GetAsanChunk((void *)chunk); + uptr allocated_size = allocator.GetActuallyAllocatedSize((void *)ac); + uptr beg = ac->Beg(); + uptr end = ac->Beg() + ac->UsedSize(true); + uptr chunk_end = chunk + allocated_size; + if (chunk < beg && beg < end && end <= chunk_end && + ac->chunk_state == CHUNK_ALLOCATED) { + // Looks like a valid AsanChunk in use, poison redzones only. + PoisonShadow(chunk, beg - chunk, kAsanHeapLeftRedzoneMagic); + uptr end_aligned_down = RoundDownTo(end, SHADOW_GRANULARITY); + FastPoisonShadowPartialRightRedzone( + end_aligned_down, end - end_aligned_down, + chunk_end - end_aligned_down, kAsanHeapLeftRedzoneMagic); + } else { + // This is either not an AsanChunk or freed or quarantined AsanChunk. + // In either case, poison everything. + PoisonShadow(chunk, allocated_size, kAsanHeapLeftRedzoneMagic); + } + } + + void ReInitialize(const AllocatorOptions &options) { + SetAllocatorMayReturnNull(options.may_return_null); + allocator.SetReleaseToOSIntervalMs(options.release_to_os_interval_ms); + SharedInitCode(options); + + // Poison all existing allocation's redzones. + if (CanPoisonMemory()) { + allocator.ForceLock(); + allocator.ForEachChunk( + [](uptr chunk, void *alloc) { + ((Allocator *)alloc)->RePoisonChunk(chunk); + }, + this); + allocator.ForceUnlock(); + } + } + + void GetOptions(AllocatorOptions *options) const { + options->quarantine_size_mb = quarantine.GetSize() >> 20; + options->thread_local_quarantine_size_kb = quarantine.GetCacheSize() >> 10; + options->min_redzone = atomic_load(&min_redzone, memory_order_acquire); + options->max_redzone = atomic_load(&max_redzone, memory_order_acquire); + options->may_return_null = AllocatorMayReturnNull(); + options->alloc_dealloc_mismatch = + atomic_load(&alloc_dealloc_mismatch, memory_order_acquire); + options->release_to_os_interval_ms = allocator.ReleaseToOSIntervalMs(); + } + + // -------------------- Helper methods. ------------------------- + uptr ComputeRZLog(uptr user_requested_size) { + u32 rz_log = + user_requested_size <= 64 - 16 ? 0 : + user_requested_size <= 128 - 32 ? 1 : + user_requested_size <= 512 - 64 ? 2 : + user_requested_size <= 4096 - 128 ? 3 : + user_requested_size <= (1 << 14) - 256 ? 4 : + user_requested_size <= (1 << 15) - 512 ? 5 : + user_requested_size <= (1 << 16) - 1024 ? 6 : 7; + u32 min_rz = atomic_load(&min_redzone, memory_order_acquire); + u32 max_rz = atomic_load(&max_redzone, memory_order_acquire); + return Min(Max(rz_log, RZSize2Log(min_rz)), RZSize2Log(max_rz)); + } + + static uptr ComputeUserRequestedAlignmentLog(uptr user_requested_alignment) { + if (user_requested_alignment < 8) + return 0; + if (user_requested_alignment > 512) + user_requested_alignment = 512; + return Log2(user_requested_alignment) - 2; + } + + static uptr ComputeUserAlignment(uptr user_requested_alignment_log) { + if (user_requested_alignment_log == 0) + return 0; + return 1LL << (user_requested_alignment_log + 2); + } + + // We have an address between two chunks, and we want to report just one. + AsanChunk *ChooseChunk(uptr addr, AsanChunk *left_chunk, + AsanChunk *right_chunk) { + // Prefer an allocated chunk over freed chunk and freed chunk + // over available chunk. + if (left_chunk->chunk_state != right_chunk->chunk_state) { + if (left_chunk->chunk_state == CHUNK_ALLOCATED) + return left_chunk; + if (right_chunk->chunk_state == CHUNK_ALLOCATED) + return right_chunk; + if (left_chunk->chunk_state == CHUNK_QUARANTINE) + return left_chunk; + if (right_chunk->chunk_state == CHUNK_QUARANTINE) + return right_chunk; + } + // Same chunk_state: choose based on offset. + sptr l_offset = 0, r_offset = 0; + CHECK(AsanChunkView(left_chunk).AddrIsAtRight(addr, 1, &l_offset)); + CHECK(AsanChunkView(right_chunk).AddrIsAtLeft(addr, 1, &r_offset)); + if (l_offset < r_offset) + return left_chunk; + return right_chunk; + } + + // -------------------- Allocation/Deallocation routines --------------- + void *Allocate(uptr size, uptr alignment, BufferedStackTrace *stack, + AllocType alloc_type, bool can_fill) { + if (UNLIKELY(!asan_inited)) + AsanInitFromRtl(); + if (RssLimitExceeded()) { + if (AllocatorMayReturnNull()) + return nullptr; + ReportRssLimitExceeded(stack); + } + Flags &fl = *flags(); + CHECK(stack); + const uptr min_alignment = SHADOW_GRANULARITY; + const uptr user_requested_alignment_log = + ComputeUserRequestedAlignmentLog(alignment); + if (alignment < min_alignment) + alignment = min_alignment; + if (size == 0) { + // We'd be happy to avoid allocating memory for zero-size requests, but + // some programs/tests depend on this behavior and assume that malloc + // would not return NULL even for zero-size allocations. Moreover, it + // looks like operator new should never return NULL, and results of + // consecutive "new" calls must be different even if the allocated size + // is zero. + size = 1; + } + CHECK(IsPowerOfTwo(alignment)); + uptr rz_log = ComputeRZLog(size); + uptr rz_size = RZLog2Size(rz_log); + uptr rounded_size = RoundUpTo(Max(size, kChunkHeader2Size), alignment); + uptr needed_size = rounded_size + rz_size; + if (alignment > min_alignment) + needed_size += alignment; + bool using_primary_allocator = true; + // If we are allocating from the secondary allocator, there will be no + // automatic right redzone, so add the right redzone manually. + if (!PrimaryAllocator::CanAllocate(needed_size, alignment)) { + needed_size += rz_size; + using_primary_allocator = false; + } + CHECK(IsAligned(needed_size, min_alignment)); + if (size > kMaxAllowedMallocSize || needed_size > kMaxAllowedMallocSize) { + if (AllocatorMayReturnNull()) { + Report("WARNING: AddressSanitizer failed to allocate 0x%zx bytes\n", + (void*)size); + return nullptr; + } + ReportAllocationSizeTooBig(size, needed_size, kMaxAllowedMallocSize, + stack); + } + + AsanThread *t = GetCurrentThread(); + void *allocated; + if (t) { + AllocatorCache *cache = GetAllocatorCache(&t->malloc_storage()); + allocated = allocator.Allocate(cache, needed_size, 8); + } else { + SpinMutexLock l(&fallback_mutex); + AllocatorCache *cache = &fallback_allocator_cache; + allocated = allocator.Allocate(cache, needed_size, 8); + } + if (UNLIKELY(!allocated)) { + SetAllocatorOutOfMemory(); + if (AllocatorMayReturnNull()) + return nullptr; + ReportOutOfMemory(size, stack); + } + + if (*(u8 *)MEM_TO_SHADOW((uptr)allocated) == 0 && CanPoisonMemory()) { + // Heap poisoning is enabled, but the allocator provides an unpoisoned + // chunk. This is possible if CanPoisonMemory() was false for some + // time, for example, due to flags()->start_disabled. + // Anyway, poison the block before using it for anything else. + uptr allocated_size = allocator.GetActuallyAllocatedSize(allocated); + PoisonShadow((uptr)allocated, allocated_size, kAsanHeapLeftRedzoneMagic); + } + + uptr alloc_beg = reinterpret_cast(allocated); + uptr alloc_end = alloc_beg + needed_size; + uptr beg_plus_redzone = alloc_beg + rz_size; + uptr user_beg = beg_plus_redzone; + if (!IsAligned(user_beg, alignment)) + user_beg = RoundUpTo(user_beg, alignment); + uptr user_end = user_beg + size; + CHECK_LE(user_end, alloc_end); + uptr chunk_beg = user_beg - kChunkHeaderSize; + AsanChunk *m = reinterpret_cast(chunk_beg); + m->alloc_type = alloc_type; + m->rz_log = rz_log; + u32 alloc_tid = t ? t->tid() : 0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:52:27 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 63DE2159B10; Wed, 23 Oct 2019 17:52:27 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yyd723MNz4SYB; Wed, 23 Oct 2019 17:52:27 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 120FE374; Wed, 23 Oct 2019 17:52:27 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHqQVi078204; Wed, 23 Oct 2019 17:52:26 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHqQm6078203; Wed, 23 Oct 2019 17:52:26 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231752.x9NHqQm6078203@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:52:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353945 - vendor/compiler-rt/compiler-rt-r375505 X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/compiler-rt/compiler-rt-r375505 X-SVN-Commit-Revision: 353945 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:52:27 -0000 Author: dim Date: Wed Oct 23 17:52:26 2019 New Revision: 353945 URL: https://svnweb.freebsd.org/changeset/base/353945 Log: Tag stripped compiler-rt trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub. Added: vendor/compiler-rt/compiler-rt-r375505/ - copied from r353944, vendor/compiler-rt/dist/ From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:52:34 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 23E46159B80; Wed, 23 Oct 2019 17:52:34 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yydF5XbDz4SjW; Wed, 23 Oct 2019 17:52:33 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2949937D; Wed, 23 Oct 2019 17:52:33 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHqXNp078274; Wed, 23 Oct 2019 17:52:33 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHqUv2078256; Wed, 23 Oct 2019 17:52:30 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231752.x9NHqUv2078256@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:52:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353946 - in vendor/libc++/dist: include include/experimental include/ext src src/experimental src/filesystem X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/libc++/dist: include include/experimental include/ext src src/experimental src/filesystem X-SVN-Commit-Revision: 353946 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:52:34 -0000 Author: dim Date: Wed Oct 23 17:52:30 2019 New Revision: 353946 URL: https://svnweb.freebsd.org/changeset/base/353946 Log: Vendor import of stripped libc++ trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub: https://llvm.org/svn/llvm-project/libcxx/trunk@375505 Added: vendor/libc++/dist/include/execution Modified: vendor/libc++/dist/include/__config vendor/libc++/dist/include/__functional_base vendor/libc++/dist/include/__libcpp_version vendor/libc++/dist/include/__locale vendor/libc++/dist/include/__mutex_base vendor/libc++/dist/include/__split_buffer vendor/libc++/dist/include/__string vendor/libc++/dist/include/__threading_support vendor/libc++/dist/include/__tuple vendor/libc++/dist/include/algorithm vendor/libc++/dist/include/atomic vendor/libc++/dist/include/bit vendor/libc++/dist/include/chrono vendor/libc++/dist/include/cmath vendor/libc++/dist/include/cstdio vendor/libc++/dist/include/deque vendor/libc++/dist/include/experimental/coroutine vendor/libc++/dist/include/ext/hash_map vendor/libc++/dist/include/ext/hash_set vendor/libc++/dist/include/filesystem vendor/libc++/dist/include/fstream vendor/libc++/dist/include/functional vendor/libc++/dist/include/istream vendor/libc++/dist/include/map vendor/libc++/dist/include/memory vendor/libc++/dist/include/module.modulemap vendor/libc++/dist/include/mutex vendor/libc++/dist/include/new vendor/libc++/dist/include/numeric vendor/libc++/dist/include/ostream vendor/libc++/dist/include/random vendor/libc++/dist/include/regex vendor/libc++/dist/include/set vendor/libc++/dist/include/string vendor/libc++/dist/include/string_view vendor/libc++/dist/include/thread vendor/libc++/dist/include/tuple vendor/libc++/dist/include/type_traits vendor/libc++/dist/include/utility vendor/libc++/dist/include/vector vendor/libc++/dist/src/CMakeLists.txt vendor/libc++/dist/src/algorithm.cpp vendor/libc++/dist/src/chrono.cpp vendor/libc++/dist/src/condition_variable.cpp vendor/libc++/dist/src/debug.cpp vendor/libc++/dist/src/experimental/memory_resource.cpp vendor/libc++/dist/src/filesystem/directory_iterator.cpp vendor/libc++/dist/src/filesystem/int128_builtins.cpp vendor/libc++/dist/src/filesystem/operations.cpp vendor/libc++/dist/src/iostream.cpp vendor/libc++/dist/src/memory.cpp vendor/libc++/dist/src/mutex.cpp vendor/libc++/dist/src/shared_mutex.cpp vendor/libc++/dist/src/thread.cpp vendor/libc++/dist/src/utility.cpp vendor/libc++/dist/src/valarray.cpp Modified: vendor/libc++/dist/include/__config ============================================================================== --- vendor/libc++/dist/include/__config Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/__config Wed Oct 23 17:52:30 2019 (r353946) @@ -32,7 +32,7 @@ # define _GNUC_VER_NEW 0 #endif -#define _LIBCPP_VERSION 9000 +#define _LIBCPP_VERSION 10000 #ifndef _LIBCPP_ABI_VERSION # define _LIBCPP_ABI_VERSION 1 @@ -183,10 +183,6 @@ # define _LIBCPP_COMPILER_IBM #endif -#ifndef _LIBCPP_CLANG_VER -#define _LIBCPP_CLANG_VER 0 -#endif - #if defined(_LIBCPP_COMPILER_GCC) && __cplusplus < 201103L #error "libc++ does not support using GCC with C++03. Please enable C++11" #endif @@ -246,6 +242,7 @@ #ifdef __FreeBSD__ # include +# include # if _BYTE_ORDER == _LITTLE_ENDIAN # define _LIBCPP_LITTLE_ENDIAN # else // _BYTE_ORDER == _LITTLE_ENDIAN @@ -483,11 +480,14 @@ typedef __char32_t char32_t; #define _LIBCPP_ALWAYS_INLINE __attribute__ ((__always_inline__)) -// No apple compilers support ""d and ""y at this time. -#if _LIBCPP_CLANG_VER < 800 || defined(__apple_build_version__) -#define _LIBCPP_HAS_NO_CXX20_CHRONO_LITERALS +// Literal operators ""d and ""y are supported starting with LLVM Clang 8 and AppleClang 10.0.1 +#if (defined(_LIBCPP_CLANG_VER) && _LIBCPP_CLANG_VER < 800) || \ + (defined(__apple_build_version__) && __apple_build_version__ < 10010000) +#define _LIBCPP_HAS_NO_CXX20_CHRONO_LITERALS #endif +#define _LIBCPP_DISABLE_EXTENSION_WARNING __extension__ + #elif defined(_LIBCPP_COMPILER_GCC) #define _ALIGNAS(x) __attribute__((__aligned__(x))) @@ -523,6 +523,8 @@ typedef __char32_t char32_t; #define _LIBCPP_ALWAYS_INLINE __attribute__ ((__always_inline__)) +#define _LIBCPP_DISABLE_EXTENSION_WARNING __extension__ + #elif defined(_LIBCPP_COMPILER_MSVC) #define _LIBCPP_TOSTRING2(x) #x @@ -548,6 +550,8 @@ typedef __char32_t char32_t; #define _LIBCPP_HAS_NO_VECTOR_EXTENSION +#define _LIBCPP_DISABLE_EXTENSION_WARNING + #elif defined(_LIBCPP_COMPILER_IBM) #define _ALIGNAS(x) __attribute__((__aligned__(x))) @@ -568,6 +572,8 @@ typedef __char32_t char32_t; #define _LIBCPP_HAS_NO_VECTOR_EXTENSION +#define _LIBCPP_DISABLE_EXTENSION_WARNING + #endif // _LIBCPP_COMPILER_[CLANG|GCC|MSVC|IBM] #if defined(_LIBCPP_OBJECT_FORMAT_COFF) @@ -958,6 +964,20 @@ typedef unsigned int char32_t; # define _LIBCPP_DEPRECATED_IN_CXX17 #endif +// Macros to enter and leave a state where deprecation warnings are suppressed. +#if !defined(_LIBCPP_SUPPRESS_DEPRECATED_PUSH) && \ + (defined(_LIBCPP_COMPILER_CLANG) || defined(_LIBCPP_COMPILER_GCC)) +# define _LIBCPP_SUPPRESS_DEPRECATED_PUSH \ + _Pragma("GCC diagnostic push") \ + _Pragma("GCC diagnostic ignored \"-Wdeprecated\"") +# define _LIBCPP_SUPPRESS_DEPRECATED_POP \ + _Pragma("GCC diagnostic pop") +#endif +#if !defined(_LIBCPP_SUPPRESS_DEPRECATED_PUSH) +# define _LIBCPP_SUPPRESS_DEPRECATED_PUSH +# define _LIBCPP_SUPPRESS_DEPRECATED_POP +#endif + #if _LIBCPP_STD_VER <= 11 # define _LIBCPP_EXPLICIT_AFTER_CXX11 #else @@ -1082,6 +1102,16 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_ # endif // _LIBCPP_HAS_THREAD_API #endif // _LIBCPP_HAS_NO_THREADS +#if defined(_LIBCPP_HAS_THREAD_API_PTHREAD) +#if defined(__ANDROID__) && __ANDROID_API__ >= 30 +#define _LIBCPP_HAS_COND_CLOCKWAIT +#elif defined(_LIBCPP_GLIBC_PREREQ) +#if _LIBCPP_GLIBC_PREREQ(2, 30) +#define _LIBCPP_HAS_COND_CLOCKWAIT +#endif +#endif +#endif + #if defined(_LIBCPP_HAS_NO_THREADS) && defined(_LIBCPP_HAS_THREAD_API_PTHREAD) #error _LIBCPP_HAS_THREAD_API_PTHREAD may only be defined when \ _LIBCPP_HAS_NO_THREADS is not defined. @@ -1097,17 +1127,35 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_ _LIBCPP_HAS_NO_THREADS is defined. #endif -// The Apple, glibc, and Bionic implementation of pthreads implements +#if defined(__STDCPP_THREADS__) && defined(_LIBCPP_HAS_NO_THREADS) +#error _LIBCPP_HAS_NO_THREADS cannot be set when __STDCPP_THREADS__ is set. +#endif + +#if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(__STDCPP_THREADS__) +#define __STDCPP_THREADS__ 1 +#endif + +// The glibc and Bionic implementation of pthreads implements // pthread_mutex_destroy as nop for regular mutexes. Additionally, Win32 // mutexes have no destroy mechanism. -// TODO(EricWF): Enable this optimization on Apple and Bionic platforms after -// speaking to their respective stakeholders. +// +// This optimization can't be performed on Apple platforms, where +// pthread_mutex_destroy can allow the kernel to release resources. +// See https://llvm.org/D64298 for details. +// +// TODO(EricWF): Enable this optimization on Bionic after speaking to their +// respective stakeholders. #if (defined(_LIBCPP_HAS_THREAD_API_PTHREAD) && defined(__GLIBC__)) \ || defined(_LIBCPP_HAS_THREAD_API_WIN32) # define _LIBCPP_HAS_TRIVIAL_MUTEX_DESTRUCTION #endif // Destroying a condvar is a nop on Windows. +// +// This optimization can't be performed on Apple platforms, where +// pthread_cond_destroy can allow the kernel to release resources. +// See https://llvm.org/D64298 for details. +// // TODO(EricWF): This is potentially true for some pthread implementations // as well. #if defined(_LIBCPP_HAS_THREAD_API_WIN32) @@ -1129,6 +1177,14 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_ #define _LIBCPP_HAS_NO_STDOUT #endif +// Some systems do not provide gets() in their C library, for security reasons. +#ifndef _LIBCPP_C_HAS_NO_GETS +# if defined(_LIBCPP_MSVCRT) || \ + (defined(__FreeBSD_version) && __FreeBSD_version >= 1300043) +# define _LIBCPP_C_HAS_NO_GETS +# endif +#endif + #if defined(__BIONIC__) || defined(__CloudABI__) || \ defined(__Fuchsia__) || defined(__wasi__) || defined(_LIBCPP_HAS_MUSL_LIBC) #define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE @@ -1224,7 +1280,7 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_ #ifndef _LIBCPP_NODEBUG_TYPE #if __has_attribute(__nodebug__) && \ - (defined(_LIBCPP_COMPILER_CLANG) && _LIBCPP_CLANG_VER >= 900) + (defined(_LIBCPP_CLANG_VER) && _LIBCPP_CLANG_VER >= 900) #define _LIBCPP_NODEBUG_TYPE __attribute__((nodebug)) #else #define _LIBCPP_NODEBUG_TYPE @@ -1410,6 +1466,17 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_ #endif // _LIBCPP_NO_AUTO_LINK #define _LIBCPP_UNUSED_VAR(x) ((void)(x)) + +// Configures the fopen close-on-exec mode character, if any. This string will +// be appended to any mode string used by fstream for fopen/fdopen. +// +// Not all platforms support this, but it helps avoid fd-leaks on platforms that +// do. +#if defined(__BIONIC__) +# define _LIBCPP_FOPEN_CLOEXEC_MODE "e" +#else +# define _LIBCPP_FOPEN_CLOEXEC_MODE +#endif #endif // __cplusplus Modified: vendor/libc++/dist/include/__functional_base ============================================================================== --- vendor/libc++/dist/include/__functional_base Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/__functional_base Wed Oct 23 17:52:30 2019 (r353946) @@ -558,7 +558,7 @@ struct __is_transparent<_Tp, _Up, // allocator_arg_t -struct _LIBCPP_TEMPLATE_VIS allocator_arg_t { }; +struct _LIBCPP_TEMPLATE_VIS allocator_arg_t { explicit allocator_arg_t() = default; }; #if defined(_LIBCPP_CXX03_LANG) || defined(_LIBCPP_BUILDING_LIBRARY) extern _LIBCPP_EXPORTED_FROM_ABI const allocator_arg_t allocator_arg; Modified: vendor/libc++/dist/include/__libcpp_version ============================================================================== --- vendor/libc++/dist/include/__libcpp_version Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/__libcpp_version Wed Oct 23 17:52:30 2019 (r353946) @@ -1 +1 @@ -9000 +10000 Modified: vendor/libc++/dist/include/__locale ============================================================================== --- vendor/libc++/dist/include/__locale Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/__locale Wed Oct 23 17:52:30 2019 (r353946) @@ -409,7 +409,7 @@ class _LIBCPP_TYPE_VIS ctype_base (public) static const mask xdigit = _ISxdigit; static const mask blank = _ISblank; #if defined(__mips__) - static const mask __regex_word = static_cast(_ISbit(15)); + static const mask __regex_word = static_cast(_ISbit(15)); #else static const mask __regex_word = 0x80; #endif Modified: vendor/libc++/dist/include/__mutex_base ============================================================================== --- vendor/libc++/dist/include/__mutex_base Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/__mutex_base Wed Oct 23 17:52:30 2019 (r353946) @@ -15,6 +15,7 @@ #include #include <__threading_support> +#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header @@ -65,9 +66,9 @@ class _LIBCPP_TYPE_VIS _LIBCPP_THREAD_SAFETY_ANNOTATIO static_assert(is_nothrow_default_constructible::value, "the default constructor for std::mutex must be nothrow"); -struct _LIBCPP_TYPE_VIS defer_lock_t {}; -struct _LIBCPP_TYPE_VIS try_to_lock_t {}; -struct _LIBCPP_TYPE_VIS adopt_lock_t {}; +struct _LIBCPP_TYPE_VIS defer_lock_t { explicit defer_lock_t() = default; }; +struct _LIBCPP_TYPE_VIS try_to_lock_t { explicit try_to_lock_t() = default; }; +struct _LIBCPP_TYPE_VIS adopt_lock_t { explicit adopt_lock_t() = default; }; #if defined(_LIBCPP_CXX03_LANG) || defined(_LIBCPP_BUILDING_LIBRARY) @@ -94,10 +95,11 @@ lock_guard (private) mutex_type& __m_; public: - _LIBCPP_INLINE_VISIBILITY + _LIBCPP_NODISCARD_EXT _LIBCPP_INLINE_VISIBILITY explicit lock_guard(mutex_type& __m) _LIBCPP_THREAD_SAFETY_ANNOTATION(acquire_capability(__m)) : __m_(__m) {__m_.lock();} - _LIBCPP_INLINE_VISIBILITY + + _LIBCPP_NODISCARD_EXT _LIBCPP_INLINE_VISIBILITY lock_guard(mutex_type& __m, adopt_lock_t) _LIBCPP_THREAD_SAFETY_ANNOTATION(requires_capability(__m)) : __m_(__m) {} _LIBCPP_INLINE_VISIBILITY @@ -336,25 +338,77 @@ class _LIBCPP_TYPE_VIS condition_variable (public) private: void __do_timed_wait(unique_lock& __lk, chrono::time_point) _NOEXCEPT; +#if defined(_LIBCPP_HAS_COND_CLOCKWAIT) + void __do_timed_wait(unique_lock& __lk, + chrono::time_point) _NOEXCEPT; +#endif + template + void __do_timed_wait(unique_lock& __lk, + chrono::time_point<_Clock, chrono::nanoseconds>) _NOEXCEPT; }; #endif // !_LIBCPP_HAS_NO_THREADS -template +template inline _LIBCPP_INLINE_VISIBILITY typename enable_if < - chrono::__is_duration<_To>::value, - _To + is_floating_point<_Rep>::value, + chrono::nanoseconds >::type -__ceil(chrono::duration<_Rep, _Period> __d) +__safe_nanosecond_cast(chrono::duration<_Rep, _Period> __d) { using namespace chrono; - _To __r = duration_cast<_To>(__d); - if (__r < __d) - ++__r; - return __r; + using __ratio = ratio_divide<_Period, nano>; + using __ns_rep = nanoseconds::rep; + _Rep __result_float = __d.count() * __ratio::num / __ratio::den; + + _Rep __result_max = numeric_limits<__ns_rep>::max(); + if (__result_float >= __result_max) { + return nanoseconds::max(); + } + + _Rep __result_min = numeric_limits<__ns_rep>::min(); + if (__result_float <= __result_min) { + return nanoseconds::min(); + } + + return nanoseconds(static_cast<__ns_rep>(__result_float)); } +template +inline _LIBCPP_INLINE_VISIBILITY +typename enable_if +< + !is_floating_point<_Rep>::value, + chrono::nanoseconds +>::type +__safe_nanosecond_cast(chrono::duration<_Rep, _Period> __d) +{ + using namespace chrono; + if (__d.count() == 0) { + return nanoseconds(0); + } + + using __ratio = ratio_divide<_Period, nano>; + using __ns_rep = nanoseconds::rep; + __ns_rep __result_max = std::numeric_limits<__ns_rep>::max(); + if (__d.count() > 0 && __d.count() > __result_max / __ratio::num) { + return nanoseconds::max(); + } + + __ns_rep __result_min = std::numeric_limits<__ns_rep>::min(); + if (__d.count() < 0 && __d.count() < __result_min / __ratio::num) { + return nanoseconds::min(); + } + + __ns_rep __result = __d.count() * __ratio::num / __ratio::den; + if (__result == 0) { + return nanoseconds(1); + } + + return nanoseconds(__result); +} + #ifndef _LIBCPP_HAS_NO_THREADS template void @@ -370,7 +424,15 @@ condition_variable::wait_until(unique_lock& __l const chrono::time_point<_Clock, _Duration>& __t) { using namespace chrono; - wait_for(__lk, __t - _Clock::now()); + using __clock_tp_ns = time_point<_Clock, nanoseconds>; + + typename _Clock::time_point __now = _Clock::now(); + if (__t <= __now) + return cv_status::timeout; + + __clock_tp_ns __t_ns = __clock_tp_ns(__safe_nanosecond_cast(__t.time_since_epoch())); + + __do_timed_wait(__lk, __t_ns); return _Clock::now() < __t ? cv_status::no_timeout : cv_status::timeout; } @@ -396,15 +458,25 @@ condition_variable::wait_for(unique_lock& __lk, using namespace chrono; if (__d <= __d.zero()) return cv_status::timeout; - typedef time_point > __sys_tpf; - typedef time_point __sys_tpi; - __sys_tpf _Max = __sys_tpi::max(); + using __ns_rep = nanoseconds::rep; steady_clock::time_point __c_now = steady_clock::now(); - system_clock::time_point __s_now = system_clock::now(); - if (_Max - __d > __s_now) - __do_timed_wait(__lk, __s_now + __ceil(__d)); - else - __do_timed_wait(__lk, __sys_tpi::max()); + +#if defined(_LIBCPP_HAS_COND_CLOCKWAIT) + using __clock_tp_ns = time_point; + __ns_rep __now_count_ns = __safe_nanosecond_cast(__c_now.time_since_epoch()).count(); +#else + using __clock_tp_ns = time_point; + __ns_rep __now_count_ns = __safe_nanosecond_cast(system_clock::now().time_since_epoch()).count(); +#endif + + __ns_rep __d_ns_count = __safe_nanosecond_cast(__d).count(); + + if (__now_count_ns > numeric_limits<__ns_rep>::max() - __d_ns_count) { + __do_timed_wait(__lk, __clock_tp_ns::max()); + } else { + __do_timed_wait(__lk, __clock_tp_ns(nanoseconds(__now_count_ns + __d_ns_count))); + } + return steady_clock::now() - __c_now < __d ? cv_status::no_timeout : cv_status::timeout; } @@ -418,6 +490,46 @@ condition_variable::wait_for(unique_lock& __lk, { return wait_until(__lk, chrono::steady_clock::now() + __d, _VSTD::move(__pred)); +} + +#if defined(_LIBCPP_HAS_COND_CLOCKWAIT) +inline +void +condition_variable::__do_timed_wait(unique_lock& __lk, + chrono::time_point __tp) _NOEXCEPT +{ + using namespace chrono; + if (!__lk.owns_lock()) + __throw_system_error(EPERM, + "condition_variable::timed wait: mutex not locked"); + nanoseconds __d = __tp.time_since_epoch(); + timespec __ts; + seconds __s = duration_cast(__d); + using __ts_sec = decltype(__ts.tv_sec); + const __ts_sec __ts_sec_max = numeric_limits<__ts_sec>::max(); + if (__s.count() < __ts_sec_max) + { + __ts.tv_sec = static_cast<__ts_sec>(__s.count()); + __ts.tv_nsec = (__d - __s).count(); + } + else + { + __ts.tv_sec = __ts_sec_max; + __ts.tv_nsec = giga::num - 1; + } + int __ec = pthread_cond_clockwait(&__cv_, __lk.mutex()->native_handle(), CLOCK_MONOTONIC, &__ts); + if (__ec != 0 && __ec != ETIMEDOUT) + __throw_system_error(__ec, "condition_variable timed_wait failed"); +} +#endif // _LIBCPP_HAS_COND_CLOCKWAIT + +template +inline +void +condition_variable::__do_timed_wait(unique_lock& __lk, + chrono::time_point<_Clock, chrono::nanoseconds> __tp) _NOEXCEPT +{ + wait_for(__lk, __tp - _Clock::now()); } #endif // !_LIBCPP_HAS_NO_THREADS Modified: vendor/libc++/dist/include/__split_buffer ============================================================================== --- vendor/libc++/dist/include/__split_buffer Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/__split_buffer Wed Oct 23 17:52:30 2019 (r353946) @@ -161,6 +161,19 @@ struct __split_buffer (private) _LIBCPP_INLINE_VISIBILITY void __move_assign_alloc(__split_buffer&, false_type) _NOEXCEPT {} + + struct _ConstructTransaction { + explicit _ConstructTransaction(pointer* __p, size_type __n) _NOEXCEPT + : __pos_(*__p), __end_(*__p + __n), __dest_(__p) { + } + ~_ConstructTransaction() { + *__dest_ = __pos_; + } + pointer __pos_; + const pointer __end_; + private: + pointer *__dest_; + }; }; template @@ -197,13 +210,10 @@ template void __split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n) { - __alloc_rr& __a = this->__alloc(); - do - { - __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(this->__end_)); - ++this->__end_; - --__n; - } while (__n > 0); + _ConstructTransaction __tx(&this->__end_, __n); + for (; __tx.__pos_ != __tx.__end_; ++__tx.__pos_) { + __alloc_traits::construct(this->__alloc(), _VSTD::__to_raw_pointer(__tx.__pos_)); + } } // Copy constructs __n objects starting at __end_ from __x @@ -216,13 +226,11 @@ template void __split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n, const_reference __x) { - __alloc_rr& __a = this->__alloc(); - do - { - __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(this->__end_), __x); - ++this->__end_; - --__n; - } while (__n > 0); + _ConstructTransaction __tx(&this->__end_, __n); + for (; __tx.__pos_ != __tx.__end_; ++__tx.__pos_) { + __alloc_traits::construct(this->__alloc(), + _VSTD::__to_raw_pointer(__tx.__pos_), __x); + } } template @@ -262,11 +270,10 @@ typename enable_if >::type __split_buffer<_Tp, _Allocator>::__construct_at_end(_ForwardIterator __first, _ForwardIterator __last) { - __alloc_rr& __a = this->__alloc(); - for (; __first != __last; ++__first) - { - __alloc_traits::construct(__a, _VSTD::__to_raw_pointer(this->__end_), *__first); - ++this->__end_; + _ConstructTransaction __tx(&this->__end_, std::distance(__first, __last)); + for (; __tx.__pos_ != __tx.__end_; ++__tx.__pos_, ++__first) { + __alloc_traits::construct(this->__alloc(), + _VSTD::__to_raw_pointer(__tx.__pos_), *__first); } } Modified: vendor/libc++/dist/include/__string ============================================================================== --- vendor/libc++/dist/include/__string Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/__string Wed Oct 23 17:52:30 2019 (r353946) @@ -351,6 +351,18 @@ char_traits::compare(const char_type* __s1, c #endif } + +template +_LIBCPP_INLINE_VISIBILITY +_LIBCPP_CONSTEXPR +inline size_t __char_traits_length_checked(const typename _Traits::char_type* __s) _NOEXCEPT { +#if _LIBCPP_DEBUG_LEVEL >= 1 + return __s ? _Traits::length(__s) : (_VSTD::__libcpp_debug_function(_VSTD::__libcpp_debug_info(__FILE__, __LINE__, "p == nullptr", "null pointer pass to non-null argument of char_traits<...>::length")), 0); +#else + return _Traits::length(__s); +#endif +} + inline _LIBCPP_CONSTEXPR_AFTER_CXX14 size_t char_traits::length(const char_type* __s) _NOEXCEPT Modified: vendor/libc++/dist/include/__threading_support ============================================================================== --- vendor/libc++/dist/include/__threading_support Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/__threading_support Wed Oct 23 17:52:30 2019 (r353946) @@ -12,6 +12,7 @@ #include <__config> #include +#include #include #ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER @@ -22,16 +23,11 @@ # include <__external_threading> #elif !defined(_LIBCPP_HAS_NO_THREADS) -typedef ::timespec __libcpp_timespec_t; - #if defined(_LIBCPP_HAS_THREAD_API_PTHREAD) # include # include #endif -_LIBCPP_PUSH_MACROS -#include <__undef_macros> - #if defined(_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL) || \ defined(_LIBCPP_BUILDING_THREAD_LIBRARY_EXTERNAL) || \ defined(_LIBCPP_HAS_THREAD_API_WIN32) @@ -46,8 +42,16 @@ _LIBCPP_PUSH_MACROS #define _LIBCPP_NO_THREAD_SAFETY_ANALYSIS #endif +typedef ::timespec __libcpp_timespec_t; +#endif // !defined(_LIBCPP_HAS_NO_THREADS) + +_LIBCPP_PUSH_MACROS +#include <__undef_macros> + _LIBCPP_BEGIN_NAMESPACE_STD +#if !defined(_LIBCPP_HAS_NO_THREADS) + #if defined(_LIBCPP_HAS_THREAD_API_PTHREAD) // Mutex typedef pthread_mutex_t __libcpp_mutex_t; @@ -75,7 +79,7 @@ typedef pthread_t __libcpp_thread_t; typedef pthread_key_t __libcpp_tls_key; #define _LIBCPP_TLS_DESTRUCTOR_CC -#else +#elif !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL) // Mutex typedef void* __libcpp_mutex_t; #define _LIBCPP_MUTEX_INITIALIZER 0 @@ -108,8 +112,9 @@ typedef void* __libcpp_thread_t; typedef long __libcpp_tls_key; #define _LIBCPP_TLS_DESTRUCTOR_CC __stdcall -#endif +#endif // !defined(_LIBCPP_HAS_THREAD_API_PTHREAD) && !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL) +#if !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL) // Mutex _LIBCPP_THREAD_ABI_VISIBILITY int __libcpp_recursive_mutex_init(__libcpp_recursive_mutex_t *__m); @@ -204,6 +209,8 @@ void *__libcpp_tls_get(__libcpp_tls_key __key); _LIBCPP_THREAD_ABI_VISIBILITY int __libcpp_tls_set(__libcpp_tls_key __key, void *__p); +#endif // !defined(_LIBCPP_HAS_THREAD_API_EXTERNAL) + #if (!defined(_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL) || \ defined(_LIBCPP_BUILDING_THREAD_LIBRARY_EXTERNAL)) && \ defined(_LIBCPP_HAS_THREAD_API_PTHREAD) @@ -394,10 +401,90 @@ int __libcpp_tls_set(__libcpp_tls_key __key, void *__p #endif // !_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL || _LIBCPP_BUILDING_THREAD_LIBRARY_EXTERNAL -_LIBCPP_END_NAMESPACE_STD +class _LIBCPP_TYPE_VIS thread; +class _LIBCPP_TYPE_VIS __thread_id; -_LIBCPP_POP_MACROS +namespace this_thread +{ +_LIBCPP_INLINE_VISIBILITY __thread_id get_id() _NOEXCEPT; + +} // this_thread + +template<> struct hash<__thread_id>; + +class _LIBCPP_TEMPLATE_VIS __thread_id +{ + // FIXME: pthread_t is a pointer on Darwin but a long on Linux. + // NULL is the no-thread value on Darwin. Someone needs to check + // on other platforms. We assume 0 works everywhere for now. + __libcpp_thread_id __id_; + +public: + _LIBCPP_INLINE_VISIBILITY + __thread_id() _NOEXCEPT : __id_(0) {} + + friend _LIBCPP_INLINE_VISIBILITY + bool operator==(__thread_id __x, __thread_id __y) _NOEXCEPT + { // don't pass id==0 to underlying routines + if (__x.__id_ == 0) return __y.__id_ == 0; + if (__y.__id_ == 0) return false; + return __libcpp_thread_id_equal(__x.__id_, __y.__id_); + } + friend _LIBCPP_INLINE_VISIBILITY + bool operator!=(__thread_id __x, __thread_id __y) _NOEXCEPT + {return !(__x == __y);} + friend _LIBCPP_INLINE_VISIBILITY + bool operator< (__thread_id __x, __thread_id __y) _NOEXCEPT + { // id==0 is always less than any other thread_id + if (__x.__id_ == 0) return __y.__id_ != 0; + if (__y.__id_ == 0) return false; + return __libcpp_thread_id_less(__x.__id_, __y.__id_); + } + friend _LIBCPP_INLINE_VISIBILITY + bool operator<=(__thread_id __x, __thread_id __y) _NOEXCEPT + {return !(__y < __x);} + friend _LIBCPP_INLINE_VISIBILITY + bool operator> (__thread_id __x, __thread_id __y) _NOEXCEPT + {return __y < __x ;} + friend _LIBCPP_INLINE_VISIBILITY + bool operator>=(__thread_id __x, __thread_id __y) _NOEXCEPT + {return !(__x < __y);} + + _LIBCPP_INLINE_VISIBILITY + void __reset() { __id_ = 0; } + + template + friend + _LIBCPP_INLINE_VISIBILITY + basic_ostream<_CharT, _Traits>& + operator<<(basic_ostream<_CharT, _Traits>& __os, __thread_id __id); + +private: + _LIBCPP_INLINE_VISIBILITY + __thread_id(__libcpp_thread_id __id) : __id_(__id) {} + + friend __thread_id this_thread::get_id() _NOEXCEPT; + friend class _LIBCPP_TYPE_VIS thread; + friend struct _LIBCPP_TEMPLATE_VIS hash<__thread_id>; +}; + +namespace this_thread +{ + +inline _LIBCPP_INLINE_VISIBILITY +__thread_id +get_id() _NOEXCEPT +{ + return __libcpp_thread_get_current_id(); +} + +} // this_thread + #endif // !_LIBCPP_HAS_NO_THREADS + +_LIBCPP_END_NAMESPACE_STD + +_LIBCPP_POP_MACROS #endif // _LIBCPP_THREADING_SUPPORT Modified: vendor/libc++/dist/include/__tuple ============================================================================== --- vendor/libc++/dist/include/__tuple Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/__tuple Wed Oct 23 17:52:30 2019 (r353946) @@ -477,8 +477,9 @@ using __tuple_like_with_size _LIBCPP_NODEBUG_TYPE = __ >; struct _LIBCPP_TYPE_VIS __check_tuple_constructor_fail { - template - static constexpr bool __enable_default() { return false; } + + static constexpr bool __enable_explicit_default() { return false; } + static constexpr bool __enable_implicit_default() { return false; } template static constexpr bool __enable_explicit() { return false; } template Modified: vendor/libc++/dist/include/algorithm ============================================================================== --- vendor/libc++/dist/include/algorithm Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/algorithm Wed Oct 23 17:52:30 2019 (r353946) @@ -3117,10 +3117,10 @@ _SampleIterator __sample(_PopulationIterator __first, input_iterator_tag) { _Distance __k = 0; - for (; __first != __last && __k < __n; ++__first, (void)++__k) + for (; __first != __last && __k < __n; ++__first, (void) ++__k) __output_iter[__k] = *__first; _Distance __sz = __k; - for (; __first != __last; ++__first, (void)++__k) { + for (; __first != __last; ++__first, (void) ++__k) { _Distance __r = _VSTD::uniform_int_distribution<_Distance>(0, __k)(__g); if (__r < __sz) __output_iter[__r] = *__first; @@ -3190,7 +3190,7 @@ template 1) { _Dp __uid; - for (--__last, --__d; __first < __last; ++__first, --__d) + for (--__last, (void) --__d; __first < __last; ++__first, (void) --__d) { difference_type __i = __uid(__g, _Pp(0, __d)); if (__i != difference_type(0)) @@ -3373,7 +3373,7 @@ __stable_partition(_ForwardIterator __first, _ForwardI // All trues now at start of range, all falses in buffer // Move falses back into range, but don't mess up __first which points to first false __i = __first; - for (value_type* __t2 = __p.first; __t2 < __t; ++__t2, ++__i) + for (value_type* __t2 = __p.first; __t2 < __t; ++__t2, (void) ++__i) *__i = _VSTD::move(*__t2); // __h destructs moved-from values out of the temp buffer, but doesn't deallocate buffer return __first; @@ -3505,7 +3505,7 @@ __stable_partition(_BidirectionalIterator __first, _Bi __i = ++__first; // All trues now at start of range, all falses in buffer // Move falses back into range, but don't mess up __first which points to first false - for (value_type* __t2 = __p.first; __t2 < __t; ++__t2, ++__i) + for (value_type* __t2 = __p.first; __t2 < __t; ++__t2, (void) ++__i) *__i = _VSTD::move(*__t2); // __h destructs moved-from values out of the temp buffer, but doesn't deallocate buffer return __first; @@ -4382,7 +4382,7 @@ merge(_InputIterator1 __first1, _InputIterator1 __last { typedef typename iterator_traits<_InputIterator1>::value_type __v1; typedef typename iterator_traits<_InputIterator2>::value_type __v2; - return merge(__first1, __last1, __first2, __last2, __result, __less<__v1, __v2>()); + return _VSTD::merge(__first1, __last1, __first2, __last2, __result, __less<__v1, __v2>()); } // inplace_merge @@ -4428,14 +4428,14 @@ __buffered_inplace_merge(_BidirectionalIterator __firs if (__len1 <= __len2) { value_type* __p = __buff; - for (_BidirectionalIterator __i = __first; __i != __middle; __d.__incr((value_type*)0), (void) ++__i, ++__p) + for (_BidirectionalIterator __i = __first; __i != __middle; __d.__incr((value_type*)0), (void) ++__i, (void) ++__p) ::new(__p) value_type(_VSTD::move(*__i)); __half_inplace_merge(__buff, __p, __middle, __last, __first, __comp); } else { value_type* __p = __buff; - for (_BidirectionalIterator __i = __middle; __i != __last; __d.__incr((value_type*)0), (void) ++__i, ++__p) + for (_BidirectionalIterator __i = __middle; __i != __last; __d.__incr((value_type*)0), (void) ++__i, (void) ++__p) ::new(__p) value_type(_VSTD::move(*__i)); typedef reverse_iterator<_BidirectionalIterator> _RBi; typedef reverse_iterator _Rv; @@ -4575,14 +4575,14 @@ __merge_move_construct(_InputIterator1 __first1, _Inpu { if (__first1 == __last1) { - for (; __first2 != __last2; ++__first2, ++__result, __d.__incr((value_type*)0)) + for (; __first2 != __last2; ++__first2, ++__result, (void) __d.__incr((value_type*)0)) ::new (__result) value_type(_VSTD::move(*__first2)); __h.release(); return; } if (__first2 == __last2) { - for (; __first1 != __last1; ++__first1, ++__result, __d.__incr((value_type*)0)) + for (; __first1 != __last1; ++__first1, ++__result, (void) __d.__incr((value_type*)0)) ::new (__result) value_type(_VSTD::move(*__first1)); __h.release(); return; @@ -4612,7 +4612,7 @@ __merge_move_assign(_InputIterator1 __first1, _InputIt { if (__first2 == __last2) { - for (; __first1 != __last1; ++__first1, ++__result) + for (; __first1 != __last1; ++__first1, (void) ++__result) *__result = _VSTD::move(*__first1); return; } @@ -4627,7 +4627,7 @@ __merge_move_assign(_InputIterator1 __first1, _InputIt ++__first1; } } - for (; __first2 != __last2; ++__first2, ++__result) + for (; __first2 != __last2; ++__first2, (void) ++__result) *__result = _VSTD::move(*__first2); } @@ -4995,7 +4995,7 @@ void __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp) { typedef typename iterator_traits<_RandomAccessIterator>::difference_type difference_type; - for (difference_type __n = __last - __first; __n > 1; --__last, --__n) + for (difference_type __n = __last - __first; __n > 1; --__last, (void) --__n) __pop_heap<_Compare>(__first, __last, __comp, __n); } @@ -5065,7 +5065,7 @@ __partial_sort_copy(_InputIterator __first, _InputIter _RandomAccessIterator __r = __result_first; if (__r != __result_last) { - for (; __first != __last && __r != __result_last; (void) ++__first, ++__r) + for (; __first != __last && __r != __result_last; ++__first, (void) ++__r) *__r = *__first; __make_heap<_Compare>(__result_first, __r, __comp); typename iterator_traits<_RandomAccessIterator>::difference_type __len = __r - __result_first; @@ -5677,5 +5677,9 @@ prev_permutation(_BidirectionalIterator __first, _Bidi _LIBCPP_END_NAMESPACE_STD _LIBCPP_POP_MACROS + +#if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >= 17 +# include <__pstl_algorithm> +#endif #endif // _LIBCPP_ALGORITHM Modified: vendor/libc++/dist/include/atomic ============================================================================== --- vendor/libc++/dist/include/atomic Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/atomic Wed Oct 23 17:52:30 2019 (r353946) @@ -920,7 +920,7 @@ struct __cxx_atomic_base_impl { #endif // _LIBCPP_CXX03_LANG _LIBCPP_CONSTEXPR explicit __cxx_atomic_base_impl(_Tp value) _NOEXCEPT : __a_value(value) {} - _Atomic(_Tp) __a_value; + _LIBCPP_DISABLE_EXTENSION_WARNING _Atomic(_Tp) __a_value; }; #define __cxx_atomic_is_lock_free(__s) __c11_atomic_is_lock_free(__s) Modified: vendor/libc++/dist/include/bit ============================================================================== --- vendor/libc++/dist/include/bit Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/bit Wed Oct 23 17:52:30 2019 (r353946) @@ -42,6 +42,13 @@ namespace std { template constexpr int popcount(T x) noexcept; // C++20 + // 20.15.9, endian + enum class endian { + little = see below, // C++20 + big = see below, // C++20 + native = see below // C++20 +}; + } // namespace std */ @@ -455,6 +462,20 @@ log2p1(_Tp __t) noexcept { return __t == 0 ? 0 : __bit_log2(__t) + 1; } + + +enum class endian +{ + little = 0xDEAD, + big = 0xFACE, +#if defined(_LIBCPP_LITTLE_ENDIAN) + native = little +#elif defined(_LIBCPP_BIG_ENDIAN) + native = big +#else + native = 0xCAFE +#endif +}; #endif // _LIBCPP_STD_VER > 17 Modified: vendor/libc++/dist/include/chrono ============================================================================== --- vendor/libc++/dist/include/chrono Wed Oct 23 17:52:26 2019 (r353945) +++ vendor/libc++/dist/include/chrono Wed Oct 23 17:52:30 2019 (r353946) @@ -612,14 +612,44 @@ constexpr year_month_weekday_last constexpr year_month_weekday_last operator/(const month_weekday_last& mwdl, int y) noexcept; -// 25.9, class template time_of_day // C++20 -template class time_of_day; +// 26.9, class template hh_mm_ss +template +class hh_mm_ss +{ + bool is_neg; // exposition only + chrono::hours h; // exposition only + chrono::minutes m; // exposition only + chrono::seconds s; // exposition only + precision ss; // exposition only -template<> class time_of_day; -template<> class time_of_day; -template<> class time_of_day; -template class time_of_day>; +public: + static unsigned constexpr fractional_width = see below; + using precision = see below; + constexpr hh_mm_ss() noexcept : hh_mm_ss{Duration::zero()} {} + constexpr explicit hh_mm_ss(Duration d) noexcept; + + constexpr bool is_negative() const noexcept; + constexpr chrono::hours hours() const noexcept; + constexpr chrono::minutes minutes() const noexcept; + constexpr chrono::seconds seconds() const noexcept; + constexpr precision subseconds() const noexcept; + + constexpr explicit operator precision() const noexcept; + constexpr precision to_duration() const noexcept; +}; + +template + basic_ostream& + operator<<(basic_ostream& os, hh_mm_ss const& hms); + +// 26.10, 12/24 hour functions +constexpr bool is_am(hours const& h) noexcept; +constexpr bool is_pm(hours const& h) noexcept; +constexpr hours make12(const hours& h) noexcept; +constexpr hours make24(const hours& h, bool is_pm) noexcept; + + // 25.10.2, time zone database // C++20 struct tzdb; class tzdb_list; @@ -1428,7 +1458,7 @@ typename enable_if >::type abs(duration<_Rep, _Period> __d) { - return __d >= __d.zero() ? __d : -__d; + return __d >= __d.zero() ? +__d : -__d; } #endif @@ -1810,7 +1840,7 @@ class weekday { (private) unsigned char __wd; public: weekday() = default; - inline explicit constexpr weekday(unsigned __val) noexcept : __wd(static_cast(__val)) {} + inline explicit constexpr weekday(unsigned __val) noexcept : __wd(static_cast(__val == 7 ? 0 : __val)) {} inline constexpr weekday(const sys_days& __sysd) noexcept : __wd(__weekday_from_days(__sysd.time_since_epoch().count())) {} inline explicit constexpr weekday(const local_days& __locd) noexcept @@ -1822,7 +1852,8 @@ class weekday { (private) inline constexpr weekday operator--(int) noexcept { weekday __tmp = *this; --(*this); return __tmp; } constexpr weekday& operator+=(const days& __dd) noexcept; constexpr weekday& operator-=(const days& __dd) noexcept; - inline explicit constexpr operator unsigned() const noexcept { return __wd; } + inline constexpr unsigned c_encoding() const noexcept { return __wd; } + inline constexpr unsigned iso_encoding() const noexcept { return __wd == 0u ? 7 : __wd; } inline constexpr bool ok() const noexcept { return __wd <= 6; } constexpr weekday_indexed operator[](unsigned __index) const noexcept; constexpr weekday_last operator[](last_spec) const noexcept; @@ -1842,7 +1873,7 @@ unsigned char weekday::__weekday_from_days(int __days) inline constexpr bool operator==(const weekday& __lhs, const weekday& __rhs) noexcept -{ return static_cast(__lhs) == static_cast(__rhs); } +{ return __lhs.c_encoding() == __rhs.c_encoding(); } inline constexpr bool operator!=(const weekday& __lhs, const weekday& __rhs) noexcept @@ -1850,7 +1881,7 @@ bool operator!=(const weekday& __lhs, const weekday& _ inline constexpr bool operator< (const weekday& __lhs, const weekday& __rhs) noexcept -{ return static_cast(__lhs) < static_cast(__rhs); } +{ return __lhs.c_encoding() < __rhs.c_encoding(); } inline constexpr bool operator> (const weekday& __lhs, const weekday& __rhs) noexcept @@ -1866,7 +1897,7 @@ bool operator>=(const weekday& __lhs, const weekday& _ constexpr weekday operator+(const weekday& __lhs, const days& __rhs) noexcept { *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:52:36 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5F21B159BA5; Wed, 23 Oct 2019 17:52:36 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yydJ1pTsz4Snj; Wed, 23 Oct 2019 17:52:36 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 09D5037F; Wed, 23 Oct 2019 17:52:36 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHqZOJ078320; Wed, 23 Oct 2019 17:52:35 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHqZcH078319; Wed, 23 Oct 2019 17:52:35 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231752.x9NHqZcH078319@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:52:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353947 - vendor/libc++/libc++-r375505 X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/libc++/libc++-r375505 X-SVN-Commit-Revision: 353947 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:52:36 -0000 Author: dim Date: Wed Oct 23 17:52:35 2019 New Revision: 353947 URL: https://svnweb.freebsd.org/changeset/base/353947 Log: Tag stripped libc++ trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub. Added: vendor/libc++/libc++-r375505/ - copied from r353946, vendor/libc++/dist/ From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:52:40 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 60919159BE5; Wed, 23 Oct 2019 17:52:40 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yydM6V2Nz4Svf; Wed, 23 Oct 2019 17:52:39 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 30998381; Wed, 23 Oct 2019 17:52:39 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHqdrY078374; Wed, 23 Oct 2019 17:52:39 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHqcI1078369; Wed, 23 Oct 2019 17:52:38 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231752.x9NHqcI1078369@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:52:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353948 - vendor/llvm-libunwind/dist/src X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/llvm-libunwind/dist/src X-SVN-Commit-Revision: 353948 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:52:40 -0000 Author: dim Date: Wed Oct 23 17:52:37 2019 New Revision: 353948 URL: https://svnweb.freebsd.org/changeset/base/353948 Log: Vendor import of stripped LLVM libunwind trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub: https://llvm.org/svn/llvm-project/libunwind/trunk@375505 Modified: vendor/llvm-libunwind/dist/src/AddressSpace.hpp vendor/llvm-libunwind/dist/src/RWMutex.hpp vendor/llvm-libunwind/dist/src/Unwind-EHABI.cpp vendor/llvm-libunwind/dist/src/UnwindCursor.hpp vendor/llvm-libunwind/dist/src/libunwind.cpp Modified: vendor/llvm-libunwind/dist/src/AddressSpace.hpp ============================================================================== --- vendor/llvm-libunwind/dist/src/AddressSpace.hpp Wed Oct 23 17:52:35 2019 (r353947) +++ vendor/llvm-libunwind/dist/src/AddressSpace.hpp Wed Oct 23 17:52:37 2019 (r353948) @@ -27,11 +27,18 @@ #if _LIBUNWIND_USE_DLADDR #include -#if defined(__unix__) && defined(__ELF__) && defined(_LIBUNWIND_HAS_COMMENT_LIB_PRAGMA) +#if defined(__unix__) && defined(__ELF__) && defined(_LIBUNWIND_HAS_COMMENT_LIB_PRAGMA) #pragma comment(lib, "dl") #endif #endif +#if defined(_LIBUNWIND_ARM_EHABI) +struct EHABIIndexEntry { + uint32_t functionOffset; + uint32_t data; +}; +#endif + #ifdef __APPLE__ #include namespace libunwind { @@ -462,12 +469,13 @@ inline bool LocalAddressSpace::findUnwindSections(pint (void)targetAddr; (void)info; return true; -#elif defined(_LIBUNWIND_ARM_EHABI) && defined(__BIONIC__) && \ - (__ANDROID_API__ < 21) +#elif defined(_LIBUNWIND_ARM_EHABI) && defined(__BIONIC__) + // For ARM EHABI, Bionic didn't implement dl_iterate_phdr until API 21. After + // API 21, dl_iterate_phdr exists, but dl_unwind_find_exidx is much faster. int length = 0; info.arm_section = (uintptr_t)dl_unwind_find_exidx((_Unwind_Ptr)targetAddr, &length); - info.arm_section_length = (uintptr_t)length; + info.arm_section_length = (uintptr_t)length * sizeof(EHABIIndexEntry); if (info.arm_section && info.arm_section_length) return true; #elif defined(_LIBUNWIND_ARM_EHABI) || defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND) @@ -497,32 +505,40 @@ inline bool LocalAddressSpace::findUnwindSections(pint #if !defined(Elf_Phdr) typedef ElfW(Phdr) Elf_Phdr; #endif -#if !defined(Elf_Addr) && defined(__ANDROID__) +#if !defined(Elf_Addr) typedef ElfW(Addr) Elf_Addr; #endif + Elf_Addr image_base = pinfo->dlpi_addr; + +#if defined(__ANDROID__) && __ANDROID_API__ < 18 + if (image_base == 0) { + // Normally, an image base of 0 indicates a non-PIE executable. On + // versions of Android prior to API 18, the dynamic linker reported a + // dlpi_addr of 0 for PIE executables. Compute the true image base + // using the PT_PHDR segment. + // See https://github.com/android/ndk/issues/505. + for (Elf_Half i = 0; i < pinfo->dlpi_phnum; i++) { + const Elf_Phdr *phdr = &pinfo->dlpi_phdr[i]; + if (phdr->p_type == PT_PHDR) { + image_base = reinterpret_cast(pinfo->dlpi_phdr) - + phdr->p_vaddr; + break; + } + } + } +#endif + #if defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND) #if !defined(_LIBUNWIND_SUPPORT_DWARF_INDEX) #error "_LIBUNWIND_SUPPORT_DWARF_UNWIND requires _LIBUNWIND_SUPPORT_DWARF_INDEX on this platform." #endif size_t object_length; -#if defined(__ANDROID__) - Elf_Addr image_base = - pinfo->dlpi_phnum - ? reinterpret_cast(pinfo->dlpi_phdr) - - reinterpret_cast(pinfo->dlpi_phdr) - ->p_offset - : 0; -#endif for (Elf_Half i = 0; i < pinfo->dlpi_phnum; i++) { const Elf_Phdr *phdr = &pinfo->dlpi_phdr[i]; if (phdr->p_type == PT_LOAD) { - uintptr_t begin = pinfo->dlpi_addr + phdr->p_vaddr; -#if defined(__ANDROID__) - if (pinfo->dlpi_addr == 0 && phdr->p_vaddr < image_base) - begin = begin + image_base; -#endif + uintptr_t begin = image_base + phdr->p_vaddr; uintptr_t end = begin + phdr->p_memsz; if (cbdata->targetAddr >= begin && cbdata->targetAddr < end) { cbdata->sects->dso_base = begin; @@ -531,11 +547,7 @@ inline bool LocalAddressSpace::findUnwindSections(pint } } else if (phdr->p_type == PT_GNU_EH_FRAME) { EHHeaderParser::EHHeaderInfo hdrInfo; - uintptr_t eh_frame_hdr_start = pinfo->dlpi_addr + phdr->p_vaddr; -#if defined(__ANDROID__) - if (pinfo->dlpi_addr == 0 && phdr->p_vaddr < image_base) - eh_frame_hdr_start = eh_frame_hdr_start + image_base; -#endif + uintptr_t eh_frame_hdr_start = image_base + phdr->p_vaddr; cbdata->sects->dwarf_index_section = eh_frame_hdr_start; cbdata->sects->dwarf_index_section_length = phdr->p_memsz; found_hdr = EHHeaderParser::decodeEHHdr( @@ -556,12 +568,12 @@ inline bool LocalAddressSpace::findUnwindSections(pint for (Elf_Half i = 0; i < pinfo->dlpi_phnum; i++) { const Elf_Phdr *phdr = &pinfo->dlpi_phdr[i]; if (phdr->p_type == PT_LOAD) { - uintptr_t begin = pinfo->dlpi_addr + phdr->p_vaddr; + uintptr_t begin = image_base + phdr->p_vaddr; uintptr_t end = begin + phdr->p_memsz; if (cbdata->targetAddr >= begin && cbdata->targetAddr < end) found_obj = true; } else if (phdr->p_type == PT_ARM_EXIDX) { - uintptr_t exidx_start = pinfo->dlpi_addr + phdr->p_vaddr; + uintptr_t exidx_start = image_base + phdr->p_vaddr; cbdata->sects->arm_section = exidx_start; cbdata->sects->arm_section_length = phdr->p_memsz; found_hdr = true; Modified: vendor/llvm-libunwind/dist/src/RWMutex.hpp ============================================================================== --- vendor/llvm-libunwind/dist/src/RWMutex.hpp Wed Oct 23 17:52:35 2019 (r353947) +++ vendor/llvm-libunwind/dist/src/RWMutex.hpp Wed Oct 23 17:52:37 2019 (r353948) @@ -17,7 +17,7 @@ #include #elif !defined(_LIBUNWIND_HAS_NO_THREADS) #include -#if defined(__unix__) && defined(__ELF__) && defined(_LIBUNWIND_HAS_COMMENT_LIB_PRAGMA) +#if defined(__unix__) && !defined(__ANDROID__) && defined(__ELF__) && defined(_LIBUNWIND_HAS_COMMENT_LIB_PRAGMA) #pragma comment(lib, "pthread") #endif #endif Modified: vendor/llvm-libunwind/dist/src/Unwind-EHABI.cpp ============================================================================== --- vendor/llvm-libunwind/dist/src/Unwind-EHABI.cpp Wed Oct 23 17:52:35 2019 (r353947) +++ vendor/llvm-libunwind/dist/src/Unwind-EHABI.cpp Wed Oct 23 17:52:37 2019 (r353948) @@ -941,8 +941,13 @@ _Unwind_VRS_Pop(_Unwind_Context *context, _Unwind_VRS_ // format 1", which is equivalent to FSTMD + a padding word. for (uint32_t i = first; i < end; ++i) { // SP is only 32-bit aligned so don't copy 64-bit at a time. - uint64_t value = *sp++; - value |= ((uint64_t)(*sp++)) << 32; + uint64_t w0 = *sp++; + uint64_t w1 = *sp++; +#ifdef __LITTLE_ENDIAN__ + uint64_t value = (w1 << 32) | w0; +#else + uint64_t value = (w0 << 32) | w1; +#endif if (_Unwind_VRS_Set(context, regclass, i, representation, &value) != _UVRSR_OK) return _UVRSR_FAILED; Modified: vendor/llvm-libunwind/dist/src/UnwindCursor.hpp ============================================================================== --- vendor/llvm-libunwind/dist/src/UnwindCursor.hpp Wed Oct 23 17:52:35 2019 (r353947) +++ vendor/llvm-libunwind/dist/src/UnwindCursor.hpp Wed Oct 23 17:52:37 2019 (r353948) @@ -1222,11 +1222,6 @@ template bool UnwindCursor struct EHABISectionIterator { typedef EHABISectionIterator _Self; @@ -1991,7 +1986,10 @@ int UnwindCursor::step() { template void UnwindCursor::getInfo(unw_proc_info_t *info) { - *info = _info; + if (_unwindInfoMissing) + memset(info, 0, sizeof(*info)); + else + *info = _info; } template Modified: vendor/llvm-libunwind/dist/src/libunwind.cpp ============================================================================== --- vendor/llvm-libunwind/dist/src/libunwind.cpp Wed Oct 23 17:52:35 2019 (r353947) +++ vendor/llvm-libunwind/dist/src/libunwind.cpp Wed Oct 23 17:52:37 2019 (r353948) @@ -171,8 +171,7 @@ _LIBUNWIND_HIDDEN int __unw_get_proc_info(unw_cursor_t co->getInfo(info); if (info->end_ip == 0) return UNW_ENOINFO; - else - return UNW_ESUCCESS; + return UNW_ESUCCESS; } _LIBUNWIND_WEAK_ALIAS(__unw_get_proc_info, unw_get_proc_info) @@ -194,8 +193,7 @@ _LIBUNWIND_HIDDEN int __unw_get_proc_name(unw_cursor_t AbstractUnwindCursor *co = (AbstractUnwindCursor *)cursor; if (co->getFunctionName(buf, bufLen, offset)) return UNW_ESUCCESS; - else - return UNW_EUNSPEC; + return UNW_EUNSPEC; } _LIBUNWIND_WEAK_ALIAS(__unw_get_proc_name, unw_get_proc_name) From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:52:43 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5D8A4159C23; Wed, 23 Oct 2019 17:52:43 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yydR18lBz4T1S; Wed, 23 Oct 2019 17:52:42 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5AEA8383; Wed, 23 Oct 2019 17:52:42 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHqggF078421; Wed, 23 Oct 2019 17:52:42 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHqgDX078420; Wed, 23 Oct 2019 17:52:42 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231752.x9NHqgDX078420@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:52:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353949 - vendor/llvm-libunwind/libunwind-r375505 X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/llvm-libunwind/libunwind-r375505 X-SVN-Commit-Revision: 353949 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:52:43 -0000 Author: dim Date: Wed Oct 23 17:52:41 2019 New Revision: 353949 URL: https://svnweb.freebsd.org/changeset/base/353949 Log: Tag stripped LLVM libunwind trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub. Added: vendor/llvm-libunwind/libunwind-r375505/ - copied from r353948, vendor/llvm-libunwind/dist/ From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:52:51 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3D268159CAC; Wed, 23 Oct 2019 17:52:51 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yydb0vQ7z4TDV; Wed, 23 Oct 2019 17:52:51 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DD337386; Wed, 23 Oct 2019 17:52:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHqoLU078529; Wed, 23 Oct 2019 17:52:50 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHqobU078528; Wed, 23 Oct 2019 17:52:50 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231752.x9NHqobU078528@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:52:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353951 - vendor/lld/lld-r375505 X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/lld/lld-r375505 X-SVN-Commit-Revision: 353951 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:52:51 -0000 Author: dim Date: Wed Oct 23 17:52:50 2019 New Revision: 353951 URL: https://svnweb.freebsd.org/changeset/base/353951 Log: Tag stripped lld trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub. Added: vendor/lld/lld-r375505/ - copied from r353950, vendor/lld/dist/ From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:52:49 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 26F93159C96; Wed, 23 Oct 2019 17:52:49 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yydX66TGz4TCT; Wed, 23 Oct 2019 17:52:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 19504385; Wed, 23 Oct 2019 17:52:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHqmh9078481; Wed, 23 Oct 2019 17:52:48 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHqkRl078470; Wed, 23 Oct 2019 17:52:46 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231752.x9NHqkRl078470@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:52:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353950 - in vendor/lld/dist: . COFF Common ELF ELF/Arch docs include/lld/Common include/lld/Core include/lld/ReaderWriter lib/Driver lib/ReaderWriter lib/ReaderWriter/MachO lib/ReaderW... X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/lld/dist: . COFF Common ELF ELF/Arch docs include/lld/Common include/lld/Core include/lld/ReaderWriter lib/Driver lib/ReaderWriter lib/ReaderWriter/MachO lib/ReaderWriter/YAML tools/lld X-SVN-Commit-Revision: 353950 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:52:49 -0000 Author: dim Date: Wed Oct 23 17:52:45 2019 New Revision: 353950 URL: https://svnweb.freebsd.org/changeset/base/353950 Log: Vendor import of stripped lld trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub: https://llvm.org/svn/llvm-project/lld/trunk@375505 Added: vendor/lld/dist/Common/DWARF.cpp vendor/lld/dist/ELF/ARMErrataFix.cpp vendor/lld/dist/ELF/ARMErrataFix.h vendor/lld/dist/include/lld/Common/DWARF.h Modified: vendor/lld/dist/CMakeLists.txt vendor/lld/dist/COFF/CMakeLists.txt vendor/lld/dist/COFF/Config.h vendor/lld/dist/COFF/DLL.cpp vendor/lld/dist/COFF/DebugTypes.cpp vendor/lld/dist/COFF/Driver.cpp vendor/lld/dist/COFF/Driver.h vendor/lld/dist/COFF/DriverUtils.cpp vendor/lld/dist/COFF/ICF.cpp vendor/lld/dist/COFF/InputFiles.cpp vendor/lld/dist/COFF/InputFiles.h vendor/lld/dist/COFF/LTO.cpp vendor/lld/dist/COFF/MapFile.cpp vendor/lld/dist/COFF/MinGW.cpp vendor/lld/dist/COFF/Options.td vendor/lld/dist/COFF/PDB.cpp vendor/lld/dist/COFF/PDB.h vendor/lld/dist/COFF/SymbolTable.cpp vendor/lld/dist/COFF/SymbolTable.h vendor/lld/dist/COFF/Symbols.cpp vendor/lld/dist/COFF/Symbols.h vendor/lld/dist/COFF/Writer.cpp vendor/lld/dist/Common/CMakeLists.txt vendor/lld/dist/Common/ErrorHandler.cpp vendor/lld/dist/Common/Strings.cpp vendor/lld/dist/Common/TargetOptionsCommandFlags.cpp vendor/lld/dist/ELF/AArch64ErrataFix.cpp vendor/lld/dist/ELF/Arch/AArch64.cpp vendor/lld/dist/ELF/Arch/AMDGPU.cpp vendor/lld/dist/ELF/Arch/ARM.cpp vendor/lld/dist/ELF/Arch/AVR.cpp vendor/lld/dist/ELF/Arch/Hexagon.cpp vendor/lld/dist/ELF/Arch/MSP430.cpp vendor/lld/dist/ELF/Arch/Mips.cpp vendor/lld/dist/ELF/Arch/MipsArchTree.cpp vendor/lld/dist/ELF/Arch/PPC.cpp vendor/lld/dist/ELF/Arch/PPC64.cpp vendor/lld/dist/ELF/Arch/RISCV.cpp vendor/lld/dist/ELF/Arch/SPARCV9.cpp vendor/lld/dist/ELF/Arch/X86.cpp vendor/lld/dist/ELF/Arch/X86_64.cpp vendor/lld/dist/ELF/CMakeLists.txt vendor/lld/dist/ELF/CallGraphSort.cpp vendor/lld/dist/ELF/Config.h vendor/lld/dist/ELF/DWARF.cpp vendor/lld/dist/ELF/DWARF.h vendor/lld/dist/ELF/Driver.cpp vendor/lld/dist/ELF/DriverUtils.cpp vendor/lld/dist/ELF/EhFrame.cpp vendor/lld/dist/ELF/ICF.cpp vendor/lld/dist/ELF/InputFiles.cpp vendor/lld/dist/ELF/InputFiles.h vendor/lld/dist/ELF/InputSection.cpp vendor/lld/dist/ELF/InputSection.h vendor/lld/dist/ELF/LTO.cpp vendor/lld/dist/ELF/LinkerScript.cpp vendor/lld/dist/ELF/LinkerScript.h vendor/lld/dist/ELF/MapFile.cpp vendor/lld/dist/ELF/MarkLive.cpp vendor/lld/dist/ELF/Options.td vendor/lld/dist/ELF/OutputSections.cpp vendor/lld/dist/ELF/OutputSections.h vendor/lld/dist/ELF/Relocations.cpp vendor/lld/dist/ELF/Relocations.h vendor/lld/dist/ELF/ScriptLexer.cpp vendor/lld/dist/ELF/ScriptParser.cpp vendor/lld/dist/ELF/SymbolTable.cpp vendor/lld/dist/ELF/SymbolTable.h vendor/lld/dist/ELF/Symbols.cpp vendor/lld/dist/ELF/Symbols.h vendor/lld/dist/ELF/SyntheticSections.cpp vendor/lld/dist/ELF/SyntheticSections.h vendor/lld/dist/ELF/Target.cpp vendor/lld/dist/ELF/Writer.cpp vendor/lld/dist/ELF/Writer.h vendor/lld/dist/docs/ReleaseNotes.rst vendor/lld/dist/docs/WebAssembly.rst vendor/lld/dist/docs/conf.py vendor/lld/dist/docs/ld.lld.1 vendor/lld/dist/include/lld/Common/ErrorHandler.h vendor/lld/dist/include/lld/Common/LLVM.h vendor/lld/dist/include/lld/Common/Strings.h vendor/lld/dist/include/lld/Common/TargetOptionsCommandFlags.h vendor/lld/dist/include/lld/Core/File.h vendor/lld/dist/include/lld/ReaderWriter/MachOLinkingContext.h vendor/lld/dist/lib/Driver/DarwinLdDriver.cpp vendor/lld/dist/lib/ReaderWriter/FileArchive.cpp vendor/lld/dist/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp vendor/lld/dist/lib/ReaderWriter/MachO/CompactUnwindPass.cpp vendor/lld/dist/lib/ReaderWriter/MachO/DebugInfo.h vendor/lld/dist/lib/ReaderWriter/MachO/GOTPass.cpp vendor/lld/dist/lib/ReaderWriter/MachO/LayoutPass.cpp vendor/lld/dist/lib/ReaderWriter/MachO/MachOLinkingContext.cpp vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp vendor/lld/dist/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp vendor/lld/dist/lib/ReaderWriter/MachO/ObjCPass.cpp vendor/lld/dist/lib/ReaderWriter/MachO/ShimPass.cpp vendor/lld/dist/lib/ReaderWriter/MachO/TLVPass.cpp vendor/lld/dist/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp vendor/lld/dist/tools/lld/lld.cpp Modified: vendor/lld/dist/CMakeLists.txt ============================================================================== --- vendor/lld/dist/CMakeLists.txt Wed Oct 23 17:52:41 2019 (r353949) +++ vendor/lld/dist/CMakeLists.txt Wed Oct 23 17:52:45 2019 (r353950) @@ -56,7 +56,6 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) include(HandleLLVMOptions) if(LLVM_INCLUDE_TESTS) - set(Python_ADDITIONAL_VERSIONS 2.7) include(FindPythonInterp) if(NOT PYTHONINTERP_FOUND) message(FATAL_ERROR Modified: vendor/lld/dist/COFF/CMakeLists.txt ============================================================================== --- vendor/lld/dist/COFF/CMakeLists.txt Wed Oct 23 17:52:41 2019 (r353949) +++ vendor/lld/dist/COFF/CMakeLists.txt Wed Oct 23 17:52:45 2019 (r353950) @@ -28,8 +28,10 @@ add_lld_library(lldCOFF BinaryFormat Core DebugInfoCodeView + DebugInfoDWARF DebugInfoMSF DebugInfoPDB + Demangle LibDriver LTO MC Modified: vendor/lld/dist/COFF/Config.h ============================================================================== --- vendor/lld/dist/COFF/Config.h Wed Oct 23 17:52:41 2019 (r353949) +++ vendor/lld/dist/COFF/Config.h Wed Oct 23 17:52:45 2019 (r353950) @@ -122,6 +122,7 @@ struct Configuration { bool dll = false; StringRef implib; std::vector exports; + bool hadExplicitExports; std::set delayLoads; std::map dllOrder; Symbol *delayLoadHelper = nullptr; @@ -189,6 +190,10 @@ struct Configuration { // Used for /thinlto-object-suffix-replace: std::pair thinLTOObjectSuffixReplace; + // Used for /lto-obj-path: + llvm::StringRef ltoObjPath; + + uint64_t align = 4096; uint64_t imageBase = -1; uint64_t fileAlign = 512; uint64_t stackReserve = 1024 * 1024; Modified: vendor/lld/dist/COFF/DLL.cpp ============================================================================== --- vendor/lld/dist/COFF/DLL.cpp Wed Oct 23 17:52:41 2019 (r353949) +++ vendor/lld/dist/COFF/DLL.cpp Wed Oct 23 17:52:45 2019 (r353950) @@ -135,7 +135,7 @@ class NullChunk : public NonSectionChunk { (private) static std::vector> binImports(const std::vector &imports) { // Group DLL-imported symbols by DLL name because that's how - // symbols are layed out in the import descriptor table. + // symbols are laid out in the import descriptor table. auto less = [](const std::string &a, const std::string &b) { return config->dllOrder[a] < config->dllOrder[b]; }; @@ -188,7 +188,7 @@ class DelayDirectoryChunk : public NonSectionChunk { ( // Initial contents for delay-loaded functions. // This code calls __delayLoadHelper2 function to resolve a symbol -// and then overwrites its jump table slot with the result +// which then overwrites its jump table slot with the result // for subsequent function calls. static const uint8_t thunkX64[] = { 0x48, 0x8D, 0x05, 0, 0, 0, 0, // lea rax, [__imp_] Modified: vendor/lld/dist/COFF/DebugTypes.cpp ============================================================================== --- vendor/lld/dist/COFF/DebugTypes.cpp Wed Oct 23 17:52:41 2019 (r353949) +++ vendor/lld/dist/COFF/DebugTypes.cpp Wed Oct 23 17:52:45 2019 (r353950) @@ -17,11 +17,12 @@ #include "llvm/DebugInfo/PDB/Native/PDBFile.h" #include "llvm/Support/Path.h" -using namespace lld; -using namespace lld::coff; using namespace llvm; using namespace llvm::codeview; +namespace lld { +namespace coff { + namespace { // The TypeServerSource class represents a PDB type server, a file referenced by // OBJ files compiled with MSVC /Zi. A single PDB can be shared by several OBJ @@ -96,27 +97,25 @@ TpiSource::TpiSource(TpiKind k, const ObjFile *f) : ki GC.push_back(std::unique_ptr(this)); } -TpiSource *lld::coff::makeTpiSource(const ObjFile *f) { +TpiSource *makeTpiSource(const ObjFile *f) { return new TpiSource(TpiSource::Regular, f); } -TpiSource *lld::coff::makeUseTypeServerSource(const ObjFile *f, +TpiSource *makeUseTypeServerSource(const ObjFile *f, const TypeServer2Record *ts) { TypeServerSource::enqueue(f, *ts); return new UseTypeServerSource(f, ts); } -TpiSource *lld::coff::makePrecompSource(const ObjFile *f) { +TpiSource *makePrecompSource(const ObjFile *f) { return new PrecompSource(f); } -TpiSource *lld::coff::makeUsePrecompSource(const ObjFile *f, +TpiSource *makeUsePrecompSource(const ObjFile *f, const PrecompRecord *precomp) { return new UsePrecompSource(f, precomp); } -namespace lld { -namespace coff { template <> const PrecompRecord &retrieveDependencyInfo(const TpiSource *source) { assert(source->kind == TpiSource::UsingPCH); @@ -128,8 +127,6 @@ const TypeServer2Record &retrieveDependencyInfo(const assert(source->kind == TpiSource::UsingPDB); return ((const UseTypeServerSource *)source)->typeServerDependency; } -} // namespace coff -} // namespace lld std::map> TypeServerSource::instances; @@ -210,8 +207,7 @@ TypeServerSource::findFromFile(const ObjFile *dependen // FIXME: Temporary interface until PDBLinker::maybeMergeTypeServerPDB() is // moved here. -Expected -lld::coff::findTypeServerSource(const ObjFile *f) { +Expected findTypeServerSource(const ObjFile *f) { Expected ts = TypeServerSource::findFromFile(f); if (!ts) return ts.takeError(); @@ -231,7 +227,7 @@ void TypeServerSource::enqueue(const ObjFile *dependen if (!it.second) return; // another OBJ already scheduled this PDB for load - driver->enqueuePath(*p, false); + driver->enqueuePath(*p, false, false); } // Create an instance of TypeServerSource or an error string if the PDB couldn't @@ -239,7 +235,7 @@ void TypeServerSource::enqueue(const ObjFile *dependen // will be merged in. NOTE - a PDB load failure is not a link error: some // debug info will simply be missing from the final PDB - that is the default // accepted behavior. -void lld::coff::loadTypeServerSource(llvm::MemoryBufferRef m) { +void loadTypeServerSource(llvm::MemoryBufferRef m) { std::string path = normalizePdbPath(m.getBufferIdentifier()); Expected ts = TypeServerSource::getInstance(m); @@ -266,3 +262,6 @@ Expected TypeServerSource::getInst return info.takeError(); return new TypeServerSource(m, session.release()); } + +} // namespace coff +} // namespace lld Modified: vendor/lld/dist/COFF/Driver.cpp ============================================================================== --- vendor/lld/dist/COFF/Driver.cpp Wed Oct 23 17:52:41 2019 (r353949) +++ vendor/lld/dist/COFF/Driver.cpp Wed Oct 23 17:52:45 2019 (r353950) @@ -27,6 +27,7 @@ #include "llvm/ADT/Optional.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/BinaryFormat/Magic.h" +#include "llvm/LTO/LTO.h" #include "llvm/Object/ArchiveWriter.h" #include "llvm/Object/COFFImportFile.h" #include "llvm/Object/COFFModuleDefinition.h" @@ -36,6 +37,7 @@ #include "llvm/Option/Option.h" #include "llvm/Support/Debug.h" #include "llvm/Support/LEB128.h" +#include "llvm/Support/MathExtras.h" #include "llvm/Support/Path.h" #include "llvm/Support/Process.h" #include "llvm/Support/TarWriter.h" @@ -62,16 +64,16 @@ LinkerDriver *driver; bool link(ArrayRef args, bool canExitEarly, raw_ostream &diag) { errorHandler().logName = args::getFilenameWithoutExe(args[0]); errorHandler().errorOS = &diag; - errorHandler().colorDiagnostics = diag.has_colors(); errorHandler().errorLimitExceededMsg = "too many errors emitted, stopping now" " (use /errorlimit:0 to see all errors)"; errorHandler().exitEarly = canExitEarly; - config = make(); + enableColors(diag.has_colors()); + config = make(); symtab = make(); - driver = make(); + driver->link(args); // Call exit() if we can to avoid calling destructors. @@ -169,7 +171,7 @@ MemoryBufferRef LinkerDriver::takeBuffer(std::unique_p } void LinkerDriver::addBuffer(std::unique_ptr mb, - bool wholeArchive) { + bool wholeArchive, bool lazy) { StringRef filename = mb->getBufferIdentifier(); MemoryBufferRef mbref = takeBuffer(std::move(mb)); @@ -184,19 +186,28 @@ void LinkerDriver::addBuffer(std::unique_ptr file = CHECK(Archive::create(mbref), filename + ": failed to parse archive"); + Archive *archive = file.get(); + make>(std::move(file)); // take ownership - for (MemoryBufferRef m : getArchiveMembers(file.get())) - addArchiveBuffer(m, "", filename, 0); + int memberIndex = 0; + for (MemoryBufferRef m : getArchiveMembers(archive)) + addArchiveBuffer(m, "", filename, memberIndex++); return; } symtab->addFile(make(mbref)); break; case file_magic::bitcode: - symtab->addFile(make(mbref, "", 0)); + if (lazy) + symtab->addFile(make(mbref)); + else + symtab->addFile(make(mbref, "", 0)); break; case file_magic::coff_object: case file_magic::coff_import_library: - symtab->addFile(make(mbref)); + if (lazy) + symtab->addFile(make(mbref)); + else + symtab->addFile(make(mbref)); break; case file_magic::pdb: loadTypeServerSource(mbref); @@ -217,7 +228,7 @@ void LinkerDriver::addBuffer(std::unique_ptr>(createFutureForFile(path)); std::string pathStr = path; @@ -237,7 +248,7 @@ void LinkerDriver::enqueuePath(StringRef path, bool wh else error(msg + "; did you mean '" + nearest + "'"); } else - driver->addBuffer(std::move(mbOrErr.first), wholeArchive); + driver->addBuffer(std::move(mbOrErr.first), wholeArchive, lazy); }); } @@ -268,13 +279,12 @@ void LinkerDriver::addArchiveBuffer(MemoryBufferRef mb } void LinkerDriver::enqueueArchiveMember(const Archive::Child &c, - StringRef symName, + const Archive::Symbol &sym, StringRef parentName) { - auto reportBufferError = [=](Error &&e, - StringRef childName) { + auto reportBufferError = [=](Error &&e, StringRef childName) { fatal("could not get the buffer for the member defining symbol " + - symName + ": " + parentName + "(" + childName + "): " + + toCOFFString(sym) + ": " + parentName + "(" + childName + "): " + toString(std::move(e))); }; @@ -285,7 +295,8 @@ void LinkerDriver::enqueueArchiveMember(const Archive: reportBufferError(mbOrErr.takeError(), check(c.getFullName())); MemoryBufferRef mb = mbOrErr.get(); enqueueTask([=]() { - driver->addArchiveBuffer(mb, symName, parentName, offsetInArchive); + driver->addArchiveBuffer(mb, toCOFFString(sym), parentName, + offsetInArchive); }); return; } @@ -293,15 +304,17 @@ void LinkerDriver::enqueueArchiveMember(const Archive: std::string childName = CHECK( c.getFullName(), "could not get the filename for the member defining symbol " + - symName); + toCOFFString(sym)); auto future = std::make_shared>( createFutureForFile(childName)); enqueueTask([=]() { auto mbOrErr = future->get(); if (mbOrErr.second) reportBufferError(errorCodeToError(mbOrErr.second), childName); - driver->addArchiveBuffer(takeBuffer(std::move(mbOrErr.first)), symName, - parentName, /* OffsetInArchive */ 0); + // Pass empty string as archive name so that the original filename is + // used as the buffer identifier. + driver->addArchiveBuffer(takeBuffer(std::move(mbOrErr.first)), + toCOFFString(sym), "", /*OffsetInArchive=*/0); }); } @@ -355,7 +368,7 @@ void LinkerDriver::parseDirectives(InputFile *file) { break; case OPT_defaultlib: if (Optional path = findLib(arg->getValue())) - enqueuePath(*path, false); + enqueuePath(*path, false, false); break; case OPT_entry: config->entry = addUndefined(mangle(arg->getValue())); @@ -590,6 +603,7 @@ static std::string createResponseFile(const opt::Input for (auto *arg : args) { switch (arg->getOption().getID()) { case OPT_linkrepro: + case OPT_reproduce: case OPT_INPUT: case OPT_defaultlib: case OPT_libpath: @@ -704,9 +718,8 @@ static std::string getImplibPath() { return out.str(); } +// The import name is calculated as follows: // -// The import name is caculated as the following: -// // | LIBRARY w/ ext | LIBRARY w/o ext | no LIBRARY // -----+----------------+---------------------+------------------ // LINK | {value} | {value}.{.dll/.exe} | {output name} @@ -987,30 +1000,37 @@ static void parsePDBAltPath(StringRef altPath) { config->pdbAltPath = buf; } -/// Check that at most one resource obj file was used. +/// Convert resource files and potentially merge input resource object +/// trees into one resource tree. /// Call after ObjFile::Instances is complete. -static void diagnoseMultipleResourceObjFiles() { - // The .rsrc$01 section in a resource obj file contains a tree description - // of resources. Merging multiple resource obj files would require merging - // the trees instead of using usual linker section merging semantics. - // Since link.exe disallows linking more than one resource obj file with - // LNK4078, mirror that. The normal use of resource files is to give the - // linker many .res files, which are then converted to a single resource obj - // file internally, so this is not a big restriction in practice. - ObjFile *resourceObjFile = nullptr; +void LinkerDriver::convertResources() { + std::vector resourceObjFiles; + for (ObjFile *f : ObjFile::instances) { - if (!f->isResourceObjFile) - continue; + if (f->isResourceObjFile()) + resourceObjFiles.push_back(f); + } - if (!resourceObjFile) { - resourceObjFile = f; - continue; - } - - error(toString(f) + + if (!config->mingw && + (resourceObjFiles.size() > 1 || + (resourceObjFiles.size() == 1 && !resources.empty()))) { + error((!resources.empty() ? "internal .obj file created from .res files" + : toString(resourceObjFiles[1])) + ": more than one resource obj file not allowed, already got " + - toString(resourceObjFile)); + toString(resourceObjFiles.front())); + return; } + + if (resources.empty() && resourceObjFiles.size() <= 1) { + // No resources to convert, and max one resource object file in + // the input. Keep that preconverted resource section as is. + for (ObjFile *f : resourceObjFiles) + f->includeResourceChunks(); + return; + } + ObjFile *f = make(convertResToCOFF(resources, resourceObjFiles)); + symtab->addFile(f); + f->includeResourceChunks(); } // In MinGW, if no symbols are chosen to be exported, then all symbols are @@ -1051,6 +1071,26 @@ void LinkerDriver::maybeExportMinGWSymbols(const opt:: }); } +// lld has a feature to create a tar file containing all input files as well as +// all command line options, so that other people can run lld again with exactly +// the same inputs. This feature is accessible via /linkrepro and /reproduce. +// +// /linkrepro and /reproduce are very similar, but /linkrepro takes a directory +// name while /reproduce takes a full path. We have /linkrepro for compatibility +// with Microsoft link.exe. +Optional getReproduceFile(const opt::InputArgList &args) { + if (auto *arg = args.getLastArg(OPT_reproduce)) + return std::string(arg->getValue()); + + if (auto *arg = args.getLastArg(OPT_linkrepro)) { + SmallString<64> path = StringRef(arg->getValue()); + sys::path::append(path, "repro.tar"); + return path.str().str(); + } + + return None; +} + void LinkerDriver::link(ArrayRef argsArr) { // Needed for LTO. InitializeAllTargetInfos(); @@ -1069,7 +1109,7 @@ void LinkerDriver::link(ArrayRef argsArr // Parse command line options. ArgParser parser; - opt::InputArgList args = parser.parseLINK(argsArr); + opt::InputArgList args = parser.parse(argsArr); // Parse and evaluate -mllvm options. std::vector v; @@ -1113,17 +1153,15 @@ void LinkerDriver::link(ArrayRef argsArr // options are handled. config->mingw = args.hasArg(OPT_lldmingw); - if (auto *arg = args.getLastArg(OPT_linkrepro)) { - SmallString<64> path = StringRef(arg->getValue()); - sys::path::append(path, "repro.tar"); - + // Handle /linkrepro and /reproduce. + if (Optional path = getReproduceFile(args)) { Expected> errOrWriter = - TarWriter::create(path, "repro"); + TarWriter::create(*path, sys::path::stem(*path)); if (errOrWriter) { tar = std::move(*errOrWriter); } else { - error("/linkrepro: failed to open " + path + ": " + + error("/linkrepro: failed to open " + *path + ": " + toString(errOrWriter.takeError())); } } @@ -1139,7 +1177,8 @@ void LinkerDriver::link(ArrayRef argsArr searchPaths.push_back(""); for (auto *arg : args.filtered(OPT_libpath)) searchPaths.push_back(arg->getValue()); - addLibSearchPaths(); + if (!args.hasArg(OPT_lldignoreenv)) + addLibSearchPaths(); // Handle /ignore for (auto *arg : args.filtered(OPT_ignore)) { @@ -1419,6 +1458,13 @@ void LinkerDriver::link(ArrayRef argsArr for (auto *arg : args.filtered(OPT_section)) parseSection(arg->getValue()); + // Handle /align + if (auto *arg = args.getLastArg(OPT_align)) { + parseNumbers(arg->getValue(), &config->align); + if (!isPowerOf2_64(config->align)) + error("/align: not a power of two: " + StringRef(arg->getValue())); + } + // Handle /aligncomm for (auto *arg : args.filtered(OPT_aligncomm)) parseAligncomm(arg->getValue()); @@ -1464,6 +1510,7 @@ void LinkerDriver::link(ArrayRef argsArr getOldNewOptions(args, OPT_thinlto_prefix_replace); config->thinLTOObjectSuffixReplace = getOldNewOptions(args, OPT_thinlto_object_suffix_replace); + config->ltoObjPath = args.getLastArgValue(OPT_lto_obj_path); // Handle miscellaneous boolean flags. config->allowBind = args.hasFlag(OPT_allowbind, OPT_allowbind_no, true); config->allowIsolation = @@ -1528,19 +1575,45 @@ void LinkerDriver::link(ArrayRef argsArr return false; }; - // Create a list of input files. Files can be given as arguments - // for /defaultlib option. - for (auto *arg : args.filtered(OPT_INPUT, OPT_wholearchive_file)) - if (Optional path = findFile(arg->getValue())) - enqueuePath(*path, isWholeArchive(*path)); + // Create a list of input files. These can be given as OPT_INPUT options + // and OPT_wholearchive_file options, and we also need to track OPT_start_lib + // and OPT_end_lib. + bool inLib = false; + for (auto *arg : args) { + switch (arg->getOption().getID()) { + case OPT_end_lib: + if (!inLib) + error("stray " + arg->getSpelling()); + inLib = false; + break; + case OPT_start_lib: + if (inLib) + error("nested " + arg->getSpelling()); + inLib = true; + break; + case OPT_wholearchive_file: + if (Optional path = findFile(arg->getValue())) + enqueuePath(*path, true, inLib); + break; + case OPT_INPUT: + if (Optional path = findFile(arg->getValue())) + enqueuePath(*path, isWholeArchive(*path), inLib); + break; + default: + // Ignore other options. + break; + } + } + // Process files specified as /defaultlib. These should be enequeued after + // other files, which is why they are in a separate loop. for (auto *arg : args.filtered(OPT_defaultlib)) if (Optional path = findLib(arg->getValue())) - enqueuePath(*path, false); + enqueuePath(*path, false, false); // Windows specific -- Create a resource file containing a manifest file. if (config->manifest == Configuration::Embed) - addBuffer(createManifestRes(), false); + addBuffer(createManifestRes(), false, false); // Read all input files given via the command line. run(); @@ -1565,12 +1638,6 @@ void LinkerDriver::link(ArrayRef argsArr for (auto *arg : args.filtered(OPT_functionpadmin, OPT_functionpadmin_opt)) parseFunctionPadMin(arg, config->machine); - // Input files can be Windows resource files (.res files). We use - // WindowsResource to convert resource files to a regular COFF file, - // then link the resulting file normally. - if (!resources.empty()) - symtab->addFile(make(convertResToCOFF(resources))); - if (tar) tar->append("response.txt", createResponseFile(args, filePaths, @@ -1746,33 +1813,24 @@ void LinkerDriver::link(ArrayRef argsArr u->weakAlias = symtab->addUndefined(to); } + // If any inputs are bitcode files, the LTO code generator may create + // references to library functions that are not explicit in the bitcode + // file's symbol table. If any of those library functions are defined in a + // bitcode file in an archive member, we need to arrange to use LTO to + // compile those archive members by adding them to the link beforehand. + if (!BitcodeFile::instances.empty()) + for (auto *s : lto::LTO::getRuntimeLibcallSymbols()) + symtab->addLibcall(s); + // Windows specific -- if __load_config_used can be resolved, resolve it. if (symtab->findUnderscore("_load_config_used")) addUndefined(mangle("_load_config_used")); } while (run()); - if (errorCount()) - return; - - // Do LTO by compiling bitcode input files to a set of native COFF files then - // link those files (unless -thinlto-index-only was given, in which case we - // resolve symbols and write indices, but don't generate native code or link). - symtab->addCombinedLTOObjects(); - - // If -thinlto-index-only is given, we should create only "index - // files" and not object files. Index file creation is already done - // in addCombinedLTOObject, so we are done if that's the case. - if (config->thinLTOIndexOnly) - return; - - // If we generated native object files from bitcode files, this resolves - // references to the symbols we use from them. - run(); - if (args.hasArg(OPT_include_optional)) { // Handle /includeoptional for (auto *arg : args.filtered(OPT_include_optional)) - if (dyn_cast_or_null(symtab->find(arg->getValue()))) + if (dyn_cast_or_null(symtab->find(arg->getValue()))) addUndefined(arg->getValue()); while (run()); } @@ -1795,11 +1853,36 @@ void LinkerDriver::link(ArrayRef argsArr run(); } - // Make sure we have resolved all symbols. - symtab->reportRemainingUndefines(); + // At this point, we should not have any symbols that cannot be resolved. + // If we are going to do codegen for link-time optimization, check for + // unresolvable symbols first, so we don't spend time generating code that + // will fail to link anyway. + if (!BitcodeFile::instances.empty() && !config->forceUnresolved) + symtab->reportUnresolvable(); if (errorCount()) return; + // Do LTO by compiling bitcode input files to a set of native COFF files then + // link those files (unless -thinlto-index-only was given, in which case we + // resolve symbols and write indices, but don't generate native code or link). + symtab->addCombinedLTOObjects(); + + // If -thinlto-index-only is given, we should create only "index + // files" and not object files. Index file creation is already done + // in addCombinedLTOObject, so we are done if that's the case. + if (config->thinLTOIndexOnly) + return; + + // If we generated native object files from bitcode files, this resolves + // references to the symbols we use from them. + run(); + + // Resolve remaining undefined symbols and warn about imported locals. + symtab->resolveRemainingUndefines(); + if (errorCount()) + return; + + config->hadExplicitExports = !config->exports.empty(); if (config->mingw) { // In MinGW, all symbols are automatically exported if no symbols // are chosen to be exported. @@ -1823,10 +1906,12 @@ void LinkerDriver::link(ArrayRef argsArr } // Windows specific -- when we are creating a .dll file, we also - // need to create a .lib file. + // need to create a .lib file. In MinGW mode, we only do that when the + // -implib option is given explicitly, for compatibility with GNU ld. if (!config->exports.empty() || config->dll) { fixupExports(); - createImportLibrary(/*asLib=*/false); + if (!config->mingw || !config->implib.empty()) + createImportLibrary(/*asLib=*/false); assignExportOrdinals(); } @@ -1870,7 +1955,7 @@ void LinkerDriver::link(ArrayRef argsArr markLive(symtab->getChunks()); // Needs to happen after the last call to addFile(). - diagnoseMultipleResourceObjFiles(); + convertResources(); // Identify identical COMDAT sections to merge them. if (config->doICF) { Modified: vendor/lld/dist/COFF/Driver.h ============================================================================== --- vendor/lld/dist/COFF/Driver.h Wed Oct 23 17:52:41 2019 (r353949) +++ vendor/lld/dist/COFF/Driver.h Wed Oct 23 17:52:45 2019 (r353950) @@ -43,8 +43,8 @@ class COFFOptTable : public llvm::opt::OptTable { (pub class ArgParser { public: - // Concatenate LINK environment variable and given arguments and parse them. - llvm::opt::InputArgList parseLINK(std::vector args); + // Parses command line options. + llvm::opt::InputArgList parse(llvm::ArrayRef args); // Tokenizes a given string and then parses as command line options. llvm::opt::InputArgList parse(StringRef s) { return parse(tokenize(s)); } @@ -56,8 +56,8 @@ class ArgParser { (public) parseDirectives(StringRef s); private: - // Parses command line options. - llvm::opt::InputArgList parse(llvm::ArrayRef args); + // Concatenate LINK environment variable. + void addLINK(SmallVector &argv); std::vector tokenize(StringRef s); @@ -72,12 +72,12 @@ class LinkerDriver { (public) void parseDirectives(InputFile *file); // Used by ArchiveFile to enqueue members. - void enqueueArchiveMember(const Archive::Child &c, StringRef symName, + void enqueueArchiveMember(const Archive::Child &c, const Archive::Symbol &sym, StringRef parentName); MemoryBufferRef takeBuffer(std::unique_ptr mb); - void enqueuePath(StringRef path, bool wholeArchive); + void enqueuePath(StringRef path, bool wholeArchive, bool lazy); private: std::unique_ptr tar; // for /linkrepro @@ -98,6 +98,10 @@ class LinkerDriver { (public) // Library search path. The first element is always "" (current directory). std::vector searchPaths; + // Convert resource files and potentially merge input resource object + // trees into one resource tree. + void convertResources(); + void maybeExportMinGWSymbols(const llvm::opt::InputArgList &args); // We don't want to add the same file more than once. @@ -120,7 +124,8 @@ class LinkerDriver { (public) StringRef findDefaultEntry(); WindowsSubsystem inferSubsystem(); - void addBuffer(std::unique_ptr mb, bool wholeArchive); + void addBuffer(std::unique_ptr mb, bool wholeArchive, + bool lazy); void addArchiveBuffer(MemoryBufferRef mbref, StringRef symName, StringRef parentName, uint64_t offsetInArchive); @@ -184,7 +189,8 @@ void assignExportOrdinals(); void checkFailIfMismatch(StringRef arg, InputFile *source); // Convert Windows resource files (.res files) to a .obj file. -MemoryBufferRef convertResToCOFF(ArrayRef mbs); +MemoryBufferRef convertResToCOFF(ArrayRef mbs, + ArrayRef objs); void runMSVCLinker(std::string rsp, ArrayRef objects); Modified: vendor/lld/dist/COFF/DriverUtils.cpp ============================================================================== --- vendor/lld/dist/COFF/DriverUtils.cpp Wed Oct 23 17:52:41 2019 (r353949) +++ vendor/lld/dist/COFF/DriverUtils.cpp Wed Oct 23 17:52:45 2019 (r353950) @@ -322,7 +322,7 @@ class TemporaryFile { (public) if (!contents.empty()) { std::error_code ec; - raw_fd_ostream os(path, ec, sys::fs::F_None); + raw_fd_ostream os(path, ec, sys::fs::OF_None); if (ec) fatal("failed to open " + path + ": " + ec.message()); os << contents; @@ -410,7 +410,7 @@ static std::string createManifestXmlWithExternalMt(Str // Create the default manifest file as a temporary file. TemporaryFile Default("defaultxml", "manifest"); std::error_code ec; - raw_fd_ostream os(Default.path, ec, sys::fs::F_Text); + raw_fd_ostream os(Default.path, ec, sys::fs::OF_Text); if (ec) fatal("failed to open " + Default.path + ": " + ec.message()); os << defaultXml; @@ -511,7 +511,7 @@ void createSideBySideManifest() { if (path == "") path = config->outputFile + ".manifest"; std::error_code ec; - raw_fd_ostream out(path, ec, sys::fs::F_Text); + raw_fd_ostream out(path, ec, sys::fs::OF_Text); if (ec) fatal("failed to create manifest: " + ec.message()); out << createManifestXml(); @@ -700,26 +700,42 @@ void checkFailIfMismatch(StringRef arg, InputFile *sou // Convert Windows resource files (.res files) to a .obj file. // Does what cvtres.exe does, but in-process and cross-platform. -MemoryBufferRef convertResToCOFF(ArrayRef mbs) { - object::WindowsResourceParser parser; +MemoryBufferRef convertResToCOFF(ArrayRef mbs, + ArrayRef objs) { + object::WindowsResourceParser parser(/* MinGW */ config->mingw); + std::vector duplicates; for (MemoryBufferRef mb : mbs) { std::unique_ptr bin = check(object::createBinary(mb)); object::WindowsResource *rf = dyn_cast(bin.get()); if (!rf) fatal("cannot compile non-resource file as resource"); - std::vector duplicates; if (auto ec = parser.parse(rf, duplicates)) fatal(toString(std::move(ec))); + } - for (const auto &dupeDiag : duplicates) - if (config->forceMultipleRes) - warn(dupeDiag); - else - error(dupeDiag); + // Note: This processes all .res files before all objs. Ideally they'd be + // handled in the same order they were linked (to keep the right one, if + // there are duplicates that are tolerated due to forceMultipleRes). + for (ObjFile *f : objs) { + object::ResourceSectionRef rsf; + if (auto ec = rsf.load(f->getCOFFObj())) + fatal(toString(f) + ": " + toString(std::move(ec))); + + if (auto ec = parser.parse(rsf, f->getName(), duplicates)) + fatal(toString(std::move(ec))); } + if (config->mingw) + parser.cleanUpManifests(duplicates); + + for (const auto &dupeDiag : duplicates) + if (config->forceMultipleRes) + warn(dupeDiag); + else + error(dupeDiag); + Expected> e = llvm::object::writeWindowsResourceCOFF(config->machine, parser, config->timestamp); @@ -757,15 +773,15 @@ static void handleColorDiagnostics(opt::InputArgList & if (!arg) return; if (arg->getOption().getID() == OPT_color_diagnostics) { - errorHandler().colorDiagnostics = true; + enableColors(true); } else if (arg->getOption().getID() == OPT_no_color_diagnostics) { - errorHandler().colorDiagnostics = false; + enableColors(false); } else { StringRef s = arg->getValue(); if (s == "always") - errorHandler().colorDiagnostics = true; + enableColors(true); else if (s == "never") - errorHandler().colorDiagnostics = false; + enableColors(false); else if (s != "auto") error("unknown option: --color-diagnostics=" + s); } @@ -792,13 +808,17 @@ opt::InputArgList ArgParser::parse(ArrayRef) - // and then parse the argument again. + + // Expand response files (arguments in the form of @) and insert + // flags from %LINK% and %_LINK_%, and then parse the argument again. SmallVector expandedArgv(argv.data(), argv.data() + argv.size()); + if (!args.hasArg(OPT_lldignoreenv)) + addLINK(expandedArgv); cl::ExpandResponseFiles(saver, getQuotingStyle(args), expandedArgv); args = table.ParseArgs(makeArrayRef(expandedArgv).drop_front(), missingIndex, missingCount); @@ -868,7 +888,7 @@ ArgParser::parseDirectives(StringRef s) { // link.exe has an interesting feature. If LINK or _LINK_ environment // variables exist, their contents are handled as command line strings. // So you can pass extra arguments using them. -opt::InputArgList ArgParser::parseLINK(std::vector argv) { +void ArgParser::addLINK(SmallVector &argv) { // Concatenate LINK env and command line arguments, and then parse them. if (Optional s = Process::GetEnv("LINK")) { std::vector v = tokenize(*s); @@ -878,7 +898,6 @@ opt::InputArgList ArgParser::parseLINK(std::vector v = tokenize(*s); argv.insert(std::next(argv.begin()), v.begin(), v.end()); } - return parse(argv); } std::vector ArgParser::tokenize(StringRef s) { Modified: vendor/lld/dist/COFF/ICF.cpp ============================================================================== --- vendor/lld/dist/COFF/ICF.cpp Wed Oct 23 17:52:41 2019 (r353949) +++ vendor/lld/dist/COFF/ICF.cpp Wed Oct 23 17:52:45 2019 (r353950) @@ -13,7 +13,7 @@ // // On Windows, ICF is enabled by default. // -// See ELF/ICF.cpp for the details about the algortihm. +// See ELF/ICF.cpp for the details about the algorithm. // //===----------------------------------------------------------------------===// @@ -77,7 +77,7 @@ class ICF { (private) // section is insignificant to the user program and the behaviour matches that // of the Visual C++ linker. bool ICF::isEligible(SectionChunk *c) { - // Non-comdat chunks, dead chunks, and writable chunks are not elegible. + // Non-comdat chunks, dead chunks, and writable chunks are not eligible. bool writable = c->getOutputCharacteristics() & llvm::COFF::IMAGE_SCN_MEM_WRITE; if (!c->isCOMDAT() || !c->live || writable) return false; @@ -274,7 +274,7 @@ void ICF::run(ArrayRef vec) { for (Symbol *b : sc->symbols()) if (auto *sym = dyn_cast_or_null(b)) hash += sym->getChunk()->eqClass[cnt % 2]; - // Set MSB to 1 to avoid collisions with non-hash classs. + // Set MSB to 1 to avoid collisions with non-hash classes. sc->eqClass[(cnt + 1) % 2] = hash | (1U << 31); }); } @@ -297,7 +297,7 @@ void ICF::run(ArrayRef vec) { log("ICF needed " + Twine(cnt) + " iterations"); - // Merge sections in the same classs. + // Merge sections in the same classes. forEachClass([&](size_t begin, size_t end) { if (end - begin == 1) return; Modified: vendor/lld/dist/COFF/InputFiles.cpp ============================================================================== --- vendor/lld/dist/COFF/InputFiles.cpp Wed Oct 23 17:52:41 2019 (r353949) +++ vendor/lld/dist/COFF/InputFiles.cpp Wed Oct 23 17:52:45 2019 (r353950) @@ -47,6 +47,24 @@ using llvm::Triple; using llvm::support::ulittle32_t; namespace lld { + +// Returns the last element of a path, which is supposed to be a filename. +static StringRef getBasename(StringRef path) { + return sys::path::filename(path, sys::path::Style::windows); +} + +// Returns a string in the format of "foo.obj" or "foo.obj(bar.lib)". +std::string toString(const coff::InputFile *file) { + if (!file) + return ""; + if (file->parentName.empty() || file->kind() == coff::InputFile::ImportKind) + return file->getName(); + + return (getBasename(file->parentName) + "(" + getBasename(file->getName()) + + ")") + .str(); +} + namespace coff { std::vector ObjFile::instances; @@ -73,6 +91,10 @@ static void checkAndSetWeakAlias(SymbolTable *symtab, } } +static bool ignoredSymbolName(StringRef name) { + return name == "@feat.00" || name == "@comp.id"; +} + ArchiveFile::ArchiveFile(MemoryBufferRef m) : InputFile(ArchiveKind, m) {} void ArchiveFile::parse() { @@ -81,20 +103,20 @@ void ArchiveFile::parse() { // Read the symbol table to construct Lazy objects. for (const Archive::Symbol &sym : file->symbols()) - symtab->addLazy(this, sym); + symtab->addLazyArchive(this, sym); } // Returns a buffer pointing to a member file containing a given symbol. -void ArchiveFile::addMember(const Archive::Symbol *sym) { +void ArchiveFile::addMember(const Archive::Symbol &sym) { const Archive::Child &c = - CHECK(sym->getMember(), - "could not get the member for symbol " + sym->getName()); + CHECK(sym.getMember(), + "could not get the member for symbol " + toCOFFString(sym)); // Return an empty buffer if we have already returned the same buffer. if (!seen.insert(c.getChildOffset()).second) return; - driver->enqueueArchiveMember(c, sym->getName(), getName()); + driver->enqueueArchiveMember(c, sym, getName()); } std::vector getArchiveMembers(Archive *file) { @@ -116,6 +138,49 @@ std::vector getArchiveMembers(Archive return v; } +void LazyObjFile::fetch() { + if (mb.getBuffer().empty()) + return; + + InputFile *file; + if (isBitcode(mb)) + file = make(mb, "", 0, std::move(symbols)); + else + file = make(mb, std::move(symbols)); + mb = {}; + symtab->addFile(file); +} + +void LazyObjFile::parse() { + if (isBitcode(this->mb)) { + // Bitcode file. + std::unique_ptr obj = + CHECK(lto::InputFile::create(this->mb), this); + for (const lto::InputFile::Symbol &sym : obj->symbols()) { + if (!sym.isUndefined()) + symtab->addLazyObject(this, sym.getName()); + } + return; + } + + // Native object file. + std::unique_ptr coffObjPtr = CHECK(createBinary(mb), this); + COFFObjectFile *coffObj = cast(coffObjPtr.get()); + uint32_t numSymbols = coffObj->getNumberOfSymbols(); + for (uint32_t i = 0; i < numSymbols; ++i) { + COFFSymbolRef coffSym = check(coffObj->getSymbol(i)); + if (coffSym.isUndefined() || !coffSym.isExternal() || + coffSym.isWeakExternal()) + continue; + StringRef name; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:53:09 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6FE60159DB5; Wed, 23 Oct 2019 17:53:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yydx2Zqlz4TVS; Wed, 23 Oct 2019 17:53:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3B9D9387; Wed, 23 Oct 2019 17:53:09 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHr9Ak078627; Wed, 23 Oct 2019 17:53:09 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHr2Zf078587; Wed, 23 Oct 2019 17:53:02 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231753.x9NHr2Zf078587@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:53:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353952 - in vendor/lldb/dist: docs include/lldb include/lldb/API include/lldb/Breakpoint include/lldb/Core include/lldb/DataFormatters include/lldb/Expression include/lldb/Host include... X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/lldb/dist: docs include/lldb include/lldb/API include/lldb/Breakpoint include/lldb/Core include/lldb/DataFormatters include/lldb/Expression include/lldb/Host include/lldb/Host/common include... X-SVN-Commit-Revision: 353952 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:53:09 -0000 Author: dim Date: Wed Oct 23 17:53:01 2019 New Revision: 353952 URL: https://svnweb.freebsd.org/changeset/base/353952 Log: Vendor import of stripped lldb trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub: https://llvm.org/svn/llvm-project/lldb/trunk@375505 Added: vendor/lldb/dist/include/lldb/API/SBFile.h vendor/lldb/dist/include/lldb/Core/PropertiesBase.td vendor/lldb/dist/include/lldb/Host/LZMA.h vendor/lldb/dist/include/lldb/Interpreter/OptionGroupPythonClassWithDict.h vendor/lldb/dist/include/lldb/Symbol/CallFrameInfo.h vendor/lldb/dist/include/lldb/Utility/GDBRemote.h vendor/lldb/dist/source/API/SBFile.cpp vendor/lldb/dist/source/Core/CoreProperties.td vendor/lldb/dist/source/Host/common/LZMA.cpp vendor/lldb/dist/source/Interpreter/InterpreterProperties.td vendor/lldb/dist/source/Interpreter/OptionGroupPythonClassWithDict.cpp vendor/lldb/dist/source/Interpreter/OptionValueFileSpecList.cpp vendor/lldb/dist/source/Plugins/ABI/SysV-arc/ vendor/lldb/dist/source/Plugins/ABI/SysV-arc/ABISysV_arc.cpp vendor/lldb/dist/source/Plugins/ABI/SysV-arc/ABISysV_arc.h vendor/lldb/dist/source/Plugins/ABI/SysV-arc/CMakeLists.txt vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.h vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.h vendor/lldb/dist/source/Plugins/JITLoader/GDB/JITLoaderGDBProperties.td vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextWindows_i386.cpp vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextWindows_i386.h vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.cpp vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextWindows_x86_64.h vendor/lldb/dist/source/Plugins/Process/gdb-remote/ProcessGDBRemoteProperties.td vendor/lldb/dist/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLogProperties.td vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFProperties.td vendor/lldb/dist/source/Target/TargetProperties.td vendor/lldb/dist/source/Utility/GDBRemote.cpp vendor/lldb/dist/utils/TableGen/LLDBPropertyDefEmitter.cpp vendor/lldb/dist/utils/TableGen/LLDBTableGenUtils.cpp vendor/lldb/dist/utils/TableGen/LLDBTableGenUtils.h Deleted: vendor/lldb/dist/include/lldb/Symbol/VerifyDecl.h vendor/lldb/dist/include/lldb/Utility/CleanUp.h vendor/lldb/dist/include/lldb/Utility/FileCollector.h vendor/lldb/dist/include/lldb/Utility/JSON.h vendor/lldb/dist/include/lldb/Utility/StreamGDBRemote.h vendor/lldb/dist/source/Commands/CommandObjectBugreport.cpp vendor/lldb/dist/source/Commands/CommandObjectBugreport.h vendor/lldb/dist/source/Interpreter/OptionValueFileSpecLIst.cpp vendor/lldb/dist/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.cpp vendor/lldb/dist/source/Plugins/ScriptInterpreter/Python/PythonExceptionState.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h vendor/lldb/dist/source/Symbol/VerifyDecl.cpp vendor/lldb/dist/source/Utility/FileCollector.cpp vendor/lldb/dist/source/Utility/JSON.cpp vendor/lldb/dist/source/Utility/StreamGDBRemote.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgContext.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgContext.h vendor/lldb/dist/tools/lldb-mi/MICmdArgSet.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgSet.h vendor/lldb/dist/tools/lldb-mi/MICmdArgValBase.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgValBase.h vendor/lldb/dist/tools/lldb-mi/MICmdArgValConsume.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgValConsume.h vendor/lldb/dist/tools/lldb-mi/MICmdArgValFile.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgValFile.h vendor/lldb/dist/tools/lldb-mi/MICmdArgValListBase.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgValListBase.h vendor/lldb/dist/tools/lldb-mi/MICmdArgValListOfN.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgValListOfN.h vendor/lldb/dist/tools/lldb-mi/MICmdArgValNumber.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgValNumber.h vendor/lldb/dist/tools/lldb-mi/MICmdArgValOptionLong.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgValOptionLong.h vendor/lldb/dist/tools/lldb-mi/MICmdArgValOptionShort.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgValOptionShort.h vendor/lldb/dist/tools/lldb-mi/MICmdArgValPrintValues.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgValPrintValues.h vendor/lldb/dist/tools/lldb-mi/MICmdArgValString.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgValString.h vendor/lldb/dist/tools/lldb-mi/MICmdArgValThreadGrp.cpp vendor/lldb/dist/tools/lldb-mi/MICmdArgValThreadGrp.h vendor/lldb/dist/tools/lldb-mi/MICmdBase.cpp vendor/lldb/dist/tools/lldb-mi/MICmdBase.h vendor/lldb/dist/tools/lldb-mi/MICmdCmd.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmd.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdBreak.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdBreak.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdData.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdData.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdEnviro.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdEnviro.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdExec.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdExec.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdFile.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdFile.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdGdbInfo.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdGdbInfo.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdGdbSet.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdGdbSet.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdGdbShow.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdGdbShow.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdGdbThread.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdGdbThread.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdMiscellanous.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdMiscellanous.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdStack.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdStack.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdSupportInfo.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdSupportInfo.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdSupportList.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdSupportList.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdSymbol.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdSymbol.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdTarget.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdTarget.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdThread.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdThread.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdTrace.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdTrace.h vendor/lldb/dist/tools/lldb-mi/MICmdCmdVar.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCmdVar.h vendor/lldb/dist/tools/lldb-mi/MICmdCommands.cpp vendor/lldb/dist/tools/lldb-mi/MICmdCommands.h vendor/lldb/dist/tools/lldb-mi/MICmdData.cpp vendor/lldb/dist/tools/lldb-mi/MICmdData.h vendor/lldb/dist/tools/lldb-mi/MICmdFactory.cpp vendor/lldb/dist/tools/lldb-mi/MICmdFactory.h vendor/lldb/dist/tools/lldb-mi/MICmdInterpreter.cpp vendor/lldb/dist/tools/lldb-mi/MICmdInterpreter.h vendor/lldb/dist/tools/lldb-mi/MICmdInvoker.cpp vendor/lldb/dist/tools/lldb-mi/MICmdInvoker.h vendor/lldb/dist/tools/lldb-mi/MICmdMgr.cpp vendor/lldb/dist/tools/lldb-mi/MICmdMgr.h vendor/lldb/dist/tools/lldb-mi/MICmdMgrSetCmdDeleteCallback.cpp vendor/lldb/dist/tools/lldb-mi/MICmdMgrSetCmdDeleteCallback.h vendor/lldb/dist/tools/lldb-mi/MICmnBase.cpp vendor/lldb/dist/tools/lldb-mi/MICmnBase.h vendor/lldb/dist/tools/lldb-mi/MICmnConfig.h vendor/lldb/dist/tools/lldb-mi/MICmnLLDBBroadcaster.cpp vendor/lldb/dist/tools/lldb-mi/MICmnLLDBBroadcaster.h vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebugSessionInfo.cpp vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebugSessionInfo.h vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.cpp vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.h vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebugger.cpp vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebugger.h vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp vendor/lldb/dist/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.h vendor/lldb/dist/tools/lldb-mi/MICmnLLDBProxySBValue.cpp vendor/lldb/dist/tools/lldb-mi/MICmnLLDBProxySBValue.h vendor/lldb/dist/tools/lldb-mi/MICmnLLDBUtilSBValue.cpp vendor/lldb/dist/tools/lldb-mi/MICmnLLDBUtilSBValue.h vendor/lldb/dist/tools/lldb-mi/MICmnLog.cpp vendor/lldb/dist/tools/lldb-mi/MICmnLog.h vendor/lldb/dist/tools/lldb-mi/MICmnLogMediumFile.cpp vendor/lldb/dist/tools/lldb-mi/MICmnLogMediumFile.h vendor/lldb/dist/tools/lldb-mi/MICmnMIOutOfBandRecord.cpp vendor/lldb/dist/tools/lldb-mi/MICmnMIOutOfBandRecord.h vendor/lldb/dist/tools/lldb-mi/MICmnMIResultRecord.cpp vendor/lldb/dist/tools/lldb-mi/MICmnMIResultRecord.h vendor/lldb/dist/tools/lldb-mi/MICmnMIValue.cpp vendor/lldb/dist/tools/lldb-mi/MICmnMIValue.h vendor/lldb/dist/tools/lldb-mi/MICmnMIValueConst.cpp vendor/lldb/dist/tools/lldb-mi/MICmnMIValueConst.h vendor/lldb/dist/tools/lldb-mi/MICmnMIValueList.cpp vendor/lldb/dist/tools/lldb-mi/MICmnMIValueList.h vendor/lldb/dist/tools/lldb-mi/MICmnMIValueResult.cpp vendor/lldb/dist/tools/lldb-mi/MICmnMIValueResult.h vendor/lldb/dist/tools/lldb-mi/MICmnMIValueTuple.cpp vendor/lldb/dist/tools/lldb-mi/MICmnMIValueTuple.h vendor/lldb/dist/tools/lldb-mi/MICmnResources.cpp vendor/lldb/dist/tools/lldb-mi/MICmnResources.h vendor/lldb/dist/tools/lldb-mi/MICmnStreamStderr.cpp vendor/lldb/dist/tools/lldb-mi/MICmnStreamStderr.h vendor/lldb/dist/tools/lldb-mi/MICmnStreamStdin.cpp vendor/lldb/dist/tools/lldb-mi/MICmnStreamStdin.h vendor/lldb/dist/tools/lldb-mi/MICmnStreamStdout.cpp vendor/lldb/dist/tools/lldb-mi/MICmnStreamStdout.h vendor/lldb/dist/tools/lldb-mi/MICmnThreadMgrStd.cpp vendor/lldb/dist/tools/lldb-mi/MICmnThreadMgrStd.h vendor/lldb/dist/tools/lldb-mi/MIDataTypes.h vendor/lldb/dist/tools/lldb-mi/MIDriver.cpp vendor/lldb/dist/tools/lldb-mi/MIDriver.h vendor/lldb/dist/tools/lldb-mi/MIDriverBase.cpp vendor/lldb/dist/tools/lldb-mi/MIDriverBase.h vendor/lldb/dist/tools/lldb-mi/MIDriverMain.cpp vendor/lldb/dist/tools/lldb-mi/MIDriverMgr.cpp vendor/lldb/dist/tools/lldb-mi/MIDriverMgr.h vendor/lldb/dist/tools/lldb-mi/MIExtensions.txt vendor/lldb/dist/tools/lldb-mi/MIReadMe.txt vendor/lldb/dist/tools/lldb-mi/MIUtilDateTimeStd.cpp vendor/lldb/dist/tools/lldb-mi/MIUtilDateTimeStd.h vendor/lldb/dist/tools/lldb-mi/MIUtilDebug.cpp vendor/lldb/dist/tools/lldb-mi/MIUtilDebug.h vendor/lldb/dist/tools/lldb-mi/MIUtilFileStd.cpp vendor/lldb/dist/tools/lldb-mi/MIUtilFileStd.h vendor/lldb/dist/tools/lldb-mi/MIUtilMapIdToVariant.cpp vendor/lldb/dist/tools/lldb-mi/MIUtilMapIdToVariant.h vendor/lldb/dist/tools/lldb-mi/MIUtilSingletonBase.h vendor/lldb/dist/tools/lldb-mi/MIUtilSingletonHelper.h vendor/lldb/dist/tools/lldb-mi/MIUtilString.cpp vendor/lldb/dist/tools/lldb-mi/MIUtilString.h vendor/lldb/dist/tools/lldb-mi/MIUtilThreadBaseStd.cpp vendor/lldb/dist/tools/lldb-mi/MIUtilThreadBaseStd.h vendor/lldb/dist/tools/lldb-mi/MIUtilVariant.cpp vendor/lldb/dist/tools/lldb-mi/MIUtilVariant.h vendor/lldb/dist/tools/lldb-mi/Platform.h vendor/lldb/dist/tools/lldb-mi/module.modulemap Modified: vendor/lldb/dist/docs/lldb.1 vendor/lldb/dist/include/lldb/API/LLDB.h vendor/lldb/dist/include/lldb/API/SBCommandReturnObject.h vendor/lldb/dist/include/lldb/API/SBDebugger.h vendor/lldb/dist/include/lldb/API/SBDefines.h vendor/lldb/dist/include/lldb/API/SBError.h vendor/lldb/dist/include/lldb/API/SBInstruction.h vendor/lldb/dist/include/lldb/API/SBInstructionList.h vendor/lldb/dist/include/lldb/API/SBProcess.h vendor/lldb/dist/include/lldb/API/SBStream.h vendor/lldb/dist/include/lldb/API/SBStructuredData.h vendor/lldb/dist/include/lldb/API/SBThread.h vendor/lldb/dist/include/lldb/API/SBThreadPlan.h vendor/lldb/dist/include/lldb/Breakpoint/BreakpointLocation.h vendor/lldb/dist/include/lldb/Breakpoint/BreakpointOptions.h vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverAddress.h vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverFileLine.h vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverFileRegex.h vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverName.h vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverScripted.h vendor/lldb/dist/include/lldb/Core/Address.h vendor/lldb/dist/include/lldb/Core/AddressResolverFileLine.h vendor/lldb/dist/include/lldb/Core/AddressResolverName.h vendor/lldb/dist/include/lldb/Core/Debugger.h vendor/lldb/dist/include/lldb/Core/FileLineResolver.h vendor/lldb/dist/include/lldb/Core/FileSpecList.h vendor/lldb/dist/include/lldb/Core/FormatEntity.h vendor/lldb/dist/include/lldb/Core/IOHandler.h vendor/lldb/dist/include/lldb/Core/LoadedModuleInfoList.h vendor/lldb/dist/include/lldb/Core/Mangled.h vendor/lldb/dist/include/lldb/Core/Module.h vendor/lldb/dist/include/lldb/Core/ModuleList.h vendor/lldb/dist/include/lldb/Core/ModuleSpec.h vendor/lldb/dist/include/lldb/Core/PluginManager.h vendor/lldb/dist/include/lldb/Core/SearchFilter.h vendor/lldb/dist/include/lldb/Core/Section.h vendor/lldb/dist/include/lldb/Core/StreamFile.h vendor/lldb/dist/include/lldb/Core/StructuredDataImpl.h vendor/lldb/dist/include/lldb/Core/Value.h vendor/lldb/dist/include/lldb/Core/dwarf.h vendor/lldb/dist/include/lldb/DataFormatters/FormattersContainer.h vendor/lldb/dist/include/lldb/DataFormatters/StringPrinter.h vendor/lldb/dist/include/lldb/DataFormatters/TypeCategory.h vendor/lldb/dist/include/lldb/Expression/DWARFExpression.h vendor/lldb/dist/include/lldb/Expression/DiagnosticManager.h vendor/lldb/dist/include/lldb/Expression/ExpressionSourceCode.h vendor/lldb/dist/include/lldb/Expression/LLVMUserExpression.h vendor/lldb/dist/include/lldb/Expression/Materializer.h vendor/lldb/dist/include/lldb/Expression/REPL.h vendor/lldb/dist/include/lldb/Host/Config.h.cmake vendor/lldb/dist/include/lldb/Host/Editline.h vendor/lldb/dist/include/lldb/Host/File.h vendor/lldb/dist/include/lldb/Host/FileCache.h vendor/lldb/dist/include/lldb/Host/FileSystem.h vendor/lldb/dist/include/lldb/Host/Socket.h vendor/lldb/dist/include/lldb/Host/common/NativeProcessProtocol.h vendor/lldb/dist/include/lldb/Interpreter/CommandAlias.h vendor/lldb/dist/include/lldb/Interpreter/CommandCompletions.h vendor/lldb/dist/include/lldb/Interpreter/CommandInterpreter.h vendor/lldb/dist/include/lldb/Interpreter/CommandObject.h vendor/lldb/dist/include/lldb/Interpreter/CommandObjectMultiword.h vendor/lldb/dist/include/lldb/Interpreter/CommandObjectRegexCommand.h vendor/lldb/dist/include/lldb/Interpreter/CommandReturnObject.h vendor/lldb/dist/include/lldb/Interpreter/OptionValue.h vendor/lldb/dist/include/lldb/Interpreter/OptionValueArch.h vendor/lldb/dist/include/lldb/Interpreter/OptionValueBoolean.h vendor/lldb/dist/include/lldb/Interpreter/OptionValueEnumeration.h vendor/lldb/dist/include/lldb/Interpreter/OptionValueFileSpec.h vendor/lldb/dist/include/lldb/Interpreter/OptionValueFormatEntity.h vendor/lldb/dist/include/lldb/Interpreter/OptionValueRegex.h vendor/lldb/dist/include/lldb/Interpreter/OptionValueUUID.h vendor/lldb/dist/include/lldb/Interpreter/Options.h vendor/lldb/dist/include/lldb/Interpreter/ScriptInterpreter.h vendor/lldb/dist/include/lldb/Symbol/ClangASTContext.h vendor/lldb/dist/include/lldb/Symbol/ClangASTImporter.h vendor/lldb/dist/include/lldb/Symbol/CompileUnit.h vendor/lldb/dist/include/lldb/Symbol/CompilerType.h vendor/lldb/dist/include/lldb/Symbol/DeclVendor.h vendor/lldb/dist/include/lldb/Symbol/FuncUnwinders.h vendor/lldb/dist/include/lldb/Symbol/Function.h vendor/lldb/dist/include/lldb/Symbol/ObjectFile.h vendor/lldb/dist/include/lldb/Symbol/PostfixExpression.h vendor/lldb/dist/include/lldb/Symbol/Symbol.h vendor/lldb/dist/include/lldb/Symbol/SymbolContext.h vendor/lldb/dist/include/lldb/Symbol/SymbolFile.h vendor/lldb/dist/include/lldb/Symbol/SymbolVendor.h vendor/lldb/dist/include/lldb/Symbol/Symtab.h vendor/lldb/dist/include/lldb/Symbol/Type.h vendor/lldb/dist/include/lldb/Symbol/TypeList.h vendor/lldb/dist/include/lldb/Symbol/TypeSystem.h vendor/lldb/dist/include/lldb/Symbol/UnwindPlan.h vendor/lldb/dist/include/lldb/Symbol/UnwindTable.h vendor/lldb/dist/include/lldb/Symbol/Variable.h vendor/lldb/dist/include/lldb/Target/ABI.h vendor/lldb/dist/include/lldb/Target/DynamicLoader.h vendor/lldb/dist/include/lldb/Target/Language.h vendor/lldb/dist/include/lldb/Target/Platform.h vendor/lldb/dist/include/lldb/Target/Process.h vendor/lldb/dist/include/lldb/Target/RemoteAwarePlatform.h vendor/lldb/dist/include/lldb/Target/StackFrame.h vendor/lldb/dist/include/lldb/Target/StopInfo.h vendor/lldb/dist/include/lldb/Target/Target.h vendor/lldb/dist/include/lldb/Target/Thread.h vendor/lldb/dist/include/lldb/Target/ThreadPlanPython.h vendor/lldb/dist/include/lldb/Target/Unwind.h vendor/lldb/dist/include/lldb/Utility/AnsiTerminal.h vendor/lldb/dist/include/lldb/Utility/ArchSpec.h vendor/lldb/dist/include/lldb/Utility/Args.h vendor/lldb/dist/include/lldb/Utility/CompletionRequest.h vendor/lldb/dist/include/lldb/Utility/ConstString.h vendor/lldb/dist/include/lldb/Utility/DataEncoder.h vendor/lldb/dist/include/lldb/Utility/DataExtractor.h vendor/lldb/dist/include/lldb/Utility/FileSpec.h vendor/lldb/dist/include/lldb/Utility/Flags.h vendor/lldb/dist/include/lldb/Utility/IOObject.h vendor/lldb/dist/include/lldb/Utility/Log.h vendor/lldb/dist/include/lldb/Utility/Logging.h vendor/lldb/dist/include/lldb/Utility/Predicate.h vendor/lldb/dist/include/lldb/Utility/ProcessInfo.h vendor/lldb/dist/include/lldb/Utility/RangeMap.h vendor/lldb/dist/include/lldb/Utility/RegularExpression.h vendor/lldb/dist/include/lldb/Utility/Reproducer.h vendor/lldb/dist/include/lldb/Utility/ReproducerInstrumentation.h vendor/lldb/dist/include/lldb/Utility/Scalar.h vendor/lldb/dist/include/lldb/Utility/Status.h vendor/lldb/dist/include/lldb/Utility/Stream.h vendor/lldb/dist/include/lldb/Utility/StringExtractor.h vendor/lldb/dist/include/lldb/Utility/StringLexer.h vendor/lldb/dist/include/lldb/Utility/StringList.h vendor/lldb/dist/include/lldb/Utility/StructuredData.h vendor/lldb/dist/include/lldb/Utility/UUID.h vendor/lldb/dist/include/lldb/lldb-enumerations.h vendor/lldb/dist/include/lldb/lldb-forward.h vendor/lldb/dist/include/lldb/lldb-private-enumerations.h vendor/lldb/dist/include/lldb/lldb-private-interfaces.h vendor/lldb/dist/source/API/SBAddress.cpp vendor/lldb/dist/source/API/SBBreakpointOptionCommon.cpp vendor/lldb/dist/source/API/SBCommandInterpreter.cpp vendor/lldb/dist/source/API/SBCommandReturnObject.cpp vendor/lldb/dist/source/API/SBCompileUnit.cpp vendor/lldb/dist/source/API/SBDebugger.cpp vendor/lldb/dist/source/API/SBDeclaration.cpp vendor/lldb/dist/source/API/SBFrame.cpp vendor/lldb/dist/source/API/SBInstruction.cpp vendor/lldb/dist/source/API/SBInstructionList.cpp vendor/lldb/dist/source/API/SBLineEntry.cpp vendor/lldb/dist/source/API/SBModule.cpp vendor/lldb/dist/source/API/SBProcess.cpp vendor/lldb/dist/source/API/SBReproducer.cpp vendor/lldb/dist/source/API/SBReproducerPrivate.h vendor/lldb/dist/source/API/SBStream.cpp vendor/lldb/dist/source/API/SBStringList.cpp vendor/lldb/dist/source/API/SBSymbolContext.cpp vendor/lldb/dist/source/API/SBTarget.cpp vendor/lldb/dist/source/API/SBThread.cpp vendor/lldb/dist/source/API/SBThreadPlan.cpp vendor/lldb/dist/source/API/SBType.cpp vendor/lldb/dist/source/API/SBTypeCategory.cpp vendor/lldb/dist/source/API/SystemInitializerFull.cpp vendor/lldb/dist/source/API/Utils.h vendor/lldb/dist/source/Breakpoint/Breakpoint.cpp vendor/lldb/dist/source/Breakpoint/BreakpointIDList.cpp vendor/lldb/dist/source/Breakpoint/BreakpointLocation.cpp vendor/lldb/dist/source/Breakpoint/BreakpointOptions.cpp vendor/lldb/dist/source/Breakpoint/BreakpointResolver.cpp vendor/lldb/dist/source/Breakpoint/BreakpointResolverAddress.cpp vendor/lldb/dist/source/Breakpoint/BreakpointResolverFileLine.cpp vendor/lldb/dist/source/Breakpoint/BreakpointResolverFileRegex.cpp vendor/lldb/dist/source/Breakpoint/BreakpointResolverName.cpp vendor/lldb/dist/source/Breakpoint/BreakpointResolverScripted.cpp vendor/lldb/dist/source/Breakpoint/Watchpoint.cpp vendor/lldb/dist/source/Breakpoint/WatchpointOptions.cpp vendor/lldb/dist/source/Commands/CommandCompletions.cpp vendor/lldb/dist/source/Commands/CommandObjectApropos.cpp vendor/lldb/dist/source/Commands/CommandObjectBreakpoint.cpp vendor/lldb/dist/source/Commands/CommandObjectBreakpointCommand.cpp vendor/lldb/dist/source/Commands/CommandObjectCommands.cpp vendor/lldb/dist/source/Commands/CommandObjectDisassemble.cpp vendor/lldb/dist/source/Commands/CommandObjectExpression.cpp vendor/lldb/dist/source/Commands/CommandObjectExpression.h vendor/lldb/dist/source/Commands/CommandObjectFrame.cpp vendor/lldb/dist/source/Commands/CommandObjectGUI.cpp vendor/lldb/dist/source/Commands/CommandObjectHelp.cpp vendor/lldb/dist/source/Commands/CommandObjectHelp.h vendor/lldb/dist/source/Commands/CommandObjectLog.cpp vendor/lldb/dist/source/Commands/CommandObjectMemory.cpp vendor/lldb/dist/source/Commands/CommandObjectMultiword.cpp vendor/lldb/dist/source/Commands/CommandObjectPlatform.cpp vendor/lldb/dist/source/Commands/CommandObjectPlugin.cpp vendor/lldb/dist/source/Commands/CommandObjectProcess.cpp vendor/lldb/dist/source/Commands/CommandObjectRegister.cpp vendor/lldb/dist/source/Commands/CommandObjectReproducer.cpp vendor/lldb/dist/source/Commands/CommandObjectSettings.cpp vendor/lldb/dist/source/Commands/CommandObjectSource.cpp vendor/lldb/dist/source/Commands/CommandObjectStats.cpp vendor/lldb/dist/source/Commands/CommandObjectTarget.cpp vendor/lldb/dist/source/Commands/CommandObjectThread.cpp vendor/lldb/dist/source/Commands/CommandObjectType.cpp vendor/lldb/dist/source/Commands/CommandObjectWatchpoint.cpp vendor/lldb/dist/source/Commands/CommandObjectWatchpointCommand.cpp vendor/lldb/dist/source/Commands/Options.td vendor/lldb/dist/source/Commands/OptionsBase.td vendor/lldb/dist/source/Core/Address.cpp vendor/lldb/dist/source/Core/AddressResolverFileLine.cpp vendor/lldb/dist/source/Core/AddressResolverName.cpp vendor/lldb/dist/source/Core/Communication.cpp vendor/lldb/dist/source/Core/Debugger.cpp vendor/lldb/dist/source/Core/Disassembler.cpp vendor/lldb/dist/source/Core/DumpDataExtractor.cpp vendor/lldb/dist/source/Core/FileLineResolver.cpp vendor/lldb/dist/source/Core/FormatEntity.cpp vendor/lldb/dist/source/Core/Highlighter.cpp vendor/lldb/dist/source/Core/IOHandler.cpp vendor/lldb/dist/source/Core/Mangled.cpp vendor/lldb/dist/source/Core/Module.cpp vendor/lldb/dist/source/Core/ModuleList.cpp vendor/lldb/dist/source/Core/PluginManager.cpp vendor/lldb/dist/source/Core/SearchFilter.cpp vendor/lldb/dist/source/Core/Section.cpp vendor/lldb/dist/source/Core/SourceManager.cpp vendor/lldb/dist/source/Core/StreamFile.cpp vendor/lldb/dist/source/Core/Value.cpp vendor/lldb/dist/source/Core/ValueObject.cpp vendor/lldb/dist/source/Core/ValueObjectCast.cpp vendor/lldb/dist/source/Core/ValueObjectChild.cpp vendor/lldb/dist/source/Core/ValueObjectConstResult.cpp vendor/lldb/dist/source/Core/ValueObjectDynamicValue.cpp vendor/lldb/dist/source/Core/ValueObjectMemory.cpp vendor/lldb/dist/source/Core/ValueObjectRegister.cpp vendor/lldb/dist/source/Core/ValueObjectSyntheticFilter.cpp vendor/lldb/dist/source/Core/ValueObjectVariable.cpp vendor/lldb/dist/source/DataFormatters/FormatManager.cpp vendor/lldb/dist/source/DataFormatters/FormattersHelpers.cpp vendor/lldb/dist/source/DataFormatters/TypeCategoryMap.cpp vendor/lldb/dist/source/DataFormatters/TypeFormat.cpp vendor/lldb/dist/source/DataFormatters/ValueObjectPrinter.cpp vendor/lldb/dist/source/DataFormatters/VectorType.cpp vendor/lldb/dist/source/Expression/DWARFExpression.cpp vendor/lldb/dist/source/Expression/DiagnosticManager.cpp vendor/lldb/dist/source/Expression/ExpressionVariable.cpp vendor/lldb/dist/source/Expression/FunctionCaller.cpp vendor/lldb/dist/source/Expression/IRExecutionUnit.cpp vendor/lldb/dist/source/Expression/IRInterpreter.cpp vendor/lldb/dist/source/Expression/IRMemoryMap.cpp vendor/lldb/dist/source/Expression/LLVMUserExpression.cpp vendor/lldb/dist/source/Expression/Materializer.cpp vendor/lldb/dist/source/Expression/REPL.cpp vendor/lldb/dist/source/Expression/UserExpression.cpp vendor/lldb/dist/source/Expression/UtilityFunction.cpp vendor/lldb/dist/source/Host/common/Editline.cpp vendor/lldb/dist/source/Host/common/File.cpp vendor/lldb/dist/source/Host/common/FileCache.cpp vendor/lldb/dist/source/Host/common/FileSystem.cpp vendor/lldb/dist/source/Host/common/Host.cpp vendor/lldb/dist/source/Host/common/HostInfoBase.cpp vendor/lldb/dist/source/Host/common/HostNativeThreadBase.cpp vendor/lldb/dist/source/Host/common/MainLoop.cpp vendor/lldb/dist/source/Host/common/NativeProcessProtocol.cpp vendor/lldb/dist/source/Host/common/NativeRegisterContext.cpp vendor/lldb/dist/source/Host/common/Socket.cpp vendor/lldb/dist/source/Host/common/TCPSocket.cpp vendor/lldb/dist/source/Host/common/UDPSocket.cpp vendor/lldb/dist/source/Host/freebsd/HostInfoFreeBSD.cpp vendor/lldb/dist/source/Host/posix/ConnectionFileDescriptorPosix.cpp vendor/lldb/dist/source/Host/posix/HostInfoPosix.cpp vendor/lldb/dist/source/Initialization/SystemInitializerCommon.cpp vendor/lldb/dist/source/Interpreter/CommandAlias.cpp vendor/lldb/dist/source/Interpreter/CommandInterpreter.cpp vendor/lldb/dist/source/Interpreter/CommandObject.cpp vendor/lldb/dist/source/Interpreter/CommandObjectRegexCommand.cpp vendor/lldb/dist/source/Interpreter/CommandReturnObject.cpp vendor/lldb/dist/source/Interpreter/OptionArgParser.cpp vendor/lldb/dist/source/Interpreter/OptionGroupArchitecture.cpp vendor/lldb/dist/source/Interpreter/OptionGroupFormat.cpp vendor/lldb/dist/source/Interpreter/OptionGroupOutputFile.cpp vendor/lldb/dist/source/Interpreter/OptionGroupPlatform.cpp vendor/lldb/dist/source/Interpreter/OptionGroupUUID.cpp vendor/lldb/dist/source/Interpreter/OptionGroupValueObjectDisplay.cpp vendor/lldb/dist/source/Interpreter/OptionGroupVariable.cpp vendor/lldb/dist/source/Interpreter/OptionGroupWatchpoint.cpp vendor/lldb/dist/source/Interpreter/OptionValue.cpp vendor/lldb/dist/source/Interpreter/OptionValueArch.cpp vendor/lldb/dist/source/Interpreter/OptionValueBoolean.cpp vendor/lldb/dist/source/Interpreter/OptionValueDictionary.cpp vendor/lldb/dist/source/Interpreter/OptionValueEnumeration.cpp vendor/lldb/dist/source/Interpreter/OptionValueFileSpec.cpp vendor/lldb/dist/source/Interpreter/OptionValueFormatEntity.cpp vendor/lldb/dist/source/Interpreter/OptionValueLanguage.cpp vendor/lldb/dist/source/Interpreter/OptionValueRegex.cpp vendor/lldb/dist/source/Interpreter/OptionValueUUID.cpp vendor/lldb/dist/source/Interpreter/Options.cpp vendor/lldb/dist/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp vendor/lldb/dist/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h vendor/lldb/dist/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp vendor/lldb/dist/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.h vendor/lldb/dist/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp vendor/lldb/dist/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h vendor/lldb/dist/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp vendor/lldb/dist/source/Plugins/ABI/SysV-arm/ABISysV_arm.h vendor/lldb/dist/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp vendor/lldb/dist/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.h vendor/lldb/dist/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp vendor/lldb/dist/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.h vendor/lldb/dist/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp vendor/lldb/dist/source/Plugins/ABI/SysV-i386/ABISysV_i386.h vendor/lldb/dist/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp vendor/lldb/dist/source/Plugins/ABI/SysV-mips/ABISysV_mips.h vendor/lldb/dist/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp vendor/lldb/dist/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.h vendor/lldb/dist/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp vendor/lldb/dist/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h vendor/lldb/dist/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp vendor/lldb/dist/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.h vendor/lldb/dist/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp vendor/lldb/dist/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.h vendor/lldb/dist/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp vendor/lldb/dist/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h vendor/lldb/dist/source/Plugins/ABI/Windows-x86_64/ABIWindows_x86_64.cpp vendor/lldb/dist/source/Plugins/ABI/Windows-x86_64/ABIWindows_x86_64.h vendor/lldb/dist/source/Plugins/Architecture/Mips/ArchitectureMips.cpp vendor/lldb/dist/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp vendor/lldb/dist/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp vendor/lldb/dist/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.cpp vendor/lldb/dist/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp vendor/lldb/dist/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h vendor/lldb/dist/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp vendor/lldb/dist/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ASTDumper.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangDiagnostic.h vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.h vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangHost.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.h vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/IRForTarget.h vendor/lldb/dist/source/Plugins/ExpressionParser/Clang/ModuleDependencyCollector.h vendor/lldb/dist/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp vendor/lldb/dist/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp vendor/lldb/dist/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp vendor/lldb/dist/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp vendor/lldb/dist/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp vendor/lldb/dist/source/Plugins/InstrumentationRuntime/ASan/ASanRuntime.cpp vendor/lldb/dist/source/Plugins/InstrumentationRuntime/TSan/TSanRuntime.cpp vendor/lldb/dist/source/Plugins/InstrumentationRuntime/UBSan/UBSanRuntime.cpp vendor/lldb/dist/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp vendor/lldb/dist/source/Plugins/Language/CPlusPlus/BlockPointer.cpp vendor/lldb/dist/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp vendor/lldb/dist/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp vendor/lldb/dist/source/Plugins/Language/CPlusPlus/CxxStringTypes.h vendor/lldb/dist/source/Plugins/Language/CPlusPlus/LibCxxBitset.cpp vendor/lldb/dist/source/Plugins/Language/CPlusPlus/LibCxxOptional.cpp vendor/lldb/dist/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp vendor/lldb/dist/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp vendor/lldb/dist/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp vendor/lldb/dist/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp vendor/lldb/dist/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp vendor/lldb/dist/source/Plugins/Language/ObjC/CoreMedia.cpp vendor/lldb/dist/source/Plugins/Language/ObjC/NSArray.cpp vendor/lldb/dist/source/Plugins/Language/ObjC/NSDictionary.h vendor/lldb/dist/source/Plugins/Language/ObjC/NSString.cpp vendor/lldb/dist/source/Plugins/Language/ObjC/ObjCLanguage.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.h vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.h vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h vendor/lldb/dist/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp vendor/lldb/dist/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h vendor/lldb/dist/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp vendor/lldb/dist/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp vendor/lldb/dist/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.h vendor/lldb/dist/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp vendor/lldb/dist/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.h vendor/lldb/dist/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp vendor/lldb/dist/source/Plugins/ObjectFile/ELF/ObjectFileELF.h vendor/lldb/dist/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp vendor/lldb/dist/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h vendor/lldb/dist/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp vendor/lldb/dist/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp vendor/lldb/dist/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp vendor/lldb/dist/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h vendor/lldb/dist/source/Plugins/Process/Darwin/DarwinProcessLauncher.cpp vendor/lldb/dist/source/Plugins/Process/Darwin/MachException.cpp vendor/lldb/dist/source/Plugins/Process/Darwin/NativeProcessDarwin.cpp vendor/lldb/dist/source/Plugins/Process/Darwin/NativeThreadListDarwin.cpp vendor/lldb/dist/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp vendor/lldb/dist/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp vendor/lldb/dist/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp vendor/lldb/dist/source/Plugins/Process/FreeBSD/ProcessMonitor.h vendor/lldb/dist/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp vendor/lldb/dist/source/Plugins/Process/NetBSD/NativeProcessNetBSD.h vendor/lldb/dist/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp vendor/lldb/dist/source/Plugins/Process/POSIX/CrashReason.cpp vendor/lldb/dist/source/Plugins/Process/POSIX/NativeProcessELF.cpp vendor/lldb/dist/source/Plugins/Process/POSIX/NativeProcessELF.h vendor/lldb/dist/source/Plugins/Process/POSIX/ProcessMessage.cpp vendor/lldb/dist/source/Plugins/Process/Utility/AuxVector.cpp vendor/lldb/dist/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp vendor/lldb/dist/source/Plugins/Process/Utility/HistoryThread.cpp vendor/lldb/dist/source/Plugins/Process/Utility/HistoryUnwind.cpp vendor/lldb/dist/source/Plugins/Process/Utility/HistoryUnwind.h vendor/lldb/dist/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp vendor/lldb/dist/source/Plugins/Process/Utility/InferiorCallPOSIX.h vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.h vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextLLDB.cpp vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextLLDB.h vendor/lldb/dist/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp vendor/lldb/dist/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp vendor/lldb/dist/source/Plugins/Process/Utility/RegisterInfos_arm64.h vendor/lldb/dist/source/Plugins/Process/Utility/StopInfoMachException.cpp vendor/lldb/dist/source/Plugins/Process/Utility/UnwindLLDB.cpp vendor/lldb/dist/source/Plugins/Process/Utility/UnwindLLDB.h vendor/lldb/dist/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.cpp vendor/lldb/dist/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.h vendor/lldb/dist/source/Plugins/Process/elf-core/ProcessElfCore.cpp vendor/lldb/dist/source/Plugins/Process/elf-core/RegisterUtilities.h vendor/lldb/dist/source/Plugins/Process/elf-core/ThreadElfCore.cpp vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationHistory.cpp vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationHistory.h vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.cpp vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.h vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp vendor/lldb/dist/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp vendor/lldb/dist/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp vendor/lldb/dist/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h vendor/lldb/dist/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp vendor/lldb/dist/source/Plugins/Process/minidump/MinidumpParser.cpp vendor/lldb/dist/source/Plugins/Process/minidump/MinidumpParser.h vendor/lldb/dist/source/Plugins/Process/minidump/MinidumpTypes.cpp vendor/lldb/dist/source/Plugins/Process/minidump/MinidumpTypes.h vendor/lldb/dist/source/Plugins/Process/minidump/ProcessMinidump.cpp vendor/lldb/dist/source/Plugins/Process/minidump/ProcessMinidump.h vendor/lldb/dist/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp vendor/lldb/dist/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.h vendor/lldb/dist/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.cpp vendor/lldb/dist/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp vendor/lldb/dist/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h vendor/lldb/dist/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp vendor/lldb/dist/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h vendor/lldb/dist/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h vendor/lldb/dist/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp vendor/lldb/dist/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp vendor/lldb/dist/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/AppleDWARFIndex.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDIE.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DWARFUnit.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h vendor/lldb/dist/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp vendor/lldb/dist/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp vendor/lldb/dist/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp vendor/lldb/dist/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp vendor/lldb/dist/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h vendor/lldb/dist/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp vendor/lldb/dist/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp vendor/lldb/dist/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp vendor/lldb/dist/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h vendor/lldb/dist/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp vendor/lldb/dist/source/Plugins/SymbolFile/PDB/PDBLocationToDWARFExpression.cpp vendor/lldb/dist/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp vendor/lldb/dist/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h vendor/lldb/dist/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp vendor/lldb/dist/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h vendor/lldb/dist/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp vendor/lldb/dist/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp vendor/lldb/dist/source/Symbol/ArmUnwindInfo.cpp vendor/lldb/dist/source/Symbol/Block.cpp vendor/lldb/dist/source/Symbol/ClangASTContext.cpp vendor/lldb/dist/source/Symbol/ClangASTImporter.cpp vendor/lldb/dist/source/Symbol/CompactUnwindInfo.cpp vendor/lldb/dist/source/Symbol/CompileUnit.cpp vendor/lldb/dist/source/Symbol/CompilerType.cpp vendor/lldb/dist/source/Symbol/CxxModuleHandler.cpp vendor/lldb/dist/source/Symbol/DWARFCallFrameInfo.cpp vendor/lldb/dist/source/Symbol/DeclVendor.cpp vendor/lldb/dist/source/Symbol/FuncUnwinders.cpp vendor/lldb/dist/source/Symbol/Function.cpp vendor/lldb/dist/source/Symbol/LineTable.cpp vendor/lldb/dist/source/Symbol/LocateSymbolFile.cpp vendor/lldb/dist/source/Symbol/LocateSymbolFileMacOSX.cpp vendor/lldb/dist/source/Symbol/ObjectFile.cpp vendor/lldb/dist/source/Symbol/PostfixExpression.cpp vendor/lldb/dist/source/Symbol/Symbol.cpp vendor/lldb/dist/source/Symbol/SymbolContext.cpp vendor/lldb/dist/source/Symbol/SymbolFile.cpp vendor/lldb/dist/source/Symbol/SymbolVendor.cpp vendor/lldb/dist/source/Symbol/Symtab.cpp vendor/lldb/dist/source/Symbol/Type.cpp vendor/lldb/dist/source/Symbol/TypeMap.cpp vendor/lldb/dist/source/Symbol/TypeSystem.cpp vendor/lldb/dist/source/Symbol/UnwindPlan.cpp vendor/lldb/dist/source/Symbol/UnwindTable.cpp vendor/lldb/dist/source/Symbol/Variable.cpp vendor/lldb/dist/source/Target/ABI.cpp vendor/lldb/dist/source/Target/ExecutionContext.cpp vendor/lldb/dist/source/Target/Language.cpp vendor/lldb/dist/source/Target/LanguageRuntime.cpp vendor/lldb/dist/source/Target/Memory.cpp vendor/lldb/dist/source/Target/ModuleCache.cpp vendor/lldb/dist/source/Target/Platform.cpp vendor/lldb/dist/source/Target/Process.cpp vendor/lldb/dist/source/Target/RegisterContext.cpp vendor/lldb/dist/source/Target/RemoteAwarePlatform.cpp vendor/lldb/dist/source/Target/SectionLoadList.cpp vendor/lldb/dist/source/Target/StackFrame.cpp vendor/lldb/dist/source/Target/StackFrameList.cpp vendor/lldb/dist/source/Target/StopInfo.cpp vendor/lldb/dist/source/Target/Target.cpp vendor/lldb/dist/source/Target/Thread.cpp vendor/lldb/dist/source/Target/ThreadList.cpp vendor/lldb/dist/source/Target/ThreadPlan.cpp vendor/lldb/dist/source/Target/ThreadPlanBase.cpp vendor/lldb/dist/source/Target/ThreadPlanCallFunction.cpp vendor/lldb/dist/source/Target/ThreadPlanCallUserExpression.cpp vendor/lldb/dist/source/Target/ThreadPlanPython.cpp vendor/lldb/dist/source/Target/ThreadPlanRunToAddress.cpp vendor/lldb/dist/source/Target/ThreadPlanShouldStopHere.cpp vendor/lldb/dist/source/Target/ThreadPlanStepInRange.cpp vendor/lldb/dist/source/Target/ThreadPlanStepInstruction.cpp vendor/lldb/dist/source/Target/ThreadPlanStepOut.cpp vendor/lldb/dist/source/Target/ThreadPlanStepOverBreakpoint.cpp vendor/lldb/dist/source/Target/ThreadPlanStepOverRange.cpp vendor/lldb/dist/source/Target/ThreadPlanStepRange.cpp vendor/lldb/dist/source/Target/ThreadPlanStepThrough.cpp vendor/lldb/dist/source/Target/ThreadPlanStepUntil.cpp vendor/lldb/dist/source/Target/ThreadPlanTracer.cpp vendor/lldb/dist/source/Utility/ArchSpec.cpp vendor/lldb/dist/source/Utility/Args.cpp vendor/lldb/dist/source/Utility/Broadcaster.cpp vendor/lldb/dist/source/Utility/CompletionRequest.cpp vendor/lldb/dist/source/Utility/ConstString.cpp vendor/lldb/dist/source/Utility/DataExtractor.cpp vendor/lldb/dist/source/Utility/FileSpec.cpp vendor/lldb/dist/source/Utility/Listener.cpp vendor/lldb/dist/source/Utility/Log.cpp vendor/lldb/dist/source/Utility/Logging.cpp vendor/lldb/dist/source/Utility/ProcessInfo.cpp vendor/lldb/dist/source/Utility/RegularExpression.cpp vendor/lldb/dist/source/Utility/Reproducer.cpp vendor/lldb/dist/source/Utility/Scalar.cpp vendor/lldb/dist/source/Utility/SelectHelper.cpp vendor/lldb/dist/source/Utility/StringExtractor.cpp vendor/lldb/dist/source/Utility/StringLexer.cpp vendor/lldb/dist/source/Utility/StringList.cpp vendor/lldb/dist/source/Utility/StructuredData.cpp vendor/lldb/dist/tools/argdumper/argdumper.cpp vendor/lldb/dist/tools/compact-unwind/compact-unwind-dumper.c vendor/lldb/dist/tools/driver/Driver.cpp vendor/lldb/dist/tools/driver/Platform.h vendor/lldb/dist/tools/lldb-instr/Instrument.cpp vendor/lldb/dist/tools/lldb-server/LLDBServerUtilities.cpp vendor/lldb/dist/tools/lldb-server/lldb-gdbserver.cpp vendor/lldb/dist/tools/lldb-server/lldb-platform.cpp vendor/lldb/dist/tools/lldb-server/lldb-server.cpp vendor/lldb/dist/utils/TableGen/LLDBOptionDefEmitter.cpp vendor/lldb/dist/utils/TableGen/LLDBTableGen.cpp vendor/lldb/dist/utils/TableGen/LLDBTableGenBackends.h Modified: vendor/lldb/dist/docs/lldb.1 ============================================================================== --- vendor/lldb/dist/docs/lldb.1 Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/docs/lldb.1 Wed Oct 23 17:53:01 2019 (r353952) @@ -149,6 +149,6 @@ The LLDB project page http://lldb.llvm.org/ has many d users -- the gdb/lldb command equivalence page http://lldb.llvm.org/lldb-gdb.html can be especially helpful for users coming from gdb. .Sh BUGS -To report bugs, please visit http://llvm.org/bugs/ +To report bugs, please visit https://bugs.llvm.org/ .Sh AUTHOR Maintained by the LLDB Team, http://lldb.llvm.org/ Modified: vendor/lldb/dist/include/lldb/API/LLDB.h ============================================================================== --- vendor/lldb/dist/include/lldb/API/LLDB.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/API/LLDB.h Wed Oct 23 17:53:01 2019 (r353952) @@ -13,8 +13,8 @@ #include "lldb/API/SBAttachInfo.h" #include "lldb/API/SBBlock.h" #include "lldb/API/SBBreakpoint.h" -#include "lldb/API/SBBreakpointName.h" #include "lldb/API/SBBreakpointLocation.h" +#include "lldb/API/SBBreakpointName.h" #include "lldb/API/SBBroadcaster.h" #include "lldb/API/SBCommandInterpreter.h" #include "lldb/API/SBCommandReturnObject.h" @@ -28,6 +28,7 @@ #include "lldb/API/SBEvent.h" #include "lldb/API/SBExecutionContext.h" #include "lldb/API/SBExpressionOptions.h" +#include "lldb/API/SBFile.h" #include "lldb/API/SBFileSpec.h" #include "lldb/API/SBFileSpecList.h" #include "lldb/API/SBFrame.h" Modified: vendor/lldb/dist/include/lldb/API/SBCommandReturnObject.h ============================================================================== --- vendor/lldb/dist/include/lldb/API/SBCommandReturnObject.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/API/SBCommandReturnObject.h Wed Oct 23 17:53:01 2019 (r353952) @@ -15,23 +15,27 @@ #include "lldb/API/SBDefines.h" +namespace lldb_private { +class SBCommandReturnObjectImpl; +} + namespace lldb { class LLDB_API SBCommandReturnObject { public: SBCommandReturnObject(); + SBCommandReturnObject(lldb_private::CommandReturnObject &ref); + + // rvalue ctor+assignment are incompatible with Reproducers. + SBCommandReturnObject(const lldb::SBCommandReturnObject &rhs); ~SBCommandReturnObject(); - const lldb::SBCommandReturnObject & + lldb::SBCommandReturnObject & operator=(const lldb::SBCommandReturnObject &rhs); - SBCommandReturnObject(lldb_private::CommandReturnObject *ptr); - - lldb_private::CommandReturnObject *Release(); - explicit operator bool() const; bool IsValid() const; @@ -40,14 +44,22 @@ class LLDB_API SBCommandReturnObject { (public) const char *GetError(); - size_t PutOutput(FILE *fh); + size_t PutOutput(FILE *fh); // DEPRECATED + size_t PutOutput(SBFile file); + + size_t PutOutput(FileSP file); + size_t GetOutputSize(); size_t GetErrorSize(); - size_t PutError(FILE *fh); + size_t PutError(FILE *fh); // DEPRECATED + size_t PutError(SBFile file); + + size_t PutError(FileSP file); + void Clear(); lldb::ReturnStatus GetStatus(); @@ -64,15 +76,22 @@ class LLDB_API SBCommandReturnObject { (public) bool GetDescription(lldb::SBStream &description); - // deprecated, these two functions do not take ownership of file handle - void SetImmediateOutputFile(FILE *fh); + void SetImmediateOutputFile(FILE *fh); // DEPRECATED - void SetImmediateErrorFile(FILE *fh); + void SetImmediateErrorFile(FILE *fh); // DEPRECATED - void SetImmediateOutputFile(FILE *fh, bool transfer_ownership); + void SetImmediateOutputFile(FILE *fh, bool transfer_ownership); // DEPRECATED - void SetImmediateErrorFile(FILE *fh, bool transfer_ownership); + void SetImmediateErrorFile(FILE *fh, bool transfer_ownership); // DEPRECATED + void SetImmediateOutputFile(SBFile file); + + void SetImmediateErrorFile(SBFile file); + + void SetImmediateOutputFile(FileSP file); + + void SetImmediateErrorFile(FileSP file); + void PutCString(const char *string, int len = -1); size_t Printf(const char *format, ...) __attribute__((format(printf, 2, 3))); @@ -86,6 +105,9 @@ class LLDB_API SBCommandReturnObject { (public) void SetError(const char *error_cstr); + // ref() is internal for LLDB only. + lldb_private::CommandReturnObject &ref() const; + protected: friend class SBCommandInterpreter; friend class SBOptions; @@ -96,12 +118,8 @@ class LLDB_API SBCommandReturnObject { (public) lldb_private::CommandReturnObject &operator*() const; - lldb_private::CommandReturnObject &ref() const; - - void SetLLDBObjectPtr(lldb_private::CommandReturnObject *ptr); - private: - std::unique_ptr m_opaque_up; + std::unique_ptr m_opaque_up; }; } // namespace lldb Modified: vendor/lldb/dist/include/lldb/API/SBDebugger.h ============================================================================== --- vendor/lldb/dist/include/lldb/API/SBDebugger.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/API/SBDebugger.h Wed Oct 23 17:53:01 2019 (r353952) @@ -88,6 +88,24 @@ class LLDB_API SBDebugger { (public) FILE *GetErrorFileHandle(); + SBError SetInputFile(SBFile file); + + SBError SetOutputFile(SBFile file); + + SBError SetErrorFile(SBFile file); + + SBError SetInputFile(FileSP file); + + SBError SetOutputFile(FileSP file); + + SBError SetErrorFile(FileSP file); + + SBFile GetInputFile(); + + SBFile GetOutputFile(); + + SBFile GetErrorFile(); + void SaveInputTerminalState(); void RestoreInputTerminalState(); @@ -99,7 +117,14 @@ class LLDB_API SBDebugger { (public) lldb::SBListener GetListener(); void HandleProcessEvent(const lldb::SBProcess &process, - const lldb::SBEvent &event, FILE *out, FILE *err); + const lldb::SBEvent &event, FILE *out, + FILE *err); // DEPRECATED + + void HandleProcessEvent(const lldb::SBProcess &process, + const lldb::SBEvent &event, SBFile out, SBFile err); + + void HandleProcessEvent(const lldb::SBProcess &process, + const lldb::SBEvent &event, FileSP out, FileSP err); lldb::SBTarget CreateTarget(const char *filename, const char *target_triple, const char *platform_name, Modified: vendor/lldb/dist/include/lldb/API/SBDefines.h ============================================================================== --- vendor/lldb/dist/include/lldb/API/SBDefines.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/API/SBDefines.h Wed Oct 23 17:53:01 2019 (r353952) @@ -41,6 +41,7 @@ class LLDB_API SBEvent; class LLDB_API SBEventList; class LLDB_API SBExecutionContext; class LLDB_API SBExpressionOptions; +class LLDB_API SBFile; class LLDB_API SBFileSpec; class LLDB_API SBFileSpecList; class LLDB_API SBFrame; Modified: vendor/lldb/dist/include/lldb/API/SBError.h ============================================================================== --- vendor/lldb/dist/include/lldb/API/SBError.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/API/SBError.h Wed Oct 23 17:53:01 2019 (r353952) @@ -70,6 +70,7 @@ class LLDB_API SBError { (protected) friend class SBTrace; friend class SBValue; friend class SBWatchpoint; + friend class SBFile; lldb_private::Status *get(); Added: vendor/lldb/dist/include/lldb/API/SBFile.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/lldb/dist/include/lldb/API/SBFile.h Wed Oct 23 17:53:01 2019 (r353952) @@ -0,0 +1,47 @@ +//===-- SBFile.h --------------------------------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLDB_SBFile_h_ +#define LLDB_SBFile_h_ + +#include "lldb/API/SBDefines.h" + +namespace lldb { + +class LLDB_API SBFile { + friend class SBInstruction; + friend class SBInstructionList; + friend class SBDebugger; + friend class SBCommandReturnObject; + friend class SBProcess; + +public: + SBFile(); + SBFile(FileSP file_sp); + SBFile(FILE *file, bool transfer_ownership); + SBFile(int fd, const char *mode, bool transfer_ownership); + ~SBFile(); + + SBError Read(uint8_t *buf, size_t num_bytes, size_t *bytes_read); + SBError Write(const uint8_t *buf, size_t num_bytes, size_t *bytes_written); + SBError Flush(); + bool IsValid() const; + SBError Close(); + + operator bool() const; + bool operator!() const; + + FileSP GetFile() const; + +private: + FileSP m_opaque_sp; +}; + +} // namespace lldb + +#endif // LLDB_SBFile_h_ Modified: vendor/lldb/dist/include/lldb/API/SBInstruction.h ============================================================================== --- vendor/lldb/dist/include/lldb/API/SBInstruction.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/API/SBInstruction.h Wed Oct 23 17:53:01 2019 (r353952) @@ -55,6 +55,10 @@ class LLDB_API SBInstruction { (public) void Print(FILE *out); + void Print(SBFile out); + + void Print(FileSP out); + bool GetDescription(lldb::SBStream &description); bool EmulateWithFrame(lldb::SBFrame &frame, uint32_t evaluate_options); Modified: vendor/lldb/dist/include/lldb/API/SBInstructionList.h ============================================================================== --- vendor/lldb/dist/include/lldb/API/SBInstructionList.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/API/SBInstructionList.h Wed Oct 23 17:53:01 2019 (r353952) @@ -46,6 +46,10 @@ class LLDB_API SBInstructionList { (public) void Print(FILE *out); + void Print(SBFile out); + + void Print(FileSP out); + bool GetDescription(lldb::SBStream &description); bool DumpEmulationForAllInstructions(const char *triple); @@ -56,6 +60,8 @@ class LLDB_API SBInstructionList { (public) friend class SBTarget; void SetDisassembler(const lldb::DisassemblerSP &opaque_sp); + bool GetDescription(lldb_private::Stream &description); + private: lldb::DisassemblerSP m_opaque_sp; Modified: vendor/lldb/dist/include/lldb/API/SBProcess.h ============================================================================== --- vendor/lldb/dist/include/lldb/API/SBProcess.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/API/SBProcess.h Wed Oct 23 17:53:01 2019 (r353952) @@ -67,6 +67,10 @@ class LLDB_API SBProcess { (public) void ReportEventState(const lldb::SBEvent &event, FILE *out) const; + void ReportEventState(const lldb::SBEvent &event, SBFile file) const; + + void ReportEventState(const lldb::SBEvent &event, FileSP file) const; + void AppendEventStateReport(const lldb::SBEvent &event, lldb::SBCommandReturnObject &result); Modified: vendor/lldb/dist/include/lldb/API/SBStream.h ============================================================================== --- vendor/lldb/dist/include/lldb/API/SBStream.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/API/SBStream.h Wed Oct 23 17:53:01 2019 (r353952) @@ -39,6 +39,10 @@ class LLDB_API SBStream { (public) void RedirectToFile(const char *path, bool append); + void RedirectToFile(lldb::SBFile file); + + void RedirectToFile(lldb::FileSP file); + void RedirectToFileHandle(FILE *fh, bool transfer_fh_ownership); void RedirectToFileDescriptor(int fd, bool transfer_fh_ownership); Modified: vendor/lldb/dist/include/lldb/API/SBStructuredData.h ============================================================================== --- vendor/lldb/dist/include/lldb/API/SBStructuredData.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/API/SBStructuredData.h Wed Oct 23 17:53:01 2019 (r353952) @@ -91,6 +91,8 @@ class SBStructuredData { (protected) friend class SBTraceOptions; friend class SBDebugger; friend class SBTarget; + friend class SBThread; + friend class SBThreadPlan; StructuredDataImplUP m_impl_up; }; Modified: vendor/lldb/dist/include/lldb/API/SBThread.h ============================================================================== --- vendor/lldb/dist/include/lldb/API/SBThread.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/API/SBThread.h Wed Oct 23 17:53:01 2019 (r353952) @@ -122,6 +122,10 @@ class LLDB_API SBThread { (public) SBError StepUsingScriptedThreadPlan(const char *script_class_name, bool resume_immediately); + SBError StepUsingScriptedThreadPlan(const char *script_class_name, + lldb::SBStructuredData &args_data, + bool resume_immediately); + SBError JumpToLine(lldb::SBFileSpec &file_spec, uint32_t line); void RunToAddress(lldb::addr_t addr); Modified: vendor/lldb/dist/include/lldb/API/SBThreadPlan.h ============================================================================== --- vendor/lldb/dist/include/lldb/API/SBThreadPlan.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/API/SBThreadPlan.h Wed Oct 23 17:53:01 2019 (r353952) @@ -28,6 +28,9 @@ class LLDB_API SBThreadPlan { (public) SBThreadPlan(lldb::SBThread &thread, const char *class_name); + SBThreadPlan(lldb::SBThread &thread, const char *class_name, + lldb::SBStructuredData &args_data); + ~SBThreadPlan(); explicit operator bool() const; @@ -99,6 +102,9 @@ class LLDB_API SBThreadPlan { (public) SBThreadPlan QueueThreadPlanForStepScripted(const char *script_class_name); SBThreadPlan QueueThreadPlanForStepScripted(const char *script_class_name, + SBError &error); + SBThreadPlan QueueThreadPlanForStepScripted(const char *script_class_name, + lldb::SBStructuredData &args_data, SBError &error); private: Modified: vendor/lldb/dist/include/lldb/Breakpoint/BreakpointLocation.h ============================================================================== --- vendor/lldb/dist/include/lldb/Breakpoint/BreakpointLocation.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Breakpoint/BreakpointLocation.h Wed Oct 23 17:53:01 2019 (r353952) @@ -67,7 +67,7 @@ class BreakpointLocation (public) // The next section deals with various breakpoint options. - /// If \a enable is \b true, enable the breakpoint, if \b false disable it. + /// If \a enabled is \b true, enable the breakpoint, if \b false disable it. void SetEnabled(bool enabled); /// Check the Enable/Disable state. Modified: vendor/lldb/dist/include/lldb/Breakpoint/BreakpointOptions.h ============================================================================== --- vendor/lldb/dist/include/lldb/Breakpoint/BreakpointOptions.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Breakpoint/BreakpointOptions.h Wed Oct 23 17:53:01 2019 (r353952) @@ -107,6 +107,12 @@ friend class Breakpoint; (public) /// \param[in] ignore /// How many breakpoint hits we should ignore before stopping. /// + /// \param[in] one_shot + /// Should this breakpoint delete itself after being hit once. + /// + /// \param[in] auto_continue + /// Should this breakpoint auto-continue after running its commands. + /// BreakpointOptions(const char *condition, bool enabled = true, int32_t ignore = 0, bool one_shot = false, bool auto_continue = false); @@ -319,7 +325,10 @@ friend class Breakpoint; (public) void GetDescription(Stream *s, lldb::DescriptionLevel level) const; - /// Returns true if the breakpoint option has a callback set. + /// Check if the breakpoint option has a callback set. + /// + /// \return + /// If the breakpoint option has a callback, \b true otherwise \b false. bool HasCallback() const; /// This is the default empty callback. @@ -367,22 +376,32 @@ friend class Breakpoint; (public) void SetThreadSpec(std::unique_ptr &thread_spec_up); private: - // For BreakpointOptions only - BreakpointHitCallback m_callback; // This is the callback function pointer - lldb::BatonSP m_callback_baton_sp; // This is the client data for the callback + /// For BreakpointOptions only + + /// This is the callback function pointer + BreakpointHitCallback m_callback; + /// This is the client data for the callback + lldb::BatonSP m_callback_baton_sp; bool m_baton_is_command_baton; bool m_callback_is_synchronous; bool m_enabled; + /// If set, the breakpoint delete itself after being hit once. bool m_one_shot; - uint32_t m_ignore_count; // Number of times to ignore this breakpoint - std::unique_ptr - m_thread_spec_up; // Thread for which this breakpoint will take - std::string m_condition_text; // The condition to test. - size_t m_condition_text_hash; // Its hash, so that locations know when the - // condition is updated. - bool m_auto_continue; // If set, auto-continue from breakpoint. - Flags m_set_flags; // Which options are set at this level. Drawn - // from BreakpointOptions::SetOptionsFlags. + /// Number of times to ignore this breakpoint. + uint32_t m_ignore_count; + /// Thread for which this breakpoint will stop. + std::unique_ptr m_thread_spec_up; + /// The condition to test. + std::string m_condition_text; + /// Its hash, so that locations know when the condition is updated. + size_t m_condition_text_hash; + /// If set, inject breakpoint condition into process. + bool m_inject_condition; + /// If set, auto-continue from breakpoint. + bool m_auto_continue; + /// Which options are set at this level. + /// Drawn from BreakpointOptions::SetOptionsFlags. + Flags m_set_flags; }; } // namespace lldb_private Modified: vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverAddress.h ============================================================================== --- vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverAddress.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverAddress.h Wed Oct 23 17:53:01 2019 (r353952) @@ -41,8 +41,8 @@ class BreakpointResolverAddress : public BreakpointRes ModuleList &modules) override; Searcher::CallbackReturn SearchCallback(SearchFilter &filter, - SymbolContext &context, Address *addr, - bool containing) override; + SymbolContext &context, + Address *addr) override; lldb::SearchDepth GetDepth() override; Modified: vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverFileLine.h ============================================================================== --- vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverFileLine.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverFileLine.h Wed Oct 23 17:53:01 2019 (r353952) @@ -35,8 +35,8 @@ class BreakpointResolverFileLine : public BreakpointRe ~BreakpointResolverFileLine() override; Searcher::CallbackReturn SearchCallback(SearchFilter &filter, - SymbolContext &context, Address *addr, - bool containing) override; + SymbolContext &context, + Address *addr) override; lldb::SearchDepth GetDepth() override; Modified: vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverFileRegex.h ============================================================================== --- vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverFileRegex.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverFileRegex.h Wed Oct 23 17:53:01 2019 (r353952) @@ -24,7 +24,7 @@ namespace lldb_private { class BreakpointResolverFileRegex : public BreakpointResolver { public: BreakpointResolverFileRegex( - Breakpoint *bkpt, RegularExpression ®ex, + Breakpoint *bkpt, RegularExpression regex, const std::unordered_set &func_name_set, bool exact_match); static BreakpointResolver * @@ -37,8 +37,8 @@ class BreakpointResolverFileRegex : public BreakpointR ~BreakpointResolverFileRegex() override; Searcher::CallbackReturn SearchCallback(SearchFilter &filter, - SymbolContext &context, Address *addr, - bool containing) override; + SymbolContext &context, + Address *addr) override; lldb::SearchDepth GetDepth() override; Modified: vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverName.h ============================================================================== --- vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverName.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverName.h Wed Oct 23 17:53:01 2019 (r353952) @@ -44,7 +44,7 @@ class BreakpointResolverName : public BreakpointResolv // Creates a function breakpoint by regular expression. Takes over control // of the lifespan of func_regex. - BreakpointResolverName(Breakpoint *bkpt, RegularExpression &func_regex, + BreakpointResolverName(Breakpoint *bkpt, RegularExpression func_regex, lldb::LanguageType language, lldb::addr_t offset, bool skip_prologue); @@ -58,8 +58,8 @@ class BreakpointResolverName : public BreakpointResolv ~BreakpointResolverName() override; Searcher::CallbackReturn SearchCallback(SearchFilter &filter, - SymbolContext &context, Address *addr, - bool containing) override; + SymbolContext &context, + Address *addr) override; lldb::SearchDepth GetDepth() override; Modified: vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverScripted.h ============================================================================== --- vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverScripted.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Breakpoint/BreakpointResolverScripted.h Wed Oct 23 17:53:01 2019 (r353952) @@ -26,8 +26,7 @@ class BreakpointResolverScripted : public BreakpointRe BreakpointResolverScripted(Breakpoint *bkpt, const llvm::StringRef class_name, lldb::SearchDepth depth, - StructuredDataImpl *args_data, - ScriptInterpreter &script_interp); + StructuredDataImpl *args_data); ~BreakpointResolverScripted() override; @@ -39,8 +38,8 @@ class BreakpointResolverScripted : public BreakpointRe StructuredData::ObjectSP SerializeToStructuredData() override; Searcher::CallbackReturn SearchCallback(SearchFilter &filter, - SymbolContext &context, Address *addr, - bool containing) override; + SymbolContext &context, + Address *addr) override; lldb::SearchDepth GetDepth() override; Modified: vendor/lldb/dist/include/lldb/Core/Address.h ============================================================================== --- vendor/lldb/dist/include/lldb/Core/Address.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Core/Address.h Wed Oct 23 17:53:01 2019 (r353952) @@ -338,6 +338,23 @@ class Address { (public) bool ResolveAddressUsingFileSections(lldb::addr_t addr, const SectionList *sections); + /// Resolve this address to its containing function and optionally get + /// that function's address range. + /// + /// \param[out] sym_ctx + /// The symbol context describing the function in which this address lies + /// + /// \parm[out] addr_range_ptr + /// Pointer to the AddressRange to fill in with the function's address + /// range. Caller may pass null if they don't need the address range. + /// + /// \return + /// Returns \b false if the function/symbol could not be resolved + /// or if the address range was requested and could not be resolved; + /// returns \b true otherwise. + bool ResolveFunctionScope(lldb_private::SymbolContext &sym_ctx, + lldb_private::AddressRange *addr_range_ptr = nullptr); + /// Set the address to represent \a load_addr. /// /// The address will attempt to find a loaded section within \a target that Modified: vendor/lldb/dist/include/lldb/Core/AddressResolverFileLine.h ============================================================================== --- vendor/lldb/dist/include/lldb/Core/AddressResolverFileLine.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Core/AddressResolverFileLine.h Wed Oct 23 17:53:01 2019 (r353952) @@ -34,8 +34,8 @@ class AddressResolverFileLine : public AddressResolver ~AddressResolverFileLine() override; Searcher::CallbackReturn SearchCallback(SearchFilter &filter, - SymbolContext &context, Address *addr, - bool containing) override; + SymbolContext &context, + Address *addr) override; lldb::SearchDepth GetDepth() override; Modified: vendor/lldb/dist/include/lldb/Core/AddressResolverName.h ============================================================================== --- vendor/lldb/dist/include/lldb/Core/AddressResolverName.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Core/AddressResolverName.h Wed Oct 23 17:53:01 2019 (r353952) @@ -31,7 +31,7 @@ class AddressResolverName : public AddressResolver { ( // Creates a function breakpoint by regular expression. Takes over control // of the lifespan of func_regex. - AddressResolverName(RegularExpression &func_regex); + AddressResolverName(RegularExpression func_regex); AddressResolverName(const char *class_name, const char *method, AddressResolver::MatchType type); @@ -39,8 +39,8 @@ class AddressResolverName : public AddressResolver { ( ~AddressResolverName() override; Searcher::CallbackReturn SearchCallback(SearchFilter &filter, - SymbolContext &context, Address *addr, - bool containing) override; + SymbolContext &context, + Address *addr) override; lldb::SearchDepth GetDepth() override; Modified: vendor/lldb/dist/include/lldb/Core/Debugger.h ============================================================================== --- vendor/lldb/dist/include/lldb/Core/Debugger.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Core/Debugger.h Wed Oct 23 17:53:01 2019 (r353952) @@ -17,6 +17,7 @@ #include "lldb/Core/FormatEntity.h" #include "lldb/Core/IOHandler.h" #include "lldb/Core/SourceManager.h" +#include "lldb/Core/StreamFile.h" #include "lldb/Core/UserSettingsController.h" #include "lldb/Host/HostThread.h" #include "lldb/Host/Terminal.h" @@ -113,20 +114,29 @@ class Debugger : public std::enable_shared_from_thisGetFile(); } + + File &GetErrorFile() { return m_error_stream_sp->GetFile(); } + + StreamFile &GetOutputStream() { return *m_output_stream_sp; } + + StreamFile &GetErrorStream() { return *m_error_stream_sp; } + repro::DataRecorder *GetInputRecorder(); - void SetInputFileHandle(FILE *fh, bool tranfer_ownership, - repro::DataRecorder *recorder = nullptr); + void SetInputFile(lldb::FileSP file, repro::DataRecorder *recorder = nullptr); - void SetOutputFileHandle(FILE *fh, bool tranfer_ownership); + void SetOutputFile(lldb::FileSP file); - void SetErrorFileHandle(FILE *fh, bool tranfer_ownership); + void SetErrorFile(lldb::FileSP file); void SaveInputTerminalState(); @@ -174,7 +184,7 @@ class Debugger : public std::enable_shared_from_this collection; + typedef collection::const_iterator const_iterator; + /// Default constructor. /// /// Initialize this object with an empty file list. @@ -76,6 +79,15 @@ class FileSpecList { (public) /// \b true if the file was appended, \b false otherwise. bool AppendIfUnique(const FileSpec &file); + /// Inserts a new FileSpec into the FileSpecList constructed in-place with + /// the given arguments. + /// + /// \param[in] args + /// Arguments to create the FileSpec + template void EmplaceBack(Args &&... args) { + m_files.emplace_back(std::forward(args)...); + } + /// Clears the file list. void Clear(); @@ -182,9 +194,10 @@ class FileSpecList { (public) static size_t GetFilesMatchingPartialPath(const char *path, bool dir_okay, FileSpecList &matches); + const_iterator begin() const { return m_files.begin(); } + const_iterator end() const { return m_files.end(); } + protected: - typedef std::vector - collection; ///< The collection type for the file list. collection m_files; ///< A collection of FileSpec objects. }; Modified: vendor/lldb/dist/include/lldb/Core/FormatEntity.h ============================================================================== --- vendor/lldb/dist/include/lldb/Core/FormatEntity.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Core/FormatEntity.h Wed Oct 23 17:53:01 2019 (r353952) @@ -199,7 +199,7 @@ class FormatEntity { (public) llvm::StringRef &variable_name, llvm::StringRef &variable_format); - static size_t AutoComplete(lldb_private::CompletionRequest &request); + static void AutoComplete(lldb_private::CompletionRequest &request); // Format the current elements into the stream \a s. // Modified: vendor/lldb/dist/include/lldb/Core/IOHandler.h ============================================================================== --- vendor/lldb/dist/include/lldb/Core/IOHandler.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Core/IOHandler.h Wed Oct 23 17:53:01 2019 (r353952) @@ -10,6 +10,7 @@ #define liblldb_IOHandler_h_ #include "lldb/Core/ValueObjectList.h" +#include "lldb/Utility/CompletionRequest.h" #include "lldb/Utility/ConstString.h" #include "lldb/Utility/Flags.h" #include "lldb/Utility/Predicate.h" @@ -57,8 +58,7 @@ class IOHandler { (public) IOHandler(Debugger &debugger, IOHandler::Type type); IOHandler(Debugger &debugger, IOHandler::Type type, - const lldb::StreamFileSP &input_sp, - const lldb::StreamFileSP &output_sp, + const lldb::FileSP &input_sp, const lldb::StreamFileSP &output_sp, const lldb::StreamFileSP &error_sp, uint32_t flags, repro::DataRecorder *data_recorder); @@ -122,11 +122,11 @@ class IOHandler { (public) FILE *GetErrorFILE(); - lldb::StreamFileSP &GetInputStreamFile(); + lldb::FileSP &GetInputFileSP(); - lldb::StreamFileSP &GetOutputStreamFile(); + lldb::StreamFileSP &GetOutputStreamFileSP(); - lldb::StreamFileSP &GetErrorStreamFile(); + lldb::StreamFileSP &GetErrorStreamFileSP(); Debugger &GetDebugger() { return m_debugger; } @@ -164,7 +164,7 @@ class IOHandler { (public) protected: Debugger &m_debugger; - lldb::StreamFileSP m_input_sp; + lldb::FileSP m_input_sp; lldb::StreamFileSP m_output_sp; lldb::StreamFileSP m_error_sp; repro::DataRecorder *m_data_recorder; @@ -198,10 +198,8 @@ class IOHandlerDelegate { (public) virtual void IOHandlerDeactivated(IOHandler &io_handler) {} - virtual int IOHandlerComplete(IOHandler &io_handler, const char *current_line, - const char *cursor, const char *last_char, - int skip_first_n_matches, int max_matches, - StringList &matches, StringList &descriptions); + virtual void IOHandlerComplete(IOHandler &io_handler, + CompletionRequest &request); virtual const char *IOHandlerGetFixIndentationCharacters() { return nullptr; } @@ -334,7 +332,7 @@ class IOHandlerEditline : public IOHandler { (public) repro::DataRecorder *data_recorder); IOHandlerEditline(Debugger &debugger, IOHandler::Type type, - const lldb::StreamFileSP &input_sp, + const lldb::FileSP &input_sp, const lldb::StreamFileSP &output_sp, const lldb::StreamFileSP &error_sp, uint32_t flags, const char *editline_name, // Used for saving history files @@ -350,7 +348,7 @@ class IOHandlerEditline : public IOHandler { (public) const char *, bool, bool, uint32_t, IOHandlerDelegate &) = delete; - IOHandlerEditline(Debugger &, IOHandler::Type, const lldb::StreamFileSP &, + IOHandlerEditline(Debugger &, IOHandler::Type, const lldb::FileSP &, const lldb::StreamFileSP &, const lldb::StreamFileSP &, uint32_t, const char *, const char *, const char *, bool, bool, uint32_t, IOHandlerDelegate &) = delete; @@ -415,11 +413,7 @@ class IOHandlerEditline : public IOHandler { (public) static int FixIndentationCallback(Editline *editline, const StringList &lines, int cursor_position, void *baton); - static int AutoCompleteCallback(const char *current_line, const char *cursor, - const char *last_char, - int skip_first_n_matches, int max_matches, - StringList &matches, StringList &descriptions, - void *baton); + static void AutoCompleteCallback(CompletionRequest &request, void *baton); #endif protected: @@ -437,6 +431,7 @@ class IOHandlerEditline : public IOHandler { (public) bool m_interrupt_exits; bool m_editing; // Set to true when fetching a line manually (not using // libedit) + std::string m_line_buffer; }; // The order of base classes is important. Look at the constructor of @@ -450,10 +445,8 @@ class IOHandlerConfirm : public IOHandlerDelegate, pub bool GetResponse() const { return m_user_response; } - int IOHandlerComplete(IOHandler &io_handler, const char *current_line, - const char *cursor, const char *last_char, - int skip_first_n_matches, int max_matches, - StringList &matches, StringList &descriptions) override; + void IOHandlerComplete(IOHandler &io_handler, + CompletionRequest &request) override; void IOHandlerInputComplete(IOHandler &io_handler, std::string &data) override; Modified: vendor/lldb/dist/include/lldb/Core/LoadedModuleInfoList.h ============================================================================== --- vendor/lldb/dist/include/lldb/Core/LoadedModuleInfoList.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Core/LoadedModuleInfoList.h Wed Oct 23 17:53:01 2019 (r353952) @@ -84,9 +84,6 @@ class LoadedModuleInfoList { (public) } bool operator==(LoadedModuleInfo const &rhs) const { - if (e_num != rhs.e_num) - return false; - for (size_t i = 0; i < e_num; ++i) { if (m_has[i] != rhs.m_has[i]) return false; Modified: vendor/lldb/dist/include/lldb/Core/Mangled.h ============================================================================== --- vendor/lldb/dist/include/lldb/Core/Mangled.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Core/Mangled.h Wed Oct 23 17:53:01 2019 (r353952) @@ -49,24 +49,10 @@ class Mangled { (public) /// Default constructor. /// /// Initialize with both mangled and demangled names empty. - Mangled(); + Mangled() = default; /// Construct with name. /// - /// Constructor with an optional string and a boolean indicating if it is - /// the mangled version. - /// - /// \param[in] name - /// The already const name to copy into this object. - /// - /// \param[in] is_mangled - /// If \b true then \a name is a mangled name, if \b false then - /// \a name is demangled. - Mangled(ConstString name, bool is_mangled); - Mangled(llvm::StringRef name, bool is_mangled); - - /// Construct with name. - /// /// Constructor with an optional string and auto-detect if \a name is /// mangled or not. /// @@ -75,12 +61,6 @@ class Mangled { (public) explicit Mangled(ConstString name); explicit Mangled(llvm::StringRef name); - - /// Destructor - /// - /// Releases its ref counts on the mangled and demangled strings that live - /// in the global string pool. - ~Mangled(); /// Convert to pointer operator. /// Modified: vendor/lldb/dist/include/lldb/Core/Module.h ============================================================================== --- vendor/lldb/dist/include/lldb/Core/Module.h Wed Oct 23 17:52:50 2019 (r353951) +++ vendor/lldb/dist/include/lldb/Core/Module.h Wed Oct 23 17:53:01 2019 (r353952) @@ -49,7 +49,6 @@ class Symbol; class SymbolContext; class SymbolContextList; class SymbolFile; -class SymbolVendor; class Symtab; class Target; class TypeList; @@ -67,8 +66,8 @@ class VariableList; /// accessors are called. For example the object file (ObjectFile) /// representation will only be parsed if the object file is requested using /// the Module::GetObjectFile() is called. The debug symbols will only be -/// parsed if the symbol vendor (SymbolVendor) is requested using the -/// Module::GetSymbolVendor() is called. +/// parsed if the symbol file (SymbolFile) is requested using the +/// Module::GetSymbolFile() method. /// /// The module will parse more detailed information as more queries are made. class Module : public std::enable_shared_from_this, @@ -247,13 +246,13 @@ class Module : public std::enable_shared_from_this Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E1D83159DD0; Wed, 23 Oct 2019 17:53:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yyf04vhRz4TVp; Wed, 23 Oct 2019 17:53:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6B931388; Wed, 23 Oct 2019 17:53:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHrC92078676; Wed, 23 Oct 2019 17:53:12 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHrCiu078675; Wed, 23 Oct 2019 17:53:12 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231753.x9NHrCiu078675@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:53:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353953 - vendor/lldb/lldb-r375505 X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/lldb/lldb-r375505 X-SVN-Commit-Revision: 353953 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:53:13 -0000 Author: dim Date: Wed Oct 23 17:53:12 2019 New Revision: 353953 URL: https://svnweb.freebsd.org/changeset/base/353953 Log: Tag stripped lldb trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub. Added: vendor/lldb/lldb-r375505/ - copied from r353952, vendor/lldb/dist/ From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:53:19 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1CF69159E35; Wed, 23 Oct 2019 17:53:19 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yyf656nNz4Td8; Wed, 23 Oct 2019 17:53:18 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 89DED389; Wed, 23 Oct 2019 17:53:18 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHrITb078739; Wed, 23 Oct 2019 17:53:18 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHrFQR078722; Wed, 23 Oct 2019 17:53:15 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231753.x9NHrFQR078722@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:53:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353954 - in vendor/llvm-openmp/dist/runtime/src: . thirdparty/ittnotify X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in vendor/llvm-openmp/dist/runtime/src: . thirdparty/ittnotify X-SVN-Commit-Revision: 353954 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:53:19 -0000 Author: dim Date: Wed Oct 23 17:53:14 2019 New Revision: 353954 URL: https://svnweb.freebsd.org/changeset/base/353954 Log: Vendor import of stripped LLVM openmp trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub: https://llvm.org/svn/llvm-project/openmp/trunk@375505 Added: vendor/llvm-openmp/dist/runtime/src/thirdparty/ittnotify/ittnotify_static.cpp Deleted: vendor/llvm-openmp/dist/runtime/src/kmp_taskq.cpp vendor/llvm-openmp/dist/runtime/src/thirdparty/ittnotify/ittnotify_static.c Modified: vendor/llvm-openmp/dist/runtime/src/kmp.h vendor/llvm-openmp/dist/runtime/src/kmp_affinity.cpp vendor/llvm-openmp/dist/runtime/src/kmp_affinity.h vendor/llvm-openmp/dist/runtime/src/kmp_csupport.cpp vendor/llvm-openmp/dist/runtime/src/kmp_ftn_os.h vendor/llvm-openmp/dist/runtime/src/kmp_global.cpp vendor/llvm-openmp/dist/runtime/src/kmp_gsupport.cpp vendor/llvm-openmp/dist/runtime/src/kmp_lock.cpp vendor/llvm-openmp/dist/runtime/src/kmp_lock.h vendor/llvm-openmp/dist/runtime/src/kmp_os.h vendor/llvm-openmp/dist/runtime/src/kmp_platform.h vendor/llvm-openmp/dist/runtime/src/kmp_runtime.cpp vendor/llvm-openmp/dist/runtime/src/kmp_stub.cpp vendor/llvm-openmp/dist/runtime/src/kmp_taskdeps.cpp vendor/llvm-openmp/dist/runtime/src/kmp_wait_release.h vendor/llvm-openmp/dist/runtime/src/ompt-general.cpp vendor/llvm-openmp/dist/runtime/src/ompt-internal.h vendor/llvm-openmp/dist/runtime/src/ompt-specific.cpp vendor/llvm-openmp/dist/runtime/src/ompt-specific.h vendor/llvm-openmp/dist/runtime/src/thirdparty/ittnotify/ittnotify_config.h vendor/llvm-openmp/dist/runtime/src/z_Linux_asm.S vendor/llvm-openmp/dist/runtime/src/z_Linux_util.cpp Modified: vendor/llvm-openmp/dist/runtime/src/kmp.h ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp.h Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp.h Wed Oct 23 17:53:14 2019 (r353954) @@ -2181,10 +2181,9 @@ struct kmp_dephash_entry { typedef struct kmp_dephash { kmp_dephash_entry_t **buckets; size_t size; -#ifdef KMP_DEBUG + size_t generation; kmp_uint32 nelements; kmp_uint32 nconflicts; -#endif } kmp_dephash_t; typedef struct kmp_task_affinity_info { @@ -3342,7 +3341,7 @@ extern int __kmp_aux_set_affinity_mask_proc(int proc, extern int __kmp_aux_unset_affinity_mask_proc(int proc, void **mask); extern int __kmp_aux_get_affinity_mask_proc(int proc, void **mask); extern void __kmp_balanced_affinity(kmp_info_t *th, int team_size); -#if KMP_OS_LINUX +#if KMP_OS_LINUX || KMP_OS_FREEBSD extern int kmp_set_thread_affinity_mask_initial(void); #endif #endif /* KMP_AFFINITY_SUPPORTED */ Modified: vendor/llvm-openmp/dist/runtime/src/kmp_affinity.cpp ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_affinity.cpp Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_affinity.cpp Wed Oct 23 17:53:14 2019 (r353954) @@ -1968,7 +1968,7 @@ static void __kmp_dispatch_set_hierarchy_values() { __kmp_hier_max_units[kmp_hier_layer_e::LAYER_THREAD + 1] = nPackages * nCoresPerPkg * __kmp_nThreadsPerCore; __kmp_hier_max_units[kmp_hier_layer_e::LAYER_L1 + 1] = __kmp_ncores; -#if KMP_ARCH_X86_64 && (KMP_OS_LINUX || KMP_OS_WINDOWS) +#if KMP_ARCH_X86_64 && (KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_WINDOWS) if (__kmp_mic_type >= mic3) __kmp_hier_max_units[kmp_hier_layer_e::LAYER_L2 + 1] = __kmp_ncores / 2; else @@ -1982,7 +1982,7 @@ static void __kmp_dispatch_set_hierarchy_values() { __kmp_hier_threads_per[kmp_hier_layer_e::LAYER_THREAD + 1] = 1; __kmp_hier_threads_per[kmp_hier_layer_e::LAYER_L1 + 1] = __kmp_nThreadsPerCore; -#if KMP_ARCH_X86_64 && (KMP_OS_LINUX || KMP_OS_WINDOWS) +#if KMP_ARCH_X86_64 && (KMP_OS_LINUX || KMP_OS_FREEBSD || KMP_OS_WINDOWS) if (__kmp_mic_type >= mic3) __kmp_hier_threads_per[kmp_hier_layer_e::LAYER_L2 + 1] = 2 * __kmp_nThreadsPerCore; Modified: vendor/llvm-openmp/dist/runtime/src/kmp_affinity.h ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_affinity.h Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_affinity.h Wed Oct 23 17:53:14 2019 (r353954) @@ -160,6 +160,7 @@ class KMPHwlocAffinity : public KMPAffinity { (public) }; #endif /* KMP_USE_HWLOC */ +#if KMP_OS_LINUX || KMP_OS_FREEBSD #if KMP_OS_LINUX /* On some of the older OS's that we build on, these constants aren't present in #included from . They must be the same on @@ -234,6 +235,10 @@ class KMPHwlocAffinity : public KMPAffinity { (public) #endif /* __NR_sched_getaffinity */ #error Unknown or unsupported architecture #endif /* KMP_ARCH_* */ +#elif KMP_OS_FREEBSD +#include +#include +#endif class KMPNativeAffinity : public KMPAffinity { class Mask : public KMPAffinity::Mask { typedef unsigned char mask_t; @@ -294,8 +299,13 @@ class KMPNativeAffinity : public KMPAffinity { int get_system_affinity(bool abort_on_error) override { KMP_ASSERT2(KMP_AFFINITY_CAPABLE(), "Illegal get affinity operation when not capable"); +#if KMP_OS_LINUX int retval = syscall(__NR_sched_getaffinity, 0, __kmp_affin_mask_size, mask); +#elif KMP_OS_FREEBSD + int retval = + pthread_getaffinity_np(pthread_self(), __kmp_affin_mask_size, reinterpret_cast(mask)); +#endif if (retval >= 0) { return 0; } @@ -308,8 +318,13 @@ class KMPNativeAffinity : public KMPAffinity { int set_system_affinity(bool abort_on_error) const override { KMP_ASSERT2(KMP_AFFINITY_CAPABLE(), "Illegal get affinity operation when not capable"); +#if KMP_OS_LINUX int retval = syscall(__NR_sched_setaffinity, 0, __kmp_affin_mask_size, mask); +#elif KMP_OS_FREEBSD + int retval = + pthread_setaffinity_np(pthread_self(), __kmp_affin_mask_size, reinterpret_cast(mask)); +#endif if (retval >= 0) { return 0; } @@ -347,7 +362,7 @@ class KMPNativeAffinity : public KMPAffinity { } api_type get_api_type() const override { return NATIVE_OS; } }; -#endif /* KMP_OS_LINUX */ +#endif /* KMP_OS_LINUX || KMP_OS_FREEBSD */ #if KMP_OS_WINDOWS class KMPNativeAffinity : public KMPAffinity { Modified: vendor/llvm-openmp/dist/runtime/src/kmp_csupport.cpp ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_csupport.cpp Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_csupport.cpp Wed Oct 23 17:53:14 2019 (r353954) @@ -545,7 +545,8 @@ void __kmpc_end_serialized_parallel(ident_t *loc, kmp_ if (ompt_enabled.ompt_callback_parallel_end) { ompt_callbacks.ompt_callback(ompt_callback_parallel_end)( &(serial_team->t.ompt_team_info.parallel_data), parent_task_data, - ompt_parallel_invoker_program, OMPT_LOAD_RETURN_ADDRESS(global_tid)); + ompt_parallel_invoker_program | ompt_parallel_team, + OMPT_LOAD_RETURN_ADDRESS(global_tid)); } __ompt_lw_taskteam_unlink(this_thr); this_thr->th.ompt_thread_info.state = ompt_state_overhead; @@ -676,7 +677,8 @@ void __kmpc_flush(ident_t *loc) { #endif // KMP_COMPILER_ICC } #endif // KMP_MIC -#elif (KMP_ARCH_ARM || KMP_ARCH_AARCH64 || KMP_ARCH_MIPS || KMP_ARCH_MIPS64) +#elif (KMP_ARCH_ARM || KMP_ARCH_AARCH64 || KMP_ARCH_MIPS || KMP_ARCH_MIPS64 || \ + KMP_ARCH_RISCV64) // Nothing to see here move along #elif KMP_ARCH_PPC64 // Nothing needed here (we have a real MB above). Modified: vendor/llvm-openmp/dist/runtime/src/kmp_ftn_os.h ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_ftn_os.h Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_ftn_os.h Wed Oct 23 17:53:14 2019 (r353954) @@ -633,5 +633,25 @@ GOMP_loop_ull_doacross_guided_start #define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START \ GOMP_loop_ull_doacross_runtime_start +#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT \ + GOMP_loop_nonmonotonic_dynamic_next +#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START \ + GOMP_loop_nonmonotonic_dynamic_start +#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT \ + GOMP_loop_nonmonotonic_guided_next +#define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_START \ + GOMP_loop_nonmonotonic_guided_start +#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT \ + GOMP_loop_ull_nonmonotonic_dynamic_next +#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START \ + GOMP_loop_ull_nonmonotonic_dynamic_start +#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT \ + GOMP_loop_ull_nonmonotonic_guided_next +#define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START \ + GOMP_loop_ull_nonmonotonic_guided_start +#define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC \ + GOMP_parallel_loop_nonmonotonic_dynamic +#define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED \ + GOMP_parallel_loop_nonmonotonic_guided #endif /* KMP_FTN_OS_H */ Modified: vendor/llvm-openmp/dist/runtime/src/kmp_global.cpp ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_global.cpp Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_global.cpp Wed Oct 23 17:53:14 2019 (r353954) @@ -431,7 +431,7 @@ std::atomic __kmp_thread_pool_active_nth = ATOMIC /* ------------------------------------------------- * GLOBAL/ROOT STATE */ KMP_ALIGN_CACHE -kmp_global_t __kmp_global = {{0}}; +kmp_global_t __kmp_global; /* ----------------------------------------------- */ /* GLOBAL SYNCHRONIZATION LOCKS */ Modified: vendor/llvm-openmp/dist/runtime/src/kmp_gsupport.cpp ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_gsupport.cpp Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_gsupport.cpp Wed Oct 23 17:53:14 2019 (r353954) @@ -22,7 +22,7 @@ extern "C" { #endif // __cplusplus #define MKLOC(loc, routine) \ - static ident_t(loc) = {0, KMP_IDENT_KMPC, 0, 0, ";unknown;unknown;0;0;;"}; + static ident_t loc = {0, KMP_IDENT_KMPC, 0, 0, ";unknown;unknown;0;0;;"}; #include "kmp_ftn_os.h" @@ -622,10 +622,16 @@ LOOP_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_STAT LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_STATIC_NEXT), {}) LOOP_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_DYNAMIC_START), kmp_sch_dynamic_chunked) +LOOP_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START), + kmp_sch_dynamic_chunked) LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_DYNAMIC_NEXT), {}) +LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT), {}) LOOP_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_GUIDED_START), kmp_sch_guided_chunked) +LOOP_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_START), + kmp_sch_guided_chunked) LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_GUIDED_NEXT), {}) +LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT), {}) LOOP_RUNTIME_START(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_RUNTIME_START), kmp_sch_runtime) LOOP_NEXT(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_RUNTIME_NEXT), {}) @@ -892,6 +898,16 @@ LOOP_NEXT_ULL(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_U LOOP_START_ULL(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_GUIDED_START), kmp_sch_guided_chunked) LOOP_NEXT_ULL(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_GUIDED_NEXT), {}) +LOOP_START_ULL( + KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START), + kmp_sch_dynamic_chunked) +LOOP_NEXT_ULL( + KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT), {}) +LOOP_START_ULL( + KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START), + kmp_sch_guided_chunked) +LOOP_NEXT_ULL( + KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT), {}) LOOP_RUNTIME_START_ULL( KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_START), kmp_sch_runtime) LOOP_NEXT_ULL(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_NEXT), {}) @@ -1487,6 +1503,12 @@ PARALLEL_LOOP(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALL kmp_sch_static, OMPT_LOOP_PRE, OMPT_LOOP_POST) PARALLEL_LOOP(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_DYNAMIC), kmp_sch_dynamic_chunked, OMPT_LOOP_PRE, OMPT_LOOP_POST) +PARALLEL_LOOP( + KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED), + kmp_sch_guided_chunked, OMPT_LOOP_PRE, OMPT_LOOP_POST) +PARALLEL_LOOP( + KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC), + kmp_sch_dynamic_chunked, OMPT_LOOP_PRE, OMPT_LOOP_POST) PARALLEL_LOOP(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_GUIDED), kmp_sch_guided_chunked, OMPT_LOOP_PRE, OMPT_LOOP_POST) PARALLEL_LOOP(KMP_EXPAND_NAME(KMP_API_NAME_GOMP_PARALLEL_LOOP_RUNTIME), @@ -1941,6 +1963,26 @@ KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_GUIDED_START, 45, "GOMP_4.5"); KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START, 45, + "GOMP_4.5"); +KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START, 45, + "GOMP_4.5"); +KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT, 45, + "GOMP_4.5"); +KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_START, 45, + "GOMP_4.5"); +KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT, 45, + "GOMP_4.5"); +KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START, 45, + "GOMP_4.5"); +KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT, 45, + "GOMP_4.5"); +KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START, 45, + "GOMP_4.5"); +KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT, 45, + "GOMP_4.5"); +KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC, 45, + "GOMP_4.5"); +KMP_VERSION_SYMBOL(KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED, 45, "GOMP_4.5"); #endif // KMP_USE_VERSION_SYMBOLS Modified: vendor/llvm-openmp/dist/runtime/src/kmp_lock.cpp ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_lock.cpp Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_lock.cpp Wed Oct 23 17:53:14 2019 (r353954) @@ -2943,10 +2943,10 @@ static int (*direct_test_check[])(kmp_dyna_lock_t *, k #undef expand // Exposes only one set of jump tables (*lock or *lock_with_checks). -void (*(*__kmp_direct_destroy))(kmp_dyna_lock_t *) = 0; -int (*(*__kmp_direct_set))(kmp_dyna_lock_t *, kmp_int32) = 0; -int (*(*__kmp_direct_unset))(kmp_dyna_lock_t *, kmp_int32) = 0; -int (*(*__kmp_direct_test))(kmp_dyna_lock_t *, kmp_int32) = 0; +void (**__kmp_direct_destroy)(kmp_dyna_lock_t *) = 0; +int (**__kmp_direct_set)(kmp_dyna_lock_t *, kmp_int32) = 0; +int (**__kmp_direct_unset)(kmp_dyna_lock_t *, kmp_int32) = 0; +int (**__kmp_direct_test)(kmp_dyna_lock_t *, kmp_int32) = 0; // Jump tables for the indirect lock functions #define expand(l, op) (void (*)(kmp_user_lock_p)) __kmp_##op##_##l##_##lock, @@ -2993,10 +2993,10 @@ static int (*indirect_test_check[])(kmp_user_lock_p, k #undef expand // Exposes only one jump tables (*lock or *lock_with_checks). -void (*(*__kmp_indirect_destroy))(kmp_user_lock_p) = 0; -int (*(*__kmp_indirect_set))(kmp_user_lock_p, kmp_int32) = 0; -int (*(*__kmp_indirect_unset))(kmp_user_lock_p, kmp_int32) = 0; -int (*(*__kmp_indirect_test))(kmp_user_lock_p, kmp_int32) = 0; +void (**__kmp_indirect_destroy)(kmp_user_lock_p) = 0; +int (**__kmp_indirect_set)(kmp_user_lock_p, kmp_int32) = 0; +int (**__kmp_indirect_unset)(kmp_user_lock_p, kmp_int32) = 0; +int (**__kmp_indirect_test)(kmp_user_lock_p, kmp_int32) = 0; // Lock index table. kmp_indirect_lock_table_t __kmp_i_lock_table; Modified: vendor/llvm-openmp/dist/runtime/src/kmp_lock.h ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_lock.h Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_lock.h Wed Oct 23 17:53:14 2019 (r353954) @@ -1122,18 +1122,18 @@ typedef struct { // Function tables for direct locks. Set/unset/test differentiate functions // with/without consistency checking. extern void (*__kmp_direct_init[])(kmp_dyna_lock_t *, kmp_dyna_lockseq_t); -extern void (*(*__kmp_direct_destroy))(kmp_dyna_lock_t *); -extern int (*(*__kmp_direct_set))(kmp_dyna_lock_t *, kmp_int32); -extern int (*(*__kmp_direct_unset))(kmp_dyna_lock_t *, kmp_int32); -extern int (*(*__kmp_direct_test))(kmp_dyna_lock_t *, kmp_int32); +extern void (**__kmp_direct_destroy)(kmp_dyna_lock_t *); +extern int (**__kmp_direct_set)(kmp_dyna_lock_t *, kmp_int32); +extern int (**__kmp_direct_unset)(kmp_dyna_lock_t *, kmp_int32); +extern int (**__kmp_direct_test)(kmp_dyna_lock_t *, kmp_int32); // Function tables for indirect locks. Set/unset/test differentiate functions // with/withuot consistency checking. extern void (*__kmp_indirect_init[])(kmp_user_lock_p); -extern void (*(*__kmp_indirect_destroy))(kmp_user_lock_p); -extern int (*(*__kmp_indirect_set))(kmp_user_lock_p, kmp_int32); -extern int (*(*__kmp_indirect_unset))(kmp_user_lock_p, kmp_int32); -extern int (*(*__kmp_indirect_test))(kmp_user_lock_p, kmp_int32); +extern void (**__kmp_indirect_destroy)(kmp_user_lock_p); +extern int (**__kmp_indirect_set)(kmp_user_lock_p, kmp_int32); +extern int (**__kmp_indirect_unset)(kmp_user_lock_p, kmp_int32); +extern int (**__kmp_indirect_test)(kmp_user_lock_p, kmp_int32); // Extracts direct lock tag from a user lock pointer #define KMP_EXTRACT_D_TAG(l) \ Modified: vendor/llvm-openmp/dist/runtime/src/kmp_os.h ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_os.h Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_os.h Wed Oct 23 17:53:14 2019 (r353954) @@ -69,7 +69,7 @@ #error Unknown compiler #endif -#if (KMP_OS_LINUX || KMP_OS_WINDOWS) && !KMP_OS_CNK +#if (KMP_OS_LINUX || KMP_OS_WINDOWS || KMP_OS_FREEBSD) && !KMP_OS_CNK #define KMP_AFFINITY_SUPPORTED 1 #if KMP_OS_WINDOWS && KMP_ARCH_X86_64 #define KMP_GROUP_AFFINITY 1 @@ -165,7 +165,8 @@ typedef unsigned long long kmp_uint64; #if KMP_ARCH_X86 || KMP_ARCH_ARM || KMP_ARCH_MIPS #define KMP_SIZE_T_SPEC KMP_UINT32_SPEC -#elif KMP_ARCH_X86_64 || KMP_ARCH_PPC64 || KMP_ARCH_AARCH64 || KMP_ARCH_MIPS64 +#elif KMP_ARCH_X86_64 || KMP_ARCH_PPC64 || KMP_ARCH_AARCH64 || \ + KMP_ARCH_MIPS64 || KMP_ARCH_RISCV64 #define KMP_SIZE_T_SPEC KMP_UINT64_SPEC #else #error "Can't determine size_t printf format specifier." @@ -840,7 +841,7 @@ extern kmp_real64 __kmp_xchg_real64(volatile kmp_real6 #endif /* KMP_OS_WINDOWS */ #if KMP_ARCH_PPC64 || KMP_ARCH_ARM || KMP_ARCH_AARCH64 || KMP_ARCH_MIPS || \ - KMP_ARCH_MIPS64 + KMP_ARCH_MIPS64 || KMP_ARCH_RISCV64 #define KMP_MB() __sync_synchronize() #endif Modified: vendor/llvm-openmp/dist/runtime/src/kmp_platform.h ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_platform.h Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_platform.h Wed Oct 23 17:53:14 2019 (r353954) @@ -98,6 +98,7 @@ #define KMP_ARCH_PPC64 (KMP_ARCH_PPC64_LE || KMP_ARCH_PPC64_BE) #define KMP_ARCH_MIPS 0 #define KMP_ARCH_MIPS64 0 +#define KMP_ARCH_RISCV64 0 #if KMP_OS_WINDOWS #if defined(_M_AMD64) || defined(__x86_64) @@ -135,6 +136,9 @@ #undef KMP_ARCH_MIPS #define KMP_ARCH_MIPS 1 #endif +#elif defined __riscv && __riscv_xlen == 64 +#undef KMP_ARCH_RISCV64 +#define KMP_ARCH_RISCV64 1 #endif #endif @@ -199,7 +203,7 @@ // TODO: Fixme - This is clever, but really fugly #if (1 != \ KMP_ARCH_X86 + KMP_ARCH_X86_64 + KMP_ARCH_ARM + KMP_ARCH_PPC64 + \ - KMP_ARCH_AARCH64 + KMP_ARCH_MIPS + KMP_ARCH_MIPS64) + KMP_ARCH_AARCH64 + KMP_ARCH_MIPS + KMP_ARCH_MIPS64 + KMP_ARCH_RISCV64) #error Unknown or unsupported architecture #endif Modified: vendor/llvm-openmp/dist/runtime/src/kmp_runtime.cpp ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_runtime.cpp Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_runtime.cpp Wed Oct 23 17:53:14 2019 (r353954) @@ -1190,8 +1190,8 @@ void __kmp_serialized_parallel(ident_t *loc, kmp_int32 ompt_callbacks.ompt_callback(ompt_callback_parallel_begin)( &(parent_task_info->task_data), &(parent_task_info->frame), - &ompt_parallel_data, team_size, ompt_parallel_invoker_program, - codeptr); + &ompt_parallel_data, team_size, + ompt_parallel_invoker_program | ompt_parallel_team, codeptr); } } #endif // OMPT_SUPPORT @@ -1481,9 +1481,13 @@ int __kmp_fork_call(ident_t *loc, int gtid, int team_size = master_set_numthreads ? master_set_numthreads : get__nproc_2(parent_team, master_tid); + int flags = OMPT_INVOKER(call_context) | + ((microtask == (microtask_t)__kmp_teams_master) + ? ompt_parallel_league + : ompt_parallel_team); ompt_callbacks.ompt_callback(ompt_callback_parallel_begin)( - parent_task_data, ompt_frame, &ompt_parallel_data, team_size, - OMPT_INVOKER(call_context), return_address); + parent_task_data, ompt_frame, &ompt_parallel_data, team_size, flags, + return_address); } master_th->th.ompt_thread_info.state = ompt_state_overhead; } @@ -1512,19 +1516,17 @@ int __kmp_fork_call(ident_t *loc, int gtid, // AC: we are in serialized parallel __kmpc_serialized_parallel(loc, gtid); KMP_DEBUG_ASSERT(parent_team->t.t_serialized > 1); - // AC: need this in order enquiry functions work - // correctly, will restore at join time - parent_team->t.t_serialized--; + #if OMPT_SUPPORT void *dummy; - void **exit_runtime_p; + void **exit_frame_p; ompt_lw_taskteam_t lw_taskteam; if (ompt_enabled.enabled) { __ompt_lw_taskteam_init(&lw_taskteam, master_th, gtid, &ompt_parallel_data, return_address); - exit_runtime_p = &(lw_taskteam.ompt_task_info.frame.exit_frame.ptr); + exit_frame_p = &(lw_taskteam.ompt_task_info.frame.exit_frame.ptr); __ompt_lw_taskteam_link(&lw_taskteam, master_th, 0); // don't use lw_taskteam after linking. content was swaped @@ -1532,19 +1534,23 @@ int __kmp_fork_call(ident_t *loc, int gtid, /* OMPT implicit task begin */ implicit_task_data = OMPT_CUR_TASK_DATA(master_th); if (ompt_enabled.ompt_callback_implicit_task) { - ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( - ompt_scope_begin, OMPT_CUR_TEAM_DATA(master_th), - implicit_task_data, 1, __kmp_tid_from_gtid(gtid), ompt_task_implicit); // TODO: Can this be ompt_task_initial? OMPT_CUR_TASK_INFO(master_th) ->thread_num = __kmp_tid_from_gtid(gtid); + ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( + ompt_scope_begin, OMPT_CUR_TEAM_DATA(master_th), + implicit_task_data, 1, + OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); } /* OMPT state */ master_th->th.ompt_thread_info.state = ompt_state_work_parallel; } else { - exit_runtime_p = &dummy; + exit_frame_p = &dummy; } #endif + // AC: need to decrement t_serialized for enquiry functions to work + // correctly, will restore at join time + parent_team->t.t_serialized--; { KMP_TIME_PARTITIONED_BLOCK(OMP_parallel); @@ -1552,26 +1558,27 @@ int __kmp_fork_call(ident_t *loc, int gtid, __kmp_invoke_microtask(microtask, gtid, 0, argc, parent_team->t.t_argv #if OMPT_SUPPORT , - exit_runtime_p + exit_frame_p #endif ); } #if OMPT_SUPPORT - *exit_runtime_p = NULL; if (ompt_enabled.enabled) { + *exit_frame_p = NULL; OMPT_CUR_TASK_INFO(master_th)->frame.exit_frame = ompt_data_none; if (ompt_enabled.ompt_callback_implicit_task) { ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( ompt_scope_end, NULL, implicit_task_data, 1, - OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); // TODO: Can this be ompt_task_initial? + OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); } + ompt_parallel_data = *OMPT_CUR_TEAM_DATA(master_th); __ompt_lw_taskteam_unlink(master_th); - if (ompt_enabled.ompt_callback_parallel_end) { ompt_callbacks.ompt_callback(ompt_callback_parallel_end)( - OMPT_CUR_TEAM_DATA(master_th), OMPT_CUR_TASK_DATA(master_th), - OMPT_INVOKER(call_context), return_address); + &ompt_parallel_data, OMPT_CUR_TASK_DATA(master_th), + OMPT_INVOKER(call_context) | ompt_parallel_team, + return_address); } master_th->th.ompt_thread_info.state = ompt_state_overhead; } @@ -1586,6 +1593,15 @@ int __kmp_fork_call(ident_t *loc, int gtid, parent_team->t.t_level++; parent_team->t.t_def_allocator = master_th->th.th_def_allocator; // save +#if OMPT_SUPPORT + if (ompt_enabled.enabled) { + ompt_lw_taskteam_t lw_taskteam; + __ompt_lw_taskteam_init(&lw_taskteam, master_th, gtid, + &ompt_parallel_data, return_address); + __ompt_lw_taskteam_link(&lw_taskteam, master_th, 1, true); + } +#endif + /* Change number of threads in the team if requested */ if (master_set_numthreads) { // The parallel has num_threads clause if (master_set_numthreads < master_th->th.th_teams_size.nth) { @@ -1714,7 +1730,7 @@ int __kmp_fork_call(ident_t *loc, int gtid, #if OMPT_SUPPORT void *dummy; - void **exit_runtime_p; + void **exit_frame_p; ompt_task_info_t *task_info; ompt_lw_taskteam_t lw_taskteam; @@ -1727,19 +1743,21 @@ int __kmp_fork_call(ident_t *loc, int gtid, // don't use lw_taskteam after linking. content was swaped task_info = OMPT_CUR_TASK_INFO(master_th); - exit_runtime_p = &(task_info->frame.exit_frame.ptr); + exit_frame_p = &(task_info->frame.exit_frame.ptr); if (ompt_enabled.ompt_callback_implicit_task) { - ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( - ompt_scope_begin, OMPT_CUR_TEAM_DATA(master_th), - &(task_info->task_data), 1, __kmp_tid_from_gtid(gtid), ompt_task_implicit); // TODO: Can this be ompt_task_initial? OMPT_CUR_TASK_INFO(master_th) ->thread_num = __kmp_tid_from_gtid(gtid); + ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( + ompt_scope_begin, OMPT_CUR_TEAM_DATA(master_th), + &(task_info->task_data), 1, + OMPT_CUR_TASK_INFO(master_th)->thread_num, + ompt_task_implicit); } /* OMPT state */ master_th->th.ompt_thread_info.state = ompt_state_work_parallel; } else { - exit_runtime_p = &dummy; + exit_frame_p = &dummy; } #endif @@ -1750,25 +1768,27 @@ int __kmp_fork_call(ident_t *loc, int gtid, parent_team->t.t_argv #if OMPT_SUPPORT , - exit_runtime_p + exit_frame_p #endif ); } #if OMPT_SUPPORT if (ompt_enabled.enabled) { - exit_runtime_p = NULL; + *exit_frame_p = NULL; if (ompt_enabled.ompt_callback_implicit_task) { ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( ompt_scope_end, NULL, &(task_info->task_data), 1, - OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); // TODO: Can this be ompt_task_initial? + OMPT_CUR_TASK_INFO(master_th)->thread_num, + ompt_task_implicit); } - + ompt_parallel_data = *OMPT_CUR_TEAM_DATA(master_th); __ompt_lw_taskteam_unlink(master_th); if (ompt_enabled.ompt_callback_parallel_end) { ompt_callbacks.ompt_callback(ompt_callback_parallel_end)( - OMPT_CUR_TEAM_DATA(master_th), parent_task_data, - OMPT_INVOKER(call_context), return_address); + &ompt_parallel_data, parent_task_data, + OMPT_INVOKER(call_context) | ompt_parallel_team, + return_address); } master_th->th.ompt_thread_info.state = ompt_state_overhead; } @@ -1800,6 +1820,23 @@ int __kmp_fork_call(ident_t *loc, int gtid, team->t.t_level--; // AC: call special invoker for outer "parallel" of teams construct invoker(gtid); +#if OMPT_SUPPORT + if (ompt_enabled.enabled) { + ompt_task_info_t *task_info = OMPT_CUR_TASK_INFO(master_th); + if (ompt_enabled.ompt_callback_implicit_task) { + ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( + ompt_scope_end, NULL, &(task_info->task_data), 0, + OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_initial); + } + if (ompt_enabled.ompt_callback_parallel_end) { + ompt_callbacks.ompt_callback(ompt_callback_parallel_end)( + &ompt_parallel_data, parent_task_data, + OMPT_INVOKER(call_context) | ompt_parallel_league, + return_address); + } + master_th->th.ompt_thread_info.state = ompt_state_overhead; + } +#endif } else { argv = args; for (i = argc - 1; i >= 0; --i) @@ -1813,7 +1850,7 @@ int __kmp_fork_call(ident_t *loc, int gtid, #if OMPT_SUPPORT void *dummy; - void **exit_runtime_p; + void **exit_frame_p; ompt_task_info_t *task_info; ompt_lw_taskteam_t lw_taskteam; @@ -1824,14 +1861,15 @@ int __kmp_fork_call(ident_t *loc, int gtid, __ompt_lw_taskteam_link(&lw_taskteam, master_th, 0); // don't use lw_taskteam after linking. content was swaped task_info = OMPT_CUR_TASK_INFO(master_th); - exit_runtime_p = &(task_info->frame.exit_frame.ptr); + exit_frame_p = &(task_info->frame.exit_frame.ptr); /* OMPT implicit task begin */ implicit_task_data = OMPT_CUR_TASK_DATA(master_th); if (ompt_enabled.ompt_callback_implicit_task) { ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( ompt_scope_begin, OMPT_CUR_TEAM_DATA(master_th), - implicit_task_data, 1, __kmp_tid_from_gtid(gtid), ompt_task_implicit); // TODO: Can this be ompt_task_initial? + implicit_task_data, 1, __kmp_tid_from_gtid(gtid), + ompt_task_implicit); OMPT_CUR_TASK_INFO(master_th) ->thread_num = __kmp_tid_from_gtid(gtid); } @@ -1839,7 +1877,7 @@ int __kmp_fork_call(ident_t *loc, int gtid, /* OMPT state */ master_th->th.ompt_thread_info.state = ompt_state_work_parallel; } else { - exit_runtime_p = &dummy; + exit_frame_p = &dummy; } #endif @@ -1849,18 +1887,19 @@ int __kmp_fork_call(ident_t *loc, int gtid, __kmp_invoke_microtask(microtask, gtid, 0, argc, args #if OMPT_SUPPORT , - exit_runtime_p + exit_frame_p #endif ); } #if OMPT_SUPPORT if (ompt_enabled.enabled) { - *exit_runtime_p = NULL; + *exit_frame_p = NULL; if (ompt_enabled.ompt_callback_implicit_task) { ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( ompt_scope_end, NULL, &(task_info->task_data), 1, - OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); // TODO: Can this be ompt_task_initial? + OMPT_CUR_TASK_INFO(master_th)->thread_num, + ompt_task_implicit); } ompt_parallel_data = *OMPT_CUR_TEAM_DATA(master_th); @@ -1868,7 +1907,8 @@ int __kmp_fork_call(ident_t *loc, int gtid, if (ompt_enabled.ompt_callback_parallel_end) { ompt_callbacks.ompt_callback(ompt_callback_parallel_end)( &ompt_parallel_data, parent_task_data, - OMPT_INVOKER(call_context), return_address); + OMPT_INVOKER(call_context) | ompt_parallel_team, + return_address); } master_th->th.ompt_thread_info.state = ompt_state_overhead; } @@ -2225,12 +2265,11 @@ static inline void __kmp_join_restore_state(kmp_info_t static inline void __kmp_join_ompt(int gtid, kmp_info_t *thread, kmp_team_t *team, ompt_data_t *parallel_data, - fork_context_e fork_context, void *codeptr) { + int flags, void *codeptr) { ompt_task_info_t *task_info = __ompt_get_task_info_object(0); if (ompt_enabled.ompt_callback_parallel_end) { ompt_callbacks.ompt_callback(ompt_callback_parallel_end)( - parallel_data, &(task_info->task_data), OMPT_INVOKER(fork_context), - codeptr); + parallel_data, &(task_info->task_data), flags, codeptr); } task_info->frame.enter_frame = ompt_data_none; @@ -2263,6 +2302,7 @@ void __kmp_join_call(ident_t *loc, int gtid master_th->th.th_ident = loc; #if OMPT_SUPPORT + void *team_microtask = (void *)team->t.t_pkfn; if (ompt_enabled.enabled) { master_th->th.ompt_thread_info.state = ompt_state_overhead; } @@ -2352,10 +2392,25 @@ void __kmp_join_call(ident_t *loc, int gtid if (master_th->th.th_teams_microtask && !exit_teams && team->t.t_pkfn != (microtask_t)__kmp_teams_master && team->t.t_level == master_th->th.th_teams_level + 1) { - // AC: We need to leave the team structure intact at the end of parallel - // inside the teams construct, so that at the next parallel same (hot) team - // works, only adjust nesting levels - +// AC: We need to leave the team structure intact at the end of parallel +// inside the teams construct, so that at the next parallel same (hot) team +// works, only adjust nesting levels +#if OMPT_SUPPORT + ompt_data_t ompt_parallel_data = ompt_data_none; + if (ompt_enabled.enabled) { + ompt_task_info_t *task_info = __ompt_get_task_info_object(0); + if (ompt_enabled.ompt_callback_implicit_task) { + int ompt_team_size = team->t.t_nproc; + ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( + ompt_scope_end, NULL, &(task_info->task_data), ompt_team_size, + OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); + } + task_info->frame.exit_frame = ompt_data_none; + task_info->task_data = ompt_data_none; + ompt_parallel_data = *OMPT_CUR_TEAM_DATA(master_th); + __ompt_lw_taskteam_unlink(master_th); + } +#endif /* Decrement our nested depth level */ team->t.t_level--; team->t.t_active_level--; @@ -2394,8 +2449,8 @@ void __kmp_join_call(ident_t *loc, int gtid #if OMPT_SUPPORT if (ompt_enabled.enabled) { - __kmp_join_ompt(gtid, master_th, parent_team, parallel_data, fork_context, - codeptr); + __kmp_join_ompt(gtid, master_th, parent_team, &ompt_parallel_data, + OMPT_INVOKER(fork_context) | ompt_parallel_team, codeptr); } #endif @@ -2424,12 +2479,14 @@ void __kmp_join_call(ident_t *loc, int gtid if (ompt_enabled.enabled) { ompt_task_info_t *task_info = __ompt_get_task_info_object(0); if (ompt_enabled.ompt_callback_implicit_task) { - int ompt_team_size = team->t.t_nproc; + int flags = (team_microtask == (void *)__kmp_teams_master) + ? ompt_task_initial + : ompt_task_implicit; + int ompt_team_size = (flags == ompt_task_initial) ? 0 : team->t.t_nproc; ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( ompt_scope_end, NULL, &(task_info->task_data), ompt_team_size, - OMPT_CUR_TASK_INFO(master_th)->thread_num, ompt_task_implicit); // TODO: Can this be ompt_task_initial? + OMPT_CUR_TASK_INFO(master_th)->thread_num, flags); } - task_info->frame.exit_frame = ompt_data_none; task_info->task_data = ompt_data_none; } @@ -2503,8 +2560,12 @@ void __kmp_join_call(ident_t *loc, int gtid __kmp_release_bootstrap_lock(&__kmp_forkjoin_lock); #if OMPT_SUPPORT + int flags = + OMPT_INVOKER(fork_context) | + ((team_microtask == (void *)__kmp_teams_master) ? ompt_parallel_league + : ompt_parallel_team); if (ompt_enabled.enabled) { - __kmp_join_ompt(gtid, master_th, parent_team, parallel_data, fork_context, + __kmp_join_ompt(gtid, master_th, parent_team, parallel_data, flags, codeptr); } #endif @@ -4432,7 +4493,7 @@ static void __kmp_initialize_team(kmp_team_t *team, in KF_TRACE(10, ("__kmp_initialize_team: exit: team=%p\n", team)); } -#if KMP_OS_LINUX && KMP_AFFINITY_SUPPORTED +#if (KMP_OS_LINUX || KMP_OS_FREEBSD) && KMP_AFFINITY_SUPPORTED /* Sets full mask for thread and returns old mask, no changes to structures. */ static void __kmp_set_thread_affinity_mask_full_tmp(kmp_affin_mask_t *old_mask) { @@ -4980,7 +5041,7 @@ __kmp_allocate_team(kmp_root_t *root, int new_nproc, i __kmp_partition_places(team); #endif } else { // team->t.t_nproc < new_nproc -#if KMP_OS_LINUX && KMP_AFFINITY_SUPPORTED +#if (KMP_OS_LINUX || KMP_OS_FREEBSD) && KMP_AFFINITY_SUPPORTED kmp_affin_mask_t *old_mask; if (KMP_AFFINITY_CAPABLE()) { KMP_CPU_ALLOC(old_mask); @@ -5029,7 +5090,7 @@ __kmp_allocate_team(kmp_root_t *root, int new_nproc, i __kmp_reinitialize_team(team, new_icvs, NULL); } -#if KMP_OS_LINUX && KMP_AFFINITY_SUPPORTED +#if (KMP_OS_LINUX || KMP_OS_FREEBSD) && KMP_AFFINITY_SUPPORTED /* Temporarily set full mask for master thread before creation of workers. The reason is that workers inherit the affinity from master, so if a lot of workers are created on the single core quickly, they @@ -5064,7 +5125,7 @@ __kmp_allocate_team(kmp_root_t *root, int new_nproc, i } } -#if KMP_OS_LINUX && KMP_AFFINITY_SUPPORTED +#if (KMP_OS_LINUX || KMP_OS_FREEBSD) && KMP_AFFINITY_SUPPORTED if (KMP_AFFINITY_CAPABLE()) { /* Restore initial master thread's affinity mask */ __kmp_set_system_affinity(old_mask, TRUE); @@ -5600,7 +5661,7 @@ void __kmp_free_thread(kmp_info_t *this_th) { void *__kmp_launch_thread(kmp_info_t *this_thr) { int gtid = this_thr->th.th_info.ds.ds_gtid; /* void *stack_data;*/ - kmp_team_t *(*volatile pteam); + kmp_team_t **volatile pteam; KMP_MB(); KA_TRACE(10, ("__kmp_launch_thread: T#%d start\n", gtid)); @@ -5618,18 +5679,15 @@ void *__kmp_launch_thread(kmp_info_t *this_thr) { this_thr->th.ompt_thread_info.state = ompt_state_overhead; this_thr->th.ompt_thread_info.wait_id = 0; this_thr->th.ompt_thread_info.idle_frame = OMPT_GET_FRAME_ADDRESS(0); + this_thr->th.ompt_thread_info.parallel_flags = 0; if (ompt_enabled.ompt_callback_thread_begin) { ompt_callbacks.ompt_callback(ompt_callback_thread_begin)( ompt_thread_worker, thread_data); } - } -#endif - -#if OMPT_SUPPORT - if (ompt_enabled.enabled) { this_thr->th.ompt_thread_info.state = ompt_state_idle; } #endif + /* This is the place where threads wait for work */ while (!TCR_4(__kmp_global.g.g_done)) { KMP_DEBUG_ASSERT(this_thr == __kmp_threads[gtid]); @@ -5647,7 +5705,7 @@ void *__kmp_launch_thread(kmp_info_t *this_thr) { } #endif - pteam = (kmp_team_t * (*))(&this_thr->th.th_team); + pteam = &this_thr->th.th_team; /* have we been allocated? */ if (TCR_SYNC_PTR(*pteam) && !TCR_4(__kmp_global.g.g_done)) { @@ -6956,16 +7014,16 @@ int __kmp_invoke_task_func(int gtid) { #if OMPT_SUPPORT void *dummy; - void **exit_runtime_p; + void **exit_frame_p; ompt_data_t *my_task_data; ompt_data_t *my_parallel_data; int ompt_team_size; if (ompt_enabled.enabled) { - exit_runtime_p = &( + exit_frame_p = &( team->t.t_implicit_task_taskdata[tid].ompt_task_info.frame.exit_frame.ptr); } else { - exit_runtime_p = &dummy; + exit_frame_p = &dummy; } my_task_data = @@ -6975,7 +7033,7 @@ int __kmp_invoke_task_func(int gtid) { ompt_team_size = team->t.t_nproc; ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( ompt_scope_begin, my_parallel_data, my_task_data, ompt_team_size, - __kmp_tid_from_gtid(gtid), ompt_task_implicit); // TODO: Can this be ompt_task_initial? + __kmp_tid_from_gtid(gtid), ompt_task_implicit); OMPT_CUR_TASK_INFO(this_thr)->thread_num = __kmp_tid_from_gtid(gtid); } #endif @@ -6994,11 +7052,12 @@ int __kmp_invoke_task_func(int gtid) { tid, (int)team->t.t_argc, (void **)team->t.t_argv #if OMPT_SUPPORT , - exit_runtime_p + exit_frame_p #endif ); #if OMPT_SUPPORT - *exit_runtime_p = NULL; + *exit_frame_p = NULL; + this_thr->th.ompt_thread_info.parallel_flags |= ompt_parallel_team; #endif #if KMP_STATS_ENABLED @@ -7077,7 +7136,22 @@ int __kmp_invoke_teams_master(int gtid) { (void *)__kmp_teams_master); #endif __kmp_run_before_invoked_task(gtid, 0, this_thr, team); +#if OMPT_SUPPORT + int tid = __kmp_tid_from_gtid(gtid); + ompt_data_t *task_data = + &team->t.t_implicit_task_taskdata[tid].ompt_task_info.task_data; + ompt_data_t *parallel_data = &team->t.ompt_team_info.parallel_data; + if (ompt_enabled.ompt_callback_implicit_task) { + ompt_callbacks.ompt_callback(ompt_callback_implicit_task)( + ompt_scope_begin, parallel_data, task_data, team->t.t_nproc, tid, + ompt_task_initial); + OMPT_CUR_TASK_INFO(this_thr)->thread_num = tid; + } +#endif __kmp_teams_master(gtid); +#if OMPT_SUPPORT + this_thr->th.ompt_thread_info.parallel_flags |= ompt_parallel_league; +#endif __kmp_run_after_invoked_task(gtid, 0, this_thr, team); return 1; } @@ -7118,19 +7192,32 @@ void __kmp_push_num_teams(ident_t *id, int gtid, int n thr->th.th_set_nproc = thr->th.th_teams_size.nteams = num_teams; // Remember the number of threads for inner parallel regions + if (!TCR_4(__kmp_init_middle)) + __kmp_middle_initialize(); // get internal globals calculated + KMP_DEBUG_ASSERT(__kmp_avail_proc); + KMP_DEBUG_ASSERT(__kmp_dflt_team_nth); if (num_threads == 0) { - if (!TCR_4(__kmp_init_middle)) - __kmp_middle_initialize(); // get __kmp_avail_proc calculated num_threads = __kmp_avail_proc / num_teams; + // adjust num_threads w/o warning as it is not user setting + // num_threads = min(num_threads, nthreads-var, thread-limit-var) + // no thread_limit clause specified - do not change thread-limit-var ICV + if (num_threads > __kmp_dflt_team_nth) { + num_threads = __kmp_dflt_team_nth; // honor nthreads-var ICV + } + if (num_threads > thr->th.th_current_task->td_icvs.thread_limit) { + num_threads = thr->th.th_current_task->td_icvs.thread_limit; + } // prevent team size to exceed thread-limit-var if (num_teams * num_threads > __kmp_teams_max_nth) { - // adjust num_threads w/o warning as it is not user setting num_threads = __kmp_teams_max_nth / num_teams; } } else { // This thread will be the master of the league masters // Store new thread limit; old limit is saved in th_cg_roots list thr->th.th_current_task->td_icvs.thread_limit = num_threads; - + // num_threads = min(num_threads, nthreads-var) + if (num_threads > __kmp_dflt_team_nth) { + num_threads = __kmp_dflt_team_nth; // honor nthreads-var ICV + } if (num_teams * num_threads > __kmp_teams_max_nth) { int new_threads = __kmp_teams_max_nth / num_teams; if (!__kmp_reserve_warn) { // user asked for too many threads @@ -8023,7 +8110,8 @@ __kmp_determine_reduction_method( int atomic_available = FAST_REDUCTION_ATOMIC_METHOD_GENERATED; -#if KMP_ARCH_X86_64 || KMP_ARCH_PPC64 || KMP_ARCH_AARCH64 || KMP_ARCH_MIPS64 +#if KMP_ARCH_X86_64 || KMP_ARCH_PPC64 || KMP_ARCH_AARCH64 || \ + KMP_ARCH_MIPS64 || KMP_ARCH_RISCV64 #if KMP_OS_LINUX || KMP_OS_DRAGONFLY || KMP_OS_FREEBSD || KMP_OS_NETBSD || \ KMP_OS_OPENBSD || KMP_OS_WINDOWS || KMP_OS_DARWIN || KMP_OS_HURD Modified: vendor/llvm-openmp/dist/runtime/src/kmp_stub.cpp ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_stub.cpp Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_stub.cpp Wed Oct 23 17:53:14 2019 (r353954) @@ -164,7 +164,7 @@ void *kmp_aligned_malloc(size_t sz, size_t a) { #if KMP_OS_WINDOWS res = _aligned_malloc(sz, a); #else - if (err = posix_memalign(&res, a, sz)) { + if ((err = posix_memalign(&res, a, sz))) { errno = err; // can be EINVAL or ENOMEM res = NULL; } @@ -277,7 +277,7 @@ void __kmps_get_schedule(kmp_sched_t *kind, int *modif kmp_proc_bind_t __kmps_get_proc_bind(void) { i; - return 0; + return proc_bind_false; } // __kmps_get_proc_bind double __kmps_get_wtime(void) { Modified: vendor/llvm-openmp/dist/runtime/src/kmp_taskdeps.cpp ============================================================================== --- vendor/llvm-openmp/dist/runtime/src/kmp_taskdeps.cpp Wed Oct 23 17:53:12 2019 (r353953) +++ vendor/llvm-openmp/dist/runtime/src/kmp_taskdeps.cpp Wed Oct 23 17:53:14 2019 (r353954) @@ -54,12 +54,64 @@ static inline kmp_depnode_t *__kmp_node_ref(kmp_depnod enum { KMP_DEPHASH_OTHER_SIZE = 97, KMP_DEPHASH_MASTER_SIZE = 997 }; +size_t sizes[] = { 997, 2003, 4001, 8191, 16001, 32003, 64007, 131071, 270029 }; +const size_t MAX_GEN = 8; + static inline kmp_int32 __kmp_dephash_hash(kmp_intptr_t addr, size_t hsize) { // TODO alternate to try: set = (((Addr64)(addrUsefulBits * 9.618)) % // m_num_sets ); return ((addr >> 6) ^ (addr >> 2)) % hsize; } +static kmp_dephash_t *__kmp_dephash_extend(kmp_info_t *thread, + kmp_dephash_t *current_dephash) { + kmp_dephash_t *h; + + size_t gen = current_dephash->generation + 1; + if (gen >= MAX_GEN) + return current_dephash; + size_t new_size = sizes[gen]; + + kmp_int32 size_to_allocate = + new_size * sizeof(kmp_dephash_entry_t *) + sizeof(kmp_dephash_t); + +#if USE_FAST_MEMORY + h = (kmp_dephash_t *)__kmp_fast_allocate(thread, size_to_allocate); +#else + h = (kmp_dephash_t *)__kmp_thread_malloc(thread, size_to_allocate); +#endif + + h->size = new_size; + h->nelements = current_dephash->nelements; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Wed Oct 23 17:53:22 2019 Return-Path: Delivered-To: svn-src-vendor@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 228F0159E4E; Wed, 23 Oct 2019 17:53:22 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46yyf96V65z4Thb; Wed, 23 Oct 2019 17:53:21 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8066E38B; Wed, 23 Oct 2019 17:53:21 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x9NHrL8Y078785; Wed, 23 Oct 2019 17:53:21 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x9NHrLS1078784; Wed, 23 Oct 2019 17:53:21 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201910231753.x9NHrLS1078784@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 23 Oct 2019 17:53:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r353955 - vendor/llvm-openmp/openmp-r375505 X-SVN-Group: vendor X-SVN-Commit-Author: dim X-SVN-Commit-Paths: vendor/llvm-openmp/openmp-r375505 X-SVN-Commit-Revision: 353955 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Oct 2019 17:53:22 -0000 Author: dim Date: Wed Oct 23 17:53:20 2019 New Revision: 353955 URL: https://svnweb.freebsd.org/changeset/base/353955 Log: Tag stripped LLVM openmp trunk r375505, the last commit before the upstream Subversion repository was made read-only, and the LLVM project migrated to GitHub. Added: vendor/llvm-openmp/openmp-r375505/ - copied from r353954, vendor/llvm-openmp/dist/