<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/gnu/llvm/lib/CodeGen, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/gnu/llvm/lib/CodeGen?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/gnu/llvm/lib/CodeGen?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2020-05-02T05:34:08Z</updated>
<entry>
<title>Don't make an illegal adde.  Avoids fatal error on PowerPC.</title>
<updated>2020-05-02T05:34:08Z</updated>
<author>
<name>gkoehler</name>
<email>gkoehler@openbsd.org</email>
</author>
<published>2020-05-02T05:34:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=ffca677e9e7ca9efd316fa2f2b6572b193c50cf8'/>
<id>urn:sha1:ffca677e9e7ca9efd316fa2f2b6572b193c50cf8</id>
<content type='text'>
When the DAG truncates an ISD::ADDE node, DAGCombiner may optimize it
by making an adde with smaller operands.  PowerPC has i1 registers,
and may truncate an i32 adde to i1, but an i1 adde is not legal for
PowerPC, and the legalize-ops phase can't fix it.  This was causing
"fatal error: error in backend: Cannot select..."

cwen@ reported the error

ok mortimer@ kettenis@ deraadt@
</content>
</entry>
<entry>
<title>Move the hashed __retguard_* symbols into individual sections and mark</title>
<updated>2019-11-09T20:29:08Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2019-11-09T20:29:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=0a276a5089a34f31ea48f000c0ffe0023990ca5d'/>
<id>urn:sha1:0a276a5089a34f31ea48f000c0ffe0023990ca5d</id>
<content type='text'>
them as COMDATs so that the linker can individually discard them, instead
of just ignoring duplicate symbols but keep the (duplicate) space.

On amd64, this reduces the size of the kernel OPENBSD_RANDOM segment by 82%
and the libc OPENBSD_RANDOM segment by 15%.  A port that tb@ is working
on experienced a 97.3% reduction...which let it actually run.

ok mortimer@ deraadt@
</content>
</entry>
<entry>
<title>Import LLVM 8.0.1 release including clang, lld and lldb.</title>
<updated>2019-09-01T16:27:59Z</updated>
<author>
<name>patrick</name>
<email>patrick@openbsd.org</email>
</author>
<published>2019-09-01T16:27:59Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=b19884b112052f3bf5ff9551374fbd840e2339f2'/>
<id>urn:sha1:b19884b112052f3bf5ff9551374fbd840e2339f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Ensure stack protector slot access is resolved by PEI.</title>
<updated>2019-08-12T23:43:03Z</updated>
<author>
<name>mortimer</name>
<email>mortimer@openbsd.org</email>
</author>
<published>2019-08-12T23:43:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=c45c722e0148301536effe267054bb9575edbf35'/>
<id>urn:sha1:c45c722e0148301536effe267054bb9575edbf35</id>
<content type='text'>
On arm64, arm, and ppc it is possible that a large stack frame will
cause the stack protector slot to be reallocated at the wrong end of
the frame.

Noticed by tj@. ok patrick@.
</content>
</entry>
<entry>
<title>Merge LLVM 8.0.0 release.</title>
<updated>2019-06-23T22:05:08Z</updated>
<author>
<name>patrick</name>
<email>patrick@openbsd.org</email>
</author>
<published>2019-06-23T22:05:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=f27a781c9811da94fe68b2cf34237c2a61b48c96'/>
<id>urn:sha1:f27a781c9811da94fe68b2cf34237c2a61b48c96</id>
<content type='text'>
Prepared with help from jsg@ and mortimer@
Tested on amd64 by bcallah@, krw@, naddy@
Tested on arm64 by patrick@
Tested on macppc by kettenis@
Tested on octeon by visa@
Tested on sparc64 by claudio@
</content>
</entry>
<entry>
<title>Import LLVM 8.0.0 release including clang, lld and lldb.</title>
<updated>2019-06-23T21:36:31Z</updated>
<author>
<name>patrick</name>
<email>patrick@openbsd.org</email>
</author>
<published>2019-06-23T21:36:31Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=23f101f37937a1bd4a29726cab2f76e0fb038b35'/>
<id>urn:sha1:23f101f37937a1bd4a29726cab2f76e0fb038b35</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Re-enable RETGUARD leaf function optimization for arm64.</title>
<updated>2019-05-31T19:15:05Z</updated>
<author>
<name>mortimer</name>
<email>mortimer@openbsd.org</email>
</author>
<published>2019-05-31T19:15:05Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=90020ccd6197ab7cf35e5085321274918851be68'/>
<id>urn:sha1:90020ccd6197ab7cf35e5085321274918851be68</id>
<content type='text'>
It turns out MachineFrameInfo.hasCalls() is unreliable, because it is
up to the backends to update this information whenever they add calls
to a function, and this does not always happen.

ok kettenis@
</content>
</entry>
<entry>
<title>Do not store the retguard cookie in frame in leaf functions if possible.</title>
<updated>2019-03-31T02:39:47Z</updated>
<author>
<name>mortimer</name>
<email>mortimer@openbsd.org</email>
</author>
<published>2019-03-31T02:39:47Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=52357f02de6027c0408b01b51141d97603ef4460'/>
<id>urn:sha1:52357f02de6027c0408b01b51141d97603ef4460</id>
<content type='text'>
Makes things slightly faster and also improves security in these functions,
since the retguard cookie can't leak via the stack.

ok deraadt@
</content>
</entry>
<entry>
<title>Tedu files that got removed in LLVM 7.0.1.</title>
<updated>2019-01-27T17:11:29Z</updated>
<author>
<name>patrick</name>
<email>patrick@openbsd.org</email>
</author>
<published>2019-01-27T17:11:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=9f520fd6abbfde117cf551fb4eacdd2687a606a9'/>
<id>urn:sha1:9f520fd6abbfde117cf551fb4eacdd2687a606a9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge LLVM 7.0.1 release.</title>
<updated>2019-01-27T16:55:35Z</updated>
<author>
<name>patrick</name>
<email>patrick@openbsd.org</email>
</author>
<published>2019-01-27T16:55:35Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=5072e66b18f5d3ac6abf1c18a092e85eab2d7568'/>
<id>urn:sha1:5072e66b18f5d3ac6abf1c18a092e85eab2d7568</id>
<content type='text'>
With fixes from mortimer@ (thanks!)
Tested by many, especially naddy@ (thanks!)
</content>
</entry>
</feed>
