Commit Graph

735 Commits

Author SHA1 Message Date
Jonas Maebe
a68ca7eb2a * fixed web bug #4768 + test
git-svn-id: trunk@2479 -
2006-02-08 19:22:26 +00:00
peter
4bee83c736 * range check errors
git-svn-id: trunk@2402 -
2006-02-02 09:03:02 +00:00
florian
8cd8e4ba8d + basic dwarf support for variables and types
git-svn-id: trunk@2353 -
2006-01-28 16:06:08 +00:00
florian
b06643a1eb * tai_const refactored
git-svn-id: trunk@2323 -
2006-01-22 12:58:38 +00:00
florian
aa176601fb + added more dwarf sections
git-svn-id: trunk@2318 -
2006-01-21 21:22:47 +00:00
Jonas Maebe
ef4ece3674 * fixed allocregbetween in case the first removed tai_regalloc is an
allocation

git-svn-id: trunk@2241 -
2006-01-09 10:07:14 +00:00
tom_at_work
c887507adf * generic compiler patches for ppc64/linux PIC code
git-svn-id: trunk@2222 -
2006-01-08 13:27:31 +00:00
florian
e43a1223ff * fixed refs book keeping
git-svn-id: trunk@2211 -
2006-01-07 21:10:39 +00:00
Jonas Maebe
1521a33979 * fixed allocregdebug code
git-svn-id: trunk@2204 -
2006-01-07 15:01:46 +00:00
Jonas Maebe
5692b93a52 * fixed bug in regalloc info in case a sequence is swapped with
a storeback at the end (i.e., "mov x,y" ... "mov y,x")

git-svn-id: trunk@2197 -
2006-01-06 15:29:25 +00:00
Jonas Maebe
a885e9da0e * fixed replaceregdebug code
git-svn-id: trunk@2196 -
2006-01-06 14:55:42 +00:00
florian
f7d2c47f73 + no stackframe is generated for i386 if possible
git-svn-id: trunk@2162 -
2006-01-04 19:19:06 +00:00
florian
61e3b70cfa * cleaned up segmented thread variables
git-svn-id: trunk@2135 -
2006-01-03 12:49:29 +00:00
florian
fb4557d71e * first implementation of pic for i386
git-svn-id: trunk@2107 -
2006-01-01 20:14:48 +00:00
florian
008da5b11c + new cpus/fpus added
git-svn-id: trunk@2101 -
2006-01-01 12:41:39 +00:00
peter
717c2172eb * support db $01 db $02
git-svn-id: trunk@1996 -
2005-12-20 07:59:11 +00:00
florian
bec0daebfa + optimized <dword> div <const dword>
git-svn-id: trunk@1993 -
2005-12-19 22:19:43 +00:00
peter
5942d23b1b * fix range error
git-svn-id: trunk@1974 -
2005-12-16 17:24:00 +00:00
florian
3582108be1 * signed divisions with constants are always done without idiv
git-svn-id: trunk@1965 -
2005-12-15 22:36:48 +00:00
florian
5ea49bedd0 * fixed handling of imul with one parameter
git-svn-id: trunk@1964 -
2005-12-15 22:36:16 +00:00
Jonas Maebe
b507ddae51 * fixed crash when an optimized sequence extends till the start of an
assembler block

git-svn-id: trunk@1869 -
2005-12-02 11:09:13 +00:00
florian
a3ed7cbd12 + check validity of -Oa parameter
git-svn-id: trunk@1559 -
2005-10-22 15:09:39 +00:00
peter
19eaf660c2 * more flexibel support for typecasting to different sizes
fixes tw4450
      

git-svn-id: trunk@1544 -
2005-10-20 11:13:49 +00:00
Jonas Maebe
867aaef744 * fixed restoring of register contents one instruction too far when removing
a previous unused load

git-svn-id: trunk@1465 -
2005-10-18 09:31:54 +00:00
florian
8b01dce70a * cmov ref,reg disabled because ref might be never nil
git-svn-id: trunk@1407 -
2005-10-16 12:25:58 +00:00
Jonas Maebe
8b82f90b27 * fixed overflows in counters used for operands in case opcode without
operands

git-svn-id: trunk@1323 -
2005-10-08 12:02:39 +00:00
Jonas Maebe
8471e10137 * fixed tw4266
git-svn-id: trunk@1317 -
2005-10-07 16:48:51 +00:00
peter
affb69dd7f * fixed const and reg parameter passing with alignment of 2 (go32v2/os2)
git-svn-id: trunk@1307 -
2005-10-06 07:29:41 +00:00
Jonas Maebe
c3a5f88a7b * fixed webtbs/tw4388: properly process regalloc info coming right after
a tai_marker of type asmblockend, and fixed removal of too many
    tai_regallocs in some cases (daopt386.pas)
  * some preventive fixes to make sure the optimizer doesn't start optimizing
    inside inline assembler blocks (csopt386.pas)

git-svn-id: trunk@1284 -
2005-10-04 13:30:13 +00:00
peter
89297d2c39 * move all stabs ($ifdef gdb) code to dbgstabs
git-svn-id: trunk@1255 -
2005-10-02 11:17:05 +00:00
peter
e5ca17b598 * fix compilation for r1224
git-svn-id: trunk@1235 -
2005-09-30 05:59:34 +00:00
Jonas Maebe
f3384bab09 + some initial darwin/x86 stuff:
* align stack to 16 bytes
    * extended takes 16 bytes
    * <= 8 byte records are passed in registers

git-svn-id: trunk@1224 -
2005-09-29 11:31:26 +00:00
peter
82faa95118 * lineinfo fixed for binary writer
* add tai_directive to replace old tai_direct calls
    in powerpc

git-svn-id: trunk@1139 -
2005-09-19 11:47:30 +00:00
peter
a3ab2053c9 * support multiple asmlabel types, renamed getlabel to
getjumplabel and added type para to getlabel for specific types
  * moved lineinfo generation from assemble and aggas to dbgstabs

git-svn-id: trunk@1120 -
2005-09-18 21:16:10 +00:00
florian
23d1caba7e * allow type postfix like: [esi].currency
git-svn-id: trunk@1098 -
2005-09-17 18:09:47 +00:00
florian
d56e29b9dd * fixed previous commit
git-svn-id: trunk@1097 -
2005-09-17 17:54:26 +00:00
florian
8c6316ce2a * allow byte, word, dword, qword as size qualifier
git-svn-id: trunk@1096 -
2005-09-17 17:12:27 +00:00
peter
ca66b9f7c1 * force writing of new section before generating the jumptable
git-svn-id: trunk@1085 -
2005-09-15 14:08:02 +00:00
peter
fdc4925fcd * basic framework for debuginfo class added
git-svn-id: trunk@1084 -
2005-09-15 08:34:51 +00:00
peter
c3727c29b2 * rename al_code to al_procedures, al_bss/al_data to al_globals
* more work for section smartlinking

git-svn-id: trunk@1083 -
2005-09-15 06:51:12 +00:00
michael
3392189fb0 + Implemented resources for ELF
git-svn-id: trunk@956 -
2005-08-28 09:35:35 +00:00
peter
05a628447f * put typedconsts in own asmlist to prevent mixing
array and string data
  * added al_rodata
  * renamed tasmlist enum names to include al_ prefix

git-svn-id: trunk@899 -
2005-08-17 08:42:52 +00:00
florian
db68fb68b4 * updated to nasm 0.98.39 and insns.dat Rev. 1.46
git-svn-id: trunk@836 -
2005-08-09 20:15:58 +00:00
florian
9be5247db5 * dyn. arrays are always passed by value, fixes 4240
git-svn-id: trunk@800 -
2005-08-05 21:52:58 +00:00
florian
804207239d *c <int64>:=-<longint> fixed (bug 4253)
git-svn-id: trunk@796 -
2005-08-05 19:00:30 +00:00
florian
a2fd319a20 * nx86cnv.pas must set ctypeconv node properly
* nx86cnv must be used

git-svn-id: trunk@787 -
2005-08-03 20:29:38 +00:00
florian
b222cc7519 - n386cnv.pas removed, was empty
git-svn-id: trunk@786 -
2005-08-03 20:21:55 +00:00
peter
2e00bd1480 * support local labels in references
git-svn-id: trunk@764 -
2005-07-29 07:06:12 +00:00
florian
5df84f7222 * cvtxx2yy has now proper modification information
git-svn-id: trunk@757 -
2005-07-26 21:06:02 +00:00
daniel
22e89e1a42 * Proof of concept: Support threadvars using segment registers.
git-svn-id: trunk@740 -
2005-07-24 21:06:23 +00:00