summaryrefslogtreecommitdiff
path: root/src/cmd/6g/gsubr.c
AgeCommit message (Collapse)AuthorFilesLines
2009-03-30move portable code generation (basic statements) to gc.Russ Cox1-0/+18
R=ken OCL=26929 CL=26929
2009-03-30move some portable pieces of 6g/gsubr.c into gc/subr.cRuss Cox1-244/+0
int brcom(int); int brrev(int); void setmaxarg(Type*); Sig* lsort(Sig*, int(*)(Sig*, Sig*)); int dotoffset(Node*, int*, Node**); void stringpool(Node*); void tempname(Node*, Type*); R=ken OCL=26922 CL=26922
2009-03-30delete dregs: inarggen, genpanic, regretRuss Cox1-8/+0
R=ken OCL=26916 CL=26918
2009-03-12make 6g constants behave as ken proposes. (i hope.)Russ Cox1-12/+1
various bug fixes and tests involving constants. test/const1.go is the major new test case. R=ken OCL=26216 CL=26224
2009-02-026g return struct fix:Russ Cox1-3/+1
make t->width of funarg struct be width of struct. emit MOVSL for 4-byte copy. R=ken OCL=24108 CL=24111
2009-01-30two uses of uninitialized memory,Russ Cox1-1/+2
picked up by valgrind. fixes test/escape.go on linux. R=ken OCL=23971 CL=23971
2009-01-30update compiler to new func rulesRuss Cox1-2/+28
R=ken OCL=23958 CL=23961
2009-01-29if take address of local, move to heap.Russ Cox1-0/+12
heuristic to not print bogus strings. fix one error message format. R=ken OCL=23849 CL=23851
2009-01-28fix possible infinite recursion in eqtype.Russ Cox1-1/+3
don't use intermediate register to move 32-or-fewer-bit immediate constants into memory. R=ken OCL=23726 CL=23726
2009-01-15remove export name-list statement.Russ Cox1-4/+0
make package local the default. warn about name case not matching export keyword. R=ken OCL=22881 CL=22886
2009-01-13in 6g -r (the rsc flag),Russ Cox1-2/+52
rewrite heap pointer moves as xchg. R=ken OCL=22665 CL=22665
2009-01-09clean up automatic indirect, delete some dead code.Russ Cox1-1/+0
R=ken OCL=22454 CL=22457
2009-01-096g cleanup suggested by ken.Russ Cox1-2/+2
remove TPTR wrapper around TMAP, TCHAN, TSTRING. R=ken OCL=22406 CL=22409
2009-01-08many interface bug fixes.Russ Cox1-4/+22
also, after func g() (int, int) func f(int, int) allow f(g()) and func h() (int, int) { return g() } R=ken DELTA=356 (252 added, 26 deleted, 78 changed) OCL=22319 CL=22325
2009-01-06comment sudoaddable;Russ Cox1-2/+14
remove unused second parameter. R=ken OCL=22126 CL=22126
2009-01-05add comments and delete dead codeRuss Cox1-25/+47
R=ken OCL=22078 CL=22080
2008-12-19portability bugKen Thompson1-4/+4
cant assign to closed array R=r OCL=21634 CL=21634
2008-12-14even more code improvementKen Thompson1-63/+32
R=r OCL=21160 CL=21160
2008-12-14more code optimizationKen Thompson1-38/+257
R=r OCL=21159 CL=21159
2008-12-13code generationKen Thompson1-15/+24
R=r OCL=21146 CL=21146
2008-12-13code improvementKen Thompson1-0/+129
R=r OCL=21144 CL=21144
2008-11-22reg and peepKen Thompson1-56/+96
R=r OCL=19871 CL=19871
2008-11-18first cut at optimizingKen Thompson1-71/+3
R=r OCL=19564 CL=19564
2008-11-11width fixes.Russ Cox1-0/+2
* check for uncomputed struct offsets * distinguish function structs from ordinary structs * make sure function structs are not examined in isolation R=ken OCL=19005 CL=19005
2008-11-06s/gins/gbranch/Russ Cox1-6/+4
R=ken OCL=18713 CL=18713
2008-11-06change minimum sethi/ullman number to 1Russ Cox1-1/+1
to distinguish not computed (0) vs trivial (1). add missing ullmancalc on function args. R=ken OCL=18711 CL=18711
2008-11-01DOTDOTDOTKen Thompson1-0/+1
R=r OCL=18317 CL=18317
2008-10-29the end of life as we know itKen Thompson1-6/+7
int is new type R=r OCL=18023 CL=18023
2008-10-22do not use fake names on anonymous function return valuesRuss Cox1-3/+1
R=ken OCL=17679 CL=17679
2008-10-04bug 026Ken Thompson1-14/+0
R=r OCL=16494 CL=16494
2008-10-03silence gcc warningsRuss Cox1-1/+1
R=ken OCL=16449 CL=16466
2008-09-22now method/interface codeKen Thompson1-40/+3
R=r OCL=15627 CL=15627
2008-09-14methods on any typeKen Thompson1-3/+3
-- but only *struct tested R=r OCL=15326 CL=15326
2008-09-13package name on signatures thru renameKen Thompson1-1/+1
R=r OCL=15314 CL=15314
2008-09-13Automated g4 rollback of changelist 15312.Ken Thompson1-1/+1
*** Reason for rollback *** <enter reason for rollback> *** Original change description *** correct signal name thru package rename R=r OCL=15313 CL=15313
2008-09-13correct signal name thru package renameKen Thompson1-1/+1
R=r OCL=15312 CL=15312
2008-09-10bug generating duplicate interface signaturesKen Thompson1-1/+5
R=r OCL=15119 CL=15119
2008-08-28get rid of static/dynamic array distinctionKen Thompson1-1/+0
R=r OCL=14634 CL=14634
2008-08-11floating <= and >= compareKen Thompson1-8/+8
R=r DELTA=8 (0 added, 0 deleted, 8 changed) OCL=14091 CL=14091
2008-08-08mp constantsKen Thompson1-76/+88
R=r DELTA=381 (142 added, 26 deleted, 213 changed) OCL=14011 CL=14016
2008-08-03make 6a, 6c, 6g, 6l, libmach_amd64 build on 64-bit gcc.Russ Cox1-4/+4
these guys really really want long to be 32-bits, so ,s/long/int32/ (and then manual fixup). still passes all tests. (i started out looking for just those longs that needed to be int32 instead, and it was just too hard to track them down one by one.) the longs were rare enough that i don't think it will cause integration problems. R=ken OCL=13787 CL=13789
2008-07-07more coroutineKen Thompson1-1/+0
fixed a,b,c := x,x,x SVN=126250
2008-06-28more line numbersKen Thompson1-6/+5
SVN=125265
2008-06-28more line numbersKen Thompson1-0/+6
SVN=125261
2008-06-26better line numbersKen Thompson1-1/+1
SVN=125018
2008-06-24string nil same as string ""Ken Thompson1-2/+5
SVN=124381
2008-06-21redeclarations of variables in the same block.Ken Thompson1-14/+14
half-step toward multivalued map indexing SVN=124019
2008-06-16added and, or, xor opcodesKen Thompson1-0/+66
SVN=123031
2008-06-11import/exportKen Thompson1-0/+6
SVN=122309
2008-06-10mode elf tossingKen Thompson1-12/+12
SVN=121962