<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/ocaml.git/asmcomp/selectgen.ml, branch safe-string</title>
<subtitle>github.com: ocaml/ocaml
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/'/>
<entry>
<title>New back-end optimization pass: common subexpression elimination (CSE).</title>
<updated>2014-04-26T10:40:22+00:00</updated>
<author>
<name>Xavier Leroy</name>
<email>xavier.leroy@inria.fr</email>
</author>
<published>2014-04-26T10:40:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=558f40e3446854913d5ce011441c4b10da03f27e'/>
<id>558f40e3446854913d5ce011441c4b10da03f27e</id>
<content type='text'>
(Reuses results of previous computations instead of recomputing them.)
(Cherry-picked from branch backend-optim.)
Tested on amd64/linux and i386/linux.
Other back-ends compile (after assorted updates) but are untested.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14688 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(Reuses results of previous computations instead of recomputing them.)
(Cherry-picked from branch backend-optim.)
Tested on amd64/linux and i386/linux.
Other back-ends compile (after assorted updates) but are untested.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14688 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>part 2: fix regression (extraneous moves) caused by previous Cconst_blockheader patch</title>
<updated>2014-04-21T06:55:48+00:00</updated>
<author>
<name>Mark Shinwell</name>
<email>mshinwell@janestreet.com</email>
</author>
<published>2014-04-21T06:55:48+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=0b097e9a740a8c81c0c04d68c018b1258733216f'/>
<id>0b097e9a740a8c81c0c04d68c018b1258733216f</id>
<content type='text'>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14649 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14649 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>selectgen.ml: cross-cutting handling of Proc.contains_calls</title>
<updated>2014-04-16T08:34:19+00:00</updated>
<author>
<name>Gabriel Scherer</name>
<email>gabriel.scherer@gmail.com</email>
</author>
<published>2014-04-16T08:34:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=fa0f96ab2b23d5748ba56be1a66eb36ac0113a00'/>
<id>fa0f96ab2b23d5748ba56be1a66eb36ac0113a00</id>
<content type='text'>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14609 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14609 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>improved abstractions for register naming in the native code backend</title>
<updated>2014-03-17T14:39:12+00:00</updated>
<author>
<name>Mark Shinwell</name>
<email>mshinwell@janestreet.com</email>
</author>
<published>2014-03-17T14:39:12+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=de489bde2feda2cd8d0749b298c5fac852dba809'/>
<id>de489bde2feda2cd8d0749b298c5fac852dba809</id>
<content type='text'>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14465 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14465 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>be explicit when constructing integers that are block headers</title>
<updated>2014-03-17T14:34:00+00:00</updated>
<author>
<name>Mark Shinwell</name>
<email>mshinwell@janestreet.com</email>
</author>
<published>2014-03-17T14:34:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=583bfd46c21f66ef6c8b82578289c74f983afd51'/>
<id>583bfd46c21f66ef6c8b82578289c74f983afd51</id>
<content type='text'>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14464 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14464 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>PR#6239: a "raise" in -g mode can end up calling a C function (stash_backtrace). Therefore the containing function must not be a leaf function, so that on x86-32/MacOSX and x86-64, the stack is properly 16-realigned on entrance to containing function.</title>
<updated>2013-11-27T17:10:35+00:00</updated>
<author>
<name>Xavier Leroy</name>
<email>xavier.leroy@inria.fr</email>
</author>
<published>2013-11-27T17:10:35+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=948d5200236ec7a01bd5d94649a4fd7627445499'/>
<id>948d5200236ec7a01bd5d94649a4fd7627445499</id>
<content type='text'>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14316 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14316 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>Perform constant optimizations for integer division and modulus on the C-- level.</title>
<updated>2013-11-19T07:01:54+00:00</updated>
<author>
<name>Benedikt Meurer</name>
<email>benedikt.meurer@googlemail.com</email>
</author>
<published>2013-11-19T07:01:54+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=3bb161216b23d194c98b7f61b025b32180509fa8'/>
<id>3bb161216b23d194c98b7f61b025b32180509fa8</id>
<content type='text'>
This way we can avoid having to duplicate the same functionality for
every backend, and we may also benefit from other optimizations performed
during C-- generation.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14303 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This way we can avoid having to duplicate the same functionality for
every backend, and we may also benefit from other optimizations performed
during C-- generation.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14303 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Don't use emit_parts_list for regular operations."</title>
<updated>2013-11-14T17:56:15+00:00</updated>
<author>
<name>Benedikt Meurer</name>
<email>benedikt.meurer@googlemail.com</email>
</author>
<published>2013-11-14T17:56:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=e2827a1bd0f74f844ec628c5c1325f6398a6b340'/>
<id>e2827a1bd0f74f844ec628c5c1325f6398a6b340</id>
<content type='text'>
This reverts commit r14292.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14293 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit r14292.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14293 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't use emit_parts_list for regular operations.</title>
<updated>2013-11-14T08:10:03+00:00</updated>
<author>
<name>Benedikt Meurer</name>
<email>benedikt.meurer@googlemail.com</email>
</author>
<published>2013-11-14T08:10:03+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=7fab955f7bb37a91a6e00430de12fc5c77330a28'/>
<id>7fab955f7bb37a91a6e00430de12fc5c77330a28</id>
<content type='text'>
Using emit_parts_list does not make sense for any
operation except Ialloc, where we can delay the
computation of simple expression until the allocation
is done. So we try to avoid using emit_parts_list for
regular operations, where the special treatment of
non simple expression conflicts with our special
instruction selection on arm (and arm64). For example
we cannot merge the add and shift operation required
for tagging as soon as there is at least one non
simple expression involved, even though both Cadd
and Clsl do not care at all whether its arguments are
simple or not.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14292 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using emit_parts_list does not make sense for any
operation except Ialloc, where we can delay the
computation of simple expression until the allocation
is done. So we try to avoid using emit_parts_list for
regular operations, where the special treatment of
non simple expression conflicts with our special
instruction selection on arm (and arm64). For example
we cannot merge the add and shift operation required
for tagging as soon as there is at least one non
simple expression involved, even though both Cadd
and Clsl do not care at all whether its arguments are
simple or not.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14292 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>Reintegrate raise_variants branch.</title>
<updated>2013-11-13T13:55:13+00:00</updated>
<author>
<name>Alain Frisch</name>
<email>alain@frisch.fr</email>
</author>
<published>2013-11-13T13:55:13+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=f16534ef1a7d47289381faf58e048405fcc4888f'/>
<id>f16534ef1a7d47289381faf58e048405fcc4888f</id>
<content type='text'>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14289 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14289 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
</feed>
