Jonas Maebe
1dd5fc2b47
* changed first_sse_imreg to first_mm_imreg
2004-07-09 23:30:13 +00:00
peter
b6ed8c482b
* varargs calculation fixed, it's now the same as the other
...
targets
2004-07-09 23:09:02 +00:00
peter
4445ae854d
* fixed parsing of strings in db
2004-07-06 19:47:19 +00:00
peter
b55648ad7d
* align directive added
2004-06-23 14:54:46 +00:00
florian
8a9758c5e2
* logs truncated
2004-06-20 08:55:28 +00:00
florian
588e2c38bf
* dwarf branch merged
2004-06-16 20:07:06 +00:00
peter
7dd6b85e01
* fix shl/shr with value > 63
2004-05-23 14:10:17 +00:00
peter
5358278ca1
tai_regalloc.allocation changed to ratype to notify rgobj of register size changes
2004-05-22 23:34:27 +00:00
florian
b5bf8cefad
+ <pointer> - <pointer> result is divided by the pointer element size now
...
this is delphi compatible as well as resulting in the expected result for p1+(p2-p1)
2004-05-20 21:54:33 +00:00
peter
6fc2ea345d
* extra typecast to prevent range check
2004-05-19 23:30:18 +00:00
florian
c68ea95074
+ syscall directive support for MorphOS added
2004-04-28 15:19:03 +00:00
peter
ffb2785d2b
* A_MOVSL renamed to A_MOVSD
2004-04-09 14:36:05 +00:00
peter
406eb57a59
* MOVSL fixed
2004-04-08 16:49:42 +00:00
olle
ea51b18d9b
* bugfix for multiline string constants
2004-03-17 12:03:00 +00:00
Jonas Maebe
74836e0d0d
* fixed refaddr bug that caused go32v2 cycle failure
2004-03-14 18:42:32 +00:00
florian
61f15e4ec4
* make cycle fixed
...
+ pic support for darwin
+ support of importing vars from shared libs on darwin implemented
2004-03-02 17:32:12 +00:00
olle
4fecc1a56f
* big transformation of Tai_[const_]Symbol.Create[data]name*
2004-03-02 00:36:32 +00:00
Jonas Maebe
401d1891ae
* fixed bug in ref_addr changes
2004-02-28 16:59:02 +00:00
Jonas Maebe
756dd463ff
* fixed optimizer for new treference fields
2004-02-27 19:55:23 +00:00
olle
d6382f17f2
+ added Tai_symbol_end
2004-02-27 13:42:52 +00:00
florian
fabb9c33ac
* top_symbol killed
...
+ refaddr to treference added
+ refsymbol to treference added
* top_local stuff moved to an extra record to save memory
+ aint introduced
* tppufile.get/putint64/aint implemented
2004-02-27 10:21:04 +00:00
Jonas Maebe
5332b623ad
* fixed bugs that caused pasjpeg crashes
2004-02-25 20:39:58 +00:00
florian
0c35b6f3c4
* x86_64 uses generic concatcopy_valueopenarray for now
2004-02-22 16:48:09 +00:00
florian
00dbe6655d
+ nx86set added
...
* some more x86-64 fixes
2004-02-22 12:04:04 +00:00
peter
e6929a1a32
* more x86_64 parameter fixes
...
* tparalocation.lochigh is now used to indicate if registerhigh
is used and what the type is
2004-02-09 22:14:17 +00:00
peter
221090453c
* x86_64 fixes for opsize
2004-02-05 18:28:37 +00:00
florian
465aa5851b
* several fixes to compile x86-64 system
2004-02-05 01:24:08 +00:00
peter
8c5b0f7d82
* first try to get cpupara working for x86_64
2004-02-04 22:01:13 +00:00
peter
8012731ede
*** empty log message ***
2004-02-04 19:22:27 +00:00
peter
ecfbbeffc3
* renamed xNNbittype to xNNinttype
...
* renamed registers32 to registersint
* replace some s32bit,u32bit with torddef([su]inttype).def.typ
2004-02-03 22:32:53 +00:00
peter
8a86aad56d
* remove previous commit
2004-02-03 21:19:40 +00:00
peter
7ca069476f
*** empty log message ***
2004-02-03 16:53:37 +00:00
florian
e35b683e4d
+ added prefetch(const mem) support
2004-02-02 20:41:59 +00:00
peter
64d60391bd
* fixed crashes when procdef.funcretsym is not valid
2004-01-22 16:14:17 +00:00
florian
c37035a450
* common addnode code for x86-64 and i386
2004-01-20 12:59:36 +00:00
florian
85bed883ce
* another bunch of x86-64 fixes mainly calling convention and
...
assembler reader related
2004-01-14 23:39:05 +00:00
peter
60814ccb16
* disable addmmxset
2004-01-14 17:19:04 +00:00
peter
42c6e9323b
* sparc updates, mostly float related
2004-01-12 16:39:40 +00:00
florian
d38abc3a3f
+ setting of bit 6 of cr for c var args on ppc implemented
2003-12-28 22:09:12 +00:00
florian
ace2d682b0
* rtl and compiler compile with -Cfsse2
2003-12-26 13:19:16 +00:00
florian
dd2bb53aa5
+ possible sse2 unit usage for double calculations
...
* some sse2 assembler issues fixed
2003-12-25 12:01:35 +00:00
florian
06442fa677
+ $fputype directive support
...
+ single data type operations with sse unit
* fixed more x86-64 stuff
2003-12-25 01:07:09 +00:00
florian
9c476ba5f1
- delete parameter in cg64 methods removed
2003-12-24 00:10:02 +00:00
peter
3afcfd7f86
* extnumber failure is $ffff instead of -1
...
* fix non-vmt call for register calling on i386
2003-12-23 23:12:44 +00:00
peter
29cae38f12
* overlfow support in second_mul
2003-12-23 22:13:41 +00:00
peter
ed708a0650
* more byte->word
2003-12-23 19:52:55 +00:00
peter
e6d9331341
* overflow for instruction counters
2003-12-22 23:11:41 +00:00
peter
8fe15f4c99
* removed unused checkobject method
2003-12-22 23:08:59 +00:00
daniel
448e336682
* Some work to allow mmx instructions to be used for 32 byte sets
2003-12-21 11:28:41 +00:00
Jonas Maebe
bade472032
* fixed some more optimizer bugs, make cycle now works with -O2p3,
...
-O2p3u, -O3p3 and -O3p3u
2003-12-20 22:53:33 +00:00
daniel
d84b7d0743
* Some work to restore the MMX capabilities
2003-12-19 22:08:44 +00:00
peter
a529392b93
* register call fix
2003-12-17 21:59:59 +00:00
peter
1367e342db
* reg allocations for imaginary register are now inserted just
...
before reg allocation
* tregister changed to enum to allow compile time check
* fixed several tregister-tsuperregister errors
2003-12-15 21:25:48 +00:00
Jonas Maebe
6abc491796
- disable removal of dead loads before a call, because register
...
parameters are released before a call
* fix storeback of registers in case of different sizes (e.g., first
a "movl %eax,%edx" and later a "movb %dl,%al")
2003-12-15 16:08:15 +00:00
peter
2057dbd01a
* fix statedebug compile
2003-12-15 15:58:58 +00:00
peter
9cc9068dc9
* wasm args fix from wiktor
2003-12-15 15:58:17 +00:00
peter
c98d2211bc
* fixed range check errors
2003-12-14 22:42:39 +00:00
peter
39b4e0398a
* fixed csdebug
2003-12-14 22:42:14 +00:00
peter
19b2170ee4
* optimizer works again with 1.0.x
...
* fixed wrong loop in FindRegWithConst
2003-12-14 14:18:59 +00:00
Jonas Maebe
942cfc9aac
* isgp32reg was being called with both tsuperregister and tregister
...
parameters, so changed type to tsuperregister (fixes bug reported by
Bas Steendijk)
* improved regsizesok() checking so it gives no false positives anymore
2003-12-13 15:48:47 +00:00
peter
41bf3e473c
* int64 shl/shr > 63 returns 0
2003-12-10 17:28:41 +00:00
peter
cea1da4a1e
* fix loading of word/byte to real
2003-12-08 15:35:00 +00:00
Jonas Maebe
f3d82160b1
* fixed some more bugs which only showed up in a ppc cross compiler
2003-12-07 19:19:56 +00:00
florian
bfe452936f
* reverted Peter's alloctemp patch; hopefully properly
2003-12-06 01:15:22 +00:00
peter
64b0a0eadf
* delayed paraloc allocation, a_param_*() gets extra parameter
...
if it needs to allocate temp or real paralocation
* optimized/simplified int-real loading
2003-12-03 23:13:19 +00:00
peter
9aba5c8c7a
* fixed some crashes
...
* fixed varargs and register calling probs
2003-12-01 18:44:15 +00:00
peter
1b0d0ca3c4
* s128real type is not compatible with s80real
2003-12-01 18:43:31 +00:00
florian
ea754b9a49
* fixed several pi_do_call problems
2003-11-29 20:13:25 +00:00
florian
11c5331fbf
+ nasmelf mode for BeOS
...
+ DQWORD directive in intel assembler mode
2003-11-29 15:53:06 +00:00
peter
bc762e9af4
* support type()
2003-11-29 14:41:02 +00:00
Jonas Maebe
7f4a3bf1a9
* fixed bug which only showed up in the ppc crosscompiler :)
2003-11-28 18:49:05 +00:00
peter
b26e3c444a
* reversed offset calculation for caller side so it works
...
correctly for interfaces
2003-11-28 17:24:22 +00:00
peter
51384ca53c
* register calling is left-right
...
* parameter ordering
* left-right calling inserts result parameter last
2003-11-23 17:05:15 +00:00
Jonas Maebe
7128b3fdd2
* fixed double unit usage
2003-11-22 13:10:32 +00:00
Jonas Maebe
aad37ce53c
* fixed optimiser so it compiles again
...
* fixed several bugs which were in there already for a long time, but
which only popped up now :) -O2/-O3 will now optimise less than in
the past (and correctly so), but -O2u/-O3u will optimise a bit more
* some more small improvements for -O3 are still possible
2003-11-22 00:40:19 +00:00
Jonas Maebe
52980d5488
* fixed properties for MOVSB
2003-11-22 00:35:42 +00:00
Jonas Maebe
16834b1854
* fixed XSTORE instruction info
2003-11-13 18:54:22 +00:00
florian
1af574ceca
* assembler readers OOPed
...
+ typed currency constants
+ typed 128 bit float constants if the CPU supports it
2003-11-12 16:05:39 +00:00
peter
50f8604526
* check for push_addr
2003-11-11 21:11:23 +00:00
peter
517c5de6aa
* line numbering is now only done when #10 , #10#13 is really parsed
...
instead of when it is the next character
2003-11-10 19:08:32 +00:00
florian
bbf7300a0c
* Florian's culmutative nr. 1; contains:
...
- invalid calling conventions for a certain cpu are rejected
- arm softfloat calling conventions
- -Sp for cpu dependend code generation
- several arm fixes
- remaining code for value open array paras on heap
2003-11-07 15:58:32 +00:00
florian
8b337fb5ef
+ type cast variant<->enum
...
* cnv. node second pass uses now as well helper wrappers
2003-11-04 22:30:15 +00:00
peter
48ef24605a
* support scalefactor for opr_local
...
* support reference with opr_local set, fixes tw2631
2003-10-30 19:59:00 +00:00
peter
bef3bb7b22
* fix field offset in reference
2003-10-29 16:47:18 +00:00
peter
5925d38ac7
* support indexing and offset retrieval for locals
2003-10-29 15:40:20 +00:00
peter
d28f3dfdae
* fixed trec.field to return constant
2003-10-27 15:29:43 +00:00
florian
4d070e2a71
* fixed web bug #2128
2003-10-26 13:37:22 +00:00
peter
53e8350307
* more intel parser updates
2003-10-24 17:39:03 +00:00
peter
9342178c7d
* typecasting fixes
...
* reference building more delphi compatible
2003-10-23 17:19:44 +00:00
peter
86782a9b08
* ignore @ in Unit.@Proc
2003-10-21 18:17:40 +00:00
peter
96f9973b46
* taicpu_abstract.oper[] changed to pointers
2003-10-21 15:15:35 +00:00
peter
77c5f6485d
* fix vecnode code that caused to much register conflicts
2003-10-21 15:13:27 +00:00
peter
10f32e68cd
* fix check for register subscription of reference parameter
2003-10-20 19:29:35 +00:00
florian
05fcae577a
* some ppc stuff fixed
...
* memory leak fixed
2003-10-19 01:34:30 +00:00
Tomas Hajny
f70561922d
* Watcom patch by Wiktor Sywula
2003-10-18 09:16:45 +00:00
peter
0939085ab1
* commented out more obsolete constants
2003-10-17 15:08:34 +00:00
peter
d0de3b3ea8
* 64k registers supported
...
* fixed some memory leaks
2003-10-17 14:38:32 +00:00
peter
63c5e8cfdf
+ __HIGH() to retrieve high value
2003-10-16 21:29:24 +00:00
florian
57a2fe6ddb
+ some code for PIC support added
2003-10-14 00:30:48 +00:00
florian
b04af27efc
* fixed forgotten commit
2003-10-13 09:38:22 +00:00
florian
c70c620d9b
* some ideas for mm support implemented
2003-10-13 01:58:03 +00:00
florian
1df13c788c
* fixed some MMX<->SSE
...
* started to fix ppc, needs an overhaul
+ stabs info improve for spilling, not sure if it works correctly/completly
- MMX_SUPPORT removed from Makefile.fpc
2003-10-11 16:06:42 +00:00
peter
fb81b7ebbb
* old trgobj moved to x86/rgcpu and renamed to trgx86fpu
...
* tregisteralloctor renamed to trgobj
* removed rgobj from a lot of units
* moved location_* and reference_* to cgobj
* first things for mmx register allocation
2003-10-10 17:48:13 +00:00
daniel
b2343f4b16
* Register allocator splitted, ans abstract now
2003-10-09 21:31:37 +00:00
florian
b3064de6c0
* fixed full bool evalution and bool xor, if the left or right side have LOC_JUMP
2003-10-08 09:13:16 +00:00
peter
3e6f799919
* fix crash
...
* allow parameter subscription for register parameters
2003-10-07 18:21:18 +00:00
peter
e27d6f67da
* inline supported again, LOC_REFERENCEs are used to pass the
...
parameters
* inlineparasymtable,inlinelocalsymtable removed
* exitlabel inserting fixed
2003-10-07 15:17:07 +00:00
peter
da9f5e2319
* c style array of const generates callparanodes
...
* varargs paraloc fixes
2003-10-05 21:21:52 +00:00
peter
3a92a2a25a
* parameter alignment fixes
2003-10-03 22:00:33 +00:00
peter
6093a37d1b
* fix operand order when a prefix opcode is supplied
2003-10-02 21:17:38 +00:00
peter
70fe77ca7c
* procinfo unit contains tprocinfo
...
* cginfo renamed to cgbase
* moved cgmessage to verbose
* fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
peter
22158bfb99
* updates for inlining
2003-09-30 21:02:37 +00:00
michael
953269fcff
+ Patch from Wiktor Sywula for watcom support
2003-09-30 08:39:50 +00:00
peter
540691bf02
* optimized releasing of registers
2003-09-29 20:58:55 +00:00
peter
47d211aa2e
* fix register leaks
2003-09-28 21:48:20 +00:00
peter
99bb20747e
* parent framepointer changed to hidden parameter
...
* tloadparentfpnode added
2003-09-28 17:55:03 +00:00
peter
eb5429425a
* shortstr compare updated for different calling conventions
2003-09-28 13:35:40 +00:00
peter
116153cf24
* register calling updates
2003-09-28 13:35:24 +00:00
peter
2392f28675
* parameter fixes
2003-09-25 21:28:00 +00:00
peter
e487793919
* %st is st0 in nasm
2003-09-25 14:59:16 +00:00
peter
7c6560ab7f
* fix intf wrapper code
2003-09-25 14:59:06 +00:00
florian
0493cd3d2e
* more x86-64 fixes
2003-09-25 13:13:32 +00:00
peter
72761249f1
* fix global var+offset
2003-09-23 20:37:53 +00:00
peter
8af51ea6d3
* locals and paras are allocated in the code generation
...
* tvarsym.localloc contains the location of para/local when
generating code for the current procedure
2003-09-23 17:56:05 +00:00
peter
76a53a375d
* varspez in calls to push_addr_param
2003-09-16 16:17:01 +00:00
florian
8f66389b46
* improved arm code generation
...
* move some protected and private field around
* the temp. register for register parameters/arguments are now released
before the move to the parameter register is done. This improves
the code in a lot of cases.
2003-09-11 11:54:59 +00:00
marco
cd5ae5fcc3
* Patch from Peter for paraloc
2003-09-10 08:31:47 +00:00
peter
3a3d710c47
* basics for x86 register calling
2003-09-09 21:03:17 +00:00
daniel
49e539ac8d
* Adding register allocation order
2003-09-09 20:59:27 +00:00
peter
6b06f9e985
* winapi doesn't like pushing 8 byte record
2003-09-09 15:55:05 +00:00
florian
f495796796
* x86 instruction table updated to nasm 0.98.37:
...
- sse3 aka prescott support
- small fixes
2003-09-09 12:54:45 +00:00
peter
64bc322e0e
* fix compilerproc for default=oldfpccall
2003-09-08 18:28:51 +00:00
peter
b9d09a4e5c
* preparations for different default calling conventions
...
* various RA fixes
2003-09-07 22:09:34 +00:00
florian
eb9a587759
+ support of NaN and Inf in the compiler as values of real constants
2003-09-06 16:47:24 +00:00
florian
22f1ff8da4
* merged Wiktor's Watcom patches in 1.1
2003-09-05 17:41:12 +00:00
marco
f34e9e5adf
* applied Peter's patch. Now cycles.
2003-09-05 11:21:39 +00:00
peter
6a8d5eb25d
* NEWRA branch merged
2003-09-03 15:55:00 +00:00
florian
220e05dd5e
* fixed arm concatcopy
...
+ arm support in the common compiler sources added
* moved some generic cg code around
+ tfputype added
* ...
2003-09-03 11:18:36 +00:00
daniel
ebb1f3a361
* New register coding now mandatory, some more convert_registers calls
...
removed.
2003-08-20 09:07:00 +00:00
marco
4c571efdda
* fix for 2592, pushw imm
2003-08-18 11:52:57 +00:00
daniel
45f9851e87
* Another register allocator bug fixed.
...
* cpu_registers set to 6 for i386
2003-08-17 08:48:02 +00:00
peter
52c73e80d1
* start of sparc support for newra
2003-08-11 21:18:20 +00:00
daniel
42c320cb29
* cs_regalloc renamed to cs_regvars to avoid confusion with register
...
allocator
* Some preventive changes to i386 spillinh code
2003-08-09 18:56:54 +00:00
daniel
a4495e3867
* Made code generator reverse or/add/and/xor/imul instructions when
...
possible to reduce the slowdown of spills.
2003-08-03 20:38:00 +00:00
daniel
4984afb8f0
- Removed cmpop from Ti386addnode.second_addstring
2003-08-03 20:19:43 +00:00
Jonas Maebe
3c5d94dc64
* fixed nil pointer access
2003-07-24 10:45:40 +00:00
peter
32d076480b
* framepointer fixes for sparc
...
* parent framepointer code more generic
2003-07-06 17:58:22 +00:00
daniel
268bfcf784
* Fixed register allocator. *Lots* of fixes.
2003-07-06 15:31:20 +00:00
Jonas Maebe
70a5d1e4c2
* create_paraloc_info() is now called separately for the caller and
...
callee info
* fixed ppc cycle
2003-07-05 20:11:41 +00:00
peter
b7d99ec934
* paraloc splitted in callerparaloc,calleeparaloc
...
* sparc calling convention updates
2003-07-02 22:18:04 +00:00
peter
b8ad3514c0
* cycle fixes
2003-06-17 16:51:30 +00:00
Jonas Maebe
404d344d92
* lots of newra fixes (need getfuncretparaloc implementation for i386)!
...
* renamed all_intregisters to volatile_intregisters and made it
processor dependent
2003-06-17 16:34:44 +00:00
peter
e6e43724c3
* freeintparaloc added
2003-06-17 16:34:19 +00:00
peter
0dceec9a64
* current_procdef removed, use current_procinfo.procdef instead
2003-06-13 21:19:30 +00:00
Jonas Maebe
67e0cc3ad6
* t386innode.pass_2 already doesn't call a helper anymore since a long
...
time
2003-06-12 22:10:44 +00:00
peter
c036dbe71a
* size para for ungetregisterfpu
2003-06-12 21:12:20 +00:00
peter
a71427cf2c
* fix newra cycle for i386
2003-06-12 18:31:18 +00:00
Jonas Maebe
2b312f6e8c
* fixed compilation problems
2003-06-12 18:12:49 +00:00
peter
a0b9306652
* newra compiles for sparc
2003-06-12 16:43:07 +00:00
Jonas Maebe
db7d93495b
* first small steps towards an oop optimizer
2003-06-08 18:48:03 +00:00
Jonas Maebe
edb2179730
+ added freeintparaloc
...
* ppc get/freeintparaloc now check whether the parameter regs are
properly allocated/deallocated (and get an extra list para)
* ppc a_call_* now internalerrors if pi_do_call is not yet set
* fixed lot of missing pi_do_call's
2003-06-07 18:57:04 +00:00
peter
5b62f5052c
* use setsize for size specifier
2003-06-06 14:41:59 +00:00
peter
5e3532dd01
* needs cpuinfo
2003-06-06 14:41:22 +00:00
michael
03b57479b0
+ Forgot a line in patch from peter
2003-06-06 07:36:06 +00:00
michael
732c769f30
+ Patch to Patch from peter
2003-06-06 07:35:14 +00:00
michael
a762ddbdc2
+ Patch from peter
2003-06-06 07:34:11 +00:00
peter
cd66717210
* updated
2003-06-05 20:58:05 +00:00
peter
d91c880148
* cg.a_load_* get a from and to size specifier
...
* makeregsize only accepts newregister
* i386 uses generic tcgnotnode,tcgunaryminus
2003-06-03 21:11:09 +00:00
peter
4c66ac6cab
* internal changeregsize for optimizer
...
* fix with a hack to not remove the first instruction of a block
which will leave blockstart pointing to invalid memory
2003-06-03 21:09:05 +00:00
daniel
41e0bc4cec
* Register allocator finished
2003-06-03 13:01:59 +00:00
Jonas Maebe
6f3e16298a
* function results can now also be regvars
...
- removed tprocinfo.return_offset, never use it again since it's invalid
if the result is a regvar
2003-06-02 21:42:05 +00:00
peter
230a14ff68
* getregisterfpu size parameter added
...
* op_const_reg size parameter added
* sparc updates
2003-06-01 21:38:06 +00:00
peter
1e7ecac976
* FUNCTION_RESULT64_LOW/HIGH_REG added for int64 results
2003-05-31 15:05:28 +00:00
peter
0e11419a26
* load_loc_reg update
2003-05-31 15:04:31 +00:00
peter
414bd5fa22
* more sparc cleanup
...
* accumulator removed, splitted in function_return_reg (called) and
function_result_reg (caller)
2003-05-30 23:57:08 +00:00
Jonas Maebe
e7e2cfe9a4
* a_load_loc_reg now has an extra size parameter for the destination
...
register (properly fixes what I worked around in revision 1.106 of
ncgutil.pas)
2003-05-30 23:49:18 +00:00
peter
047a066711
* procinlinenode removed
...
* aktexit2label removed, fast exit removed
+ tcallnode.inlined_pass_2 added
2003-05-26 21:17:17 +00:00
peter
0799b0663d
* generic fpc_shorstr_concat
...
+ fpc_shortstr_append_shortstr optimization
2003-05-26 19:38:28 +00:00
peter
c48956fd16
* don't generate align in .bss
2003-05-26 19:37:57 +00:00
peter
c0995a3db1
* fix interrupt stack allocation
2003-05-25 10:26:15 +00:00
peter
437ce7f8a2
* removed some unit dependencies
2003-05-22 21:32:28 +00:00
florian
9de6468186
+ basic darwin support added
2003-05-20 23:54:00 +00:00
peter
abca40f041
* regvar fixes
2003-05-16 14:33:31 +00:00
peter
92ee1804b6
* removed selfpointer_offset, vmtpointer_offset
...
* tvarsym.adjusted_address
* address in localsymtable is now in the real direction
* removed some obsolete globals
2003-05-15 18:58:53 +00:00
peter
c577c78366
* removed ret_in_acc, it's the reverse of ret_in_param
...
* fixed ret_in_param for win32 cdecl array
2003-05-13 15:16:13 +00:00
florian
91bbc7bea3
* error when address of an abstract method is taken
...
* fixed some x86-64 problems
* merged some more x86-64 and i386 code
2003-04-30 20:53:32 +00:00
florian
de6916276a
* merged more x86-64/i386 code
2003-04-30 15:45:35 +00:00
peter
60978ba89c
* aktprocdef renamed to current_procdef
...
* procinfo renamed to current_procinfo
* procinfo will now be stored in current_module so it can be
cleaned up properly
* gen_main_procsym changed to create_main_proc and release_main_proc
to also generate a tprocinfo structure
* fixed unit implicit initfinal
2003-04-27 11:21:32 +00:00
peter
a5e7f02527
* updated for removed lexlevel
2003-04-27 07:48:05 +00:00
peter
7f14891d66
* aktprocdef cleanup, aktprocdef is now always nil when parsing
...
a new procdef declaration
* aktprocsym removed
* lexlevel removed, use symtable.symtablelevel instead
* implicit init/final code uses the normal genentry/genexit
* funcret state checking updated for new funcret handling
2003-04-27 07:29:50 +00:00
peter
a23e3f0a2f
* add string returns in LOC_REFERENCE
2003-04-26 09:12:55 +00:00
peter
f4b818fc1d
* removed funcretn,funcretsym, function result is now in varsym
...
and aliases for result and function name are added using absolutesym
* vs_hidden parameter for funcret passed in parameter
* vs_hidden fixes
* writenode changed to printnode and released from extdebug
* -vp option added to generate a tree.log with the nodetree
* nicer printnode for statements, callnode
2003-04-25 20:59:33 +00:00
florian
754a34200a
* merged i386/aasmcpu and x86_64/aasmcpu to x86/aasmcpu
2003-04-25 12:43:40 +00:00
florian
ad2f6d6dab
* merged agx64att and ag386att to x86/agx86att
2003-04-25 12:04:31 +00:00
florian
98d09473e4
* merged i386/cpubase and x86_64/cpubase to x86/cpubase;
...
different stuff went to cpubase.inc
2003-04-25 11:12:09 +00:00
daniel
6aa01a99a9
* Ifdefs around a lot of calls to cleartempgen
...
* Fixed registers that are allocated but not freed in several nodes
* Tweak to register allocator to cause less spills
* 8-bit registers now interfere with esi,edi and ebp
Compiler can now compile rtl successfully when using new register
allocator
2003-04-25 08:25:26 +00:00
florian
7f04bb7272
* ncgopt replaces n386opt
2003-04-24 11:19:13 +00:00
florian
2d2b85bacb
- replaced by ncgopt
2003-04-24 11:18:46 +00:00
peter
c21ca3dfa0
+ added currency support based on int64
...
+ is_64bit for use in cg units instead of is_64bitint
* removed cgmessage from n386add, replace with internalerrors
2003-04-23 20:16:03 +00:00
daniel
9e2084b8d5
* Further register allocator work. Compiler now smaller with new
...
allocator than without.
* Somebody forgot to adjust ppu version number
2003-04-23 14:42:07 +00:00