florian
bf32e2d2cf
+ tcg.direction is used now
2002-09-07 19:34:08 +00:00
florian
c1d369dc5f
+ added tcg.direction to allow upwards growing temp areas
...
i.e. temps with positive index
2002-09-07 18:25:00 +00:00
florian
e4664f0ed6
+ tvarsym.paraitem added
2002-09-07 18:17:41 +00:00
florian
d78ad92f92
* first part of PowerPC fixes
2002-09-07 18:05:51 +00:00
florian
a7a354956d
* first part of PowerPC fixes
2002-09-07 17:54:58 +00:00
peter
dcd9e0107c
* old logs removed and tabs fixed
2002-09-07 15:25:00 +00:00
peter
8a03c810de
* obsolete
2002-09-07 14:14:14 +00:00
peter
17aba7002c
* fixed procdef access
2002-09-07 14:13:40 +00:00
carl
6c2bede5a8
* second part bug report 1996 fix, testrange in cordconstnode
...
only called if option is set (also make parsing a tiny faster)
2002-09-07 12:16:03 +00:00
Jonas Maebe
edb02a1409
* fixed small regalloction info bug
2002-09-07 11:50:02 +00:00
carl
e1b3ddc3fb
* fix my stupid copy and paste bug
2002-09-07 09:16:55 +00:00
carl
8fd9561a31
* start bugfix 1996
...
* 64-bit typed constant now work correctly and fully (bugfix 2001)
2002-09-06 19:58:31 +00:00
carl
1603394d9a
- moved files to systems directory
2002-09-06 15:05:23 +00:00
carl
517c2566e8
* moved files to systems directory
2002-09-06 15:03:50 +00:00
carl
a013d19c36
* bugfix of bug report 2072 (merged)
2002-09-06 14:58:42 +00:00
peter
20af604613
* memdebug enhancements
2002-09-05 19:29:42 +00:00
peter
8b5e92cb3c
* removed repetitive pass counting
...
* display heapsize also for extdebug
2002-09-05 19:28:29 +00:00
peter
37bb42694b
* fixed crash when current_module becomes nil
2002-09-05 19:27:05 +00:00
peter
f5a4b06b8a
* fixed old callnode.det_resulttype code
...
* old ncal code is default again
2002-09-05 14:53:41 +00:00
peter
93f33a3d0c
* internalerror instead of crash in getprocdef
2002-09-05 14:51:42 +00:00
pierre
0aceb4b76b
* fix for bug #2004 merged
2002-09-05 14:17:27 +00:00
Jonas Maebe
86830c26b8
- reverted my last commit, it was completely bogus :(
2002-09-05 05:56:07 +00:00
Jonas Maebe
426de6d36f
* fixed bugs in 64bit operations (registers weren't always allocated for
...
the result)
* optimized 'const64 - reg64/mem64'
* optimized equaln/unequaln with 64bit values (change them to
'(left.hi xor right.hi) or (left.lo xor right.lo)' so there are less
branches and the result can be returned in the flags this way. Could
be done for the i386 too probably.
2002-09-04 19:42:45 +00:00
Jonas Maebe
d2401f67b4
- removed unnecessary typeconversion from char_to_string
2002-09-04 19:38:42 +00:00
Jonas Maebe
e66f54e328
* changed some ctypeconvnode/toggleflag(nf_explizit) combo's to
...
ctypeconvnode.create_explicit() statements
2002-09-04 19:32:56 +00:00
Jonas Maebe
650eb87f8c
+ parse basic optimization parameters
2002-09-04 16:03:53 +00:00
daniel
c2fcc297ad
* Small bugfix for procdef selection
2002-09-03 21:32:49 +00:00
daniel
d5870e8075
* Activated new ncal code
2002-09-03 19:27:22 +00:00
daniel
fff92ef11e
* Fixed PowerPC & M68000 compilation
2002-09-03 19:04:18 +00:00
daniel
b0364566d1
* Make Tprocdef.defs protected
2002-09-03 16:26:26 +00:00
peter
64c4be5ca9
* fixed private methods hiding public virtual methods
2002-09-03 15:44:44 +00:00
mazen
2b9b0d86ed
+generic register names commented
2002-09-03 07:41:00 +00:00
peter
a17291b2d4
* array of char support for Str()
2002-09-02 19:24:41 +00:00
peter
36481b72bb
* insert PASCALMAIN in library for Win32 only
2002-09-02 18:46:26 +00:00
peter
88dce133e4
* reuse a reference when resizing ordinal values to smaller sizes,
...
this is required for constructions like byte(w):=1 that are
allowed in tp mode only
2002-09-02 18:46:00 +00:00
peter
c850b953c0
* fixed (not) pushing of empty parameters
...
* fixed implicit initialization/finalization generation
* fixed/optimized local copy of value arguments init/final
2002-09-02 18:44:48 +00:00
peter
8a75d59544
* fixed parsing of register names with lowercase
2002-09-02 18:40:52 +00:00
florian
b5e2c87b87
* fixed generic procedure variable calling
2002-09-02 11:25:20 +00:00
Jonas Maebe
ce868dcdac
+ a_call_reg()
...
* small fix in a_call_ref()
2002-09-02 10:14:51 +00:00
Jonas Maebe
c7df12f6f0
* fixed range error
2002-09-02 06:09:02 +00:00
florian
6502638258
* several powerpc related stuff fixed
2002-09-01 21:04:47 +00:00
peter
f77536fece
* use index register when available for generating a reference with
...
only a signle register. Using the base register could possibly
destroy the framepointer
2002-09-01 19:27:34 +00:00
peter
a73ecec989
* fixed register variable loading from parasymtable, the call by
...
reference code was moved wrong
2002-09-01 19:26:32 +00:00
peter
5a06f334b7
* fixed maybe_save that did not support a reference with only
...
a index register. It now also updates the location with the new
base register only
2002-09-01 18:50:20 +00:00
peter
274624f2f6
* assignn check in exitnode changed to use a separate boolean as the
...
assignn can be changed to a calln
2002-09-01 18:47:00 +00:00
peter
76bd75ed4a
* fixed generic tcgvecnode
...
* move code that updates a reference with index register and multiplier
to separate method so it can be overriden for scaled indexing
* i386 uses generic tcgvecnode
2002-09-01 18:46:01 +00:00
peter
d2400aae38
* cleanup of tvecnode.det_resulttype
...
* move 0 element of string access check to resulttype
2002-09-01 18:44:17 +00:00
peter
5ab0e99252
* include accumulator in regs_to_push list
2002-09-01 18:43:27 +00:00
peter
b65dedc9e4
* reduced level of comment that type is wrong for release
2002-09-01 18:42:50 +00:00
florian
3546ffa8b0
+ added abstract tcg.g_removevaluepara_openarray
2002-09-01 17:05:43 +00:00
peter
90308521d5
* fixed direct assembler for i386
2002-09-01 14:43:12 +00:00
peter
a4e309d6ae
* removevaluepara added to fix the stackpointer so restoring of
...
saved registers works
2002-09-01 14:42:41 +00:00
peter
7d02a4f264
* increase refcount in exit(arg) for arg
2002-09-01 14:41:47 +00:00
daniel
f4c6d762fd
- write_access fields removed in favor of a flag
2002-09-01 13:28:37 +00:00
peter
e0bcfca509
* fixed loading of procvar of object when the object is initialized
...
with 0
2002-09-01 12:15:40 +00:00
peter
8b2fb4187e
* fixed some wrong levels in extdebug comments
2002-09-01 12:14:53 +00:00
peter
8ee2462ba4
* remove debug line
...
* containself methods can be called directly
2002-09-01 12:14:15 +00:00
peter
a06f84daf8
* use a_call_reg
...
* ungetiftemp for procvar of object temp
2002-09-01 12:13:00 +00:00
peter
f68c3a9552
* calc param_offset after parameters are read, because the calculation
...
depends on po_containself
2002-09-01 12:11:33 +00:00
peter
7898dcf9ed
+ a_call_reg, a_call_loc added
...
* removed exprasmlist references
2002-09-01 12:09:27 +00:00
daniel
b0ffb45275
+ Added read/write notifications of variables. These will be usefull
...
for providing information for several optimizations. For example
the value of the loop variable of a for loop does matter is the
variable is read after the for loop, but if it's no longer used
or written, it doesn't matter and this can be used to optimize
the loop code generation.
2002-09-01 08:04:42 +00:00
daniel
4b82d30953
* Removed sets from Tcallnode.det_resulttype
...
+ Added read/write notifications of variables. These will be usefull
for providing information for several optimizations. For example
the value of the loop variable of a for loop does matter is the
variable is read after the for loop, but if it's no longer used
or written, it doesn't matter and this can be used to optimize
the loop code generation.
2002-09-01 08:01:16 +00:00
Jonas Maebe
431b9fac81
* fixed a_call_ref (it should load ctr, not lr)
2002-08-31 21:38:02 +00:00
florian
391ce796ef
* fixed several problems caused by Jonas' commit :)
2002-08-31 21:30:45 +00:00
Jonas Maebe
f107ba3bbe
+ support top_none for branches
2002-08-31 19:27:48 +00:00
Jonas Maebe
7a8429a4fe
* fixed 64bit comparisons
2002-08-31 19:26:20 +00:00
Jonas Maebe
76111bb9eb
+ implemented a_call_ref()
2002-08-31 19:25:50 +00:00
florian
fb5e694dca
* write double # before float constants when -al is turned on
...
else some gas versions interpret it as line number
2002-08-31 16:05:17 +00:00
florian
5e60724d23
+ HEAP* stuff must be generated for Linux/PPC as well
...
+ direct assembler reader searches now global and static symtables as well
2002-08-31 15:59:30 +00:00
florian
5380652cad
* ppc compilation fixed
2002-08-31 12:43:31 +00:00
mazen
c6b0a2e9a3
- undefining win32 when SPARC defined removed, no more needed.
2002-08-30 13:42:29 +00:00
mazen
c7bf4df982
*call parameter handling is now based on the new param manager
2002-08-30 13:16:23 +00:00
mazen
12c3e9a760
ncgcall.pas moved to ncpucall.pas (I'd like ncpu* insteade of nsparc* since it
...
provides processor independent units naming)
2002-08-30 06:15:27 +00:00
mazen
dd411127f4
added support for SPARC processors
2002-08-29 11:02:36 +00:00
mazen
66ab5e4a54
File added support to the new generic parameter handling
2002-08-29 10:16:20 +00:00
mazen
221d94a65e
+ added ncpucnp to fix a call to an abstract method in pss_2
2002-08-29 10:07:47 +00:00
mazen
2c774736c5
+added -gl to ease compiler debug
2002-08-29 10:06:01 +00:00
pierre
b6f43ac07b
* fixed compilation cycle with -Cr option by adding explicit
...
longint typecast in PutPtrUInt and putexprint methods.
+ added checks for sizeof and internalerros if size is not handled.
2002-08-26 14:05:57 +00:00
peter
a28f75ed03
* sym.insert_in_data removed
...
* symtable.insertvardata/insertconstdata added
* removed insert_in_data call from symtable.insert, it needs to be
called separatly. This allows to deref the address calculation
* procedures now calculate the parast addresses after the procedure
directives are parsed. This fixes the cdecl parast problem
* push_addr_param has an extra argument that specifies if cdecl is used
or not
2002-08-25 19:25:18 +00:00
peter
8a43a12934
* also check the paratypes when a forward was found
2002-08-25 11:33:06 +00:00
peter
3486c0c668
* don't optimize not([lten,gten]) for setdefs
2002-08-25 11:32:33 +00:00
peter
160103faba
* fixed not(not()) removal
2002-08-25 09:10:58 +00:00
peter
4aa03c0656
* add calls to release temps
2002-08-25 09:06:58 +00:00
peter
5c57932695
* fixed loop in concat_procdefs
2002-08-25 09:06:21 +00:00
peter
563a0dc818
* fixed wrong label in jump of except block (was also in n386flw wrong)
...
* fixed wrong pushing of raise parameters
* fixed wrong compare in finally
2002-08-24 18:41:52 +00:00
peter
46731a77ab
* really use tt_noreuse for exception frame buffers
2002-08-24 18:38:26 +00:00
peter
d551c5d867
* i386 uses now the generic exception management from ncgflw
2002-08-24 18:35:42 +00:00
peter
a903647258
* when reusing a block also update the temptype instead of forcing it
...
to tt_normal
2002-08-24 18:35:04 +00:00
peter
4b81e16fe2
* tempgen cleanup
...
* tt_noreuse temp type added that will be used in genentrycode
2002-08-23 16:14:48 +00:00
peter
770b338833
* also firstpass funcretrefnode if available. This was breaking the
...
asnode compilerproc code
2002-08-23 16:13:16 +00:00
mazen
9b960198d0
*** empty log message ***
2002-08-23 13:17:59 +00:00
mazen
a49dea276c
fixed compilation problem related to tai_labeled_instruction
2002-08-23 13:11:11 +00:00
mazen
7dff137383
GDB support added
2002-08-23 10:33:30 +00:00
mazen
c52839c2d6
*** empty log message ***
2002-08-23 10:08:28 +00:00
mazen
af7d17d28c
stab_regindex added for GDB support
2002-08-23 09:53:15 +00:00
daniel
3d7430e270
* Fixed the detection wether the first check of a for loop can be skipped
2002-08-22 15:15:20 +00:00
florian
ac29d65fc4
+ register32 is now written by tnode.dowrite
...
* fixed write of value of tconstnode
2002-08-22 11:21:44 +00:00
mazen
9df674734c
psystem.pas removed from sparc directory
2002-08-22 10:13:29 +00:00
mazen
dc65ff681b
first insertion 2002\08\22
2002-08-22 08:30:50 +00:00
mazen
ab508fa44f
*** empty log message ***
2002-08-21 13:30:07 +00:00
florian
4549d72802
+ target macos for ppc added
...
+ frame work for mpw assembler output
2002-08-20 21:40:44 +00:00
Jonas Maebe
ed08ed1ce0
* the as node again uses a compilerproc
...
+ (untested) support for interface "as" statements
2002-08-20 18:23:32 +00:00
peter
ecb430a8eb
* don't write (stabs)line info when inlining a procedure
2002-08-20 16:55:38 +00:00
peter
70028e433d
* write address of varsym always
2002-08-20 16:54:40 +00:00
daniel
ba29715c7a
* Tcallnode.det_resulttype rewritten
2002-08-20 10:31:26 +00:00
peter
91b49914f6
* More fixes for cross unit inlining, all tnodes are now implemented
...
* Moved pocall_internconst to po_internconst because it is not a
calling type at all and it conflicted when inlining of these small
functions was requested
2002-08-19 19:36:42 +00:00
carl
63ed5b6f99
- remove some unused files in m68k directory
2002-08-19 18:19:06 +00:00
carl
ed77671a9b
+ optimize64_op_const_reg implemented (optimizes 64-bit constant opcodes)
...
* more fixes to m68k for 64-bit operations
2002-08-19 18:17:47 +00:00
Jonas Maebe
d709f6720b
* fixes
2002-08-19 17:35:42 +00:00
florian
0d1a344d7f
+ the ppc gas assembler writer adds now registers aliases
...
to the assembler file
2002-08-18 22:16:14 +00:00
florian
39f35373a8
+ handling of local variables in direct reader implemented
2002-08-18 21:36:42 +00:00
peter
98dd65b0f3
* inlining is now also allowed in interface
...
* renamed write/load to ppuwrite/ppuload
* tnode storing in ppu
* nld,ncon,nbas are already updated for storing in ppu
2002-08-18 20:06:23 +00:00
peter
2c2d44a77c
* renamed local current_module to compiling_module because it
...
confused a lot in gdb
2002-08-18 19:59:03 +00:00
peter
197899d70a
* more current_scanner fixes
2002-08-18 19:58:28 +00:00
florian
12ef4a944a
* fixed compilation error
2002-08-18 18:16:55 +00:00
olle
00238998f3
+ abi_powerpc_macos added to TSystemInfo
2002-08-18 17:10:15 +00:00
florian
a375ad9565
* remaining assembler writer bugs fixed, the errors in the
...
system unit are inline assembler problems
2002-08-18 10:42:37 +00:00
florian
c853f24a86
* more ppc assembling fixes
2002-08-18 10:34:30 +00:00
florian
4661ee3057
* small fixes to the alpha stuff
2002-08-18 09:13:02 +00:00
florian
1e4ded7bff
* alpha files moved compiler/alpha
2002-08-18 09:06:54 +00:00
florian
41eda73784
* fixed compilation problems
2002-08-18 09:02:12 +00:00
florian
4144773f01
* result type handling in tcgcal.pass_2 overhauled
...
* better tnode.dowrite
* some ppc stuff fixed
2002-08-17 22:09:43 +00:00
florian
b841ba8b16
* some assembler writer bugs fixed
2002-08-17 18:23:53 +00:00
florian
e313bab4ff
* first part of procinfo rewrite
2002-08-17 09:23:33 +00:00
peter
87088e16fe
* fixed possible crashes with current_scanner
2002-08-16 15:31:08 +00:00
peter
a74a35cde6
* Optimize fullcycle to not build the current PPC_TARGET, because it is
...
already build.
* Generate the ppc<target> binaries of a fullcycle in the current dir
2002-08-16 15:30:39 +00:00
carl
745efb2c47
* issameref() to test if two references are the same (then emit no opcodes)
...
+ ret_in_reg to replace ret_in_acc
(fix some register allocation bugs at the same time)
+ save_std_register now has an extra parameter which is the
usedinproc registers
2002-08-16 14:24:57 +00:00
florian
2de332fa28
* powerpc compilation fix
2002-08-16 05:21:09 +00:00
peter
67abe74589
* obsoleted by files in the normal compiler dir
2002-08-15 19:14:32 +00:00
peter
8082f79ea6
* first things tai,tnode storing in ppu
2002-08-15 19:10:35 +00:00
carl
588abc6631
* jmpbuf size allocation for exceptions is now cpu specific (as it should)
...
* more generic nodes for maths
* several fixes for better m68k support
2002-08-15 15:15:55 +00:00
carl
65988f5c09
* PPU checking errors for fpu emulation
2002-08-15 15:12:34 +00:00
carl
aa6453d52e
* oldset define is now correct for all cpu's except i386
...
* correct compilation problems because of the above
2002-08-15 15:11:53 +00:00
carl
9d4f336f74
+ fpu emulation helpers (ppu checking also)
2002-08-15 15:09:41 +00:00
carl
c33d99adb7
- a_load_sym_ofs_reg removed
...
* loadvmt now calls loadaddr_ref_reg instead
2002-08-15 08:13:54 +00:00
carl
b0bf9a2512
* fix small compilation problem
2002-08-14 19:31:26 +00:00
carl
d175d7113f
+ added fixing because first_in_to_real is now completely generic
2002-08-14 19:30:42 +00:00
carl
e212fa90d5
+ generic int_to_real type conversion
...
+ generic unaryminus node
2002-08-14 19:26:55 +00:00
carl
e5895885fe
+ routine to optimize opcodes with constants
2002-08-14 19:26:02 +00:00
carl
b117e6ad01
* fix Florian's last commit for m68k compilation
2002-08-14 19:25:09 +00:00
carl
ecb32b0ef0
* first_int_to_real moved to i386 (other one is generic)
2002-08-14 19:19:14 +00:00
carl
534f6b2468
* bugfix of unaryminus node with left LOC_CREGISTER
2002-08-14 19:18:16 +00:00
carl
7866026667
+ m68k type conversion nodes
...
+ started some mathematical nodes
* out of bound references should now be handled correctly
2002-08-14 19:16:34 +00:00
carl
c403293c6a
+ fpu emulation support (generic and untested)
2002-08-14 19:14:39 +00:00
Jonas Maebe
3ab3c91e0a
- remove valuelow/valuehigh fields from tlocation, because they depend
...
on the endianess of the host operating system -> difficult to get
right. Use lo/hi(location.valueqword) instead (remember to use
valueqword and not value!!)
2002-08-14 18:41:47 +00:00
Jonas Maebe
9af3fc1776
* adapted previous fix to Peter's asmsymbol patch
2002-08-14 18:13:28 +00:00
Jonas Maebe
dc44063472
* fixed tb0403
2002-08-14 18:00:42 +00:00
florian
af4302bc67
* more fixes for ppc calling conventions
2002-08-13 21:40:55 +00:00
carl
654ddac250
+ m68k problems with cvs fixed?()!
2002-08-13 18:58:54 +00:00
carl
1edae761ef
+ m68k problems with cvs fixed?()!
2002-08-13 18:51:29 +00:00
carl
77346f3219
* rename swatoperands to swapoperands
...
+ m68k first compilable version (still needs a lot of testing):
assembler generator, system information , inline
assembler reader.
2002-08-13 18:45:32 +00:00
carl
a86c9a1c12
* rename swatoperands to swapoperands
...
+ m68k first compilable version (still needs a lot of testing):
assembler generator, system information , inline
assembler reader.
2002-08-13 18:30:22 +00:00
carl
c68b2dfbee
* rename swatoperands to swapoperands
...
+ m68k first compilable version (still needs a lot of testing):
assembler generator, system information , inline
assembler reader.
2002-08-13 18:01:50 +00:00
carl
b0cb623e27
- removed and renamed
2002-08-13 17:35:10 +00:00
florian
4b659ab4b2
* casting of classes to interface fixed when the interface was
...
implemented by a parent class
2002-08-12 20:39:17 +00:00
peter
724ece4715
* tscannerfile is now destroyed in tmodule.reset and current_scanner
...
is updated accordingly. This removes all the loading and saving of
the old scanner and the invalid flag marking
2002-08-12 16:46:04 +00:00
carl
9da171faf2
+ stab register indexes for powerpc (moved from gdb to cpubase)
...
+ tprocessor enumeration moved to cpuinfo
+ linker in target_info is now a class
* many many updates for m68k (will soon start to compile)
- removed some ifdef or correct them for correct cpu
2002-08-12 15:08:39 +00:00
florian
ecf7a2a33c
* nil is now recognized as being compatible with a dynamic array
2002-08-12 14:17:56 +00:00
florian
31c178f207
+ support of explicit type case boolean->char
2002-08-11 16:08:55 +00:00
florian
589c742efe
+ support of explicit type case <any ordinal type>->pointer
...
(delphi mode only)
2002-08-11 15:28:00 +00:00
peter
425bb45ddc
* renamed current_library to objectlibrary
2002-08-11 14:32:25 +00:00
peter
fb64d51f69
* TScannerFile.SetInvalid added that will also reset inputfile
2002-08-11 14:28:19 +00:00
peter
ac71268ce6
* saving of asmsymbols in ppu supported
...
* asmsymbollist global is removed and moved into a new class
tasmlibrarydata that will hold the info of a .a file which
corresponds with a single module. Added librarydata to tmodule
to keep the library info stored for the module. In the future the
objectfiles will also be stored to the tasmlibrarydata class
* all getlabel/newasmsymbol and friends are moved to the new class
2002-08-11 13:24:10 +00:00
peter
03c85c0f75
* make fullcycle added
2002-08-11 13:08:52 +00:00
Jonas Maebe
387f05b00d
* some overflow checking fixes
2002-08-11 11:40:16 +00:00
Jonas Maebe
9ba736bd04
+ powerpc-specific genlinearlist
2002-08-11 11:39:12 +00:00
Jonas Maebe
3446f05f12
* genlinear(cmp)list can now be overridden by descendents
2002-08-11 11:37:42 +00:00
Jonas Maebe
6e499880f3
* always first try to use base and only then index
2002-08-11 11:36:57 +00:00
carl
a4d74cfd17
+ try to commit this ** file again
2002-08-11 08:06:09 +00:00
carl
1f1145d30e
- no longer used files removed
2002-08-11 07:02:00 +00:00
florian
3ec544be88
* fixed powerpc compilation problems
2002-08-11 06:14:40 +00:00
Jonas Maebe
ee7d5f7b2a
* various fixes and optimizations
2002-08-10 17:15:31 +00:00
Jonas Maebe
bfbf0ea7c6
* register parameters are now LOC_CREGISTER instead of LOC_REGISTER
2002-08-10 17:15:20 +00:00
Jonas Maebe
856d8f9150
* optimizations and bugfix
2002-08-10 17:15:12 +00:00
Jonas Maebe
bedbc15e75
* endianess fix
2002-08-10 17:15:06 +00:00
Jonas Maebe
f1f27e99b4
+ abs, sqr, sqrt implementations
2002-08-10 17:15:00 +00:00
carl
18b102ce95
+ moved target_cpu_string to cpuinfo
...
* renamed asmmode enum.
* assembler reader has now less ifdef's
* move from nppcmem.pas -> ncgmem.pas vec. node.
2002-08-10 14:46:29 +00:00
Jonas Maebe
c7aefd286b
* fixed stupid bug of mine in g_flags2reg() when optimizations are on
2002-08-10 10:06:04 +00:00
carl
f94cec7ddb
- removed unused m68k stuff
2002-08-09 19:21:50 +00:00
carl
50537e95fc
* fix generic exception handling
2002-08-09 19:18:27 +00:00
carl
947142291c
* stack allocation is now done separately (at the end) of genentrycode
...
so temps. can be allocated before.
* fix generic exception handling
2002-08-09 19:16:57 +00:00
carl
1ef442f4bf
- removed newcg define
2002-08-09 19:15:41 +00:00
carl
afd252b0b5
* fixed stackframe parameter (should only contain local size),
...
set to zero currently
2002-08-09 19:14:28 +00:00
carl
6b9e686ae3
+ reading of used registers in assembler routines is now
...
cpu-independent
2002-08-09 19:11:44 +00:00
carl
3a70811b1a
* fixed generic exception management
2002-08-09 19:10:59 +00:00
carl
1b79ac2058
- moved new_exception and free_exception to ncgutils
2002-08-09 19:10:05 +00:00
carl
528d042442
+ fix incorrect comment in insertlistcopy
2002-08-09 19:08:53 +00:00
carl
9d0465995f
- removed as this unit is no longer necessary
2002-08-09 19:07:43 +00:00
florian
030eae46de
* a couple of interface related fixes
2002-08-09 07:33:01 +00:00
florian
2b3a8dccf8
+ support for octal constants, they are specified by a leading &
2002-08-06 21:12:16 +00:00
florian
b136cecacd
* first part of ppc calling conventions fix
2002-08-06 20:55:20 +00:00
carl
f46268dbf6
+ more m68k fixes
2002-08-06 15:14:30 +00:00
Jonas Maebe
e7d92a1aa7
* fixed bug in g_flags2reg()
...
* and yet more constant operation fixes :)
2002-08-06 07:12:05 +00:00
carl
eff31e8524
+ more more more documentation
...
+ first version include/exclude (can't test though, not enough scratch for i386 :()...
2002-08-05 18:27:48 +00:00
carl
834283b0ba
+ updated m68k
2002-08-05 17:26:09 +00:00
carl
5c6c9c0499
- remove no longer used files
2002-08-05 17:20:59 +00:00
Jonas Maebe
10c4e8eb15
* fixed compilation problems
2002-08-05 08:58:53 +00:00
carl
4d03ffdf46
+ updated exception routines
2002-08-04 19:52:04 +00:00
carl
32f3f65a26
+ added generic exception support (still does not work!)
...
+ more documentation
2002-08-04 19:06:41 +00:00
Jonas Maebe
8ff3e3e1b3
* more misc. fixes, mostly constant-related
2002-08-04 12:57:55 +00:00
Jonas Maebe
54011b5bea
* some misc constant fixes
2002-08-02 11:10:42 +00:00
Jonas Maebe
f8b6c707a2
* made assigned() handling generic
...
* add nodes now can also evaluate constant expressions at compile time
that contain nil nodes
2002-08-02 07:44:30 +00:00
Jonas Maebe
ad728f0267
- removed some superfluous "in_paras := true" statements
2002-08-01 16:37:47 +00:00
marco
0e2046b1fd
* Some more OpenBSD fixes.
2002-08-01 12:28:49 +00:00
Jonas Maebe
6eabcc71bc
* re-enabled second_assigned()
2002-07-31 07:54:59 +00:00
florian
ed950491a8
* the code generator knows now if parameters are in registers
2002-07-30 20:50:43 +00:00
marco
74ab069c2e
* OpenBSD makefile fixes
2002-07-30 13:46:23 +00:00
florian
e7a6cd18dd
* more fixes for the ppc
...
+ wrappers for the tcnvnode.first_* stuff introduced
2002-07-29 21:23:42 +00:00
florian
102ba3a098
* some more ppc fixes
2002-07-29 21:16:02 +00:00
carl
3034065498
+ restart m68k support
2002-07-29 17:51:32 +00:00
Jonas Maebe
07089fadb7
+ nppcmem
2002-07-29 09:22:20 +00:00
Jonas Maebe
a1a3283c61
+ tppcvecnode, almost straight copy of the i386 code, can most likely
...
be made generic if all treference type allow a base, index and offset
2002-07-29 09:21:30 +00:00
Jonas Maebe
04cb71275a
+ second_int_to_int implementation which is almost the same as the
...
generic implementation, but it avoids some unnecessary type conversions
2002-07-29 09:20:20 +00:00
florian
37351a4590
- removed debug code which was commited by accident
2002-07-28 21:38:30 +00:00
florian
463b355ba3
* more powerpc fixes
...
+ dummy tcgvecnode
2002-07-28 21:34:31 +00:00
florian
3fe0229843
+ added direct assembler reader for PowerPC
2002-07-28 20:45:22 +00:00
Jonas Maebe
046ee7bf2b
+ 64 bit operations (badly tested), everything is implemented now!
...
* some small fixes
2002-07-28 16:02:49 +00:00
Jonas Maebe
e3cbc3cf22
+ tcg64fppc.a_op64_const_reg_reg() and tcg64fppc.a_op64_reg_reg_reg()
...
* several fixes, most notably in a_load_reg_reg(): it didn't do any
conversion from smaller to larger sizes or vice versa
* some small optimizations
2002-07-28 16:01:59 +00:00
Jonas Maebe
75d8e42d85
* fixed bug in location_force_reg32() when converting smaller values to
...
64 bit locations
* use cg.op_const_reg_reg() instead of a move and then cg.op_const_reg()
in location_force_reg32()
2002-07-28 15:59:57 +00:00
Jonas Maebe
6bd0424826
* fixed a_load64_const_reg() for big endian systems
2002-07-28 15:57:15 +00:00
Jonas Maebe
b11d7a19f3
+ tcg64.a_op64_const_reg_reg() and tcg64.a_op64_reg_reg_reg() methods +
...
generic implementation
2002-07-28 15:56:00 +00:00
carl
a5a3f7488b
+ correct size of parameter (64-bit portability)
2002-07-28 09:25:37 +00:00
carl
8284576720
+ generic case node
2002-07-28 09:24:18 +00:00
Jonas Maebe
ccf4a67d81
+ second_addboolean(), second_addfloat() and second_addsmallset()
...
(64bit stuff is all that's left to do)
2002-07-27 20:00:59 +00:00
Jonas Maebe
b4cfa73079
* fixed a_loadaddr_ref_reg()
...
* fixed g_flags2reg()
* optimized g_concatcopy()
2002-07-27 19:59:29 +00:00
Jonas Maebe
1b983ee56e
* some typo corrections in the instruction tables
...
* renamed the m* registers to v*
2002-07-27 19:57:18 +00:00
Jonas Maebe
6b83738e7d
+ generic implementation of tcg.g_flags2ref()
...
* tcg.flags2xxx() now also needs a size parameter
2002-07-27 19:53:51 +00:00
florian
1b5435381b
* several PowerPC related fixes to get forward with system unit compilation
2002-07-26 22:22:10 +00:00
florian
eb2ca8d10f
* rewrote the system handling
2002-07-26 21:15:37 +00:00
Jonas Maebe
0d740d4de8
+ intial implementation of add nodes, only integer/enumeration/pointer/...
...
handling is finished
2002-07-26 12:31:56 +00:00
Jonas Maebe
83ce7360ed
* fixed typo in instruction table (_subco_ -> a_subco)
2002-07-26 12:30:51 +00:00
Jonas Maebe
3ac9c35136
* don't always convert the second argument of inc/dec to a longint, but
...
to a type based on the first argument
2002-07-26 12:28:50 +00:00
Jonas Maebe
e2c5923e97
* fixed range errors
2002-07-26 11:19:57 +00:00
Jonas Maebe
ed2bdb31a6
* the optimization of converting a multiplication with a power of two to
...
a shl is moved from n386add/secondpass to nadd/resulttypepass
2002-07-26 11:17:52 +00:00
Jonas Maebe
185fa10345
* fixed (actual and potential) range errors
2002-07-26 11:16:35 +00:00
Jonas Maebe
61a2a3ae37
* fixed bug in shl/shr code
2002-07-26 10:48:34 +00:00
florian
2674f8a450
* fixed a mistake in yesterday's commit, forgot to commit it
2002-07-26 09:45:20 +00:00
florian
30fae40c29
no message
2002-07-25 22:58:30 +00:00
florian
7bf1321808
* several fixes, small test units can be compiled
2002-07-25 22:55:33 +00:00
carl
ebbd8e9e04
+ added generic inline nodes
2002-07-25 18:01:58 +00:00
carl
f6b1f35207
+ Resulttype for floats is now CPU independent (bestrealytype)
...
+ Generic version of some routines (call to RTL routines)
: still untested.
2002-07-25 18:00:19 +00:00
carl
448d40de1a
+ FPURESULTREG -> FPU_RESULT_REG
2002-07-25 17:56:29 +00:00
carl
9a26de0ea3
+ First working revision
2002-07-25 17:55:41 +00:00
carl
86ef6eec0b
+ Extended is now CPU dependant (equal to bestrealtype)
2002-07-25 17:54:24 +00:00
florian
52dbda43c3
+ initial release of x86-64 target code
2002-07-24 22:38:15 +00:00
florian
0a9b56aa2e
no message
2002-07-24 21:03:42 +00:00
florian
156fc666c8
* small typo fixed, compiles with 1.0.x again
2002-07-24 14:38:00 +00:00
marco
ea53f048aa
* Fixed small error
2002-07-24 13:51:34 +00:00
marco
1f5b2f26ba
* urgent fix.
2002-07-24 13:10:22 +00:00
carl
6e3f0ce7f3
+ first revision (incomplete)
2002-07-24 04:07:49 +00:00