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.57 1.36 1.1 r-1-0-0 1.36.2.1 BSD_44 1.1.1.1

latest revision download Branch MAIN

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

Created: 2014-04-08 21:54:56 +0200 (3 months 1 day ago) | Author: ragge | Changeset: MAIN:ragge:20140408195456

Fix optimization bug causing type correctness to be broken.

1.56 annotated / raw | Diffs: previous, other | Lines: 462 ( +2, -2 )

Created: 2012-10-22 11:06:41 +0200 (20 months ago) | Author: plunky | Changeset: MAIN:plunky:20121022090641

LCON() expands to a compare operation already, don't
compare the result to zero, just invert it [lint]

1.55 annotated / raw | Diffs: previous, other | Lines: 462 ( +3, -3 )

Created: 2012-10-21 11:56:56 +0200 (20 months ago) | Author: ragge | Changeset: MAIN:ragge:20121021095656

Fix potential bug found by Iain Hibbert when running lint.

1.54 annotated / raw | Diffs: previous, other | Lines: 462 ( +3, -7 )

Created: 2012-09-15 16:04:23 +0200 (21 months ago) | Author: ragge | Changeset: MAIN:ragge:20120915140423

If a shift is larger than type do not mod the shift size but just let it
shift away all bits.  This is undefined behavior but will give least
surprises.  Fixes Jira#PCC-409 by Iain Hibbert.

1.53 annotated / raw | Diffs: previous, other | Lines: 466 ( +15, -1 )

Created: 2012-05-10 17:40:40 +0200 (2 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20120510154040

Remove constant branches found after tree building.
Fixes Jira#PCC-392 by Nicolas Joly.

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

Created: 2012-04-22 23:07:41 +0200 (2 years 2 months ago) | Author: plunky | Changeset: MAIN:plunky:20120422210740

tidy up some remaining K&R function definitions

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

Created: 2012-04-20 18:19:45 +0200 (2 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20120420161945

Optimize relops once again in optim() to find more constants to be
evaluated.  Fixes Jira#PCC-391 by Iain Hibbert (from Toru Nishimura)

1.50 annotated / raw | Diffs: previous, other | Lines: 439 ( +15, -1 )

Created: 2012-03-26 18:51:50 +0200 (2 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20120326165150

Let rmpconv() and optim() loop until nothing more to do.
Add ?: optimization for constants in optim().
Fixes Jira#PCC-387 by Nicolas Joly.

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

Created: 2012-03-22 19:51:40 +0100 (2 years 3 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.48 annotated / raw | Diffs: previous, other | Lines: 426 ( +3, -2 )

Created: 2012-03-22 19:04:41 +0100 (2 years 3 months ago) | Author: plunky | Changeset: MAIN:plunky:20120322180441

fix some -Wtruncate errors

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

Created: 2011-08-14 16:52:29 +0200 (2 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20110814145229

Expressions casted to void do not need to be passed to clocal() for checks,
so do a quick cast and be done with it.  Fixes Jira#PCC-351 by Nicolas Joly.

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

Created: 2011-08-08 21:22:58 +0200 (2 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20110808192258

Propagate attributes down when removing PCONVs.
Do not discard *& when & is applied to a temporary.  If an address is taken
then the value must always be in memory.
Fixes Jira#PCC-374 by Iain Hibbert.

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

Created: 2011-08-03 21:21:05 +0200 (2 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20110803192105

Optimize away NOT/COMPL/UMINUS on constants also in optim().
Fix bug where type were not further propagated when rewriting trees.

1.44 annotated / raw | Diffs: previous, other | Lines: 415 ( +15, -8 )

Created: 2011-07-14 19:03:10 +0200 (2 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20110714170310

Cleanup a little and get everything go through the same return call.

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

Created: 2011-07-07 09:51:06 +0200 (3 years ago) | Author: ragge | Changeset: MAIN:ragge:20110707075106

Check for (x-y)+z where all vars are pointers to the same struct,
and remove the unneccessary mul/div. This has two advantages:
- Remove unneccessary mul+div.
- Give correct result even if some of the variables points to
 unaligned structs.  People may get surprised otherwise.
This fixes Jira#PCC-355 by Iain Hibbert.

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

Created: 2011-06-01 19:39:03 +0200 (3 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20110601173903

Modify makety() and add concast() to do SCONV of constants in MI code.
Remove unused complex code.

1.41 annotated / raw | Diffs: previous, other | Lines: 380 ( +2, -2 )

Created: 2011-05-31 17:28:11 +0200 (3 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20110531152811

Add variable statinit that is set when static (compile-time) initialization
is done, so that the compiler knows that it cannot generate code now.

1.40 annotated / raw | Diffs: previous, other | Lines: 380 ( +2, -2 )

Created: 2011-05-30 19:31:30 +0200 (3 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20110530173130

Make nodes for initializers always be constant, even if doing PIC,
independent of andable() (since they must be constant).
Simplifies large parts of the target-dependent code.

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

Created: 2011-05-30 05:45:53 +0200 (3 years 1 month ago) | Author: gmcgarry | Changeset: MAIN:gmcgarry:20110530034055

Remove set-but-unused variables.

1.38 annotated / raw | Diffs: previous, other | Lines: 382 ( +10, -13 )

Created: 2011-04-07 20:50:16 +0200 (3 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20110407185015

Rewrite the handling of type size/alignment to only need attributes
for size/align when something differs from default.  Hence; no need
for MKAP/MKSUE anymore.

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

Created: 2011-03-01 18:38:25 +0100 (3 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20110301173825

Optimize away left/right shifts if it is a constant shifted by a constant size.
This was earlier only done in buildtree() but would never happen if target-
specific code had changed leaves later.
Fixes Jira#PCC-267 by Gregory McGarry.

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

Created: 2010-10-09 15:22:10 +0200 (3 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20101009132210

Remove UMUL of ADDROF nodes.  They may occur if we are making PIC code
(i.e. andable() returns 0;).

Branch point for: r-1-0-0

Tags: r-1-0-0$BP

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

Created: 2010-08-11 16:08:44 +0200 (3 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20100811140844

Large change:  Modify the internal code to use the concepts of "attributes"
for nodes and symbol tables instead of keeping everything in the structs
used everywhere.  This will make modifications and additions of new features
simpler in the future.
That this will affect all targets more or less.

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

Created: 2010-04-05 19:37:26 +0200 (4 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20100405173726

Change some forgotten code to find the bottom type size; since type sizes
are not directly inherited anymore.  Fixes coredump bug by Iain Hibbert.

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

Created: 2010-03-28 00:46:11 +0100 (4 years 3 months ago) | Author: mickey | Changeset: MAIN:mickey:20100327234611

kill some commons; ragge@ ok

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

Created: 2008-10-27 22:13:20 +0100 (5 years 8 months ago) | Author: ragge | Changeset: MAIN:ragge:20081027211320

Add initial code to replace jumps with ands and shifts, but do not
enable it yet.

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

Created: 2008-04-12 19:16:27 +0200 (6 years 2 months ago) | Author: ragge | Changeset: MAIN:ragge:20080412171627

Do not merge two right shifts if the result is larger than type, it
is not the same.  Problem found when compiling the long long external
functions.

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

Created: 2008-02-06 19:23:00 +0100 (6 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20080206182300

Fix bug causing offsetof() not being evaluated as it should in an extern
initializer.  Reported by KAMADA Ken'ichi.

1.29 annotated / raw | Diffs: previous, other | Lines: 355 ( +2, -2 )

Created: 2007-11-18 18:24:57 +0100 (6 years 7 months ago) | Author: ragge | Changeset: MAIN:ragge:20071118172457

Rewrite enum handling.
In C99 enums are treated like INTs so convert them early to int.
Move the enum tag handling out of defid(), tags are in their own namespace.
This will be done with struct/union tags also.

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

Created: 2006-07-11 09:54:29 +0200 (7 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20060711075429

Discard PLUS/MINUS/OR/ER operations with 0.

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

Created: 2006-07-10 12:05:35 +0200 (8 years ago) | Author: ragge | Changeset: MAIN:ragge:20060710100535

Shifts must be promoted to int if smaller type.
DIVs converted to RS must have the shift count casted to int.
Missed type size in clocal() ICON SCONVs.

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

Created: 2006-07-09 15:02:40 +0200 (8 years ago) | Author: ragge | Changeset: MAIN:ragge:20060709130240

Complain about shifts > type size, and adjust it somewhat.

1.25 annotated / raw | Diffs: previous, other | Lines: 335 ( +14, -1 )

Created: 2006-07-03 17:00:44 +0200 (8 years ago) | Author: ragge | Changeset: MAIN:ragge:20060703150044

Optimize away unsigned DIV and MOD to shift and and.
Treat INCR/DECR instructions as assigns to catch side effects.

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

Created: 2006-06-29 07:43:32 +0200 (8 years ago) | Author: ragge | Changeset: MAIN:ragge:20060629054332

Cast float to double if no prototype is present.
Disable shift optim, must check for side effects.

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

Created: 2005-05-19 22:52:55 +0200 (9 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20050519205255

Smarter handling of inline-declared functions.
Fix shift optimization bug, needs more thinking.
Reset locctr after asm().

1.22 annotated / raw | Diffs: previous, other | Lines: 310 ( +28, -24 )

Created: 2005-03-02 17:37:16 +0100 (9 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20050302163716

Bugfix RS/LS optimizations.

1.21 annotated / raw | Diffs: previous, other | Lines: 306 ( +65, -3 )

Created: 2005-02-27 09:31:10 +0100 (9 years 4 months ago) | Author: ragge | Changeset: MAIN:ragge:20050227083110

Optimize left/right shifts slightly.

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

Created: 2005-02-05 16:55:49 +0100 (9 years 5 months ago) | Author: ragge | Changeset: MAIN:ragge:20050205155549

More fixes to deal with TEMP.

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

Created: 2004-06-21 10:19:47 +0200 (10 years ago) | Author: ragge | Changeset: MAIN:ragge:20040621081946

Add more entries to the table. Make void->char conversion MI.
Make struct returns work.

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

Created: 2004-05-10 23:35:58 +0200 (10 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20040510213558

Remove rest of TEMPs. Start adding a separate optimize step.

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

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

Change TEMPs to OREGs instead (discard TEMPs).

1.16 annotated / raw | Diffs: previous, other | Lines: 234 ( +3, -3 )

Created: 2003-09-12 16:53:29 +0200 (10 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20030912145329

Remove a bunch of UNARY and make U* instead.

1.15 annotated / raw | Diffs: previous, other | Lines: 234 ( +2, -2 )

Created: 2003-09-12 16:32:53 +0200 (10 years 9 months ago) | Author: ragge | Changeset: MAIN:ragge:20030912143253

UNARY AND -> ADDROF.

1.14 annotated / raw | Diffs: previous, other | Lines: 234 ( +7, -4 )

Created: 2003-08-18 11:04:07 +0200 (10 years 10 months ago) | Author: ragge | Changeset: MAIN:ragge:20030818090407

Add longlong or. Add register assign for bytes.
Call optim() in stref() to convert to constants early.

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

Created: 2003-08-02 18:23:34 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030802162334

Fix volatile propagation.

1.12 annotated / raw | Diffs: previous, other | Lines: 231 ( +2, -2 )

Created: 2003-07-29 11:25:15 +0200 (10 years 11 months ago) | Author: ragge | Changeset: MAIN:ragge:20030729092515

Last moveable checkin: Almost finished with conditional removal.

1.11 annotated / raw | Diffs: previous, other | Lines: 231 ( +1, -1 )

Created: 2003-07-07 16:57:15 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030707145715

Fix common V32-ish. Fix some wrong CVSid:s.

1.10 annotated / raw | Diffs: previous, other | Lines: 231 ( +55, -111 )

Created: 2003-07-07 16:42:38 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030707144238

Apply to 32V.

1.9 annotated / raw | Diffs: previous, other | Lines: 287 ( +1, -1 )

Created: 2003-07-07 16:23:40 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030707142340

Small prototype cleanup. Add Caldera copyright.

1.8 annotated / raw | Diffs: previous, other | Lines: 287 ( +28, -28 )

Created: 2003-07-03 15:53:52 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030703135351

Start walking towards not using a static node table.

1.7 annotated / raw | Diffs: previous, other | Lines: 287 ( +2, -2 )

Created: 2003-06-11 16:42:26 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030611144225

Change the dim pointers to an union, to be able to store function
prototype information in the same place.

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

Created: 2003-06-10 15:57:19 +0200 (11 years ago) | Author: ragge | Changeset: MAIN:ragge:20030610135719

Remove the dimension table (at last!).

1.5 annotated / raw | Diffs: previous, other | Lines: 287 ( +7, -4 )

Created: 2003-06-09 17:55:57 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030609155556

Large change: Replace the dimension index by a pointer to a struct containing
the related info.

1.4 annotated / raw | Diffs: previous, other | Lines: 284 ( +1, -1 )

Created: 2003-06-04 21:36:06 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030604193605

Split the symbol table into four different.
This is not yet finished, some ptr->int conversions exists.

1.3 annotated / raw | Diffs: previous, other | Lines: 284 ( +79, -79 )

Created: 2003-05-31 12:34:47 +0200 (11 years 1 month ago) | Author: ragge | Changeset: MAIN:ragge:20030531103446

Another step towards removing strange dependencies:
Change the node union to a struct with the elements in unions
instead of the poopsite. Keep it in node.h instead.

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

Created: 2002-03-25 23:52:36 +0100 (12 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20020325225236

Make pcc compile, and generate vax code.

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

Created: 2002-03-24 11:57:24 +0100 (12 years 3 months ago) | Author: ragge | Changeset: MAIN:ragge:20020324105723

Initial revision

Branch point for: BSD_44

Tags: BSD_44$BP

latest revision download Branch BSD_44

1.1.1.1 annotated / raw | Diffs: previous, other | Lines: 276 ( +0, -0 )

Created: 2002-03-24 11:57:24 +0100 (12 years 3 months ago) | Author: ragge | Changeset: BSD_44:ragge:20020324105723

Ipmort of the pcc working tree.

Tags: first

latest revision download Branch r-1-0-0

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

Created: 2011-03-01 18:40:21 +0100 (3 years 4 months ago) | Author: ragge | Changeset: r-1-0-0:ragge:20110301174021

Pullup rev r1.37 from mainline.

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-07-11 02:00 +0200