Quick Search:

View detailed chart Line History

line history graph

View Mode

Logical Physical

Show Arbitrary Diff

From to

Supports revisions and tags.

Watches and RSS

History

MAIN 1.244 1.216 1.1 r-1-0-0 1.216.2.1

latest revision download Branch MAIN

1.244 annotated / raw | Diffs: previous, other | Lines: 3107 ( +5, -4 )

Created: 2014-08-17 17:41:34 +0200 (15 days ago) | Author: ragge | Changeset: MAIN:ragge:20140817154134

Do not spill left side if node is an ASSIGN.
Handle TEMP nodes as REG when finding out whether something is addressable.
FIxes Jira#PCC-465 by Volkmar Klatt.

1.243 annotated / raw | Diffs: previous, other | Lines: 3106 ( +9, -1 )

Created: 2014-08-16 17:09:36 +0200 (16 days ago) | Author: ragge | Changeset: MAIN:ragge:20140816150936

NEVER constraints must also apply to needs in instruction definitions.
Fixes Jira#PCC-472 by Volkmar Klatt.

1.242 annotated / raw | Diffs: previous, other | Lines: 3098 ( +9, -4 )

Created: 2014-08-06 22:34:06 +0200 (26 days ago) | Author: ragge | Changeset: MAIN:ragge:20140806203406

Check if the requested reg to spill is a permanent register, otherwise
nothing will be spilled.  Fixes Jira#PCC-463 by Volkmar Klatt.

1.241 annotated / raw | Diffs: previous, other | Lines: 3093 ( +148, -97 )

Created: 2014-08-02 10:41:57 +0200 (30 days ago) | Author: ragge | Changeset: MAIN:ragge:20140802084157

Rewrite the in-tree spill code significantly to fix coloring problems
on targets with (very) few register.  This should benefit from an
improved SU computation code.
Fixes Jira#PCC-457 by Volkmar Klatt.

1.240 annotated / raw | Diffs: previous, other | Lines: 3042 ( +28, -4 )

Created: 2014-07-25 18:20:54 +0200 (38 days ago) | Author: ragge | Changeset: MAIN:ragge:20140725162054

If we end up with a parent rewrite, check if it is also subject to store.

1.239 annotated / raw | Diffs: previous, other | Lines: 3018 ( +38, -3 )

Created: 2014-07-03 17:58:28 +0200 (1 month 29 days ago) | Author: ragge | Changeset: MAIN:ragge:20140703155828

Fix two corner-cases in the register allocator that only reveales itself
during special circumstances when we are very low in registers:
- Handle the eventual extra move from long-range register in su computations.
- For some instructions a leg may be asked to be stored, but it must be
 in a register, so store the parent itself.
Fixes Jira#PCC-452 by Volkmar Klatt and Jira#PCC-449 by Iain Hibbert.

1.238 annotated / raw | Diffs: previous, other | Lines: 2983 ( +34, -5 )

Created: 2014-06-07 16:02:04 +0200 (2 months 25 days ago) | Author: ragge | Changeset: MAIN:ragge:20140607140204

Always walk down left if su numbers are the same, due to tree building.
Fixes Jira#PCC-439 by Iain Hibbert and Jira#PCC-445 by Volkmar Klatt.

1.237 annotated / raw | Diffs: previous, other | Lines: 2954 ( +13, -20 )

Created: 2014-06-01 13:33:52 +0200 (3 months ago) | Author: ragge | Changeset: MAIN:ragge:20140601113352

cleanup freetemp().  Add functions storenode/storemod to get temporary
storage, default on stack but can be overridden by MD code.
Allow for targets to provide their own INTEMP code.  Remove BITOOR.

1.236 annotated / raw | Diffs: previous, other | Lines: 2961 ( +13, -6 )

Created: 2014-05-31 17:10:52 +0200 (3 months 1 day ago) | Author: ragge | Changeset: MAIN:ragge:20140531151052

Remove over-optimistic check for tree rewriting, which caused some trees
never to be rewritten.  Fixes Jira#PCC-437 by Volkmar Klatt.
Ensure that number of adjacent nodes cannot get negative, and set
this number to 0 before tree rescanning.  Avoids COLORMAP problems.

1.235 annotated / raw | Diffs: previous, other | Lines: 2954 ( +2, -2 )

Created: 2014-05-29 21:20:03 +0200 (3 months 3 days ago) | Author: plunky | Changeset: MAIN:plunky:20140529192002

mkpstr() should not use esc2char(), since stradd() already did it.

while here, audit and tidy all of IP_ASM and ip_asm operations. The
rule is that an asm("") statement will insert a tab at the beginning,
and a newline at the end, but all other (internal) uses of IP_ASM need
to have them already in the string. This is because there are some cases
where an ip_asm string is created, which provides a label.

1.234 annotated / raw | Diffs: previous, other | Lines: 2954 ( +3, -8 )

Created: 2014-05-03 11:57:57 +0200 (3 months 29 days ago) | Author: ragge | Changeset: MAIN:ragge:20140503095757

Allow pcc to be compiled without PCC_DEBUG being defined.
Solves Jira#PCC-8 by Gregory McGarry.

1.233 annotated / raw | Diffs: previous, other | Lines: 2959 ( +2, -2 )

Created: 2012-10-20 20:59:13 +0200 (22 months ago) | Author: plunky | Changeset: MAIN:plunky:20121020185913

appease lint; define local var at start of block

1.232 annotated / raw | Diffs: previous, other | Lines: 2959 ( +9, -9 )

Created: 2012-09-26 21:56:12 +0200 (23 months ago) | Author: plunky | Changeset: MAIN:plunky:20120926195612

debug output using fprintf(stdout) can be printf() since it
is interspersed with that anyway

1.231 annotated / raw | Diffs: previous, other | Lines: 2959 ( +1, -5 )

Created: 2012-09-05 17:57:27 +0200 (23 months ago) | Author: ragge | Changeset: MAIN:ragge:20120905155727

Enable the DCE prepend code. Fixes Jira#PCC-408 by Iain Hibbert.

1.230 annotated / raw | Diffs: previous, other | Lines: 2963 ( +23, -4 )

Created: 2012-09-04 18:49:33 +0200 (23 months ago) | Author: ragge | Changeset: MAIN:ragge:20120904164933

Clear the su field before assigning instructions.
Fixes Jira#PCC-407 by Iain Hibbert.

1.229 annotated / raw | Diffs: previous, other | Lines: 2944 ( +6, -6 )

Created: 2012-08-17 22:59:58 +0200 (2 years ago) | Author: ragge | Changeset: MAIN:ragge:20120817205958

Change the pointers of cfg children from an array of 2 to a linked list.
This will allow for the use of case arrays and computed goto while still
be able to do correct flow analysis.

1.228 annotated / raw | Diffs: previous, other | Lines: 2944 ( +26, -29 )

Created: 2012-03-22 19:51:41 +0100 (2 years 5 months ago) | Author: plunky | Changeset: MAIN:plunky:20120322185140


tidy up debugging options a bit:

- sort options in main()
- pass1 options are ?debug, declared in pass1.h
- pass2 options are ?2debug, declared in pass2.h
- variables defined in main.c

1.227 annotated / raw | Diffs: previous, other | Lines: 2947 ( +17, -13 )

Created: 2011-08-18 19:45:22 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110818174522

Need to allocate a new block for temporaries if iterating and doing
ssa optimization.  Bug reported by Roman Divacky on pcc-list.

1.226 annotated / raw | Diffs: previous, other | Lines: 2943 ( +2, -1 )

Created: 2011-08-09 20:06:39 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110809180639

An indirect reference via a register for output makes the register an
input operand.  Fixes bug reported by Mickey in private mail.

1.225 annotated / raw | Diffs: previous, other | Lines: 2942 ( +21, -2 )

Created: 2011-07-28 10:54:17 +0200 (3 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20110728085417

Handle the xasm "earlyclobber" & operand in liveness analysis. This may
have caused bugs difficult to find.

1.224 annotated / raw | Diffs: previous, other | Lines: 2923 ( +6, -4 )

Created: 2011-07-13 14:11:07 +0200 (3 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20110713121107

One more place where it was assumed that the offset reg always was FPREG.

1.223 annotated / raw | Diffs: previous, other | Lines: 2921 ( +5, -3 )

Created: 2011-06-05 20:54:15 +0200 (3 years 2 months ago) | Author: plunky | Changeset: MAIN:plunky:20110605185415

move loop variable inside block, to suppress unused warning

(while here, change PRTRG macro to use its argument)

1.222 annotated / raw | Diffs: previous, other | Lines: 2919 ( +9, -2 )

Created: 2011-05-04 20:02:32 +0200 (3 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20110504180232

Get back allo() and make NTEMP work again.

1.221 annotated / raw | Diffs: previous, other | Lines: 2912 ( +58, -10 )

Created: 2011-05-02 17:03:40 +0200 (3 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20110502150340

Fix two bugs:
- If left node of an ASSIGN is REG or TEMP, let the ASSIGN node regw be
 the same.  This is to avoid illegal moves if the moves are frozen.
- The hint for recommended register did always recommend the lowest reg.
This should fix Jira#PCC-338 by Iain Hibbert.

1.220 annotated / raw | Diffs: previous, other | Lines: 2864 ( +9, -7 )

Created: 2011-04-29 18:22:41 +0200 (3 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20110429162241

If a specific register is required in left leg disallow it in the right,
and vice versa.  Fixes Jira#PCC-289 by Iain Hibbert.

1.219 annotated / raw | Diffs: previous, other | Lines: 2862 ( +10, -24 )

Created: 2011-04-27 21:40:45 +0200 (3 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20110427194045

Err, adjSet() was used for more interference control.  Only ignore the check
when calling adjSetadd(), this way we can fix the original problem.
Reported by multiple people on pcc-list, private mail etc.

1.218 annotated / raw | Diffs: previous, other | Lines: 2876 ( +9, -2 )

Created: 2011-04-26 17:23:08 +0200 (3 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20110426152308

Disable the search for overlapping registers in edges to find adjacent nodes,
it may fail if a non-aliases register is assigned later.
This is the first bug in many years discovered in the register allocator :-)
Fixes Jira#PCC-328 by Iain Hibbert.

1.217 annotated / raw | Diffs: previous, other | Lines: 2869 ( +10, -2 )

Created: 2011-02-22 19:29:23 +0100 (3 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20110222182923

Do not spill registers needed to keep track of memory references in XASM
nodes.  Fixes Jira#PCC-249 by Gregory McGarry.

1.216 annotated / raw | Diffs: previous, other | Lines: 2861 ( +8, -3 )

Created: 2011-02-04 16:08:58 +0100 (3 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20110204150858

Edges must be set for both in and out of a xasm temporary.
Make 'q' constraint work if given a constant as argument instead of a register.
Fixes Jira#PCC-227 by Jonathan Gray.

Branch point for: r-1-0-0

Tags: r-1-0-0$BP

1.215 annotated / raw | Diffs: previous, other | Lines: 2856 ( +8, -3 )

Created: 2010-11-24 18:34:42 +0100 (3 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20101124173442

Avoid segfault in debug printout if something is out of bounds.

1.214 annotated / raw | Diffs: previous, other | Lines: 2851 ( +5, -2 )

Created: 2010-11-07 21:20:18 +0100 (3 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20101107202018

Allow the target to do something in setxarg().

1.213 annotated / raw | Diffs: previous, other | Lines: 2848 ( +4, -1 )

Created: 2010-11-05 16:52:52 +0100 (3 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20101105155252

Just ignore initial statements that are not recognized as reg-mem moves.

1.212 annotated / raw | Diffs: previous, other | Lines: 2845 ( +6, -6 )

Created: 2010-06-04 09:18:46 +0200 (4 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20100604071846

Use an array of 2 pointers for CFG childs instead of a linked list.
There can be at most two childrens.

1.211 annotated / raw | Diffs: previous, other | Lines: 2845 ( +12, -5 )

Created: 2010-05-27 22:05:11 +0200 (4 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20100527200511

Do not base hash functions on memory addresses.  These addresses may change
between different compilations and we want predictability.
Also check if an address of a node is lower than expected to avoid
short-range temporaries in the Freeze() code.

1.210 annotated / raw | Diffs: previous, other | Lines: 2838 ( +26, -11 )

Created: 2010-05-14 17:13:03 +0200 (4 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20100514151303

Teach dce() to remove ip structs without destroying the basic block structure.

1.209 annotated / raw | Diffs: previous, other | Lines: 2823 ( +79, -10 )

Created: 2010-05-14 13:44:23 +0200 (4 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20100514114423

Help coloring algorithm by at the time of assigning registers see if there
are any frozen moves to nodes that have already got their color and we
can give this node the same register.  This will avoid unneccessary moves.

1.208 annotated / raw | Diffs: previous, other | Lines: 2754 ( +14, -3 )

Created: 2010-05-11 08:51:26 +0200 (4 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20100511065126

Do not put a move on the move list more than once.
Count precolored nodes as infinite K, not 0, otherwise it may make
colorable graphs uncolorable when there are many moves.

1.207 annotated / raw | Diffs: previous, other | Lines: 2743 ( +26, -16 )

Created: 2009-09-13 15:32:54 +0200 (4 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20090913133254

Change static array to allocated linked list for temporaries not allowed
to be spilled.  libssl seems to make a heavy use of extended assembler.
Bug reported by Jonathan Gray.

1.206 annotated / raw | Diffs: previous, other | Lines: 2733 ( +2, -2 )

Created: 2009-08-13 10:01:28 +0200 (5 years ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20090813080125

Add -Wtruncate option which detects truncation of types during assignment.
Let pcc compile with this option enabled.

Inspired by similar warning in the Microsoft compiler.

1.205 annotated / raw | Diffs: previous, other | Lines: 2733 ( +4, -3 )

Created: 2009-08-09 21:42:48 +0200 (5 years ago) | Author: ragge | Changeset: MAIN:ragge:20090809194248

Must insert edges for arguments in registers in xasm.  Fixes Jira#PCC-73
by Jonathan Gray.

1.204 annotated / raw | Diffs: previous, other | Lines: 2732 ( +8, -3 )

Created: 2009-08-09 19:42:04 +0200 (5 years ago) | Author: ragge | Changeset: MAIN:ragge:20090809174204

Must traverse down expressions in xasm arguments so that we catch all
referenced registers.  Fixes Jira#PCC-72 by Jonathan Gray.

1.203 annotated / raw | Diffs: previous, other | Lines: 2727 ( +11, -11 )

Created: 2009-05-30 10:48:21 +0200 (5 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20090530084821

Doh!  Never checked the upper 32 bits if the lower were all zero.

1.202 annotated / raw | Diffs: previous, other | Lines: 2727 ( +13, -1 )

Created: 2009-05-27 21:11:49 +0200 (5 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20090527191149

Fix yet another LP64 bug.  This may never have worked on 64-bit platforms.
XXX - ugly and should be fixed.

1.201 annotated / raw | Diffs: previous, other | Lines: 2715 ( +3, -1 )

Created: 2009-05-16 09:53:15 +0200 (5 years 3 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20090516075315

sprinkle HAVE_C99_FORMAT

1.200 annotated / raw | Diffs: previous, other | Lines: 2713 ( +18, -12 )

Created: 2009-03-14 23:18:37 +0100 (5 years 5 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20090314221837

Rename RDX(x) with RDEBUGX(x), since RDX is also the name of a register
in the amd64 target.  Remove C++-style comments.

1.199 annotated / raw | Diffs: previous, other | Lines: 2707 ( +15, -18 )

Created: 2009-01-07 12:21:30 +0100 (5 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20090107112130

Remove the use of (non-standard) alloca(),  Fixes bug #PCC-16.
When doing this a bug were found in the casm flow analysis code causing
wrong temporary (in best case) to be set live.

1.198 annotated / raw | Diffs: previous, other | Lines: 2710 ( +8, -3 )

Created: 2008-12-14 19:26:02 +0100 (5 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20081214182602

Let target provide extra register names for xasm constrants beside the
names used in rnames[].

1.197 annotated / raw | Diffs: previous, other | Lines: 2705 ( +3, -2 )

Created: 2008-12-03 08:08:40 +0100 (5 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20081203070840

When searching for arguments, traverse forward until the first DEFLAB
is found instead of just assuming that a DEFLAB is following PROLOG.

1.196 annotated / raw | Diffs: previous, other | Lines: 2704 ( +4, -2 )

Created: 2008-11-30 12:41:47 +0100 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081130114147

Summarize number of edges in debug printout.

1.195 annotated / raw | Diffs: previous, other | Lines: 2702 ( +7, -54 )

Created: 2008-11-27 20:34:30 +0100 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081127193430

Increase hash table for adjacent edges to 16k instead of 256.
Remove old Conservative sanity check code, we consider new code stable now.
This made register allocator 10 times faster.

1.194 annotated / raw | Diffs: previous, other | Lines: 2749 ( +11, -4 )

Created: 2008-11-25 08:27:07 +0100 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081125072707

Recalculate instructions and sucomp after a statement tree has been altered.

1.193 annotated / raw | Diffs: previous, other | Lines: 2742 ( +9, -9 )

Created: 2008-11-16 14:30:16 +0100 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081116133016

Add an extra argument to walkf() so that we can avoid using static vars
in a bunch of places.

1.192 annotated / raw | Diffs: previous, other | Lines: 2742 ( +31, -37 )

Created: 2008-11-16 12:52:41 +0100 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081116115241

Move a bunch of static variables used all over pass2 to a struct p2env
instead.  This simplifies passing information between different parts
of the second pass.

1.191 annotated / raw | Diffs: previous, other | Lines: 2748 ( +26, -8 )

Created: 2008-11-15 10:39:56 +0100 (5 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20081115093956

Add defines for register classes E-G.
Give a better error message than "beenhere" when the graph coloring fails.

1.190 annotated / raw | Diffs: previous, other | Lines: 2730 ( +4, -5 )

Created: 2008-11-01 09:29:38 +0100 (5 years 9 months ago) | Author: mickey | Changeset: MAIN:mickey:20081101082937

allow spilling >31 regs. apprently i386 was always safe as fpu regs
are fakes. needed by hppa (and i think also powerpc) or any other arch
that employs callee-save regs of >31 numbers (per defines ;).
most of the archs are simply using ipp_regs[0] as they do have
less than 31 regs or otherwise need no spilling.
ragge@ told me to commit this in september and it seems to work (:

1.189 annotated / raw | Diffs: previous, other | Lines: 2731 ( +17, -6 )

Created: 2008-10-25 11:05:19 +0200 (5 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20081025090519

Avoid adding edges to hard regs that are not available for allocation
(like sp). This makes it easier to find nodes that are trivially colorable
and in reality avoids some moves.

1.188 annotated / raw | Diffs: previous, other | Lines: 2720 ( +26, -11 )

Created: 2008-10-16 22:52:45 +0200 (5 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20081016205245

Fix type bug reported by Jeremy Reed.
Change removed ip structs to empty ASM nodes, to avoid a basic block
fixup problem.

1.187 annotated / raw | Diffs: previous, other | Lines: 2705 ( +8, -5 )

Created: 2008-10-09 16:51:53 +0200 (5 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20081009145153

Revert clearing of reg field, it broke spilling of short-lived temporaries.
Found by Hasso Tepper.

1.186 annotated / raw | Diffs: previous, other | Lines: 2702 ( +115, -8 )

Created: 2008-10-05 10:06:52 +0200 (5 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20081005080652

Initial support for Dead Code Elimination.  Not working yet.

1.185 annotated / raw | Diffs: previous, other | Lines: 2595 ( +12, -10 )

Created: 2008-09-27 09:34:35 +0200 (5 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20080927073435

Add code to find RMW memory ops.  This will be a benefit for CISC targets.
Change syntax of shumul() to take shape as an argument and return result.
A bunch of other potential bugs that should be adressed and checked.

1.184 annotated / raw | Diffs: previous, other | Lines: 2593 ( +9, -1 )

Created: 2008-07-30 17:41:05 +0200 (6 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20080730154105

Allow xasm "g" constraints to be spilled if necessary.
Fixes bug reported by gmcgarry.

1.183 annotated / raw | Diffs: previous, other | Lines: 2585 ( +32, -4 )

Created: 2008-07-05 17:13:55 +0200 (6 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20080705151355

xasm fixes:
- Do not spill temporaries with 'r' constraint.
- understand 'k' modifier.
- understand 'A' register type as eax/edx pair.

1.182 annotated / raw | Diffs: previous, other | Lines: 2557 ( +2, -1 )

Created: 2008-07-02 03:33:16 +0200 (6 years 2 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080702013316

Don't output error for "i" argument.

1.181 annotated / raw | Diffs: previous, other | Lines: 2556 ( +3, -3 )

Created: 2008-06-30 10:21:37 +0200 (6 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20080630082137

Xasm fixes:
- Understand 'g' constraint.
- Handle 'm' better.
- Deal with struct as argument.

1.180 annotated / raw | Diffs: previous, other | Lines: 2556 ( +37, -5 )

Created: 2008-06-25 21:33:21 +0200 (6 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20080625193321

Lots of additions to extended assembler, among them:
- support for operand in memory ("m")
- support to change printed type of argument.
- support for register constraints.

1.179 annotated / raw | Diffs: previous, other | Lines: 2524 ( +39, -57 )

Created: 2008-06-24 21:35:56 +0200 (6 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20080624193556

Cleanup parts of the extended assembler code.
Teach r constraint about +.
Add support for n constraint.

1.178 annotated / raw | Diffs: previous, other | Lines: 2542 ( +11, -6 )

Created: 2008-06-22 17:25:00 +0200 (6 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20080622152459

Add xasm support for:
- + constraint (same input and output argument)
- target-specific register names
- memory and cc constraints

1.177 annotated / raw | Diffs: previous, other | Lines: 2537 ( +19, -20 )

Created: 2008-06-19 09:41:12 +0200 (6 years 2 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080619074112

Rename local variables which shadow globals.  Remove "inline" from functions to
improve portability to HP/UX.

1.176 annotated / raw | Diffs: previous, other | Lines: 2538 ( +3, -1 )

Created: 2008-05-11 22:14:40 +0200 (6 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20080511201440

Protect MAX by #ifdef.  Add support for midnightbsd.  From Thorsten Glaser.

1.175 annotated / raw | Diffs: previous, other | Lines: 2536 ( +2, -2 )

Created: 2008-05-11 18:55:03 +0200 (6 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20080511165503

Spelling error, from Pierre Riteau.

1.174 annotated / raw | Diffs: previous, other | Lines: 2536 ( +6, -4 )

Created: 2008-04-27 13:34:32 +0200 (6 years 4 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080427113432

Eliminate OREG conversion which bypasses notoff().

1.173 annotated / raw | Diffs: previous, other | Lines: 2534 ( +102, -7 )

Created: 2008-04-20 11:41:39 +0200 (6 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20080420094138

Add support for xasm output values in registers and numeric arguments.
Add a few CM-separated list common functions.
Add keyword _Complex + some code to unjderstand it. No complex support
besides that.

1.172 annotated / raw | Diffs: previous, other | Lines: 2439 ( +5, -2 )

Created: 2008-04-17 22:12:26 +0200 (6 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20080417201226

Never add moves to a register that is not valid for use by the register
allocator, otherwise stack/frame pointers may be trashed.
Found when running OpenBSD csh.

1.171 annotated / raw | Diffs: previous, other | Lines: 2436 ( +76, -4 )

Created: 2008-04-15 12:00:43 +0200 (6 years 4 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20080415095232

Compile without PCC_DEBUG

1.170 annotated / raw | Diffs: previous, other | Lines: 2364 ( +10, -5 )

Created: 2008-03-31 07:37:35 +0200 (6 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20080331053735

Edges between temporaries were not added correctly if an instruction used
more than one level down in node trees (usually with R2REGS). Caused
for example gmake to coredump.

1.169 annotated / raw | Diffs: previous, other | Lines: 2359 ( +8, -1 )

Created: 2008-03-28 18:28:26 +0100 (6 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20080328172826

Check if a register containing a value at assignment time is handled by
the register allocator.  If not, do not use it.

1.168 annotated / raw | Diffs: previous, other | Lines: 2352 ( +31, -9 )

Created: 2008-02-09 12:09:38 +0100 (6 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20080209110938

Move the debug reg printout to regs.c, it is dependent of register
allocator internals.

1.167 annotated / raw | Diffs: previous, other | Lines: 2330 ( +20, -30 )

Created: 2007-12-30 11:31:51 +0100 (6 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20071230103150

Change number of TEMP nodes to be stored in rval, not lval, to be
consistent with REG/OREG nodes.
Add macro regno() to reference the reg/tempnum value.

1.166 annotated / raw | Diffs: previous, other | Lines: 2340 ( +12, -4 )

Created: 2007-12-10 22:45:13 +0100 (6 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20071210214513

Must add edges between needs also.  Found and tested by gmcgarry.

1.165 annotated / raw | Diffs: previous, other | Lines: 2332 ( +3, -2 )

Created: 2007-12-09 18:52:54 +0100 (6 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20071209175254

Remove diagnostic check that might fail for targets with register
arguments when the regs are already put onto the stack.

1.164 annotated / raw | Diffs: previous, other | Lines: 2331 ( +5, -4 )

Created: 2007-11-23 16:51:20 +0100 (6 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20071123155120

Must clear edgehash also if only permanent registers are spilled,
otherwise stale edges may be left.

1.163 annotated / raw | Diffs: previous, other | Lines: 2330 ( +8, -5 )

Created: 2007-11-16 00:27:54 +0100 (6 years 9 months ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20071115232754

Always initialise edgehash.  The symptoms were running off the end
of linked-lists and getting caught in a loop.

An explanation given by ragge:

"... due to the nature of instruction generation when special needs are
involved it get used.  In liveness analysis temporary registers needed to
keep values between instructions are usually not entered into any live
table because of their short-lived nature (when traversing the tree it's
known which instructions it will interfere with).  But; if the instruction
have special needs or so then the variables will be kept live for a longer
time and therefore added to the hash table."

Also includes an indent fix and wrap useful debugging information in PCC_DEBUG.

1.162 annotated / raw | Diffs: previous, other | Lines: 2327 ( +7, -10 )

Created: 2007-11-12 19:46:58 +0100 (6 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20071112184658

Add function livecall() that returns an array of registers that should
generate liveness when liveness analysis is done.

1.161 annotated / raw | Diffs: previous, other | Lines: 2330 ( +115, -80 )

Created: 2007-11-07 22:37:44 +0100 (6 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20071107213744

Initial support for liveness analysis on hard regs.
Do not handle OREGs (yet).

1.160 annotated / raw | Diffs: previous, other | Lines: 2295 ( +11, -6 )

Created: 2007-11-07 19:01:14 +0100 (6 years 9 months ago) | Author: mickey | Changeset: MAIN:mickey:20071107180114

allow spilling non-int registers too

1.159 annotated / raw | Diffs: previous, other | Lines: 2290 ( +4, -3 )

Created: 2007-10-27 15:36:37 +0200 (6 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20071027133637

From OpenBSD repo: use intptr_t for casting pointers.

1.158 annotated / raw | Diffs: previous, other | Lines: 2289 ( +5, -5 )

Created: 2007-10-20 20:12:25 +0200 (6 years 10 months ago) | Author: otto | Changeset: MAIN:otto:20071020181225

typos/whitespace

1.157 annotated / raw | Diffs: previous, other | Lines: 2289 ( +2, -2 )

Created: 2007-10-03 22:36:56 +0200 (6 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20071003203656

64-bit fixes, after reports on the list. (Gilles Chehade/Thorsten Glaser/...)

1.156 annotated / raw | Diffs: previous, other | Lines: 2289 ( +6, -2 )

Created: 2007-10-02 22:43:48 +0200 (6 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20071002204348

Include alloca.h if exists.  XXX alloca may be removed later.
Pass -g onto linker.
From Laurent Desnogues.

1.155 annotated / raw | Diffs: previous, other | Lines: 2285 ( +2, -2 )

Created: 2007-09-22 19:15:00 +0200 (6 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20070922171500

Some small fixes to quiet FBSD/amd64. From Arun Sharma.

1.154 annotated / raw | Diffs: previous, other | Lines: 2285 ( +3, -3 )

Created: 2007-09-22 18:31:13 +0200 (6 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20070922163113

Quiet 64-bit machines, from Simon Schubert.

1.153 annotated / raw | Diffs: previous, other | Lines: 2285 ( +39, -4 )

Created: 2007-09-22 10:45:25 +0200 (6 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20070922084525

Fix a problem that occurred when:
1) wrong register were spilled (no effect of colorability)
2) short-life-range register were spilled (no effect of colorability)

1.152 annotated / raw | Diffs: previous, other | Lines: 2250 ( +45, -45 )

Created: 2007-09-21 12:16:24 +0200 (6 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20070921101624

Indentation error, spotted by Otto Muerbeck.

1.151 annotated / raw | Diffs: previous, other | Lines: 2250 ( +13, -7 )

Created: 2007-09-16 10:26:34 +0200 (6 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20070916082634

Some return complained about by lint.  Legal, but we do not want to
convince lint about it.  From Ray Lai.

1.150 annotated / raw | Diffs: previous, other | Lines: 2244 ( +2, -2 )

Created: 2007-09-15 09:37:46 +0200 (6 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20070915073738

Patches to support OpenBSD + some sanity fixes, from Chad Loder and with
only minor changes by myself.

1.149 annotated / raw | Diffs: previous, other | Lines: 2244 ( +2, -2 )

Created: 2007-09-09 12:02:13 +0200 (6 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20070909100213

Increase number of register allocation maxloops.
3 should be enough, but under some circumstances more registers are
allocated second round.  This should be investigated further.

1.148 annotated / raw | Diffs: previous, other | Lines: 2244 ( +2, -2 )

Created: 2007-08-25 07:56:22 +0200 (7 years ago) | Author: ragge | Changeset: MAIN:ragge:20070825055622

Increase number of loops when doing register allocation.
Dhis is beacuse somewhere the new instruction(s) allocates new registers.
Should be found earlier.

1.147 annotated / raw | Diffs: previous, other | Lines: 2244 ( +19, -9 )

Created: 2007-08-01 06:51:56 +0200 (7 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20070801045156

Must add edges for needed regs in special also.

1.146 annotated / raw | Diffs: previous, other | Lines: 2234 ( +3, -3 )

Created: 2006-10-07 11:19:34 +0200 (7 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20061007091934

Make the compiler compile under linux.

1.145 annotated / raw | Diffs: previous, other | Lines: 2234 ( +1, -3 )

Created: 2006-07-15 09:34:19 +0200 (8 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20060715073419

Finish move of INCR/DECR to pass1.

1.144 annotated / raw | Diffs: previous, other | Lines: 2236 ( +4, -2 )

Created: 2006-07-13 12:09:47 +0200 (8 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20060713100947

Repair -B for alternative location of binaries.
Fix off-by-one test for initialized string printouts.
Fix missing liveness analysis of ++/-- operators.

1.143 annotated / raw | Diffs: previous, other | Lines: 2234 ( +16, -1 )

Created: 2006-07-12 15:31:56 +0200 (8 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20060712133156

Add edges for legs not only if AREGs.

1.142 annotated / raw | Diffs: previous, other | Lines: 2219 ( +56, -48 )

Created: 2006-07-11 21:32:18 +0200 (8 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20060711193218

Do not store nodes already in memory.
Only save permanent nodes if rewriting (questionable).

1.141 annotated / raw | Diffs: previous, other | Lines: 2211 ( +54, -1 )

Created: 2006-07-11 10:02:46 +0200 (8 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20060711080246

Rewrite Conservative slightly to decrease required number of loops.
Improves speed somewhat of coalescing checks.

1.140 annotated / raw | Diffs: previous, other | Lines: 2158 ( +10, -5 )

Created: 2006-07-10 09:55:26 +0200 (8 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20060710075526

Print float constants in hex.
Cleanup float instructions in table.
Store floats over function calls early.
Fix missing rule in float compare that may cause ax to be clobbered.
Use SU evaluation order for floats and care about that in code generation.
szty(LDOUBLE) must be three to not trash stack.

1.139 annotated / raw | Diffs: previous, other | Lines: 2153 ( +5, -3 )

Created: 2006-06-28 20:32:18 +0200 (8 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20060628183218

Check for early const type conversion.
Add 3-op add.
Fix bug where regw were not cleared at second round of register alloc.

1.138 annotated / raw | Diffs: previous, other | Lines: 2151 ( +40, -52 )

Created: 2006-06-20 08:02:44 +0200 (8 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20060620060243

Fix problem when varargs is used.
Do not allocate space on stack for spilled args if already on stack.
Remove more unneccessaty SCONVs.

1.137 annotated / raw | Diffs: previous, other | Lines: 2163 ( +9, -7 )

Created: 2006-06-17 10:23:30 +0200 (8 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20060617082329

Use private evaluation order for floating point trees.
Change cpp #if calculations to long long.
Remove unneccessary size checks.
Fix bug so unions can be assigned.
Fix table bug where floats were returned.

1.136 annotated / raw | Diffs: previous, other | Lines: 2161 ( +5, -3 )

Created: 2006-06-13 09:54:31 +0200 (8 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20060613075431

Suffix of fld for long double is t, not q.
Add edges for specials when indirecting.

1.135 annotated / raw | Diffs: previous, other | Lines: 2159 ( +6, -3 )

Created: 2006-06-13 08:14:30 +0200 (8 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20060613061430

Add edges also when assigning temporaries.
Fix bug where edx/edi could be mixed.
Fix code generation bug where SCONV longlong->int could get wrong leaf.

1.134 annotated / raw | Diffs: previous, other | Lines: 2156 ( +24, -5 )

Created: 2006-06-11 10:16:34 +0200 (8 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20060611081634

Fix bug where needs did not interfere with legs, as requested.

1.133 annotated / raw | Diffs: previous, other | Lines: 2137 ( +28, -2 )

Created: 2006-06-10 10:25:32 +0200 (8 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20060610082531

Add comments about how liveness analysis works.
Fix bug where ASSIGN moves were not emitted.
Fix erroneous table entry for floats as arguments.
Add move for long long type casts.

1.132 annotated / raw | Diffs: previous, other | Lines: 2111 ( +9, -9 )

Created: 2006-06-08 18:45:15 +0200 (8 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20060608164515

Change ASSIGN return value reclaiming.  Now compiles and runs csh.

1.131 annotated / raw | Diffs: previous, other | Lines: 2111 ( +17, -8 )

Created: 2006-06-04 11:49:58 +0200 (8 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20060604094958

Fix su clearance bug, add moves for some casts.

1.130 annotated / raw | Diffs: previous, other | Lines: 2102 ( +15, -23 )

Created: 2006-06-03 16:53:48 +0200 (8 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20060603145348

Support special needs again. Emit move insns at correct positions.

1.129 annotated / raw | Diffs: previous, other | Lines: 2110 ( +61, -9 )

Created: 2006-06-03 13:42:44 +0200 (8 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20060603114243

Fix two liveness analysis bugs.  Soem cleanup.  Add assertion for
funny SCONVs.

1.128 annotated / raw | Diffs: previous, other | Lines: 2058 ( +73, -607 )

Created: 2006-05-28 15:02:12 +0200 (8 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20060528130212

Finish rewriting of liveness analysis.

1.127 annotated / raw | Diffs: previous, other | Lines: 2592 ( +88, -8 )

Created: 2006-05-28 09:14:30 +0200 (8 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20060528071430

New liveness analysis code almost finished.

1.126 annotated / raw | Diffs: previous, other | Lines: 2512 ( +24, -1 )

Created: 2006-05-27 13:17:29 +0200 (8 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20060527111729

More work on new liveness analysis code.

1.125 annotated / raw | Diffs: previous, other | Lines: 2489 ( +34, -3 )

Created: 2006-05-27 09:32:06 +0200 (8 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20060527073206

MOre work on new liveness analysis.

1.124 annotated / raw | Diffs: previous, other | Lines: 2458 ( +44, -15 )

Created: 2006-05-26 08:21:33 +0200 (8 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20060526062132

Fix match and sucomp, start working on walk.

1.123 annotated / raw | Diffs: previous, other | Lines: 2429 ( +13, -2 )

Created: 2006-05-25 10:04:56 +0200 (8 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20060525080456

More work on new insn matching.

1.122 annotated / raw | Diffs: previous, other | Lines: 2418 ( +43, -4 )

Created: 2006-05-13 08:35:36 +0200 (8 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20060513063536

More fixes for the UMUL code generation.

1.121 annotated / raw | Diffs: previous, other | Lines: 2379 ( +112, -1 )

Created: 2006-05-06 09:29:07 +0200 (8 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20060506072907

Start writing new sucomp().

1.120 annotated / raw | Diffs: previous, other | Lines: 2268 ( +46, -17 )

Created: 2006-04-22 09:25:19 +0200 (8 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20060422072518

More work on the OREG handling.

1.119 annotated / raw | Diffs: previous, other | Lines: 2239 ( +7, -7 )

Created: 2006-03-26 09:14:29 +0200 (8 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20060326071428

Add #defines for going down left/right.

1.118 annotated / raw | Diffs: previous, other | Lines: 2239 ( +1, -11 )

Created: 2006-02-26 19:44:05 +0100 (8 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20060226184405

Comment out INCR/DECR in table, they do not work as intended.
Fix problem with erroneout move to reg 0 in assign statements.
Now compiles and runs the shells.

1.117 annotated / raw | Diffs: previous, other | Lines: 2249 ( +17, -3 )

Created: 2006-02-22 17:27:27 +0100 (8 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20060222162727

Add forgotten register exclusion for eax in mul/div.
Deal with the situation where permanent registers get moves between each other.

1.116 annotated / raw | Diffs: previous, other | Lines: 2235 ( +109, -113 )

Created: 2006-02-18 14:36:19 +0100 (8 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20060218133619

Always do full liveness analysis even if not optimizing.
Therefore fake the basic block structures.

1.115 annotated / raw | Diffs: previous, other | Lines: 2239 ( +9, -5 )

Created: 2006-02-18 09:19:42 +0100 (8 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20060218081942

Start fixing so that unoptimized code works.
Start fixing so that debug code can be emitted again.

1.114 annotated / raw | Diffs: previous, other | Lines: 2235 ( +17, -5 )

Created: 2006-02-16 17:46:31 +0100 (8 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20060216164630

Rewrite struct argument handling.

1.113 annotated / raw | Diffs: previous, other | Lines: 2223 ( +3, -3 )

Created: 2006-02-05 19:30:51 +0100 (8 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20060205183051

Many fixes to table.  One register class assignment allocation fix.
Cleanup.   Still one spill bug to fix.

1.112 annotated / raw | Diffs: previous, other | Lines: 2223 ( +30, -1 )

Created: 2006-02-04 18:43:46 +0100 (8 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20060204174346

Rewrite function argument handling entirely. Remove hardops.

1.111 annotated / raw | Diffs: previous, other | Lines: 2194 ( +2, -2 )

Created: 2006-02-01 14:26:58 +0100 (8 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20060201132658

Get default class for permanent registers instead of assuming CLASSA.

1.110 annotated / raw | Diffs: previous, other | Lines: 2194 ( +2, -2 )

Created: 2006-02-01 13:58:15 +0100 (8 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20060201125809

Fix COLORMAP(), and remove a bunch of unneeded #ifdefs.

1.109 annotated / raw | Diffs: previous, other | Lines: 2194 ( +8, -5 )

Created: 2006-01-31 22:19:52 +0100 (8 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20060131211952

Fix regmacro bug.  Inform about coalesced spilled vars.

1.108 annotated / raw | Diffs: previous, other | Lines: 2191 ( +126, -61 )

Created: 2006-01-28 08:27:12 +0100 (8 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20060128072712

Bugfixes for encoding allocations.
Fix more table entries.
Still bugs in longlong allocator.

1.107 annotated / raw | Diffs: previous, other | Lines: 2126 ( +20, -3 )

Created: 2006-01-15 11:24:52 +0100 (8 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20060115102452

Add sanitycheck for permanent registers.

1.106 annotated / raw | Diffs: previous, other | Lines: 2109 ( +30, -24 )

Created: 2006-01-12 22:35:23 +0100 (8 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20060112213522

Many bugfixes, now compiles and runs programs in /bin again.

1.105 annotated / raw | Diffs: previous, other | Lines: 2103 ( +2, -2 )

Created: 2006-01-07 18:04:59 +0100 (8 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20060107170457

Fix a newly-introduced liveness-analysis bug.

1.104 annotated / raw | Diffs: previous, other | Lines: 2103 ( +5, -17 )

Created: 2006-01-07 09:10:25 +0100 (8 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20060107081025

Fix bug in SET* when more than 32 long-lived temps.
Also fix a few table entries.

1.103 annotated / raw | Diffs: previous, other | Lines: 2115 ( +75, -48 )

Created: 2006-01-06 13:47:34 +0100 (8 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20060106124734

Do better edgecheck for precolored registers.

1.102 annotated / raw | Diffs: previous, other | Lines: 2088 ( +39, -10 )

Created: 2006-01-01 17:17:02 +0100 (8 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20060101161701

Avoid extra moves for indexed registers in OREGs.
Only allow folding into OREG if no register moves are involved.

1.101 annotated / raw | Diffs: previous, other | Lines: 2059 ( +19, -14 )

Created: 2005-12-30 15:58:15 +0100 (8 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20051230145815

Fix saving of permanent registers.

1.100 annotated / raw | Diffs: previous, other | Lines: 2054 ( +14, -13 )

Created: 2005-12-30 15:23:54 +0100 (8 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20051230142351

Almost all definitions for register allocator now auto generated.

1.99 annotated / raw | Diffs: previous, other | Lines: 2053 ( +54, -30 )

Created: 2005-12-29 21:48:16 +0100 (8 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20051229204814

Rewrite MD register definition entirely.  Preprocess it in mkext.

1.98 annotated / raw | Diffs: previous, other | Lines: 2029 ( +12, -1 )

Created: 2005-12-29 16:40:18 +0100 (8 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20051229154018

Change how preallocated regs work.

1.97 annotated / raw | Diffs: previous, other | Lines: 2018 ( +86, -17 )

Created: 2005-12-29 10:15:06 +0100 (8 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20051229091505

More debug printouts.  More fixes to the table. Fix longlong register
printouts.

1.96 annotated / raw | Diffs: previous, other | Lines: 1949 ( +50, -39 )

Created: 2005-12-22 10:57:28 +0100 (8 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20051222095728

Fix genswitch(). More bugfixes.

1.95 annotated / raw | Diffs: previous, other | Lines: 1938 ( +7, -6 )

Created: 2005-12-11 09:10:32 +0100 (8 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20051211081032

Fix liveness calculation bug.
Change ASSIGN table syntax slightly.

1.94 annotated / raw | Diffs: previous, other | Lines: 1937 ( +18, -14 )

Created: 2005-12-08 21:10:38 +0100 (8 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20051208201038

Many more fixes...

1.93 annotated / raw | Diffs: previous, other | Lines: 1933 ( +105, -23 )

Created: 2005-12-04 12:49:00 +0100 (8 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20051204114900

Add support for spilling short-lived temps.
Fix relops checking.

1.92 annotated / raw | Diffs: previous, other | Lines: 1851 ( +130, -435 )

Created: 2005-12-01 19:50:18 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051201185018

Fix of new liveness analysis code.

1.91 annotated / raw | Diffs: previous, other | Lines: 2156 ( +105, -2 )

Created: 2005-11-27 09:38:44 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051127083844

More work on new liveness analysis.

1.90 annotated / raw | Diffs: previous, other | Lines: 2053 ( +115, -26 )

Created: 2005-11-26 08:52:20 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051126075220

Try to fix liveness analysis code.

1.89 annotated / raw | Diffs: previous, other | Lines: 1964 ( +94, -150 )

Created: 2005-11-22 21:28:07 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051122202807

Work on improving register allocation.

1.88 annotated / raw | Diffs: previous, other | Lines: 2020 ( +182, -498 )

Created: 2005-11-20 22:48:42 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051120214841

More multiclass fixes.  Now almost works.

1.87 annotated / raw | Diffs: previous, other | Lines: 2336 ( +129, -253 )

Created: 2005-11-14 20:28:08 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051114192808

Be smarter in how to find colorability.

1.86 annotated / raw | Diffs: previous, other | Lines: 2460 ( +19, -5 )

Created: 2005-11-13 15:37:21 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051113143721

Fix problem with determining colorability.

1.85 annotated / raw | Diffs: previous, other | Lines: 2446 ( +39, -14 )

Created: 2005-11-12 16:20:25 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051112152022

More fixes for multiclass.

1.84 annotated / raw | Diffs: previous, other | Lines: 2421 ( +213, -58 )

Created: 2005-11-12 09:27:42 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051112082742

More work on multiclass.

1.83 annotated / raw | Diffs: previous, other | Lines: 2266 ( +38, -13 )

Created: 2005-11-06 23:13:28 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051106221328

More fixes to multiclass, liveness analysis almost works now.

1.82 annotated / raw | Diffs: previous, other | Lines: 2241 ( +36, -18 )

Created: 2005-11-06 18:15:16 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051106171516

Mostly fixes for long temporaries.

1.81 annotated / raw | Diffs: previous, other | Lines: 2223 ( +30, -11 )

Created: 2005-11-05 09:17:40 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051105081740

More fixes for MULTICLASS.  Can almost generate trivial sequences.

1.80 annotated / raw | Diffs: previous, other | Lines: 2204 ( +28, -3 )

Created: 2005-11-04 16:23:52 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051104152352

Some fixes to register allocator.

1.79 annotated / raw | Diffs: previous, other | Lines: 2179 ( +573, -142 )

Created: 2005-11-04 07:56:32 +0100 (8 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20051104065632

More work on multiclass.

1.78 annotated / raw | Diffs: previous, other | Lines: 1748 ( +88, -2 )

Created: 2005-10-22 10:08:25 +0200 (8 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20051022080825

More support on multiclass and no precolored registers.

1.77 annotated / raw | Diffs: previous, other | Lines: 1662 ( +37, -9 )

Created: 2005-10-17 08:46:49 +0200 (8 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20051017064648

MOre work on multipass.

1.76 annotated / raw | Diffs: previous, other | Lines: 1634 ( +111, -4 )

Created: 2005-10-15 11:08:10 +0200 (8 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20051015090810

Start adding support for multiple register classes.

1.75 annotated / raw | Diffs: previous, other | Lines: 1527 ( +56, -1298 )

Created: 2005-09-17 09:58:40 +0200 (8 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20050917075840

Temp checkin: Start walking towards class-allocated registers.

1.74 annotated / raw | Diffs: previous, other | Lines: 2769 ( +563, -119 )

Created: 2005-09-05 19:07:17 +0200 (8 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20050905170716

Temporary checkin: rewrite of liveness analysis.

1.73 annotated / raw | Diffs: previous, other | Lines: 2325 ( +61, -18 )

Created: 2005-08-08 23:14:02 +0200 (9 years ago) | Author: ragge | Changeset: MAIN:ragge:20050808211402

More bugfixes to the register allocator.  Still one bug to go, though.

1.72 annotated / raw | Diffs: previous, other | Lines: 2282 ( +19, -3 )

Created: 2005-08-07 17:51:51 +0200 (9 years ago) | Author: ragge | Changeset: MAIN:ragge:20050807155151

More debug stuff. Movelist unionizing must be rewritten.

1.71 annotated / raw | Diffs: previous, other | Lines: 2266 ( +19, -2 )

Created: 2005-08-07 13:37:08 +0200 (9 years ago) | Author: ragge | Changeset: MAIN:ragge:20050807113708

Bugfix Conservative().  Still at least one more bug to go.

1.70 annotated / raw | Diffs: previous, other | Lines: 2249 ( +3, -1 )

Created: 2005-08-06 16:51:28 +0200 (9 years ago) | Author: ragge | Changeset: MAIN:ragge:20050806145128

Add more debug output.

1.69 annotated / raw | Diffs: previous, other | Lines: 2247 ( +9, -3 )

Created: 2005-08-06 14:18:24 +0200 (9 years ago) | Author: ragge | Changeset: MAIN:ragge:20050806121819

Change ipp_regs to a bitmask. Fix saving of permanent registers.

1.68 annotated / raw | Diffs: previous, other | Lines: 2241 ( +15, -4 )

Created: 2005-08-06 13:33:23 +0200 (9 years ago) | Author: ragge | Changeset: MAIN:ragge:20050806113323

Add more debug stuff.

1.67 annotated / raw | Diffs: previous, other | Lines: 2230 ( +47, -8 )

Created: 2005-08-06 13:02:36 +0200 (9 years ago) | Author: ragge | Changeset: MAIN:ragge:20050806110236

More work on rewriting trees.

1.66 annotated / raw | Diffs: previous, other | Lines: 2191 ( +23, -12 )

Created: 2005-08-04 17:59:50 +0200 (9 years ago) | Author: ragge | Changeset: MAIN:ragge:20050804155950

Be smarter in how to select spills.

1.65 annotated / raw | Diffs: previous, other | Lines: 2180 ( +37, -9 )

Created: 2005-08-04 08:30:49 +0200 (9 years ago) | Author: ragge | Changeset: MAIN:ragge:20050804063049

Add a large amount of debug printouts.
More work on rewriting trees for spill.

1.64 annotated / raw | Diffs: previous, other | Lines: 2152 ( +65, -21 )

Created: 2005-08-03 08:29:22 +0200 (9 years ago) | Author: ragge | Changeset: MAIN:ragge:20050803062922

Start getting store to memory to work.

1.63 annotated / raw | Diffs: previous, other | Lines: 2108 ( +115, -23 )

Created: 2005-08-01 18:33:33 +0200 (9 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20050801163332

Clean up how live/gen/kill/in/out works.
Convert FORCE to instruction sequence in clocal.
Function graph coloring now works.

1.62 annotated / raw | Diffs: previous, other | Lines: 2016 ( +8, -2 )

Created: 2005-07-30 14:00:34 +0200 (9 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20050730120034

A few bug fixes for newreg.

1.61 annotated / raw | Diffs: previous, other | Lines: 2010 ( +36, -14 )

Created: 2005-07-30 10:54:59 +0200 (9 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20050730085459

Fix temp usage bugs.

1.60 annotated / raw | Diffs: previous, other | Lines: 1988 ( +43, -12 )

Created: 2005-07-29 08:57:48 +0200 (9 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20050729065748

Continue work on liveness analysis.

1.59 annotated / raw | Diffs: previous, other | Lines: 1957 ( +101, -22 )

Created: 2005-07-27 22:24:32 +0200 (9 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20050727202432

Make code generator understand TEMPs.
Split up basic blocks in gen/kill.

1.58 annotated / raw | Diffs: previous, other | Lines: 1878 ( +7, -1 )

Created: 2005-06-30 16:28:28 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050630142828

Add some liveness comments.

1.57 annotated / raw | Diffs: previous, other | Lines: 1872 ( +2, -2 )

Created: 2005-06-29 21:33:16 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050629193316

Correct move insn generation. Change heuristic for doing su traversal
calculation.

1.56 annotated / raw | Diffs: previous, other | Lines: 1872 ( +38, -9 )

Created: 2005-06-29 14:40:08 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050629124008

Add NSPECIAL code for instructions with special needs.

1.55 annotated / raw | Diffs: previous, other | Lines: 1843 ( +16, -11 )

Created: 2005-06-29 09:12:41 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050629071241

Fix deljumps.  Start working on full-function register assignment.

1.54 annotated / raw | Diffs: previous, other | Lines: 1838 ( +14, -5 )

Created: 2005-06-28 11:35:22 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050628093522

Change register move to just before instruction, to get correct
interference edges.
Be kind to 2-operand instructions by evaluating the other leg first.

1.53 annotated / raw | Diffs: previous, other | Lines: 1829 ( +48, -6 )

Created: 2005-06-28 09:16:45 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050628071645

Start working on store.

1.52 annotated / raw | Diffs: previous, other | Lines: 1787 ( +38, -195 )

Created: 2005-06-27 15:11:36 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050627131136

Use correct register count info instead of fakes.
Let SelectSpill() do something.

1.51 annotated / raw | Diffs: previous, other | Lines: 1944 ( +10, -4 )

Created: 2005-06-27 14:27:19 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050627122719

Init some variables before use.

1.50 annotated / raw | Diffs: previous, other | Lines: 1938 ( +30, -36 )

Created: 2005-06-27 13:45:36 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050627114536

More graph coloring fixes.

1.49 annotated / raw | Diffs: previous, other | Lines: 1944 ( +301, -117 )

Created: 2005-06-27 08:59:36 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050627065936

Move closer to graph coloring.

1.48 annotated / raw | Diffs: previous, other | Lines: 1760 ( +174, -171 )

Created: 2005-06-24 10:45:32 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050624084531

Resurrect rmove() for reg->reg moves, and add support for it in gencode.
Change some list representations.

1.47 annotated / raw | Diffs: previous, other | Lines: 1757 ( +155, -367 )

Created: 2005-06-20 22:33:08 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050620203308

More bug fixes to graph coloring; now works partly.

1.46 annotated / raw | Diffs: previous, other | Lines: 1969 ( +686, -24 )

Created: 2005-06-18 13:29:33 +0200 (9 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20050618112933

First round of Appel and George graph-coloring algorithm.
Does not work yet though.

1.45 annotated / raw | Diffs: previous, other | Lines: 1307 ( +1, -20 )

Created: 2005-05-21 16:54:33 +0200 (9 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20050521145433

Set NEW_READER as default.  Now the pass2 flow is predictable.

1.44 annotated / raw | Diffs: previous, other | Lines: 1326 ( +4, -2 )

Created: 2005-05-15 23:06:35 +0200 (9 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20050515210634

Fix cpp. fix BREG strengthening.  Now (almost) compiler NetBSD again.

1.43 annotated / raw | Diffs: previous, other | Lines: 1324 ( +29, -1 )

Created: 2005-04-03 16:58:52 +0200 (9 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20050403145852

Fix so that stack allocation works with NEW_READER.

1.42 annotated / raw | Diffs: previous, other | Lines: 1296 ( +157, -13 )

Created: 2005-03-19 10:32:35 +0100 (9 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20050319093235

More additions to the graph-coloring register allocation.

1.41 annotated / raw | Diffs: previous, other | Lines: 1152 ( +108, -12 )

Created: 2005-03-10 20:04:31 +0100 (9 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20050310190431

Add more code to the register assignment stuff.

1.40 annotated / raw | Diffs: previous, other | Lines: 1056 ( +145, -1 )

Created: 2005-03-06 16:40:33 +0100 (9 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20050306154033

Start working on a graph-coloring register allocator.

1.39 annotated / raw | Diffs: previous, other | Lines: 912 ( +3, -2 )

Created: 2005-02-20 12:59:00 +0100 (9 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20050220115900

Some fixes for initializations where wrong labels were generated.
Obey GCC renaming functions for stabs.
Be more precise with an error message in regs.

1.38 annotated / raw | Diffs: previous, other | Lines: 911 ( +2, -2 )

Created: 2005-01-31 16:08:02 +0100 (9 years 6 months ago) | Author: ragge | Changeset: MAIN:ragge:20050131150802

Must give cookie for finduni.

1.37 annotated / raw | Diffs: previous, other | Lines: 911 ( +2, -1 )

Created: 2005-01-20 22:24:14 +0100 (9 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20050120212414

Fix prolog/epilog.  Framework for tailcall optimization.

1.36 annotated / raw | Diffs: previous, other | Lines: 910 ( +12, -1 )

Created: 2005-01-17 22:25:33 +0100 (9 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20050117212533

Handle checks for used registers more intelligent.

1.35 annotated / raw | Diffs: previous, other | Lines: 899 ( +13, -7 )

Created: 2005-01-11 15:27:08 +0100 (9 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20050111142708

Remove newblk and rstatus stuff.

1.34 annotated / raw | Diffs: previous, other | Lines: 893 ( +62, -57 )

Created: 2005-01-09 15:28:54 +0100 (9 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20050109142853

Add support for Breg's.
XXX - Should be done in a better way.

1.33 annotated / raw | Diffs: previous, other | Lines: 888 ( +11, -5 )

Created: 2004-12-02 22:33:50 +0100 (9 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20041202213350

Add basic stabs support.  Fix register assignment bug.
Begin with stabs support.

1.32 annotated / raw | Diffs: previous, other | Lines: 882 ( +2, -1 )

Created: 2004-10-03 17:36:13 +0200 (9 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20041003153612

Make cgram.y like bison. Fix some gcc3 warnings.

1.31 annotated / raw | Diffs: previous, other | Lines: 881 ( +11, -1 )

Created: 2004-06-21 14:41:45 +0200 (10 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20040621124143

More entries to regs switch. One bugfix in table. Add __const to gcc-names.

1.30 annotated / raw | Diffs: previous, other | Lines: 871 ( +9, -5 )

Created: 2004-06-19 11:14:28 +0200 (10 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20040619091427

Fix casting.  Add many entries to the table.
Passes 730 of 1100 tests from gcc testsuite.
Struct return do not yet work correctly.

1.29 annotated / raw | Diffs: previous, other | Lines: 867 ( +35, -11 )

Created: 2004-06-08 23:07:25 +0200 (10 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20040608210724

Many fixes.  Now compiles (but not runs!) emacs.

1.28 annotated / raw | Diffs: previous, other | Lines: 843 ( +58, -3 )

Created: 2004-06-05 10:22:43 +0200 (10 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20040605082242

Change call generation to MD, needed for struct returns.
Add a bunch of math stuff.

1.27 annotated / raw | Diffs: previous, other | Lines: 788 ( +31, -1 )

Created: 2004-05-30 19:28:08 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040530172805

Add structure calls.

1.26 annotated / raw | Diffs: previous, other | Lines: 758 ( +33, -1 )

Created: 2004-05-30 12:16:32 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040530101629

Add writes to field destinations.

1.25 annotated / raw | Diffs: previous, other | Lines: 726 ( +91, -2 )

Created: 2004-05-29 16:11:49 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040529141145

Numerous fixes.

1.24 annotated / raw | Diffs: previous, other | Lines: 637 ( +9, -1 )

Created: 2004-05-29 09:53:28 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040529075327

Split out branches separately. code generation bugfix.

1.23 annotated / raw | Diffs: previous, other | Lines: 629 ( +15, -23 )

Created: 2004-05-26 20:17:58 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040526181758

Add more x86 stuff; now compiles ls.  Fix hardops.

1.22 annotated / raw | Diffs: previous, other | Lines: 637 ( +5, -2 )

Created: 2004-05-25 17:52:37 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040525155236

Add support for hardops + some longlongs to x86.

1.21 annotated / raw | Diffs: previous, other | Lines: 634 ( +4, -4 )

Created: 2004-05-18 16:29:37 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040518142937

Change tshape() slightly (for ease).  Many bugfixes for x86.
Can now compile and run cc.c on x86.

1.20 annotated / raw | Diffs: previous, other | Lines: 634 ( +26, -10 )

Created: 2004-05-15 14:14:43 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040515121433

Fix gcc 3.3.3 warnings. Check temp/nontemp regs usage in regs.c.

1.19 annotated / raw | Diffs: previous, other | Lines: 618 ( +37, -5 )

Created: 2004-05-15 10:06:17 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040515080617

Remove NDLEFT/NDRIGHT + all dest code in table.  Fix reg allocation so that
non-temp registers may be used all way through. Still stuff to do here.

1.18 annotated / raw | Diffs: previous, other | Lines: 586 ( +3, -2 )

Created: 2004-05-13 21:33:47 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040513193347

Now register assignment works as expected.

1.17 annotated / raw | Diffs: previous, other | Lines: 585 ( +7, -1 )

Created: 2004-05-09 20:26:58 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040509182657

Change TEMPs to OREGs instead (discard TEMPs).

1.16 annotated / raw | Diffs: previous, other | Lines: 579 ( +12, -2 )

Created: 2004-05-06 20:15:40 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040506181539

More reg and table fixes.

1.15 annotated / raw | Diffs: previous, other | Lines: 569 ( +8, -1 )

Created: 2004-05-05 22:32:27 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040505203227

Add some regs.

1.14 annotated / raw | Diffs: previous, other | Lines: 562 ( +18, -2 )

Created: 2004-05-05 22:26:18 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040505202618

More table and register additions.

1.13 annotated / raw | Diffs: previous, other | Lines: 546 ( +14, -2 )

Created: 2004-05-04 23:15:40 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040504211539

More support for register allocations. Ask offstar to tell success.
Add some insns to the table.

1.12 annotated / raw | Diffs: previous, other | Lines: 534 ( +29, -11 )

Created: 2004-05-02 23:41:17 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040502214117

Fix so that OREGs work more useable.

1.11 annotated / raw | Diffs: previous, other | Lines: 516 ( +7, -2 )

Created: 2004-05-02 14:57:53 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040502125750

Bugfix typecasting. Traverse down for UCALL also.

1.10 annotated / raw | Diffs: previous, other | Lines: 511 ( +20, -1 )

Created: 2004-05-02 12:19:12 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040502101911

Fix SU calculation buf. Add more regs entries.

1.9 annotated / raw | Diffs: previous, other | Lines: 492 ( +11, -5 )

Created: 2004-05-02 10:52:04 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040502085204

Bugfix; missing to keep track of a register assignment.

1.8 annotated / raw | Diffs: previous, other | Lines: 486 ( +96, -37 )

Created: 2004-05-02 10:32:43 +0200 (10 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20040502083243

More bugfixes.

1.7 annotated / raw | Diffs: previous, other | Lines: 427 ( +135, -80 )

Created: 2004-05-01 13:00:38 +0200 (10 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20040501110038

Clean up table. Large rewrite of regs. Bugfixes.

1.6 annotated / raw | Diffs: previous, other | Lines: 372 ( +15, -3 )

Created: 2004-04-29 22:24:24 +0200 (10 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20040429202424

More bugfixes.

1.5 annotated / raw | Diffs: previous, other | Lines: 360 ( +15, -9 )

Created: 2004-04-29 18:30:49 +0200 (10 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20040429163048

Remove allo.c. Fix more missing genregs entries.

1.4 annotated / raw | Diffs: previous, other | Lines: 354 ( +16, -130 )

Created: 2004-04-26 23:05:30 +0200 (10 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20040426210530

Add some more cases to register assignment.

1.3 annotated / raw | Diffs: previous, other | Lines: 468 ( +261, -21 )

Created: 2004-04-25 23:24:19 +0200 (10 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20040425212417

Start adding register assignment rules. Can now generate simple code.

1.2 annotated / raw | Diffs: previous, other | Lines: 228 ( +61, -8 )

Created: 2004-04-19 22:39:02 +0200 (10 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20040419203902

Can now generate simple statements.

1.1 new annotated / raw | Lines: 175 ( +175, -0 )

Created: 2004-04-18 14:14:35 +0200 (10 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20040418121435

Add reg distribution.

latest revision download Branch r-1-0-0

1.216.2.1 annotated / raw | Diffs: previous, other | Lines: 2869 ( +10, -2 )

Created: 2011-02-22 19:38:08 +0100 (3 years 6 months ago) | Author: ragge | Changeset: r-1-0-0:ragge:20110222183808

Pull up rev. 1.217 from current.

Branch point for: r-1-0-1

Tags: r-1-0-0-RELEASE r-1-0-1$BP

FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-09-02 08:58 +0200