Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Log of /MLRISC/trunk
ViewVC logotype

Log of /MLRISC/trunk

View Directory Listing Directory Listing


Sticky Revision:

Revision 2995 - Directory Listing
Modified Fri Apr 18 06:59:04 2008 UTC (11 years, 3 months ago) by mrainey
  Still working out struct passing.

Revision 2994 - Directory Listing
Modified Thu Apr 17 23:34:02 2008 UTC (11 years, 3 months ago) by mrainey
  Added support for passing aggregates as arguments.

Revision 2993 - Directory Listing
Modified Thu Apr 17 01:02:19 2008 UTC (11 years, 3 months ago) by mrainey
  Updating AMD64 SVID to support aggregates.

Revision 2992 - Directory Listing
Modified Tue Apr 15 22:30:33 2008 UTC (11 years, 3 months ago) by mrainey
  Fixed a bug in the amd64 C call generator and improved testing support.

Revision 2990 - Directory Listing
Modified Tue Apr 15 00:43:10 2008 UTC (11 years, 3 months ago) by mrainey
  Testing infrastructure for C calls.

Revision 2986 - Directory Listing
Modified Mon Apr 14 07:03:16 2008 UTC (11 years, 3 months ago) by mrainey
  Cleaned up staged allocation code and added documentation.

Revision 2957 - Directory Listing
Modified Thu Mar 6 03:17:28 2008 UTC (11 years, 4 months ago) by mrainey
Extended sign- and zero-extension to work for arbitrary expressions.

Revision 2956 - Directory Listing
Modified Wed Mar 5 08:19:37 2008 UTC (11 years, 4 months ago) by mrainey
  Fixed handling of sign- and zero-extended loads.

Revision 2952 - Directory Listing
Modified Mon Feb 25 08:46:19 2008 UTC (11 years, 4 months ago) by mrainey
  Corrected spilling for SHL instruction.

Revision 2947 - Directory Listing
Modified Sat Feb 16 00:17:56 2008 UTC (11 years, 5 months ago) by mrainey
  Fixed a bug for spilling over xadd, added support for 64-bit integer constants, and added conversions from floating-point numbers to ints.

Revision 2946 - Directory Listing
Modified Sat Feb 16 00:14:43 2008 UTC (11 years, 5 months ago) by mrainey
  Added 64-bit integer constants.

Revision 2929 - Directory Listing
Modified Fri Jan 18 20:40:28 2008 UTC (11 years, 6 months ago) by mrainey
  Clients can now inform the code generator that pointers to floats are aligned on 16-byte boundaries, thus resulting in more compact generated code.

Revision 2928 - Directory Listing
Modified Fri Jan 18 00:50:49 2008 UTC (11 years, 6 months ago) by mrainey
  Added support for 64-bit immediates.

Revision 2927 - Directory Listing
Modified Thu Jan 17 00:46:52 2008 UTC (11 years, 6 months ago) by mrainey
  Temporary fix for an alignment issue:  some SSE instructions require 16-byte aligned addresses for the source operand (XORP, ANDP, ORP, SQRT).  For the time being, these code generator and register spilling code will force these source operands into registers to avoid alignment issues. 

Revision 2926 - Directory Listing
Modified Wed Jan 16 19:45:13 2008 UTC (11 years, 6 months ago) by mrainey
  Fixed a bug in C call generation.  The CALL instruction was getting the wrong "use" registers depending on the calling convention.

Revision 2888 - Directory Listing
Modified Fri Nov 16 22:47:56 2007 UTC (11 years, 8 months ago) by mrainey
  Added a calling convention that does not handle caller saves.  This convention is useful if the registers are already saved before the C call.

Revision 2887 - Directory Listing
Modified Fri Nov 16 22:43:24 2007 UTC (11 years, 8 months ago) by mrainey
  Fixed a bug with floating-point comparison.

Revision 2844 - Directory Listing
Modified Wed Nov 7 01:49:38 2007 UTC (11 years, 8 months ago) by mrainey
  Fixed to compile with amd64.

Revision 2843 - Directory Listing
Modified Wed Nov 7 01:48:59 2007 UTC (11 years, 8 months ago) by mrainey
  Code cleanup.

Revision 2836 - Directory Listing
Modified Fri Nov 2 19:21:18 2007 UTC (11 years, 8 months ago) by mrainey
  Fixed a minor bug in floating-point branch generation.

Revision 2829 - Directory Listing
Modified Fri Nov 2 00:56:34 2007 UTC (11 years, 8 months ago) by mrainey
  Made bug fixes to instruction selection for floats and added SSE instructions for floating-point absolute value.

Revision 2828 - Directory Listing
Modified Fri Nov 2 00:54:50 2007 UTC (11 years, 8 months ago) by mrainey
  Added make target for amd64.

Revision 2827 - Directory Listing
Modified Thu Nov 1 05:53:12 2007 UTC (11 years, 8 months ago) by mrainey
  Fixex floating point comparison bug.

Revision 2826 - Directory Listing
Modified Thu Nov 1 01:12:04 2007 UTC (11 years, 8 months ago) by mrainey
  Added conditional move support for floating point comparisons.

Revision 2825 - Directory Listing
Modified Wed Oct 31 23:12:30 2007 UTC (11 years, 8 months ago) by mrainey
  Missing sizes for float-to-int conversion.

Revision 2814 - Directory Listing
Modified Mon Oct 29 03:12:59 2007 UTC (11 years, 8 months ago) by mrainey
  Fixed some bugs in the spilling code.

Revision 2811 - Directory Listing
Modified Thu Oct 25 20:36:09 2007 UTC (11 years, 8 months ago) by mrainey
  Added support for the atomic XCHG instruction.

Revision 2810 - Directory Listing
Modified Wed Oct 24 07:43:56 2007 UTC (11 years, 8 months ago) by mrainey
  Fixed a bug where the props module incorrectly identified the defs of XADD.

Revision 2808 - Directory Listing
Modified Tue Oct 23 07:04:33 2007 UTC (11 years, 8 months ago) by mrainey
  Added support for floating-point negation.

Revision 2805 - Directory Listing
Modified Mon Oct 22 07:33:14 2007 UTC (11 years, 8 months ago) by mrainey
  Added support for atomic fetch and add (XADD).

Revision 2803 - Directory Listing
Modified Mon Oct 22 04:17:25 2007 UTC (11 years, 8 months ago) by mrainey
  Generate p2align for power of two alignments because this directive is more portable than .align.

Revision 2798 - Directory Listing
Modified Fri Oct 19 22:11:56 2007 UTC (11 years, 9 months ago) by larsberg
Change batch files to work under parallels

Revision 2793 - Directory Listing
Modified Thu Oct 18 21:42:43 2007 UTC (11 years, 9 months ago) by mrainey
  Fixed a bug in the spill reloading and updated some comments.

Revision 2791 - Directory Listing
Modified Wed Oct 3 23:25:20 2007 UTC (11 years, 9 months ago) by mrainey
  Fixed bugs in floating-point code generation for comparisons, and cleaned up loads for labels.

Revision 2789 - Directory Listing
Modified Tue Oct 2 23:26:36 2007 UTC (11 years, 9 months ago) by mrainey
  Added demo support for AMD64 for quick testing and fixed support for 64-bit label constants.

Revision 2786 - Directory Listing
Modified Thu Sep 27 23:40:35 2007 UTC (11 years, 9 months ago) by mrainey
  Final fix for register spills.  Now all generated spills use 64-bit operands rather than trying to be clever.

Revision 2785 - Directory Listing
Modified Wed Sep 26 23:45:35 2007 UTC (11 years, 9 months ago) by mrainey
  Added temporary fix for register spilling.

Revision 2784 - Directory Listing
Modified Wed Sep 26 00:37:53 2007 UTC (11 years, 9 months ago) by mrainey
  Temporary fix for a bug in register reloading.  

Revision 2783 - Directory Listing
Modified Sat Sep 22 21:58:59 2007 UTC (11 years, 9 months ago) by mrainey
Cleaned up CMOV instruction support and fixed register-spilling bugs.

Revision 2781 - Directory Listing
Modified Sat Sep 22 19:04:15 2007 UTC (11 years, 9 months ago) by mrainey
Added support for the cmovcc instruction.

Revision 2780 - Directory Listing
Modified Wed Sep 19 04:14:56 2007 UTC (11 years, 10 months ago) by jhr
  For Mac OS X (aka darwin), we fix the gobal and anonymous label prefixes.

Revision 2779 - Directory Listing
Modified Tue Sep 18 20:27:33 2007 UTC (11 years, 10 months ago) by jhr
  Pseudo ops for AMD64/Darwin combination.

Revision 2778 - Directory Listing
Modified Tue Sep 18 19:30:40 2007 UTC (11 years, 10 months ago) by jhr
  Making the generated assembler more compatible with Mac OS X.

Revision 2776 - Directory Listing
Modified Tue Sep 18 17:34:49 2007 UTC (11 years, 10 months ago) by mrainey
Fixed bug for storing 64-bit labels.

Revision 2775 - Directory Listing
Modified Tue Sep 18 17:14:30 2007 UTC (11 years, 10 months ago) by jhr
  Change ".global" to ".globl", since the Mac OS X version of gas rejects the former.

Revision 2772 - Directory Listing
Modified Fri Sep 14 20:16:49 2007 UTC (11 years, 10 months ago) by jhr
  Added a first cut at a reducer function.

Revision 2771 - Directory Listing
Modified Fri Sep 14 19:19:57 2007 UTC (11 years, 10 months ago) by jhr
  Added LOCK_CMPXCHGQ extension statement

Revision 2769 - Directory Listing
Modified Fri Sep 14 03:06:11 2007 UTC (11 years, 10 months ago) by mrainey
Fixed xorl memory args bug.

Revision 2690 - Directory Listing
Modified Wed Jun 6 17:08:29 2007 UTC (12 years, 1 month ago) by blume
regenerated mdl.lex.sml

Revision 2684 - Directory Listing
Modified Tue Jun 5 02:19:46 2007 UTC (12 years, 1 month ago) by blume
re-run lex after update to ml-ulex

Revision 2638 - Directory Listing
Modified Wed May 30 21:34:40 2007 UTC (12 years, 1 month ago) by mrainey
  Added FSQRT instructions.

Revision 2632 - Directory Listing
Modified Wed May 30 20:00:57 2007 UTC (12 years, 1 month ago) by blume
(again) re-generated mdl.lex.sml after ml-ulex fix

Revision 2631 - Directory Listing
Modified Wed May 30 19:10:16 2007 UTC (12 years, 1 month ago) by mrainey
  Fixed a couple bugs in generating floating-point arithmetic.

Revision 2627 - Directory Listing
Modified Wed May 30 15:30:01 2007 UTC (12 years, 1 month ago) by blume
re-generated mdl.lex.sml after ml-ulex fix

Revision 2623 - Directory Listing
Modified Tue May 29 21:53:56 2007 UTC (12 years, 1 month ago) by mrainey
  Added peephole optimization.

Revision 2621 - Directory Listing
Modified Tue May 29 21:05:54 2007 UTC (12 years, 1 month ago) by mrainey
  Fixed $ bug.

Revision 2619 - Directory Listing
Modified Tue May 29 21:02:35 2007 UTC (12 years, 1 month ago) by mrainey
  New code generator for AMD64, which now uses SSE for floating point.

Revision 2618 - Directory Listing
Modified Tue May 29 20:59:14 2007 UTC (12 years, 1 month ago) by mrainey
  Deleted the old amd64 code generator.

Revision 2591 - Directory Listing
Modified Wed May 23 15:18:16 2007 UTC (12 years, 1 month ago) by blume
added results of running lexer and parser generators to repository;
this is necessary for bootstrapping:
ml-ulex is not yet installed when this gets compiled by the installer

Revision 2554 - Directory Listing
Modified Tue May 15 23:20:40 2007 UTC (12 years, 2 months ago) by gkuan
BlockPlacement functor formal parameter needs a where structure definition in order to be consistent with WeightedBlockPlacementFn formal parameters

Revision 2409 - Directory Listing
Modified Mon Apr 16 15:37:36 2007 UTC (12 years, 3 months ago) by mrainey
  Removed stale functor AMD64GenCCallFn.

Revision 2405 - Directory Listing
Modified Thu Apr 12 22:51:44 2007 UTC (12 years, 3 months ago) by mrainey
  Substantially changed the signature and implementation of AMD64 SVID.  It now looks similar to the ia32 SVID, yet uses staged allocation.

Revision 2362 - Directory Listing
Modified Tue Mar 20 14:42:19 2007 UTC (12 years, 4 months ago) by blume
fixed problem with path anchors in AMD64.cm

Revision 2361 - Directory Listing
Modified Mon Mar 19 23:25:17 2007 UTC (12 years, 4 months ago) by mrainey
Fixed C calls to properly kill caller save registers.

Revision 2359 - Directory Listing
Modified Mon Mar 19 19:51:50 2007 UTC (12 years, 4 months ago) by mrainey
Fixed bug where spill code uses bogus sizes for operands.

Revision 2353 - Directory Listing
Modified Tue Mar 13 19:44:45 2007 UTC (12 years, 4 months ago) by mrainey


Revision 2352 - Directory Listing
Modified Tue Mar 13 19:37:51 2007 UTC (12 years, 4 months ago) by mrainey
Added path for c-calls via staged allocation.

Revision 2351 - Directory Listing
Modified Tue Mar 13 19:35:19 2007 UTC (12 years, 4 months ago) by jhr
  Comment out rewrite modules.

Revision 2350 - Directory Listing
Modified Tue Mar 13 18:58:49 2007 UTC (12 years, 4 months ago) by mrainey
Added path for staged allocation.

Revision 2349 - Directory Listing
Modified Fri Mar 9 04:01:40 2007 UTC (12 years, 4 months ago) by mrainey


Revision 2348 - Directory Listing
Modified Wed Mar 7 19:32:18 2007 UTC (12 years, 4 months ago) by mrainey


Revision 2347 - Directory Listing
Modified Tue Mar 6 22:21:29 2007 UTC (12 years, 4 months ago) by mrainey


Revision 2344 - Directory Listing
Modified Tue Feb 27 00:39:10 2007 UTC (12 years, 4 months ago) by mrainey
Added support for Staged Allocation (http://www.eecs.harvard.edu/~nr/pubs/staged-abstract.html)

Revision 2339 - Directory Listing
Modified Wed Feb 21 00:16:44 2007 UTC (12 years, 4 months ago) by leunga
    x86MCEmitter crashed when the immediate operand to MOVB was outside
    of the range -128 ... 127.  I've changed the code so that the range
    check is disabled.   Only the low order 8 bits of the immediate operand
    is now significant.


Revision 2190 - Directory Listing
Modified Tue Nov 7 22:55:37 2006 UTC (12 years, 8 months ago) by blume
fixed build scripts for nowhere

Revision 2126 - Directory Listing
Modified Thu Nov 2 16:11:29 2006 UTC (12 years, 8 months ago) by blume
Copied from: sml/trunk/src/MLRISC revision 2125
moved MLRISC to toplevel

Revision 2089 - Directory Listing
Modified Wed Nov 1 15:37:39 2006 UTC (12 years, 8 months ago) by blume
Original Path: sml/trunk/src/MLRISC
set some svn:ignore properties for derived files

Revision 2088 - Directory Listing
Modified Wed Nov 1 03:22:18 2006 UTC (12 years, 8 months ago) by blume
Original Path: sml/trunk/src/MLRISC
set eol-style on all win32-specific files

Revision 2066 - Directory Listing
Modified Thu Oct 5 16:26:30 2006 UTC (12 years, 9 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
merged amd64 code from Mike Rainey

Revision 2065 - Directory Listing
Modified Thu Oct 5 15:09:16 2006 UTC (12 years, 9 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
added AMD64 stuff to MLRISC tree

Revision 1921 - Directory Listing
Modified Fri Apr 14 16:14:24 2006 UTC (13 years, 3 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Updates to support Darwin-compatible assembly code generation.

Revision 1920 - Directory Listing
Modified Tue Apr 11 13:15:55 2006 UTC (13 years, 3 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Minor changes to make the output more compatible with the version of gas
  that Apple uses on Mac OS X.  Also added support for 64-bit integers.

Revision 1890 - Directory Listing
Modified Wed Feb 22 20:08:17 2006 UTC (13 years, 4 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
    Make an MLRISC script consistent with CM changes

Revision 1885 - Directory Listing
Modified Mon Feb 13 22:17:29 2006 UTC (13 years, 5 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Modified CCalls for partial support of MacOS X on Intel ABI.

Revision 1863 - Directory Listing
Modified Tue Nov 15 22:38:49 2005 UTC (13 years, 8 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
improved the way certain libraries are bound into the compiler

Revision 1837 - Directory Listing
Modified Fri Oct 14 16:28:24 2005 UTC (13 years, 9 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
    Fixed the floating point bug that Carl Hauser discovered.
    Bug was a typo in the spilling code.

Revision 1836 - Directory Listing
Modified Fri Oct 14 15:16:07 2005 UTC (13 years, 9 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
   Removed some debugging printout code from x86Asm.sml.
   It looked like something left over from previous bug fixes.

Revision 1774 - Directory Listing
Modified Tue Apr 19 13:29:12 2005 UTC (14 years, 3 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fix for spilling single-precision floats.

Revision 1773 - Directory Listing
Modified Tue Apr 19 13:25:25 2005 UTC (14 years, 3 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Remove excess newline.

Revision 1757 - Directory Listing
Modified Sun Feb 13 03:52:06 2005 UTC (14 years, 5 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Two bugs fixed: the floating-point stack needs to be killed by calls
  and %st(0) was being returned as the result register (instead of the
  freshly allocated pseudo register).

Revision 1755 - Directory Listing
Modified Thu Feb 10 23:54:06 2005 UTC (14 years, 5 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
long long results implemented

Revision 1752 - Directory Listing
Modified Thu Feb 3 22:11:49 2005 UTC (14 years, 5 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
experimental code for passing long long arguments via NLFFI (untested)

Revision 1723 - Directory Listing
Modified Mon Dec 13 20:09:39 2004 UTC (14 years, 7 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed infinite loop.

Revision 1722 - Directory Listing
Modified Sun Dec 12 05:49:04 2004 UTC (14 years, 7 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Adding Allen's changes to support extensions on the PPC.

Revision 1701 - Directory Listing
Modified Wed Nov 17 21:07:35 2004 UTC (14 years, 8 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
    Added support to LIVE and KILL for all the architectures.

Revision 1680 - Directory Listing
Modified Sat Oct 30 16:02:13 2004 UTC (14 years, 8 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Add missing cases for stm pretty printing.

Revision 1679 - Directory Listing
Modified Sat Oct 30 14:09:26 2004 UTC (14 years, 8 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Add support for NEG in LABEXPs.

Revision 1671 - Directory Listing
Modified Thu Oct 28 04:15:08 2004 UTC (14 years, 8 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Don't bother to adjust the stack pointer by zero.

Revision 1670 - Directory Listing
Modified Thu Oct 28 02:18:58 2004 UTC (14 years, 8 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added documentation of calling convention for struct result functions.

Revision 1667 - Directory Listing
Modified Wed Oct 27 22:15:45 2004 UTC (14 years, 8 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
hot-fix for struct-return problem (seems to work)

Revision 1666 - Directory Listing
Modified Tue Oct 26 03:59:52 2004 UTC (14 years, 8 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Removed debugging code that got committed by mistake.

Revision 1665 - Directory Listing
Modified Tue Oct 26 03:57:28 2004 UTC (14 years, 8 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fix regions in case they mean something someday.

Revision 1664 - Directory Listing
Modified Tue Oct 26 03:35:31 2004 UTC (14 years, 8 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
added missing LOAD

Revision 1663 - Directory Listing
Modified Mon Oct 25 03:29:38 2004 UTC (14 years, 8 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Possible fix for struct parameters in C calls.

Revision 1662 - Directory Listing
Modified Sun Oct 24 17:56:50 2004 UTC (14 years, 8 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
    GAS syntax fix for FUCOMIP and friends.

Revision 1631 - Directory Listing
Modified Fri Sep 24 21:21:31 2004 UTC (14 years, 9 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
turned MLRISC message (PPC) about long branches off by default;
made setting configurable

Revision 1614 - Directory Listing
Modified Mon Aug 16 01:21:56 2004 UTC (14 years, 11 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC

   Another bug fix to the graph library

Revision 1613 - Directory Listing
Modified Wed Aug 11 03:35:58 2004 UTC (14 years, 11 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
   Minor PPC syntax fix.

Revision 1612 - Directory Listing
Modified Wed Aug 11 02:45:25 2004 UTC (14 years, 11 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixing one more bug with allocation of the argument area.  Seems to
  work now (at least for Moby).

Revision 1610 - Directory Listing
Modified Tue Aug 10 22:25:53 2004 UTC (14 years, 11 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fix bug: argument area allocation not getting generated.

Revision 1608 - Directory Listing
Modified Tue Aug 10 20:18:13 2004 UTC (14 years, 11 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Get the sizes of integer return values right.

Revision 1600 - Directory Listing
Modified Mon Aug 9 21:23:58 2004 UTC (14 years, 11 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
applied bug fix provided by Benjamin Ylvisaker

Revision 1599 - Directory Listing
Modified Mon Aug 9 16:22:40 2004 UTC (14 years, 11 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
    Bug fix to dijkstra's algorithm.

Revision 1597 - Directory Listing
Modified Mon Aug 9 15:49:54 2004 UTC (14 years, 11 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
fixed pattern-matching bug and added missing cases

Revision 1594 - Directory Listing
Modified Fri Aug 6 20:38:58 2004 UTC (14 years, 11 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Initial support for PPC extensions.

Revision 1593 - Directory Listing
Modified Thu Aug 5 22:19:45 2004 UTC (14 years, 11 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
     Added IBM syntax support for PowerPC.

Revision 1567 - Directory Listing
Modified Wed Jul 28 23:23:13 2004 UTC (14 years, 11 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
added naturalIntSz to dummy implementation of c-calls

Revision 1566 - Directory Listing
Modified Wed Jul 28 21:11:56 2004 UTC (14 years, 11 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed alignment of empty struct/union types to be 1 (not 4).

Revision 1565 - Directory Listing
Modified Wed Jul 28 21:06:59 2004 UTC (14 years, 11 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added comment to C_CALLS signature documenting the responsibility of the
  client to handle sign extension.  Also added a "naturalIntSz" value
  that the client can use to determine the integer promotion size.
  Updated the implementations to match the changed signature and removed
  sign extension from the x86 implementation.

Revision 1562 - Directory Listing
Modified Mon Jul 26 14:06:57 2004 UTC (14 years, 11 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Reimplementation of CCalls for x86.  This version uses the layout function
  to assign argument locations.

Revision 1561 - Directory Listing
Modified Mon Jul 26 14:06:10 2004 UTC (14 years, 11 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added documentation.

Revision 1553 - Directory Listing
Modified Tue Jul 20 13:08:30 2004 UTC (15 years ago) by allenleung
Original Path: sml/trunk/src/MLRISC
Changes to allow multiple lines
in the asm: specification. Now it is possible
to write:
	asm: '' ...''
	     ...
             '' ... ''

Revision 1552 - Directory Listing
Modified Fri Jul 16 18:00:22 2004 UTC (15 years ago) by mblume
Original Path: sml/trunk/src/MLRISC
handled C_UNION on the Sparc

Revision 1551 - Directory Listing
Modified Fri Jul 16 03:26:38 2004 UTC (15 years ago) by mblume
Original Path: sml/trunk/src/MLRISC
moved dummy implementation of c-calls into MLRISC tree

Revision 1550 - Directory Listing
Modified Thu Jul 15 18:17:27 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Rewrote handling of C_UNION type.

Revision 1549 - Directory Listing
Modified Wed Jul 14 23:07:35 2004 UTC (15 years ago) by mblume
Original Path: sml/trunk/src/MLRISC
implemented C_UNION for ppc-macosx;
fixed bug in propagating C_UNION to backend

Revision 1548 - Directory Listing
Modified Wed Jul 14 21:25:43 2004 UTC (15 years ago) by mblume
Original Path: sml/trunk/src/MLRISC
added C_UNION to c-types.sml

Revision 1547 - Directory Listing
Modified Wed Jul 14 19:40:35 2004 UTC (15 years ago) by mblume
Original Path: sml/trunk/src/MLRISC
fixed bug: functions fpr and gpr were not in scope where they were used

Revision 1546 - Directory Listing
Modified Wed Jul 14 18:38:08 2004 UTC (15 years ago) by allenleung
Original Path: sml/trunk/src/MLRISC
   More PPC instructions added.

Revision 1545 - Directory Listing
Modified Wed Jul 14 18:33:15 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Minor edits.

Revision 1544 - Directory Listing
Modified Wed Jul 14 16:08:37 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Support for struct arguments.

Revision 1539 - Directory Listing
Modified Tue Jul 13 19:05:30 2004 UTC (15 years ago) by allenleung
Original Path: sml/trunk/src/MLRISC
   Added LWARX and STWCX to the Power PC instruction set.

Revision 1536 - Directory Listing
Modified Tue Jul 13 18:30:33 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Changed signature of layout function; added paramAlloc callback to
  PPC genCall function; eliminated non-exhaustive matches.

Revision 1533 - Directory Listing
Modified Tue Jul 13 04:19:14 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed spelling error in comment and remove unecessary list reversal.

Revision 1532 - Directory Listing
Modified Tue Jul 13 03:49:10 2004 UTC (15 years ago) by mblume
Original Path: sml/trunk/src/MLRISC
nlffi under mac os x; NOW BOOTFILES; version 110.46.1

Revision 1531 - Directory Listing
Modified Mon Jul 12 19:44:50 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Working on adding support for structure arguments.

Revision 1530 - Directory Listing
Modified Sun Jul 11 16:51:01 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Additional work on PPC C-calls and minor change to the return type
  of the layout function in the C_CALLS interface.

Revision 1528 - Directory Listing
Modified Fri Jul 9 23:30:57 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed type errors in PPC C-calls.

Revision 1527 - Directory Listing
Modified Fri Jul 9 22:42:16 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Working on PPC C-Calls.

Revision 1525 - Directory Listing
Modified Wed Jul 7 02:10:23 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Working on PPC C calls.

Revision 1524 - Directory Listing
Modified Tue Jul 6 19:48:34 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Working on C calls.

Revision 1523 - Directory Listing
Modified Tue Jul 6 19:48:33 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Working on C calls.

Revision 1522 - Directory Listing
Modified Tue Jul 6 17:09:21 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Working on C Calls for PPC/MacOS X.

Revision 1521 - Directory Listing
Modified Wed Jun 30 21:44:58 2004 UTC (15 years ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added layout function to C_CALLS signature.

Revision 1505 - Directory Listing
Modified Thu Jun 17 20:41:47 2004 UTC (15 years, 1 month ago) by mblume
Original Path: sml/trunk/src/MLRISC
structure Timer now up to spec

Revision 1504 - Directory Listing
Modified Fri Jun 4 15:59:52 2004 UTC (15 years, 1 month ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Better error message.

Revision 1445 - Directory Listing
Modified Mon Jan 26 15:20:12 2004 UTC (15 years, 5 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  PPC CCalls hacking.

Revision 1444 - Directory Listing
Modified Sun Jan 25 19:32:40 2004 UTC (15 years, 5 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed spelling mistakes.

Revision 1443 - Directory Listing
Modified Sun Jan 25 19:27:10 2004 UTC (15 years, 5 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Cross machine sync (working on PPC C calls)

Revision 1438 - Directory Listing
Modified Mon Jan 12 03:12:20 2004 UTC (15 years, 6 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  A bit of work on the PPC/MacOS X C Calls implementation.

Revision 1436 - Directory Listing
Modified Tue Dec 23 02:30:18 2003 UTC (15 years, 6 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
Another Subscript exception in getpair!
Is there any chance that I am the only one using this function ;-)

Lal
----------

Revision 1435 - Directory Listing
Modified Fri Dec 19 21:45:59 2003 UTC (15 years, 7 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
Fixed a bug in which getpair raises an Subscript exception!

Lal
-----

Revision 1433 - Directory Listing
Modified Wed Dec 10 14:36:50 2003 UTC (15 years, 7 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
Made changes to getpair.
Not all available pairs were checked by the find routine.

Further, some architectures have a requirement that pairs
be even registers and others don't.
When a pair is found, by setting the next point to search
from using:

      next = found + 1

a client could call this routine again if the even/odd
requirement is not met the first time.

Lal

Revision 1425 - Directory Listing
Modified Tue Nov 18 21:06:42 2003 UTC (15 years, 8 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
tentatively changed interface of Timer to what has been discussed
on the Basis mailing list

Revision 1400 - Directory Listing
Modified Wed Oct 1 22:06:25 2003 UTC (15 years, 9 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
MLRISC bug fix from Lal

Revision 1381 - Directory Listing
Modified Wed Sep 17 21:28:41 2003 UTC (15 years, 10 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
various Basis-related changes (see HISTORY)

Revision 1354 - Directory Listing
Modified Wed Sep 10 00:27:30 2003 UTC (15 years, 10 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
major installer improvements: portable install script,
written in SML, which works for both Unix and Win32

Revision 1350 - Directory Listing
Modified Fri Sep 5 21:34:27 2003 UTC (15 years, 10 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
a lot of Basis hacking, among other things adding slices

Revision 1349 - Directory Listing
Modified Wed Sep 3 22:22:18 2003 UTC (15 years, 10 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
dot.sml committed per request by Lal

Revision 1347 - Directory Listing
Modified Thu Aug 28 21:59:15 2003 UTC (15 years, 10 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
implemented IntInf in Basis and compiler;
new version number; new bootfiles

Revision 1346 - Directory Listing
Modified Thu Aug 28 17:40:46 2003 UTC (15 years, 10 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  New file.  This is a conversion from the Sparc version and is
  a "work in progress."

Revision 1335 - Directory Listing
Modified Tue May 27 21:54:23 2003 UTC (16 years, 1 month ago) by mblume
Original Path: sml/trunk/src/MLRISC
eliminated many cases of poly-eq

Revision 1334 - Directory Listing
Modified Thu May 22 22:46:30 2003 UTC (16 years, 1 month ago) by mblume
Original Path: sml/trunk/src/MLRISC
major cleanup: eliminate all non-exhaustive pattern matches

Revision 1328 - Directory Listing
Modified Fri May 16 19:23:19 2003 UTC (16 years, 2 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
   Some MIPS backend stuff regenerated from the machine description tool.

Revision 1326 - Directory Listing
Modified Wed May 14 21:20:29 2003 UTC (16 years, 2 months ago) by allenleung
Original Path: sml/trunk/src/MLRISC
    Completely non-functional MIPS backend.

Revision 1318 - Directory Listing
Modified Wed Apr 9 18:41:10 2003 UTC (16 years, 3 months ago) by mblume
Original Path: sml/trunk/src/MLRISC
deleted ir.cm (per instruction from Lal)

Revision 1297 - Directory Listing
Modified Fri Jan 10 00:30:59 2003 UTC (16 years, 6 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
  Fixed some deadlinks in the doc.

Revision 1296 - Directory Listing
Modified Tue Jan 7 15:40:55 2003 UTC (16 years, 6 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
    Bug in Int.rem(x,y) when y is a power of 2.

Revision 1294 - Directory Listing
Modified Thu Dec 12 21:22:48 2002 UTC (16 years, 7 months ago) by blume
Original Path: sml/trunk/src/MLRISC
fixed bug in RISC RA related to rewrite code for spills and reloads
of floating point registers;  nucleic now compiles again on the Sparc

Revision 1273 - Directory Listing
Modified Thu Oct 10 17:13:35 2002 UTC (16 years, 9 months ago) by blume
Original Path: sml/trunk/src/MLRISC
fixed divide-by-zero problem on PPC (or so I hope...)

Revision 1270 - Directory Listing
Modified Thu Oct 10 14:48:48 2002 UTC (16 years, 9 months ago) by george
Original Path: sml/trunk/src/MLRISC
From Allen: Added a flag to dump the cfg after back patching
            and delay slot filling.

Revision 1266 - Directory Listing
Modified Thu Sep 26 19:06:50 2002 UTC (16 years, 9 months ago) by george
Original Path: sml/trunk/src/MLRISC
  bug fix from Allen related to creating parallel copies

Revision 1263 - Directory Listing
Modified Tue Aug 6 14:02:48 2002 UTC (16 years, 11 months ago) by george
Original Path: sml/trunk/src/MLRISC
  bug in aliasing cells to cc

Revision 1262 - Directory Listing
Modified Tue Aug 6 13:33:17 2002 UTC (16 years, 11 months ago) by george
Original Path: sml/trunk/src/MLRISC
  added flag to preserve dead copies during spilling

Revision 1260 - Directory Listing
Modified Mon Jul 15 17:27:34 2002 UTC (17 years ago) by george
Original Path: sml/trunk/src/MLRISC
bug fix from Allen

Revision 1259 - Directory Listing
Modified Sat Jul 13 01:19:00 2002 UTC (17 years ago) by blume
Original Path: sml/trunk/src/MLRISC
exported two useful functions from MLRISC Liveness modul

Revision 1258 - Directory Listing
Modified Tue Jul 9 16:00:15 2002 UTC (17 years ago) by george
Original Path: sml/trunk/src/MLRISC
  use a log scale for colors when frequencies are large

Revision 1249 - Directory Listing
Modified Tue Jun 25 21:23:40 2002 UTC (17 years ago) by blume
Original Path: sml/trunk/src/MLRISC
fixed bug in FP translation of INLMAX and INLMIN

Revision 1230 - Directory Listing
Modified Mon Jun 3 18:32:08 2002 UTC (17 years, 1 month ago) by george
Original Path: sml/trunk/src/MLRISC
The empty bitmatrix must contain an table size that is
a non-zero power of two. The table is made bigger by
doubling its size, so an initial size of zero results
in a nice infinite loop.

Revision 1228 - Directory Listing
Modified Thu May 23 19:05:40 2002 UTC (17 years, 1 month ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added header comment.

Revision 1227 - Directory Listing
Modified Thu May 23 19:04:31 2002 UTC (17 years, 1 month ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added header comments.

Revision 1226 - Directory Listing
Modified Thu May 23 18:59:25 2002 UTC (17 years, 1 month ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed for old-style CM.

Revision 1222 - Directory Listing
Modified Thu May 23 16:23:41 2002 UTC (17 years, 1 month ago) by george
Original Path: sml/trunk/src/MLRISC
Labels are now displayed in the graphical output to make
the fall-through and target blocks obvious.

Revision 1208 - Directory Listing
Modified Tue May 21 02:22:43 2002 UTC (17 years, 2 months ago) by blume
Original Path: sml/trunk/src/MLRISC
more controls cleanup; removed some wrongly-added things from config/preloads

Revision 1205 - Directory Listing
Modified Mon May 20 20:18:34 2002 UTC (17 years, 2 months ago) by george
Original Path: sml/trunk/src/MLRISC
  fixed machine code bug in right shift instructions

Revision 1203 - Directory Listing
Modified Sat May 18 18:21:53 2002 UTC (17 years, 2 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
     Changed mdl gen to make it compile.
     x86 asssembly fix for fcmpi.

Revision 1202 - Directory Listing
Modified Sat May 18 01:05:18 2002 UTC (17 years, 2 months ago) by george
Original Path: sml/trunk/src/MLRISC
	The MLRISC Tools directory was not aware of the changes
to MLTREE.DIVS, MLTREE.REMS, and MLTREE.DIVT that added
rounding modes to each of these operators.

Revision 1198 - Directory Listing
Modified Fri May 17 18:52:10 2002 UTC (17 years, 2 months ago) by blume
Original Path: sml/trunk/src/MLRISC
adjust to new DIV/MOD with rounding mode

Revision 1192 - Directory Listing
Modified Wed May 15 14:02:06 2002 UTC (17 years, 2 months ago) by george
Original Path: sml/trunk/src/MLRISC
        All pseudo-ops emitted before the first segment declaration
such as TEXT, DATA, and BSS directives are assumed to be global
declarations and are emitted first in the assembly file. This is
useful in a number of situations where one has pseudo-ops that are not
specific to any segment, and also works around the constraint that one
cannot have client pseudo-ops in the TEXT segment.

        Because no segment is associated with these declarations it is
an error to allocate any space or objects before the first segment
directive and an exception will be raised. However, we cannot make
this check for client pseudo-ops.

        These top level declarations are a field in the CFG graph_info.
In theory you can continue to add to this field after the CFG has been
built -- provided you know what you are doing;-)

Revision 1185 - Directory Listing
Modified Mon Apr 1 22:06:47 2002 UTC (17 years, 3 months ago) by blume
Original Path: sml/trunk/src/MLRISC
more div-related improvements to the x86 instruction selector

Revision 1184 - Directory Listing
Modified Fri Mar 29 22:22:22 2002 UTC (17 years, 3 months ago) by blume
Original Path: sml/trunk/src/MLRISC
fixed bug in new div/mod logic

Revision 1183 - Directory Listing
Modified Fri Mar 29 19:09:48 2002 UTC (17 years, 3 months ago) by blume
Original Path: sml/trunk/src/MLRISC
division primops, inline primops for min/max/abs

Revision 1182 - Directory Listing
Modified Thu Mar 28 16:41:29 2002 UTC (17 years, 3 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Switch to CFG.exitId.

Revision 1181 - Directory Listing
Modified Wed Mar 27 21:27:27 2002 UTC (17 years, 3 months ago) by blume
Original Path: sml/trunk/src/MLRISC
provided MLRISC support for all four division ops (div/mod/quot/rem)

Revision 1177 - Directory Listing
Modified Mon Mar 25 16:49:18 2002 UTC (17 years, 3 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Minor fixes to get the block list in a consistent form.

Revision 1176 - Directory Listing
Modified Mon Mar 25 16:07:39 2002 UTC (17 years, 3 months ago) by george
Original Path: sml/trunk/src/MLRISC
  inserted block with a single jump instruction to break multiple fallthroughs

Revision 1174 - Directory Listing
Modified Sat Mar 23 21:14:40 2002 UTC (17 years, 3 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

    Added some new primops for creating/manipulating temporary "C" objects
    allocated on the ml heap.

Revision 1173 - Directory Listing
Modified Sat Mar 23 04:18:51 2002 UTC (17 years, 3 months ago) by george
Original Path: sml/trunk/src/MLRISC
Edge colors  during graphical viewing is based on
execution frequency of the edge. I used the same
color scale employed in yahoo weather maps.

Revision 1172 - Directory Listing
Modified Fri Mar 22 20:42:01 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added newNode function.

Revision 1169 - Directory Listing
Modified Fri Mar 22 19:22:15 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fix to handle fallsthru edges to block 0.

Revision 1168 - Directory Listing
Modified Fri Mar 22 19:19:32 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
Implemented the Ball-Larus branch prediction-heuristic, and
incorporated graphical viewers for control flow graphs.

Ball-Larus Heuristic:
---------------------
See the file compiler/CodeGen/cpscompile/cpsBranchProb.sml.

By design it uses the Dempster-Shafer theory for combining
probabilities.  For example, in the function:

    fun f(n,acc) = if n = 0 then acc else f(n-1, n*acc)

the ball-larus heuristics predicts that the n=0 is unlikely
(OH-heuristic), and the 'then' branch is unlikely because of the
RH-heuristic -- giving the 'then' branch an even lower combined
probability using the Dempster-Shater theory.

Finally, John Reppy's loop analysis in MLRISC, further lowers the
probability of the 'then' branch because of the loop in the else
branch.


Graphical Viewing:
------------------
I merely plugged in Allen's graphical viewers into the compiler. The
additional code is not much. At the top level, saying:

	Control.MLRISC.getFlag "cfg-graphical-view" := true;

will display the graphical view of the control flow graph just before
back-patching.  daVinci must be in your path for this to work. If
daVinci is not available, then the default viewer can be changed
using:

	Control.MLRISC.getString "viewer"

which can be set to "dot" or "vcg" for the corresponding viewers. Of
course, these viewers must be in your path.

The above will display the compilation unit at the level of clusters,
many of which are small, boring, and un-interesting. Also setting:

	Control.MLRISC.getInt "cfg-graphical-view_size"

will display clusters that are larger than the value set by the above.

Revision 1167 - Directory Listing
Modified Fri Mar 22 17:14:46 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
  rewrote the cfg dump to use CFG.dump

Revision 1166 - Directory Listing
Modified Fri Mar 22 16:59:28 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Check EXIT edges too.

Revision 1165 - Directory Listing
Modified Fri Mar 22 16:31:37 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
 treat entry and exit nodes specially

Revision 1164 - Directory Listing
Modified Fri Mar 22 15:32:57 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Use CFG.entry and CFG.exit functions.

Revision 1163 - Directory Listing
Modified Fri Mar 22 15:32:30 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added code to check JUMP and BRANCH true edges.

Revision 1162 - Directory Listing
Modified Fri Mar 22 15:16:46 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added methods to get unique entry and exit blocks.

Revision 1161 - Directory Listing
Modified Fri Mar 22 14:24:48 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  New file.

Revision 1160 - Directory Listing
Modified Fri Mar 22 14:24:36 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  New file -- debugging code to check correctness of block placements.

Revision 1158 - Directory Listing
Modified Fri Mar 22 01:21:25 2002 UTC (17 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
     Improvements to cfg

Revision 1157 - Directory Listing
Modified Thu Mar 21 22:33:35 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  New default block placement that respects edge kinds.

Revision 1156 - Directory Listing
Modified Thu Mar 21 22:01:11 2002 UTC (17 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

     Bug fixes and improvements to x86 and cfg

Revision 1154 - Directory Listing
Modified Wed Mar 20 20:44:43 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
Switch probability module to use IntInf.

Revision 1153 - Directory Listing
Modified Wed Mar 20 19:04:04 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added not function and modified combineProb2 to avoid potential
  overflow.

Revision 1151 - Directory Listing
Modified Mon Mar 18 18:41:31 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed flag names for dumping CFG.

Revision 1150 - Directory Listing
Modified Sat Mar 16 20:00:46 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed LEH (got the sense backwards).

Revision 1149 - Directory Listing
Modified Sat Mar 16 19:55:14 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  New version implements both Loop Branch and Look Exit heuristics.

Revision 1147 - Directory Listing
Modified Fri Mar 15 03:40:35 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added functor for computing loop-related branch probabilities.

Revision 1146 - Directory Listing
Modified Fri Mar 15 03:39:44 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added copyright.

Revision 1145 - Directory Listing
Modified Fri Mar 15 02:30:53 2002 UTC (17 years, 4 months ago) by blume
Original Path: sml/trunk/src/MLRISC
moved Controls module into its own library;
changed Controls interface to make it saner;
made MLRISC independent of Controls;
minor changes to CM

Revision 1144 - Directory Listing
Modified Thu Mar 14 19:53:15 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added a function (combineProb2) for computing the combination of
  probability estimates using Dempster-Shafer theory.

Revision 1143 - Directory Listing
Modified Thu Mar 14 15:35:19 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Allen's fixes to maintain frequency information.

Revision 1142 - Directory Listing
Modified Wed Mar 13 22:25:37 2002 UTC (17 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

    X86 code generator did not correctly signal the ra to run.

Revision 1139 - Directory Listing
Modified Wed Mar 13 18:40:51 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added flags to functor parameters to control hte behavior of the
  algorithm.  The reverseDirection flag is currently a nop.

Revision 1136 - Directory Listing
Modified Tue Mar 12 19:44:02 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
Integrated jump chaining and static block frequency into the
compiler. More details and numbers later.

Revision 1135 - Directory Listing
Modified Tue Mar 12 16:09:26 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added functor to compute block and edge frequencies from edge
  probabilities.

Revision 1134 - Directory Listing
Modified Tue Mar 12 03:59:21 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
  pick between default and weighted block placement

Revision 1133 - Directory Listing
Modified Tue Mar 12 03:56:23 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
Tested the jump chain elimination on all architectures (except the
hppa).  This is on by default right now and is profitable for the
alpha and x86, however, it may not be profitable for the sparc and ppc
when compiling the compiler.

The gc test will typically jump to a label at the end of the cluster,
where there is another jump to an external cluster containing the actual
code to invoke gc. This is to allow factoring of common gc invocation
sequences. That is to say, we generate:

	f:
	   testgc
	   ja	L1	% jump if above to L1

	L1:
	   jmp L2


After jump chain elimination the 'ja L1' instructions is converted to
'ja L2'. On the sparc and ppc, many of the 'ja L2' instructions may end
up being implemented in their long form (if L2 is far away) using:

	jbe	L3	% jump if below or equal to L3
        jmp 	L2
     L3:
	...


For large compilation units L2  may be far away.

Revision 1130 - Directory Listing
Modified Mon Mar 11 04:49:41 2002 UTC (17 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
      Machine code generation for CALL (relative displacement mode)

Revision 1129 - Directory Listing
Modified Sat Mar 9 03:21:44 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed jump chaining bug.  Indentation fixes.

Revision 1128 - Directory Listing
Modified Fri Mar 8 21:05:27 2002 UTC (17 years, 4 months ago) by blume
Original Path: sml/trunk/src/MLRISC
implemented entry points; NEW BOOTFILES

Revision 1127 - Directory Listing
Modified Fri Mar 8 01:35:33 2002 UTC (17 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
      Bug fixes for CMOVcc on x86

Revision 1126 - Directory Listing
Modified Thu Mar 7 21:16:28 2002 UTC (17 years, 4 months ago) by blume
Original Path: sml/trunk/src/MLRISC
implemented generic Controls module and used it for
all compiler flags/tuneable knobs/...;
more command-line options accepted (for setting the above controls);
some minor bug fixes

Revision 1125 - Directory Listing
Modified Thu Mar 7 21:04:13 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Changed representation of probabilities and frequencies.

Revision 1124 - Directory Listing
Modified Thu Mar 7 19:49:22 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
Tested the weighted block placement optimization on all architectures
(except the hppa) using AMPL to generate the block and edge frequencies.
Changes were required in the machine properties to correctly
categorize trap instructions. There is an MLRISC flag
"weighted-block-placement" that can be used to enable weighted block
placement, but this will be ineffective without block/edge
frequencies (coming soon).

Revision 1121 - Directory Listing
Modified Wed Mar 6 19:58:56 2002 UTC (17 years, 4 months ago) by blume
Original Path: sml/trunk/src/MLRISC
fixed downstream problems caused by those Freq type change in MLRISC

Revision 1120 - Directory Listing
Modified Wed Mar 6 17:16:36 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Simplified the fcond type in ml-tree-basis.  Put in a temporary
  fix for a type error in weighted-block-placement-fn.sml.

Revision 1119 - Directory Listing
Modified Wed Mar 6 15:52:44 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Better error messages.

Revision 1118 - Directory Listing
Modified Wed Mar 6 15:30:25 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added dumpBlock printing routine.

Revision 1117 - Directory Listing
Modified Wed Mar 6 15:29:24 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Uncommented support for FCMP in mltree-gen.sml (this required making
  the Cells structure a functor parameter).

Revision 1116 - Directory Listing
Modified Tue Mar 5 23:17:18 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
In order to support the block placement optimization, the first
cluster that is generated (called the linkage cluster) contains a jump
to the entry point for the compilation unit. The linkage cluster
contains only one 'function', so block placement will have no effect on
the linkage cluster itself, but all the other clusters have full
freedom in the manner in which they reorder blocks or functions.

On the x86 the typical linkage code that is generated is:
   ----------------------
	.align 2
   L0:
        addl    $L1-L0, 72(%esp)
        jmp     L0


        .align  2
   L1:
   ----------------------

72(%esp) is the memory location for the stdlink register. This
must contain the address of the CPS function being called. In the
above example, it contains the address of  L0; before
calling L1 (the real entry point for the compilation unit), it
must contain the address for L1, and hence

	addl $L1-L0, 72(%esp)

I have tested this on all architectures except the hppa.The increase
in code size is of course negligible.

Revision 1115 - Directory Listing
Modified Sun Mar 3 18:16:31 2002 UTC (17 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   Added #[ ... ] expressions to the mlrisc-tools library

Revision 1114 - Directory Listing
Modified Fri Mar 1 21:05:07 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added comment.

Revision 1113 - Directory Listing
Modified Fri Mar 1 16:57:47 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Dump CFG in block placement order.

Revision 1112 - Directory Listing
Modified Fri Mar 1 15:53:14 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
bug fixes

Revision 1111 - Directory Listing
Modified Fri Mar 1 14:57:13 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Removed use of polymorphic equality.

Revision 1110 - Directory Listing
Modified Fri Mar 1 14:07:58 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Switch to using probabilities (instead of ints) for BRANCH_PROB annotation.

Revision 1109 - Directory Listing
Modified Fri Mar 1 13:56:06 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  New implementation of probabilities.

Revision 1108 - Directory Listing
Modified Fri Mar 1 04:46:54 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
  removed extra blank line when printing annotations in assembly code

Revision 1107 - Directory Listing
Modified Thu Feb 28 20:03:26 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Documentation update.

Revision 1106 - Directory Listing
Modified Thu Feb 28 19:58:04 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed bugs and added control flags.

Revision 1105 - Directory Listing
Modified Thu Feb 28 19:57:47 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added control flags.

Revision 1104 - Directory Listing
Modified Thu Feb 28 19:56:53 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added dump function to CFG module (this can replace the PrintFlowgraph
  functor).

Revision 1103 - Directory Listing
Modified Thu Feb 28 19:29:30 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Removing unused (and incomplete) file.

Revision 1102 - Directory Listing
Modified Thu Feb 28 18:47:42 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
fix exit edge labels

Revision 1101 - Directory Listing
Modified Thu Feb 28 17:35:18 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed type error.

Revision 1100 - Directory Listing
Modified Thu Feb 28 17:33:42 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Implemented negateConditional.

Revision 1099 - Directory Listing
Modified Thu Feb 28 16:50:25 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  The INTO instruction should be marked as an escaping jump.

Revision 1095 - Directory Listing
Modified Tue Feb 26 13:20:40 2002 UTC (17 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
    Backedge method.

Revision 1092 - Directory Listing
Modified Sat Feb 23 02:34:14 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
My earlier commits to install the cfgView were not tested,
however they broke the various CM files used to build the compiler.
This commit is just to fix the problem and I will do a major cleanup
later. Sorry if you stumbled on this.

Revision 1091 - Directory Listing
Modified Fri Feb 22 23:09:26 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added jump-chain elimination and weighted block placement.

Revision 1090 - Directory Listing
Modified Fri Feb 22 23:08:46 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added jump-chain elimination and fixed type errors in block placement.

Revision 1089 - Directory Listing
Modified Fri Feb 22 23:07:19 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Expanded comment.

Revision 1088 - Directory Listing
Modified Fri Feb 22 23:04:11 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added comments.

Revision 1087 - Directory Listing
Modified Fri Feb 22 11:51:01 2002 UTC (17 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
added a graphical visualization module for cfg

Revision 1086 - Directory Listing
Modified Fri Feb 22 05:56:29 2002 UTC (17 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
      Minor fix to mlrisc-tools's parser

Revision 1085 - Directory Listing
Modified Fri Feb 22 00:15:55 2002 UTC (17 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
    Regenerated these files.  They didn't compile.

Revision 1084 - Directory Listing
Modified Thu Feb 21 18:52:44 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Removed SIDEEXIT edge kind and HYPER block kind.  Added FLOWSTO edge kind.

Revision 1083 - Directory Listing
Modified Thu Feb 21 18:52:10 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  New file: implementation of Pettis-Hansen block placement.

Revision 1082 - Directory Listing
Modified Thu Feb 21 18:50:56 2002 UTC (17 years, 4 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Changed specification of negateConditional.

Revision 1079 - Directory Listing
Modified Wed Feb 20 01:16:15 2002 UTC (17 years, 5 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
    Minor bug fixes to the mlrisc-tools library

Revision 1065 - Directory Listing
Modified Thu Feb 14 15:05:16 2002 UTC (17 years, 5 months ago) by george
Original Path: sml/trunk/src/MLRISC
Fixed the MLRISC bug sent by Markus Wenzel regarding the compilation
of Isabelle on the x86.

From Allen:
-----------
 I've found the problem:

     in ra-core.sml, I use the counter "blocked" to keep track of the
     true number of elements in the freeze queue.  When the counter goes
     to zero, I skip examining the queue.  But I've messed up the
     bookkeeping in combine():

         else ();
         case !ucol of
           PSEUDO => (if !cntv > 0 then
                 (if !cntu > 0 then blocked := !blocked - 1 else ();
                                    ^^^^^^^^^^^^^^^^^^^^^^^
                  moveu := mergeMoveList(!movev, !moveu)
                 )
              else ();

     combine() is called to coalesce two nodes u and v.
     I think I was thinking that if the move counts of u and v are both
     greater than zero then after they are coalesced then one node is
     removed from the freeze queue.  Apparently I was thinking that
     both u and v are of low degree, but that's clearly not necessarily true.


02/12/2002:
    Here's the patch.  HOL now compiles.

    I don't know how this impact on performance (compile
    time or runtime).  This bug caused the RA (especially on the x86)
    to go thru the potential spill phase when there are still nodes on the
    freeze queue.

Revision 1057 - Directory Listing
Modified Fri Feb 8 17:31:02 2002 UTC (17 years, 5 months ago) by george
Original Path: sml/trunk/src/MLRISC
  regenerated x86Peephole.sml

Revision 1056 - Directory Listing
Modified Thu Feb 7 21:05:19 2002 UTC (17 years, 5 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Use isZeroLE in the definition of isZero.

Revision 1055 - Directory Listing
Modified Thu Feb 7 20:38:59 2002 UTC (17 years, 5 months ago) by george
Original Path: sml/trunk/src/MLRISC
Compilers that generate assembly code may produce  global labels
whose value is resolved at link time. The various peephole optimization
modules did not take this in account.

TODO. The Labels.addrOf function should really return an option
type so that clients are forced to deal with this issue, rather
than an exception being raised.

Revision 1054 - Directory Listing
Modified Wed Feb 6 19:27:27 2002 UTC (17 years, 5 months ago) by george
Original Path: sml/trunk/src/MLRISC
  small ommission in the last commit

Revision 1053 - Directory Listing
Modified Wed Feb 6 19:11:13 2002 UTC (17 years, 5 months ago) by george
Original Path: sml/trunk/src/MLRISC
   Pulled out various utility modules that were embedded in the modules
   of the register allocator. I need these modules for other purposes, but
   they are not complete enough to put into a library (just yet).

Revision 1052 - Directory Listing
Modified Wed Feb 6 04:04:48 2002 UTC (17 years, 5 months ago) by george
Original Path: sml/trunk/src/MLRISC
  A bug fix from Allen.

  A typo causes extra fstp %st(0)'s to be generated at compensation
edges, which might cause stack underflow traps at runtime.  This
occurs in fft where there are extraneous fstps right before the 'into'
trap instruction (in this case they are harmless since none of the
integers overflow.)

Revision 1051 - Directory Listing
Modified Fri Feb 1 15:04:17 2002 UTC (17 years, 5 months ago) by george
Original Path: sml/trunk/src/MLRISC
Alignment directives were only recognized as being
text segment directives.

Revision 1050 - Directory Listing
Modified Fri Feb 1 12:23:19 2002 UTC (17 years, 5 months ago) by george
Original Path: sml/trunk/src/MLRISC
  added support for the comment pseudo op

Revision 1049 - Directory Listing
Modified Thu Jan 31 21:03:49 2002 UTC (17 years, 5 months ago) by blume
Original Path: sml/trunk/src/MLRISC
two small bug fixes: sparc c-calls and ml-nlffigen

Revision 1048 - Directory Listing
Modified Thu Jan 31 06:36:17 2002 UTC (17 years, 5 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

     MLRISC bug fixes.  MachineInt.fromString was negating its value.

Revision 1045 - Directory Listing
Modified Mon Jan 28 22:13:13 2002 UTC (17 years, 5 months ago) by blume
Original Path: sml/trunk/src/MLRISC
bug fix and minor improvement to sparc-c-calls

Revision 1043 - Directory Listing
Modified Mon Jan 28 21:26:03 2002 UTC (17 years, 5 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added hooks for parameter-area management by client to CCalls API.
  Currently, these hooks are not being used.

Revision 1038 - Directory Listing
Modified Mon Jan 28 00:18:03 2002 UTC (17 years, 5 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
     The 'nowhere' program generator (which translates programs
     with where clauses into legal SML) is now an installation target.

Revision 1035 - Directory Listing
Modified Thu Jan 24 19:07:18 2002 UTC (17 years, 5 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
    Minor lexer bug fixed

Revision 1033 - Directory Listing
Modified Thu Jan 24 05:45:18 2002 UTC (17 years, 5 months ago) by george
Original Path: sml/trunk/src/MLRISC
   There is a dramatic simplification in the interface to the
   register allocator for RISC architectures as a result of making
   parallel copy instructions explicit.

Revision 1032 - Directory Listing
Modified Tue Jan 22 16:59:16 2002 UTC (17 years, 5 months ago) by blume
Original Path: sml/trunk/src/MLRISC
fix for x86 c-call bug

Revision 1027 - Directory Listing
Modified Fri Jan 18 15:50:59 2002 UTC (17 years, 6 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed label formatting bug.

Revision 1026 - Directory Listing
Modified Fri Jan 18 14:54:17 2002 UTC (17 years, 6 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  More pseudo-op fixes; added first-cut at MacOS X assembler support.

Revision 1025 - Directory Listing
Modified Thu Jan 17 20:31:51 2002 UTC (17 years, 6 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
     Fixed a problem with the handling of CALLs in x86's "fast fp" mode.

Revision 1024 - Directory Listing
Modified Thu Jan 17 19:30:59 2002 UTC (17 years, 6 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added Allen's fix for the FP register allocator.

Revision 1023 - Directory Listing
Modified Thu Jan 17 14:02:05 2002 UTC (17 years, 6 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixing formatting of pseudo-ops.

Revision 1022 - Directory Listing
Modified Thu Jan 17 13:39:45 2002 UTC (17 years, 6 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Fixed generated comment syntax to use C syntax (not SML!).

Revision 1020 - Directory Listing
Modified Wed Jan 16 19:25:17 2002 UTC (17 years, 6 months ago) by george
Original Path: sml/trunk/src/MLRISC
  When building the control flowgraph, both comments and labels
  are sensitive to the current  segment (TEXT/non-TEXT) being
  built.

Revision 1019 - Directory Listing
Modified Wed Jan 16 18:34:31 2002 UTC (17 years, 6 months ago) by george
Original Path: sml/trunk/src/MLRISC
bug fix for external/import declarations

Revision 1018 - Directory Listing
Modified Wed Jan 16 17:21:14 2002 UTC (17 years, 6 months ago) by george
Original Path: sml/trunk/src/MLRISC
Bug fixes:

  1. Emit a .text at the beginning of an assembly listing.

  2. Implement the ASCIIZ pseudo-op using .ascii and String.toCString.

Revision 1017 - Directory Listing
Modified Wed Jan 16 14:48:16 2002 UTC (17 years, 6 months ago) by george
Original Path: sml/trunk/src/MLRISC
  fixed various bugs with emitting pseudo-ops

Revision 1016 - Directory Listing
Modified Tue Jan 15 23:10:06 2002 UTC (17 years, 6 months ago) by george
Original Path: sml/trunk/src/MLRISC
1. Since COPY instructions are no longer native to the architecture,
   a generic functor can be used to implement the expandCopies function.

2. Allowed EXPORT and IMPORT pseudo-op declarations to appear inside a
   TEXT segment.

Revision 1014 - Directory Listing
Modified Tue Jan 15 16:32:43 2002 UTC (17 years, 6 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added code for BSS and SPACE pseudo-ops.

Revision 1013 - Directory Listing
Modified Tue Jan 15 16:23:15 2002 UTC (17 years, 6 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added copyrights.

Revision 1012 - Directory Listing
Modified Tue Jan 15 16:16:39 2002 UTC (17 years, 6 months ago) by george
Original Path: sml/trunk/src/MLRISC
  added BSS and SPACE as basic pseudo-ops

Revision 1009 - Directory Listing
Modified Wed Jan 9 19:44:22 2002 UTC (17 years, 6 months ago) by george
Original Path: sml/trunk/src/MLRISC
	Removed the native COPY and FCOPY instructions
	from all the architectures and replaced it with the
	explicit COPY instruction from the previous commit.

	It is now possible to simplify many of the optimizations
	modules that manipulate copies. This has not been
	done in this change.

Revision 1005 - Directory Listing
Modified Sat Dec 8 07:24:04 2001 UTC (17 years, 7 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

    Updated peephole modules to match latest MLTREE and instruction
    representation.

Revision 1004 - Directory Listing
Modified Sat Dec 8 00:12:29 2001 UTC (17 years, 7 months ago) by george
Original Path: sml/trunk/src/MLRISC
 committed missing file

Revision 1003 - Directory Listing
Modified Fri Dec 7 02:45:32 2001 UTC (17 years, 7 months ago) by george
Original Path: sml/trunk/src/MLRISC
Changed the representation of instructions from being fully abstract
to being partially concrete. That is to say:

  from
	type instruction

  to
	type instr				(* machine instruction *)

	datatype instruction =
	    LIVE of {regs: C.cellset, spilled: C.cellset}
          | KILL of {regs: C.cellset, spilled: C.cellset}
          | COPYXXX of {k: CB.cellkind, dst: CB.cell list, src: CB.cell list}
          | ANNOTATION of {i: instruction, a: Annotations.annotation}
          | INSTR of instr

This makes the handling of certain special instructions that appear on
all architectures easier and uniform.

LIVE and KILL say that a list of registers are live or killed at the
program point where they appear. No spill code is generated when an
element of the 'regs' field is spilled, but the register is moved to
the 'spilled' (which is present, more for debugging than anything else).

LIVE replaces the (now deprecated) DEFFREG instruction on the alpha.
We used to generate:

	DEFFREG f1
	f1 := f2 + f3
        trapb

but now generate:

	f1 := f2 + f3
	trapb
	LIVE {regs=[f1,f2,f3], spilled=[]}

Furthermore, the DEFFREG (hack) required that all floating point instruction
use all registers mentioned in the instruction. Therefore f1 := f2 + f3,
defines f1 and uses [f1,f2,f3]! This hack is no longer required resulting
in a cleaner alpha implementation. (Hopefully, intel will not get rid of
this architecture).

COPYXXX is intended to replace the parallel COPY and FCOPY  available on
all the architectures. This will result in further simplification of the
register allocator that must be aware of them for coalescing purposes, and
will also simplify certain aspects of the machine description that provides
callbacks related to parallel copies.

ANNOTATION should be obvious, and now INSTR represents the honest to God
machine instruction set!

The <arch>/instructions/<arch>Instr.sml files define certain utility
functions for making porting easier -- essentially converting upper case
to lower case. All machine instructions (of type instr) are in upper case,
and the lower case form generates an MLRISC instruction. For example on
the alpha we have:

  datatype instr =
     LDA of {r:cell, b:cell, d:operand}
   | ...

  val lda : {r:cell, b:cell, d:operand} -> instruction
    ...

where lda is just (INSTR o LDA), etc.

Revision 1000 - Directory Listing
Modified Wed Nov 28 14:50:42 2001 UTC (17 years, 7 months ago) by george
Original Path: sml/trunk/src/MLRISC
Simplified the algorithm used to reach a fixpoint.
This should have been part of 110.37 but I couldn't
get it to work until Allen pointed out the fix.

Revision 999 - Directory Listing
Modified Tue Nov 27 06:28:37 2001 UTC (17 years, 7 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

1. Made the stuff in MLRISC/Tools compile with the new pseudo ops changes.
2. Packaged the stuff in MLRISC/Tools as a library during installation.

Revision 992 - Directory Listing
Modified Thu Nov 22 16:29:06 2001 UTC (17 years, 7 months ago) by george
Original Path: sml/trunk/src/MLRISC
 endian related functions

Revision 991 - Directory Listing
Modified Thu Nov 22 14:25:12 2001 UTC (17 years, 7 months ago) by george
Original Path: sml/trunk/src/MLRISC
  Fixed a bug on non-x86 architectures related to backpatching
  and the new pseudo-ops.

Revision 986 - Directory Listing
Modified Wed Nov 21 21:03:17 2001 UTC (17 years, 7 months ago) by blume
Original Path: sml/trunk/src/MLRISC
Release 110.37 -- see HISTORY

Revision 985 - Directory Listing
Modified Wed Nov 21 19:09:12 2001 UTC (17 years, 7 months ago) by george
Original Path: sml/trunk/src/MLRISC
  Implemented a complete redesign of MLRISC pseudo-ops. Now there
  ought to never be any question of incompatabilities with
  pseudo-op syntax expected by host assemblers.

  For now, only modules supporting GAS syntax are implemented
  but more should follow, such as MASM, and vendor assembler
  syntax, e.g. IBM as, Sun as, etc.

Revision 984 - Directory Listing
Modified Wed Nov 21 19:00:08 2001 UTC (17 years, 7 months ago) by george
Original Path: sml/trunk/src/MLRISC
  Implemented a complete redesign of MLRISC pseudo-ops. Now there
  ought to never be any question of incompatabilities with
  pseudo-op syntax expected by host assemblers.

  For now, only modules supporting GAS syntax are implemented
  but more should follow, such as MASM, and vendor assembler
  syntax, e.g. IBM as, Sun as, etc.

Revision 981 - Directory Listing
Modified Wed Nov 21 18:41:49 2001 UTC (17 years, 7 months ago) by george
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 976 - Directory Listing
Modified Wed Nov 14 14:54:03 2001 UTC (17 years, 8 months ago) by george
Original Path: sml/trunk/src/MLRISC
  Fix for a backpatching bug reported by Allen.

  Because the boundary between short and long span-dependent
  instructions is +/- 128, there are an astounding number of
  span-dependent instructions whose size is over estimated.

  Allen came up with the idea of letting the size of span
  dependent instructions be non-monotonic, for a maxIter
  number of times, after which the size must be monotonically
  increasing.

  This table shows the number of span-dependent instructions
  whose size was over-estimated as a function of maxIter, for the
  file Parse/parse/ml.grm.sml:

     maxIter		# of instructions:
 	10			687
 	20			438
 	30			198
        40			  0

  In compiling the compiler, there is no significant difference in
  compilation speed between maxIter=10 and maxIter=40. Actually,
  my measurements showed that maxIter=40 was a tad faster than
  maxIter=10! Also 96% of the  files in the compiler reach a fix
  point within 13 iterations, so fixing maxIter at 40, while high,
  is okay.

Revision 974 - Directory Listing
Modified Sun Oct 28 03:29:04 2001 UTC (17 years, 8 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

     Fixed parsing of <pat> : <ty> and <exp> : <ty>

Revision 973 - Directory Listing
Modified Sun Oct 28 00:44:05 2001 UTC (17 years, 8 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   Improved pretty printing of sml ast

Revision 972 - Directory Listing
Modified Sun Oct 28 00:37:02 2001 UTC (17 years, 8 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

  Fixed the x86 c call fp bug described in blume-20010920-slowfp

Revision 959 - Directory Listing
Modified Fri Oct 12 21:21:41 2001 UTC (17 years, 9 months ago) by george
Original Path: sml/trunk/src/MLRISC
X86RA now uses a valid (instead of dummy) PrintFlowgraph module.
Changes from Allen.

Revision 958 - Directory Listing
Modified Fri Oct 12 03:54:43 2001 UTC (17 years, 9 months ago) by george
Original Path: sml/trunk/src/MLRISC
The representation of a program point never expected to see more
than 65536 instructions in a basic block!

Revision 951 - Directory Listing
Modified Tue Oct 9 13:54:40 2001 UTC (17 years, 9 months ago) by george
Original Path: sml/trunk/src/MLRISC
Updated input to PERL scripts used to generate
MLRISC cm files.

Revision 950 - Directory Listing
Modified Fri Oct 5 20:10:46 2001 UTC (17 years, 9 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Changed defineLabel to report an error is one tries to define the same
  label twice in the same cluster.

Revision 949 - Directory Listing
Modified Fri Oct 5 01:30:26 2001 UTC (17 years, 9 months ago) by george
Original Path: sml/trunk/src/MLRISC
 fix in assembly output converting mov to set

Revision 942 - Directory Listing
Modified Thu Sep 27 23:40:38 2001 UTC (17 years, 9 months ago) by george
Original Path: sml/trunk/src/MLRISC
 removed ir.cm from RA.cm

Revision 941 - Directory Listing
Modified Thu Sep 27 21:24:02 2001 UTC (17 years, 9 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Commented out mention of ir.cm, which is probably obsolete.

Revision 936 - Directory Listing
Modified Thu Sep 20 19:47:11 2001 UTC (17 years, 10 months ago) by george
Original Path: sml/trunk/src/MLRISC
Updated input to PERL scripts used to generate
MLRISC cm files.

Revision 935 - Directory Listing
Modified Wed Sep 19 20:14:52 2001 UTC (17 years, 10 months ago) by george
Original Path: sml/trunk/src/MLRISC
Installed patch from Allen to track compiler
environment changes that affect MLRISC/Tools.

Revision 934 - Directory Listing
Modified Wed Sep 19 19:49:39 2001 UTC (17 years, 10 months ago) by george
Original Path: sml/trunk/src/MLRISC
  cleanup

Revision 933 - Directory Listing
Modified Wed Sep 19 19:31:19 2001 UTC (17 years, 10 months ago) by george
Original Path: sml/trunk/src/MLRISC
  cleanup

Revision 926 - Directory Listing
Modified Fri Sep 14 15:49:15 2001 UTC (17 years, 10 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Added show_edge to exported values.

Revision 925 - Directory Listing
Modified Fri Sep 14 15:26:29 2001 UTC (17 years, 10 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
Added Allen's x86-fp.sml fix

Revision 924 - Directory Listing
Modified Fri Sep 14 15:13:26 2001 UTC (17 years, 10 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
Added Allen's CFG fixes

Revision 912 - Directory Listing
Modified Fri Aug 24 18:12:36 2001 UTC (17 years, 10 months ago) by george
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 911 - Directory Listing
Modified Fri Aug 24 18:11:00 2001 UTC (17 years, 10 months ago) by george
Original Path: sml/trunk/src/MLRISC
renaming ir to ir-archive

Revision 910 - Directory Listing
Modified Fri Aug 24 18:00:59 2001 UTC (17 years, 10 months ago) by george
Original Path: sml/trunk/src/MLRISC
missing files

Revision 909 - Directory Listing
Modified Fri Aug 24 17:48:53 2001 UTC (17 years, 10 months ago) by george
Original Path: sml/trunk/src/MLRISC
removed clusters from MLRISC

Revision 906 - Directory Listing
Modified Fri Aug 24 17:36:40 2001 UTC (17 years, 10 months ago) by george
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 901 - Directory Listing
Modified Tue Aug 14 19:21:17 2001 UTC (17 years, 11 months ago) by george
Original Path: sml/trunk/src/MLRISC
  Converted sml/nj files to use the new CellSet

Revision 900 - Directory Listing
Modified Tue Aug 14 15:10:12 2001 UTC (17 years, 11 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  Moved CellSets from Cells to CellsBasis.

Revision 899 - Directory Listing
Modified Mon Aug 13 21:14:31 2001 UTC (17 years, 11 months ago) by jhr
Original Path: sml/trunk/src/MLRISC
  More CellsBasis changes for files not used by SML/NJ compiler.

Revision 897 - Directory Listing
Modified Fri Aug 10 17:55:15 2001 UTC (17 years, 11 months ago) by george
Original Path: sml/trunk/src/MLRISC
bug fix in spilling imull instructions

Revision 895 - Directory Listing
Modified Tue Jul 31 14:09:21 2001 UTC (17 years, 11 months ago) by george
Original Path: sml/trunk/src/MLRISC
    There was a bug where call instructions would mysteriously
    vanish. The call instruction had to be one that returned
    a floating point value.

Revision 889 - Directory Listing
Modified Thu Jul 19 20:35:20 2001 UTC (18 years ago) by george
Original Path: sml/trunk/src/MLRISC
Substantial simplification in the CELLS interface

Revision 841 - Directory Listing
Modified Fri Jun 15 21:38:20 2001 UTC (18 years, 1 month ago) by blume
Original Path: sml/trunk/src/MLRISC
small update on the sparc c-calls code

Revision 840 - Directory Listing
Modified Fri Jun 15 19:05:19 2001 UTC (18 years, 1 month ago) by blume
Original Path: sml/trunk/src/MLRISC
c-calls (and NLFFI) implementation for Sparc

Revision 839 - Directory Listing
Modified Thu Jun 7 20:28:44 2001 UTC (18 years, 1 month ago) by blume
Original Path: sml/trunk/src/MLRISC
several internal changes related to C calls

Revision 838 - Directory Listing
Modified Tue Jun 5 19:10:21 2001 UTC (18 years, 1 month ago) by blume
Original Path: sml/trunk/src/MLRISC
index-file generation in CM; small changes to c-calls API

Revision 837 - Directory Listing
Modified Fri Jun 1 17:27:54 2001 UTC (18 years, 1 month ago) by blume
Original Path: sml/trunk/src/MLRISC
some cleanup of NLFFI

Revision 827 - Directory Listing
Modified Thu May 10 14:59:26 2001 UTC (18 years, 2 months ago) by george
Original Path: sml/trunk/src/MLRISC
Fixed bugs related to patterns used to generate the
floating point multiple-add and related instructions.

Revision 823 - Directory Listing
Modified Tue May 8 21:25:15 2001 UTC (18 years, 2 months ago) by george
Original Path: sml/trunk/src/MLRISC
omit frame pointer optimization

Revision 820 - Directory Listing
Modified Tue May 8 21:08:10 2001 UTC (18 years, 2 months ago) by george
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 818 - Directory Listing
Modified Fri May 4 20:58:47 2001 UTC (18 years, 2 months ago) by blume
Original Path: sml/trunk/src/MLRISC
merging changes from devel branch and fixing up some earlier mistakes
(see HISTORY)

Revision 817 - Directory Listing
Modified Fri May 4 20:49:25 2001 UTC (18 years, 2 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

    FLDS encoding was missing...

Revision 815 - Directory Listing
Modified Fri May 4 05:09:10 2001 UTC (18 years, 2 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

    Moby related MLRISC changes

Revision 810 - Directory Listing
Modified Fri Apr 20 13:26:46 2001 UTC (18 years, 3 months ago) by george
Original Path: sml/trunk/src/MLRISC
Port to Mac OS X

Revision 808 - Directory Listing
Modified Wed Apr 18 15:43:09 2001 UTC (18 years, 3 months ago) by blume
Original Path: sml/trunk/src/MLRISC
merged changes from devel branch

Revision 804 - Directory Listing
Modified Thu Mar 22 19:37:34 2001 UTC (18 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
  support for new x86 FFI

Revision 797 - Directory Listing
Modified Fri Mar 16 00:00:17 2001 UTC (18 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   x86 optimizations for x := x op y where x is a memory location.

Revision 796 - Directory Listing
Modified Tue Mar 6 00:04:33 2001 UTC (18 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   Support for alternative control-flow, exception handlers added.

Revision 788 - Directory Listing
Modified Wed Feb 28 04:09:48 2001 UTC (18 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
   Minor fixes to alpha code generator

Revision 783 - Directory Listing
Modified Fri Feb 16 19:43:40 2001 UTC (18 years, 5 months ago) by george
Original Path: sml/trunk/src/MLRISC
new version in mltree

Revision 782 - Directory Listing
Modified Fri Feb 16 19:42:00 2001 UTC (18 years, 5 months ago) by george
Original Path: sml/trunk/src/MLRISC
allow escapes for arrow characters

Revision 779 - Directory Listing
Modified Sun Jan 14 06:40:32 2001 UTC (18 years, 6 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
*** empty log message ***

Revision 777 - Directory Listing
Modified Fri Jan 12 12:17:38 2001 UTC (18 years, 6 months ago) by blume
Original Path: sml/trunk/src/MLRISC
syncing with my private branch

Revision 776 - Directory Listing
Modified Fri Jan 12 04:14:06 2001 UTC (18 years, 6 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   Support for MOV[SZ][BW]L on the x86...

Revision 775 - Directory Listing
Modified Fri Jan 12 01:17:51 2001 UTC (18 years, 6 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

    Merging the types labexp and mltree.
    tag leunga-20010111-labexp=mltree

Revision 774 - Directory Listing
Modified Wed Jan 10 12:50:56 2001 UTC (18 years, 6 months ago) by blume
Original Path: sml/trunk/src/MLRISC
merging changes from private branch

Revision 773 - Directory Listing
Modified Mon Jan 8 16:18:37 2001 UTC (18 years, 6 months ago) by blume
Original Path: sml/trunk/src/MLRISC
merging changes from private branch

Revision 771 - Directory Listing
Modified Sat Dec 30 13:06:09 2000 UTC (18 years, 6 months ago) by blume
Original Path: sml/trunk/src/MLRISC
merging changes from private branch

Revision 761 - Directory Listing
Modified Sat Dec 23 05:37:37 2000 UTC (18 years, 6 months ago) by george
Original Path: sml/trunk/src/MLRISC
infinite precision in MLRISC

Revision 752 - Directory Listing
Modified Fri Dec 8 23:32:37 2000 UTC (18 years, 7 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

    Slight improvements to a code generator tool.

Revision 748 - Directory Listing
Modified Fri Dec 8 04:24:28 2000 UTC (18 years, 7 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
    A slight problem fixed.

Revision 747 - Directory Listing
Modified Fri Dec 8 04:20:24 2000 UTC (18 years, 7 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   Clean up

Revision 746 - Directory Listing
Modified Fri Dec 8 04:16:09 2000 UTC (18 years, 7 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   New machine descriptions...

Revision 745 - Directory Listing
Modified Fri Dec 8 04:14:08 2000 UTC (18 years, 7 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

    Forgot these...

Revision 744 - Directory Listing
Modified Fri Dec 8 04:11:42 2000 UTC (18 years, 7 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   A CVS update record!

   Changed type cell from int to datatype, and numerous other changes.
   Affect every client of MLRISC.  Lal says this can be bootstrapped on all
   machines.  See smlnj/HISTORY for details.

   Tag:  leunga-20001207-cell-monster-hack

Revision 733 - Directory Listing
Modified Fri Nov 17 05:13:45 2000 UTC (18 years, 8 months ago) by blume
Original Path: sml/trunk/src/MLRISC
merged the big housecleaning patch (see HISTORY!)

Revision 732 - Directory Listing
Modified Mon Nov 13 21:59:12 2000 UTC (18 years, 8 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
Address change.

Revision 731 - Directory Listing
Modified Fri Nov 10 22:57:45 2000 UTC (18 years, 8 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

A new x86 floating point code generator.  By default it is off.
See HISTORY for details.   CVS tag=leunga-20001110-new-x86-fp

Revision 717 - Directory Listing
Modified Sun Nov 5 15:07:51 2000 UTC (18 years, 8 months ago) by george
Original Path: sml/trunk/src/MLRISC
support for sqrt and trig functions on the x86

Revision 714 - Directory Listing
Modified Mon Oct 23 23:39:43 2000 UTC (18 years, 8 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

Missed these...
Tag: leunga-20001023-demo-ra

Revision 713 - Directory Listing
Modified Mon Oct 23 23:38:38 2000 UTC (18 years, 8 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

Minor changes to RA.  Added MLRISC demo files.
Tag: leunga-20001023-demo-ra

Revision 705 - Directory Listing
Modified Wed Sep 27 18:44:44 2000 UTC (18 years, 9 months ago) by george
Original Path: sml/trunk/src/MLRISC
  changed the node status datatype

Revision 695 - Directory Listing
Modified Mon Aug 7 23:57:38 2000 UTC (18 years, 11 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   Stuff related to scheduling, SSA, x86, C-- and Moby.
   Tag: leunga-20000807-a-whole-bunch-of-stuff

Revision 683 - Directory Listing
Modified Wed Jul 5 00:42:19 2000 UTC (19 years ago) by leunga
Original Path: sml/trunk/src/MLRISC

   Bug fixes for sparc and x86.  Affects c-- and moby.

Revision 666 - Directory Listing
Modified Fri Jun 16 08:27:00 2000 UTC (19 years, 1 month ago) by blume
Original Path: sml/trunk/src/MLRISC
merging back my devel changes (anchor environments)

Revision 660 - Directory Listing
Modified Thu Jun 15 04:40:56 2000 UTC (19 years, 1 month ago) by leunga
Original Path: sml/trunk/src/MLRISC

   x86 peephole fix by Fermin.  Affects c-- and moby only.
   cvs tag: leunga-20000615-x86-peephole

Revision 657 - Directory Listing
Modified Fri Jun 9 05:20:54 2000 UTC (19 years, 1 month ago) by leunga
Original Path: sml/trunk/src/MLRISC

     None of these changes should affect SML/NJ.  See HISTORY file for details.
     CVS Tag=leunga-20000609-various

Revision 651 - Directory Listing
Modified Thu Jun 1 18:34:03 2000 UTC (19 years, 1 month ago) by monnier
Original Path: sml/trunk/src/MLRISC
bring revisions from the vendor branch to the trunk

Revision 648 - Directory Listing
Modified Thu May 25 21:28:21 2000 UTC (19 years, 1 month ago) by leunga
Original Path: sml/trunk/src/MLRISC

   Fixed a non-critical bug in the register allocator

Revision 646 - Directory Listing
Modified Tue May 16 02:52:54 2000 UTC (19 years, 2 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

  Slight cleanup on the Alpha.
  Added a bunch of instructions to the x86 instruction set.
  The module ra-rewrite-with-renaming has been improved.
  These should have no effect on SML/NJ.
  CVS tag=leunga-20000515-alpha-x86-ra

Revision 643 - Directory Listing
Modified Fri May 12 08:29:15 2000 UTC (19 years, 2 months ago) by blume
Original Path: sml/trunk/src/MLRISC
merged my path anchor changes into main trunk
more config/srcarchiveurl! YOU NEED NEW BINFILES more config/srcarchiveurl!
Read HISTORY and src/system/README!

Revision 641 - Directory Listing
Modified Thu May 11 01:16:45 2000 UTC (19 years, 2 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

    Various bug fixes and new features for C--, Moby and MLRISC optimizations.
    See smlnj/HISTORY for details.  CVS tag: leunga-20000510-moby-c--ssa

Revision 640 - Directory Listing
Modified Tue May 9 02:33:09 2000 UTC (19 years, 2 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

  Fermin has found a few assembly problems with constant expressions
  generated in LabelExp.  Mostly, the problems involve extra parentheses,
  which choke on dumb assemblers.  This is his fix.

Revision 628 - Directory Listing
Modified Tue Apr 25 21:03:34 2000 UTC (19 years, 2 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

1. Alpha

   PSEUDOARITH was missing in AlphaRewrite.  This causes an endless loop
   in C--.

2. RA

   Added a flag "ra-dump-size" to print out the size of the flowgraph
   and the interference graph.

Revision 624 - Directory Listing
Modified Fri Apr 21 03:06:21 2000 UTC (19 years, 3 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   This update synchronizes my repository with Yale's.  Most of these
changes are related to C--, Moby, and my optimizations.  It should have
little impact on SML/NJ.

   CVS tag leunga-20000420-ssa-c---stuff

Revision 609 - Directory Listing
Modified Mon Apr 10 18:57:31 2000 UTC (19 years, 3 months ago) by george
Original Path: sml/trunk/src/MLRISC
*** empty log message ***

Revision 608 - Directory Listing
Modified Mon Apr 10 18:57:09 2000 UTC (19 years, 3 months ago) by george
Original Path: sml/trunk/src/MLRISC
MLRISC.cm

Revision 606 - Directory Listing
Modified Sun Apr 9 23:10:59 2000 UTC (19 years, 3 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   Assembly fix for x86 and other miscellaneous changes to MLRISC

Revision 603 - Directory Listing
Modified Thu Apr 6 19:59:57 2000 UTC (19 years, 3 months ago) by leunga
Original Path: sml/trunk/src/MLRISC
*** empty log message ***

Revision 601 - Directory Listing
Modified Thu Apr 6 04:38:14 2000 UTC (19 years, 3 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

    New peephole code, improvements to x86 instruction selection, and
    fixes for SSA and the machine description tool.

    CVS tag=leunga-20000406-peephole-x86-SSA

Revision 600 - Directory Listing
Modified Wed Apr 5 20:13:47 2000 UTC (19 years, 3 months ago) by george
Original Path: sml/trunk/src/MLRISC
  x86 instructions to support c-calls

Revision 594 - Directory Listing
Modified Tue Apr 4 23:41:47 2000 UTC (19 years, 3 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

      Changes to assembly output and fixes a bug in the x86 assembler
      CVS tag=leunga-20000404-x86-asm

Revision 593 - Directory Listing
Modified Tue Apr 4 07:26:33 2000 UTC (19 years, 3 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

    Fixes related to C--, Moby and my optimizations.
    CVS tag=leunga-20000404-C--Moby

Revision 591 - Directory Listing
Modified Mon Apr 3 01:19:20 2000 UTC (19 years, 3 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   1. Renamed the constructor CALL in MLTREE by popular demand.
   2. Added a bunch of files from my repository.  These are currently
      used by other non-SMLNJ backends.

Revision 590 - Directory Listing
Modified Sat Apr 1 02:24:08 2000 UTC (19 years, 3 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   This update contains a new module for extracting aliasing information.
   CVS tag: leunga-20000331-aliasing

Revision 586 - Directory Listing
Modified Thu Mar 30 05:08:07 2000 UTC (19 years, 3 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   Fixed a slight problem with gc types annotations.

   To turn on gc types, do this:

       CM.autoload "sml/compiler.cm";
       Compiler.Control.MLRISC.getFlag "mlrisc-gc-types" := true;

Revision 585 - Directory Listing
Modified Wed Mar 29 23:55:35 2000 UTC (19 years, 3 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

   This update contains major changes to the code generator and various
back ends.  Please see the entry leunga-20000327-mlriscGen_hppa_alpha_x86
in the file sml/HISTORY for details.

Revision 583 - Directory Listing
Modified Thu Mar 23 21:52:30 2000 UTC (19 years, 3 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

1. X86 fixes/changes

   a.  The old code generated for SETcc was completely wrong.
       The Intel optimization guide is VERY misleading.

2. ALPHA fixes/changes

   a.  Added the instructions LDBU, LDWU, STB, STW as per Fermin's suggestion.
   b.  Added a new mode byteWordLoadStores to the functor parameter to Alpha()
   c.  Added reassociation code for address computation.

Revision 579 - Directory Listing
Modified Wed Mar 22 06:33:08 2000 UTC (19 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC


1. X86 fixes/changes

   a.  x86Rewrite bug with MUL3 (found by Lal)
   b.  Added the instructions FSTS, FSTL

2. PA-RISC fixes/changes

   a.  B label should not be a delay slot candidate!  Why did this work?
   b.  ADDT(32, REG(32, r), LI n) now generates one instruction instead of two,
       as it should be.
   c.  The assembly syntax for fstds and fstdd was wrong.
   d.  Added the composite instruction COMICLR/LDO, which is the immediate
       operand variant of COMCLR/LDO.

3. Generic MLRISC

   a.  shuffle.sml rewritten to be slightly more efficient
   b.  DIV bug in mltree-simplify fixed (found by Fermin)

4. Register Allocator

   a.  I now release the interference graph earlier during spilling.
       May improve memory usage.

Revision 576 - Directory Listing
Modified Fri Mar 10 07:27:16 2000 UTC (19 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

More assembly output problems involving the indexed addressing mode
on the x86 have been found and corrected. Thanks to Fermin Reig for the
fix.

The interface and implementation of the register allocator have been changed
slightly to accommodate the possibility to skip the register allocation
phases completely and go directly to memory allocation.  This is needed
for C-- use.

This fix only affects the x86 assembly output.

Revision 573 - Directory Listing
Modified Thu Mar 9 15:23:52 2000 UTC (19 years, 4 months ago) by blume
Original Path: sml/trunk/src/MLRISC
merging back changes from blume_devel_v110_26_2

Revision 567 - Directory Listing
Modified Mon Mar 6 22:17:41 2000 UTC (19 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

Updated documentation on MLTree Extensions provided by Lal.

Revision 565 - Directory Listing
Modified Sun Mar 5 04:10:18 2000 UTC (19 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

Fix up a few floating point bugs on the x86 that are discovered by Fermin.
Rewritten the Sethi-Ullman code.  Added new FP instructions to the x86,
including FIxxxx, FCOMxx, and FLDxx.

Revision 562 - Directory Listing
Modified Fri Mar 3 16:22:42 2000 UTC (19 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
lal-20000303-support for C calls

Revision 559 - Directory Listing
Modified Fri Mar 3 16:22:08 2000 UTC (19 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 556 - Directory Listing
Modified Fri Mar 3 16:13:54 2000 UTC (19 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 555 - Directory Listing
Modified Fri Mar 3 16:10:30 2000 UTC (19 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
lal-20000303-new mltree -- take II

Revision 554 - Directory Listing
Modified Thu Mar 2 21:29:44 2000 UTC (19 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
lal-20000302-missing file

Revision 547 - Directory Listing
Modified Fri Feb 25 23:54:34 2000 UTC (19 years, 4 months ago) by leunga
Original Path: sml/trunk/src/MLRISC

New documentation files for MLRISC.  This version includes MLTREE extensions.

Revision 546 - Directory Listing
Modified Thu Feb 24 14:04:51 2000 UTC (19 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
  Changes to MLTREE

Revision 545 - Directory Listing
Modified Thu Feb 24 13:56:44 2000 UTC (19 years, 4 months ago) by george
Original Path: sml/trunk/src/MLRISC
  Changes to MLTREE

Revision 501 - Directory Listing
Modified Tue Dec 7 15:59:36 1999 UTC (19 years, 7 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r500,
which included commits to RCS files with non-trunk default branches.

Revision 499 - Directory Listing
Modified Tue Dec 7 15:44:50 1999 UTC (19 years, 7 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r498,
which included commits to RCS files with non-trunk default branches.

Revision 496 - Directory Listing
Modified Tue Dec 7 15:43:07 1999 UTC (19 years, 7 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 476 - Directory Listing
Modified Wed Nov 10 22:59:58 1999 UTC (19 years, 8 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r475,
which included commits to RCS files with non-trunk default branches.

Revision 473 - Directory Listing
Modified Wed Nov 10 22:54:26 1999 UTC (19 years, 8 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 470 - Directory Listing
Modified Wed Nov 10 22:42:52 1999 UTC (19 years, 8 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r469,
which included commits to RCS files with non-trunk default branches.

Revision 467 - Directory Listing
Modified Wed Nov 10 22:40:46 1999 UTC (19 years, 8 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 440 - Directory Listing
Modified Wed Sep 15 16:37:27 1999 UTC (19 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r439,
which included commits to RCS files with non-trunk default branches.

Revision 430 - Directory Listing
Modified Wed Sep 8 09:47:00 1999 UTC (19 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r429,
which included commits to RCS files with non-trunk default branches.

Revision 427 - Directory Listing
Modified Wed Sep 8 09:40:08 1999 UTC (19 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 421 - Directory Listing
Modified Sat Sep 4 00:01:22 1999 UTC (19 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r420,
which included commits to RCS files with non-trunk default branches.

Revision 419 - Directory Listing
Modified Fri Sep 3 23:51:27 1999 UTC (19 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r418,
which included commits to RCS files with non-trunk default branches.

Revision 414 - Directory Listing
Modified Fri Sep 3 00:30:34 1999 UTC (19 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r413,
which included commits to RCS files with non-trunk default branches.

Revision 412 - Directory Listing
Modified Fri Sep 3 00:25:03 1999 UTC (19 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r411,
which included commits to RCS files with non-trunk default branches.

Revision 409 - Directory Listing
Modified Fri Sep 3 00:21:52 1999 UTC (19 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 290 - Directory Listing
Modified Sat May 22 21:01:25 1999 UTC (20 years, 2 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r289,
which included commits to RCS files with non-trunk default branches.

Revision 251 - Directory Listing
Modified Mon Apr 19 02:55:26 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
First try at a merge of 110.16

Revision 248 - Directory Listing
Modified Sat Apr 17 18:47:13 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r247,
which included commits to RCS files with non-trunk default branches.

Revision 246 - Directory Listing
Modified Sat Apr 17 18:47:12 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r245,
which included commits to RCS files with non-trunk default branches.

Revision 244 - Directory Listing
Modified Sat Apr 17 18:41:51 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r243,
which included commits to RCS files with non-trunk default branches.

Revision 241 - Directory Listing
Modified Sat Apr 17 18:35:00 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 240 - Directory Listing
Modified Sat Apr 17 18:29:24 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r239,
which included commits to RCS files with non-trunk default branches.

Revision 237 - Directory Listing
Modified Sat Apr 17 18:26:03 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 236 - Directory Listing
Modified Sat Apr 17 18:21:47 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r235,
which included commits to RCS files with non-trunk default branches.

Revision 233 - Directory Listing
Modified Sat Apr 17 18:18:11 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 232 - Directory Listing
Modified Sat Apr 17 18:14:18 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r231,
which included commits to RCS files with non-trunk default branches.

Revision 228 - Directory Listing
Modified Sat Apr 17 17:15:03 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r227,
which included commits to RCS files with non-trunk default branches.

Revision 225 - Directory Listing
Modified Sat Apr 17 17:09:01 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 224 - Directory Listing
Modified Sat Apr 17 16:27:01 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r223,
which included commits to RCS files with non-trunk default branches.

Revision 221 - Directory Listing
Modified Sat Apr 17 16:19:57 1999 UTC (20 years, 3 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 171 - Directory Listing
Modified Sat Nov 7 22:24:50 1998 UTC (20 years, 8 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 168 - Directory Listing
Modified Sat Nov 7 20:11:41 1998 UTC (20 years, 8 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r167,
which included commits to RCS files with non-trunk default branches.

Revision 145 - Directory Listing
Modified Mon Sep 7 23:12:37 1998 UTC (20 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
merged in changes upto 110.8.1

Revision 144 - Directory Listing
Modified Mon Sep 7 21:46:44 1998 UTC (20 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r143,
which included commits to RCS files with non-trunk default branches.

Revision 140 - Directory Listing
Modified Mon Sep 7 21:11:35 1998 UTC (20 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r139,
which included commits to RCS files with non-trunk default branches.

Revision 133 - Directory Listing
Modified Mon Sep 7 19:48:36 1998 UTC (20 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r132,
which included commits to RCS files with non-trunk default branches.

Revision 129 - Directory Listing
Modified Mon Sep 7 19:39:21 1998 UTC (20 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 128 - Directory Listing
Modified Mon Sep 7 19:06:29 1998 UTC (20 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r127,
which included commits to RCS files with non-trunk default branches.

Revision 124 - Directory Listing
Modified Mon Sep 7 16:19:55 1998 UTC (20 years, 10 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r123,
which included commits to RCS files with non-trunk default branches.

Revision 114 - Directory Listing
Modified Fri Jun 5 19:41:21 1998 UTC (21 years, 1 month ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r113,
which included commits to RCS files with non-trunk default branches.

Revision 107 - Directory Listing
Modified Thu May 28 21:30:17 1998 UTC (21 years, 1 month ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r106,
which included commits to RCS files with non-trunk default branches.

Revision 104 - Directory Listing
Modified Thu May 28 21:25:35 1998 UTC (21 years, 1 month ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Revision 94 - Directory Listing
Modified Tue May 12 21:56:22 1998 UTC (21 years, 2 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r93,
which included commits to RCS files with non-trunk default branches.

Revision 46 - Directory Listing
Modified Sun Mar 22 20:11:09 1998 UTC (21 years, 4 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
This commit was generated by cvs2svn to compensate for changes in r45,
which included commits to RCS files with non-trunk default branches.

Revision 16 - Directory Listing
Added Wed Mar 11 21:00:04 1998 UTC (21 years, 4 months ago) by monnier
Original Path: sml/trunk/src/MLRISC
Initial revision

Sort log by:

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0