summaryrefslogtreecommitdiff
path: root/src/cmd/5g/cgen.c
AgeCommit message (Collapse)AuthorFilesLines
2011-09-13Imported Upstream version 60upstream/60Ondřej Surý1-0/+1328
2011-09-13Imported Upstream version 60Ondřej Surý1-1329/+0
2011-06-30Imported Upstream version 58upstream/58Ondřej Surý1-134/+83
2011-04-28Imported Upstream version 2011.04.27upstream/2011.04.27Ondřej Surý1-8/+10
2011-02-14Imported Upstream version 2011-02-01.1upstream/2011-02-01.1Ondřej Surý1-35/+69
2011-01-17Imported Upstream version 2011.01.12upstream/2011.01.12Ondřej Surý1-92/+140
2010-05-24gc: bug281 - bad overlap in stack copyRuss Cox1-0/+32
Fixes issue 807. R=ken2 CC=golang-dev http://codereview.appspot.com/1283041
2010-04-01runtime: turn run time errors checks into panicsRuss Cox1-2/+2
R=ken2, r CC=golang-dev http://codereview.appspot.com/871042 Committer: Russ Cox <rsc@golang.org>
2010-03-056g complex type usableKen Thompson1-0/+18
8g and 5g have stubs to ignore complex R=rsc CC=golang-dev http://codereview.appspot.com/257042
2010-01-15Don't check array bounds if we have been told not to.Ian Lance Taylor1-1/+1
Fixes range.go test for 6g. R=rsc CC=golang-dev http://codereview.appspot.com/189093
2009-12-026g etc: groundwork for eliminating redundant bounds checks.Russ Cox1-2/+2
drop check in range over array. drop check in [256]array indexed by byte. R=ken2 http://codereview.appspot.com/163088
2009-11-16s/AJMP/AB/ to fix build breakage.Kai Backman1-3/+3
R=rsc http://codereview.appspot.com/155069
2009-11-15gc: fix up floating point NaN comparisonsRuss Cox1-1/+12
Fixes issue 167. R=ken2 http://codereview.appspot.com/155062
2009-11-06fix argument order bug for floatKai Backman1-2/+1
R=rsc http://go/go-review/1025006
2009-10-30added missing sgen reverse character copy code.Kai Backman1-1/+24
R=rsc http://go/go-review/1018006
2009-10-27shift for non-64 bit integers.Kai Backman1-2/+5
R=rsc http://go/go-review/1015017
2009-10-26bug162, large indices on nil referencesKai Backman1-0/+10
R=rsc http://go/go-review/1013016
2009-10-24 fix conditional branch instructions for unsigned ints andKai Backman1-18/+10
float. fix sgen endianess in sgen character copying. go/test: passes 97% (336/345) R=rsc http://go/go-review/1015007
2009-10-23 fixed len/cap for chan. disable gc for now.Kai Backman1-1/+26
go/test: passes 93% (323/345) R=rsc http://go/go-review/1015006
2009-10-23fix broken code produced for ominusKai Backman1-5/+10
go/test: passes 89% (308/345) R=rsc APPROVED=rsc DELTA=10 (5 added, 0 deleted, 5 changed) OCL=36005 CL=36021
2009-10-19removed tempalloc/tempfree and replaced with tempnameKai Backman1-18/+8
go/test: passes 88% (304/345) R=rsc APPROVED=rsc DELTA=67 (3 added, 54 deleted, 10 changed) OCL=35910 CL=35910
2009-10-15fix OINDEX address generation, leftover misunderstanding aboutKai Backman1-0/+8
how scale works on amd64/386 go/test: passes 85% (294/342) R=rsc APPROVED=rsc DELTA=27 (26 added, 1 deleted, 0 changed) OCL=35815 CL=35818
2009-10-1164bit and float code generation. fmt compiles butKai Backman1-4/+39
reflect is broken so fmt doesn't work. go/test: passes 83% (285/342) R=rsc APPROVED=rsc DELTA=415 (240 added, 29 deleted, 146 changed) OCL=35576 CL=35588
2009-10-09floating point calc, added a few more packages that passKai Backman1-1/+43
go/test: passes 80% (274/340) R=rsc APPROVED=rsc DELTA=61 (59 added, 0 deleted, 2 changed) OCL=35506 CL=35517
2009-10-06cleaned up cgen() to be a bit more straightforward.Kai Backman1-58/+48
R=rsc APPROVED=rsc DELTA=104 (46 added, 56 deleted, 2 changed) OCL=35392 CL=35394
2009-10-0664 bit cmp and some sgen tweaksKai Backman1-4/+26
go/test: passes 75% (256/339) R=rsc APPROVED=rsc DELTA=142 (53 added, 4 deleted, 85 changed) OCL=35367 CL=35375
2009-10-02a few more code generation bugs and an interface alignment issue.Kai Backman1-3/+24
go/test: passes 74% (251/339) R=rsc APPROVED=rsc DELTA=40 (34 added, 0 deleted, 6 changed) OCL=35254 CL=35275
2009-09-30fixed a few calls to gcmp and some really bothched OINDEX codeKai Backman1-8/+17
(how did that happen?) go/test: passes 70% (238/339) R=rsc APPROVED=rsc DELTA=18 (10 added, 0 deleted, 8 changed) OCL=35185 CL=35188
2009-09-30load binary op arguments into registersKai Backman1-9/+1
go/test: passes 69% (237/339) R=rsc APPROVED=rsc DELTA=12 (3 added, 9 deleted, 0 changed) OCL=35178 CL=35180
2009-09-28- added gcmp for proper ACMP generation, changed all callKai Backman1-57/+80
sites plus optimized constant code a bit (one less register used). - changed conditional branches, might need a re-tweak later - gave up on agen OINDEX and copied/fixed the version in 8g go/test: passes 66% (225/339) R=rsc APPROVED=rsc DELTA=148 (67 added, 32 deleted, 49 changed) OCL=35040 CL=35055
2009-09-22fix bad code generation.Kai Backman1-5/+0
go/test: passes 64% (215/337) tests metric updated, had total number of tests wrong. number of failing tests is down from 129 to 122. R=rsc APPROVED=rsc DELTA=228 (12 added, 5 deleted, 211 changed) OCL=34897 CL=34899
2009-09-17fix code generation of CMP to use registers properly. also fixKai Backman1-15/+43
one case of uninitialized memory and some output. R=rsc APPROVED=rsc DELTA=73 (43 added, 1 deleted, 29 changed) OCL=34743 CL=34772
2009-09-15use register intermediateKai Backman1-1/+8
R=rsc APPROVED=rsc DELTA=21 (7 added, 5 deleted, 9 changed) OCL=34607 CL=34663
2009-09-14make 5g, 8g build again by disabling init code.Russ Cox1-4/+0
R=ken OCL=34604 CL=34604
2009-08-24gc: handle iface == nil in back endRuss Cox1-0/+19
R=ken OCL=33778 CL=33781
2009-08-21mostly 64 bit support.Kai Backman1-64/+117
- fixed a number of places where we tried to allocate 64bit regs. added honeypot in regalloc to catch these in the future. - implemented quad copying in sgen - cgen64.c, add, mul - clearfat done - D_REGREG output from 5g (linker already knew about them) - gmove done - optoas almost done, last bit probably not needed - D_SHIFT support in list.c R=rsc APPROVED=rsc DELTA=963 (711 added, 112 deleted, 140 changed) OCL=33619 CL=33688
2009-08-19more work on adding in pieces. fixed my bad assumptions aboutKai Backman1-19/+4
signed and unsigned integer conversions. R=rsc APPROVED=rsc DELTA=398 (40 added, 230 deleted, 128 changed) OCL=33546 CL=33569
2009-08-18pkg/sort compiling and some progress on syscall. mostlyKai Backman1-13/+20
re-enabling and massaging code. R=rsc APPROVED=rsc DELTA=2496 (1880 added, 330 deleted, 286 changed) OCL=33487 CL=33504
2009-07-30typechecking checkpoint.Russ Cox1-3/+3
started to move typechecking to another file. can build entire tree still, but lots of work is duplicated. much to clean up. R=ken OCL=32536 CL=32543
2009-07-28fix error that gcc thinks is a warningRuss Cox1-1/+1
R=ken OCL=32264 CL=32386
2009-07-27avoid register computing len(x), cap(x)Russ Cox1-0/+14
for slice or string x. R=ken OCL=32249 CL=32249
2009-07-13tiny naming cleanupKai Backman1-17/+17
R=rsc APPROVED=rsc DELTA=17 (0 added, 0 deleted, 17 changed) OCL=31503 CL=31579
2009-07-06cleaned up data generation in 5g, reverted 5l handling of D_ADDR.Kai Backman1-15/+15
R=rsc APPROVED=rsc DELTA=46 (0 added, 5 deleted, 41 changed) OCL=31241 CL=31243
2009-07-06agen, sgen, cgen_callret, cgen_asop, D_ADDR handling, gmoveKai Backman1-262/+295
8bit and 16bit, some optoas, replaced Addr.index with Addr.name empty function compiles, mutex compiles R=rsc APPROVED=rsc DELTA=908 (83 added, 41 deleted, 784 changed) OCL=31127 CL=31188
2009-06-26working on bgenKai Backman1-25/+13
- removed smallint optimizations - lifted raddr from 5c - add back %R, was used in gc/* causing -g to crash - changed naddr OREGISTER to emit D_REG instead of D_OREG R=rsc APPROVED=rsc DELTA=74 (38 added, 28 deleted, 8 changed) OCL=30799 CL=30822
2009-06-23fix a 6g crash after type errors.Russ Cox1-11/+7
do not bother warning about marks left on stack after syntax errors. leave OCONV nodes in tree to avoid type errors arising from multiple walks. R=ken OCL=30639 CL=30662
2009-05-28Rebooted 5g effort from 6g. Tons of minor fixes and tweaks toKai Backman1-826/+828
get the code going. R=rsc APPROVED=rsc DELTA=4752 (1723 added, 948 deleted, 2081 changed) OCL=29403 CL=29530
2009-05-01Copied 8g/6g into 5g. Used sharp tools to coax a .5 file outKai Backman1-0/+923
of 5g. 5l balks at the output and running 5g with -S shows the true extent of the disaster. Still, better than yesterday. Maybe. Tested on the canonical: package main func main() { } R=rsc APPROVED=rsc DELTA=4182 (4181 added, 0 deleted, 1 changed) OCL=27601 CL=28175