freebsd-dev/contrib
Dimitry Andric 4e117af10c Fix "Bad machine code" when building world for mips or mips64
Merge commit f5755c0849a5 from llvm git (by Jessica Clarke):

  [Mips] Add glue between CopyFromReg, CopyToReg and RDHWR nodes for TLS

  The MIPS ABI requires the thread pointer be accessed via rdhwr $3, $r29.
  This is currently represented by (CopyToReg $3, (RDHWR $29)) followed by
  a (CopyFromReg $3). However, there is no glue between these, meaning
  scheduling can break those apart. In particular, PR51691 is a report
  where PseudoSELECT_I was moved to between the CopyToReg and CopyFromReg,
  and since its expansion uses branches, it split the def and use of the
  physical register between two basic blocks, resulting in the def being
  eliminated and the use having no def. It also seems possible that a
  similar situation could arise splitting up the CopyToReg from the RDHWR,
  causing the RDHWR to use a destination register other than $3, violating
  the ABI requirement.

  Thus, add glue between all three nodes to ensure they aren't split up
  during instruction selection. No regression test is added since any test
  would be implictly relying on specific scheduling behaviour, so whilst
  it might be testing that glue is preventing reordering today, changes to
  scheduling behaviour could result in the test no longer being able to
  catch a regression here, as the reordering might no longer happen for
  other unrelated reasons.

  Fixes PR51691.

  Reviewed By: atanasyan, dim

  Differential Revision: https://reviews.llvm.org/D111967
2021-11-13 21:52:24 +01:00
..
arm-optimized-routines Import Arm Optimized Routines v21.02 2021-07-06 11:05:34 +01:00
atf Import atf 0.22 snapshot 55c21b2c5fb189bbdfccb2b297bfa89236502542 2021-09-10 17:08:42 -06:00
bc contrib/bc: update to version 5.1.1 2021-10-06 23:30:59 +02:00
bearssl
blacklist blacklistd.conf.5: typo/grammar fixes 2020-05-19 00:15:19 +00:00
bmake make: fix MAKE_JOB_ERROR_TOKEN 2021-09-10 13:11:28 -07:00
bsnmp Fix bsnmpd(1) crash with ill-formed Discovery message 2021-10-01 14:10:39 +03:00
byacc yacc: Regen test cases for the previous commit 2021-02-11 18:41:28 -05:00
bzip2
capsicum-test Re-enable network ioctls in capability mode 2021-04-23 09:22:49 -04:00
com_err
cortex-strings
dialog dialog: fix macro redefinition 2021-03-01 16:01:44 +01:00
diff Fix macro-redefined warning in gnu/diff for fputc_unlocked 2021-01-19 21:23:25 +00:00
dma dma: import snapshot 2021-07-10 2021-09-22 11:10:58 +02:00
ee ee: restore the stdin/stdout terminal check 2021-04-12 00:48:45 +03:00
elftoolchain strip/objcopy: handle empty file as unknown 2021-10-25 17:28:41 -04:00
expat
file Revert r362261, "Re-apply r333944 to unbreak ports" 2020-06-29 13:30:48 +00:00
flex contrib/flex: Drop local __dead2 patch 2021-04-21 10:54:59 +01:00
gdtoa
googletest Re-enable disabled googletest-port-test tests after r363820 2020-08-04 02:20:15 +00:00
hyperv/tools
ipfilter Simplify the FreeBSD check using __FreeBSD__ compiler macro. 2021-02-08 16:36:27 -08:00
jemalloc Fix abort in jemalloc extent coalescing. 2020-12-18 10:09:21 +00:00
kyua Revert r359385-r359387 2020-03-29 02:40:03 +00:00
ldns Fix crash in drill(1) when IP has two subsequent dots 2020-06-22 23:13:14 +00:00
ldns-host
less less: upgrade to v590. 2021-07-17 22:20:44 -07:00
lib9p Import lib9p 9d5aee77bcc1bf0e79b0a3bfefff5fdf2146283c. 2020-10-03 18:52:54 +00:00
libarchive libarchive: import bugfix from upstream 2021-08-27 12:51:01 +02:00
libbegemot
libc-pwcache pwcache.3: Explicitly document OOM condition 2020-05-05 17:55:45 +00:00
libc-vis vis(3): avoid out-of-bounds stack buffer reads 2021-06-16 16:27:13 +01:00
libcbor Import libcbor at 'contrib/libcbor/' 2021-10-06 20:26:10 -04:00
libcxxrt Partially revert libcxxrt changes to avoid _Unwind_Exception change 2021-03-13 14:54:24 +01:00
libdivsufsort
libedit libedit: import snapshot 2021-09-10 2021-09-22 10:19:43 +02:00
libevent
libexecinfo Pull in fix from upstream NetBSD rev. 1.5: 2020-09-21 16:43:38 +00:00
libfido2 libfido2: Address CHERI compatibility 2021-10-06 21:40:26 -04:00
libpcap
libucl Fix build post a040967612. 2021-03-22 08:42:18 -07:00
libxo
llvm-project Fix "Bad machine code" when building world for mips or mips64 2021-11-13 21:52:24 +01:00
lua contrib/lua: update to 5.4.2 2021-01-13 23:56:18 -06:00
lutok Add liblutok a lightweight C++ API for lua. 2020-03-23 18:26:23 +00:00
mandoc flua: Add a libjail module 2020-10-24 17:08:59 +00:00
mknod
mtree fts_read: Handle error from a NULL return better. 2020-12-08 23:38:26 +00:00
ncurses ncurses: Apply a tputs() fix from patch 20210403 2021-08-11 13:08:23 -04:00
netbsd-tests time_t is pathological: use %j + cast to print it. 2021-10-01 12:16:10 -06:00
netcat Adjust .Dd, missed in r363084. 2020-07-10 19:58:07 +00:00
ngatm
ntp ntp: Revert "Disable ntpd stack gap. When ASLR with STACK GAP != 0 ntpd suffers SIGSEGV." 2021-10-15 16:06:26 -07:00
nvi Allow building usr.bin/vi with MK_ASAN 2021-07-19 15:04:19 +01:00
ofed ibstat: Include prototype for sysctlbyname(). 2021-05-27 09:42:30 +02:00
one-true-awk Awk: Add error file 2021-11-06 16:24:36 -06:00
openbsm close_range: add audit support 2021-02-23 17:47:07 +00:00
opencsd/decoder Update opencsd to 0.14.2 2020-06-17 10:42:20 +00:00
openpam Merge upstream r948: fix race condition in openpam_ttyconv(3). 2020-11-19 05:46:59 +00:00
openresolv
opie
pam_modules/pam_passwdqc
pf ftp-proxy: Revert incorrect migration to libpfctl 2021-07-01 21:34:40 +02:00
pjdfstest
pnglite pnglite: should use ntohl 2021-01-12 00:56:35 +02:00
pnpinfo
processor-trace
sendmail Key decleration of union semun on src version 2020-10-26 17:52:28 +00:00
smbfs
sqlite3 sqlite3: import sqlite3 3.35.5 2021-05-06 18:01:44 -07:00
tcp_wrappers tcp_wrappers: get rid of duplicate fgets declarations 2021-09-30 23:55:27 -05:00
tcpdump pf: Introduce ridentifier 2021-11-05 09:39:56 +01:00
tcsh tcsh: update to version 6.22.04. 2021-05-20 00:12:27 +03:00
telnet telnet(1): add quiet mode ("telnet -Q") 2021-06-21 17:11:57 +01:00
terminus contrib: setup terminus 2021-01-02 21:03:28 +02:00
tnftp
traceroute ping: fix some man pages and tests after r368045 2020-11-26 04:55:02 +00:00
tzcode tzcode: Fix operation without WITH_DETECT_TZ_CHANGES 2021-09-14 20:17:50 +00:00
tzdata contrib/tzdata: import tzdata 2021e 2021-10-22 13:20:20 +08:00
unbound unbound: Vendor import 1.13.2 2021-08-17 02:32:56 -07:00
unvis
vis Merge tag 'vendor/NetBSD/vis/20210621' into vis 2021-06-21 18:04:17 -06:00
wpa wpa: Import wpa_supplicant/hostapd commits up to b4f7506ff 2021-09-03 06:08:41 -07:00
xz liblzma: Make liblzma use libmd implementation of SHA256. 2020-06-20 21:32:07 +00:00