<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/hipe/misc, branch KennethL-patch-1</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Merge PR-1386 from kostis/hipe-const-alignment OTP-14302</title>
<updated>2017-03-27T15:05:11+00:00</updated>
<author>
<name>Sverker Eriksson</name>
<email>sverker@erlang.org</email>
</author>
<published>2017-03-27T15:05:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=173cc4865cf0183242904283ea68626b5900ff08'/>
<id>173cc4865cf0183242904283ea68626b5900ff08</id>
<content type='text'>
hipe: Fix alignment of byte-sized constants</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
hipe: Fix alignment of byte-sized constants</pre>
</div>
</content>
</entry>
<entry>
<title>Remove ctab_array since apparently is not used</title>
<updated>2017-03-23T09:31:05+00:00</updated>
<author>
<name>Kostis Sagonas</name>
<email>kostis@it.uu.se</email>
</author>
<published>2017-03-23T09:31:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=54d3e3ae0021f8277322ce51168829aa0dd67de1'/>
<id>54d3e3ae0021f8277322ce51168829aa0dd67de1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove (now) unnecessary argument of pack_constants</title>
<updated>2017-03-23T08:57:45+00:00</updated>
<author>
<name>Kostis Sagonas</name>
<email>kostis@it.uu.se</email>
</author>
<published>2017-03-23T08:57:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=61027e62a901ec12cc27d3b08ad80dd47ccf2a3f'/>
<id>61027e62a901ec12cc27d3b08ad80dd47ccf2a3f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix alignment of byte-sized constants</title>
<updated>2017-03-21T19:03:58+00:00</updated>
<author>
<name>Kostis Sagonas</name>
<email>kostis@it.uu.se</email>
</author>
<published>2017-03-21T19:03:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=e688b5dd0ef3437e6e99419ea9af1895b9747216'/>
<id>e688b5dd0ef3437e6e99419ea9af1895b9747216</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove Emacs timestamp markers</title>
<updated>2016-11-23T19:20:49+00:00</updated>
<author>
<name>Richard Carlsson</name>
<email>richardc@klarna.com</email>
</author>
<published>2015-07-08T22:16:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=b91bb55035c72eca500d9942e6915232f5f2d958'/>
<id>b91bb55035c72eca500d9942e6915232f5f2d958</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove obsolete CVS keyword markup</title>
<updated>2016-11-23T19:20:49+00:00</updated>
<author>
<name>Richard Carlsson</name>
<email>richardc@klarna.com</email>
</author>
<published>2015-07-08T22:11:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=1c9fa817a1c05e270cd352d7a37857449e2f3d03'/>
<id>1c9fa817a1c05e270cd352d7a37857449e2f3d03</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Correct copyright on remaining hipe files</title>
<updated>2016-11-23T15:36:23+00:00</updated>
<author>
<name>Richard Carlsson</name>
<email>richardc@klarna.com</email>
</author>
<published>2015-07-08T19:39:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=8b02979590d5a7b5f5ce8b4a0410abbf822ccf6d'/>
<id>8b02979590d5a7b5f5ce8b4a0410abbf822ccf6d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>hipe: segment tree delete operation</title>
<updated>2016-07-11T15:38:18+00:00</updated>
<author>
<name>Magnus Lång</name>
<email>margnus1@telia.com</email>
</author>
<published>2016-03-18T13:04:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=ad73c37d4af90834c62f961264dce00118309b0f'/>
<id>ad73c37d4af90834c62f961264dce00118309b0f</id>
<content type='text'>
Profiling showed that hipe_sdi spent most of its time in updateParents,
discarding nodes that were already deleted. By introducing a delete
operation to the segment trees, we can pay this cost only once, when
deleting the node from the graph.

Instead of keeping the ranges around, we recompute the range of the node
when we delete it, since this can be done in constant time, without any
memory allocation.

Although segment trees are not designed to be modified once built,
implementing a delete operation turned out to be a simple matter of
repeating insertion, but deleting the index from, instead of consing it
on, the appropriate nodes' values (segment lists).

This optimisation drastically sped up hipe_sdi to the point of no longer
being the bottleneck in the Assembly stage.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Profiling showed that hipe_sdi spent most of its time in updateParents,
discarding nodes that were already deleted. By introducing a delete
operation to the segment trees, we can pay this cost only once, when
deleting the node from the graph.

Instead of keeping the ranges around, we recompute the range of the node
when we delete it, since this can be done in constant time, without any
memory allocation.

Although segment trees are not designed to be modified once built,
implementing a delete operation turned out to be a simple matter of
repeating insertion, but deleting the index from, instead of consing it
on, the appropriate nodes' values (segment lists).

This optimisation drastically sped up hipe_sdi to the point of no longer
being the bottleneck in the Assembly stage.
</pre>
</div>
</content>
</entry>
<entry>
<title>hipe_sdi: Use segment trees to represent PARENTS</title>
<updated>2016-07-11T15:38:18+00:00</updated>
<author>
<name>Magnus Lång</name>
<email>margnus1@telia.com</email>
</author>
<published>2016-03-18T10:42:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=e74636ef2489d436b38726ae19bca2d8e7455cec'/>
<id>e74636ef2489d436b38726ae19bca2d8e7455cec</id>
<content type='text'>
This speeds up parentsOfChild/2 from O(n) to O(lg n + k).

A new module misc/hipe_segment_trees.erl is introduced.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This speeds up parentsOfChild/2 from O(n) to O(lg n + k).

A new module misc/hipe_segment_trees.erl is introduced.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add compiler option -Werror to Makefiles</title>
<updated>2016-05-31T10:19:59+00:00</updated>
<author>
<name>Kostis Sagonas</name>
<email>kostis@it.uu.se</email>
</author>
<published>2016-05-26T21:15:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=283b3f64aa566c9bb64493ec6af641e1b78145fa'/>
<id>283b3f64aa566c9bb64493ec6af641e1b78145fa</id>
<content type='text'>
and correct the name of another, erroneously spelt, option in the process.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
and correct the name of another, erroneously spelt, option in the process.
</pre>
</div>
</content>
</entry>
</feed>
