<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/ocaml.git/asmcomp/selectgen.ml, branch flambda_trunk</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>propagate information about Initialization and Assignment, should fix CSE bad behaviour</title>
<updated>2015-11-26T14:48:29+00:00</updated>
<author>
<name>Mark Shinwell</name>
<email>mshinwell@janestreet.com</email>
</author>
<published>2015-11-26T14:48:29+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=893e6d0ab8d9937a94fc029b0b59418438fbd6da'/>
<id>893e6d0ab8d9937a94fc029b0b59418438fbd6da</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>PR#7024 and GPR#295: CSE confuses +0.0 and -0.0</title>
<updated>2015-11-19T08:25:02+00:00</updated>
<author>
<name>Xavier Leroy</name>
<email>xavier.leroy@inria.fr</email>
</author>
<published>2015-11-19T08:25:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=6cd8656249ae21180aa7162b1bcb372e6ae8727c'/>
<id>6cd8656249ae21180aa7162b1bcb372e6ae8727c</id>
<content type='text'>
The fix consists in representing float literals by their bit patterns (int64) in the Mach and Linear intermediate languages.

A regression test was added to the test suite.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The fix consists in representing float literals by their bit patterns (int64) in the Mach and Linear intermediate languages.

A regression test was added to the test suite.
</pre>
</div>
</content>
</entry>
<entry>
<title>Split 64-bit integers on 32-bit architectures</title>
<updated>2015-08-25T16:18:50+00:00</updated>
<author>
<name>Jérémie Dimino</name>
<email>jeremie@dimino.org</email>
</author>
<published>2015-08-25T16:18:50+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=e7593340c104084ad8ef521c0baa9b9ae6e78af0'/>
<id>e7593340c104084ad8ef521c0baa9b9ae6e78af0</id>
<content type='text'>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16385 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@16385 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>Prudently revert the type of "Cconst_symbol" to typ_val instead of typ_int.</title>
<updated>2014-11-07T18:11:51+00:00</updated>
<author>
<name>Xavier Leroy</name>
<email>xavier.leroy@inria.fr</email>
</author>
<published>2014-11-07T18:11:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=ec1ba73399cafc6c19ac68fefbc876e16a045d8a'/>
<id>ec1ba73399cafc6c19ac68fefbc876e16a045d8a</id>
<content type='text'>
There seems to be issues with let-bound variables initialized with symbol
addresses and later updated.


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cmm-mach-types@15572 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There seems to be issues with let-bound variables initialized with symbol
addresses and later updated.


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cmm-mach-types@15572 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>More precise typing at the C-- and Mach level:</title>
<updated>2014-11-06T08:54:14+00:00</updated>
<author>
<name>Xavier Leroy</name>
<email>xavier.leroy@inria.fr</email>
</author>
<published>2014-11-06T08:54:14+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=ac02f56351c5eb04479963cb27f72ba250d04113'/>
<id>ac02f56351c5eb04479963cb27f72ba250d04113</id>
<content type='text'>
- Register type "Addr" is split into
    . "Val" (well-formed OCaml values, appropriate as GC roots)
    . "Addr" (derived pointers within the heap, must not survive a GC)
- memory_chunk "Word" is split into
    . "Word_val" (OCaml value)
    . "Word_int" (native-sized integer, not a pointer into the heap)

Cmmgen was updated to use Word_val or Word_int as appropriate.

Application #1: fail at compile-time if a derived pointer within the heap
survives a GC point (cf. PR#6484).

Application #2: CSE can do a better job across allocation points
(keep factoring expressions of type Int, Val, Float, but not Addr).


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cmm-mach-types@15568 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Register type "Addr" is split into
    . "Val" (well-formed OCaml values, appropriate as GC roots)
    . "Addr" (derived pointers within the heap, must not survive a GC)
- memory_chunk "Word" is split into
    . "Word_val" (OCaml value)
    . "Word_int" (native-sized integer, not a pointer into the heap)

Cmmgen was updated to use Word_val or Word_int as appropriate.

Application #1: fail at compile-time if a derived pointer within the heap
survives a GC point (cf. PR#6484).

Application #2: CSE can do a better job across allocation points
(keep factoring expressions of type Int, Val, Float, but not Addr).


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/cmm-mach-types@15568 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>merge changes from branch 4.02 from branching (rev 14852) to 4.02.0+rc1 (rev 15121)</title>
<updated>2014-08-22T13:45:02+00:00</updated>
<author>
<name>Damien Doligez</name>
<email>damien.doligez-inria.fr</email>
</author>
<published>2014-08-22T13:45:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=cbfe627f925ab2bab93bae7a7bc9f6ee6afb8637'/>
<id>cbfe627f925ab2bab93bae7a7bc9f6ee6afb8637</id>
<content type='text'>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15125 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@15125 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>PR#6501: harden the native-code generator against certain uses of "%identity".</title>
<updated>2014-08-11T07:46:25+00:00</updated>
<author>
<name>Xavier Leroy</name>
<email>xavier.leroy@inria.fr</email>
</author>
<published>2014-08-11T07:46:25+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=fcc2da384818f82280aa598eb8962c529b7931fb'/>
<id>fcc2da384818f82280aa598eb8962c529b7931fb</id>
<content type='text'>
Technically: when a C-- let-bound variable is assigned to, update its type
so that it is the lub of the types of the initial value and all values
assigned to it, with the type ordering Int &lt;: Addr.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15078 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Technically: when a C-- let-bound variable is assigned to, update its type
so that it is the lub of the types of the initial value and all values
assigned to it, with the type ordering Int &lt;: Addr.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15078 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<entry>
<title>Add reset functions to make modules reentrant when used through compiler-libs</title>
<updated>2014-05-09T12:01:21+00:00</updated>
<author>
<name>Fabrice Le Fessant</name>
<email>Fabrice.Le_fessant@inria.fr</email>
</author>
<published>2014-05-09T12:01:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/ocaml.git/commit/?id=457958a9e6ed855935beeea8720e854049864503'/>
<id>457958a9e6ed855935beeea8720e854049864503</id>
<content type='text'>
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14770 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@14770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
</pre>
</div>
</content>
</entry>
<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>
</feed>
