peter
b369a7ee9e
* better link on target support
2003-09-30 19:54:23 +00:00
peter
5a7ce9fbe3
* fix pushw reg
2003-09-30 19:53:47 +00:00
marco
957a3d4b36
* -Q=-P and -L=-V
2003-09-30 17:25:01 +00:00
marco
9b39a588c3
* -V support
2003-09-30 11:24:59 +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
409b982075
* insertbefore added
2003-09-29 20:52:50 +00:00
peter
15446d6522
* removed emitjmp
2003-09-28 21:49:39 +00:00
peter
a028d221cc
* fixed invalid opcode handling in spill registers
2003-09-28 21:49:30 +00:00
peter
9a9d96fe5d
* fix register leak
2003-09-28 21:48:57 +00:00
peter
47d211aa2e
* fix register leaks
2003-09-28 21:48:20 +00:00
peter
2693582200
* register paras and local copies updates
2003-09-28 21:47:18 +00:00
peter
c6f0a5fb0e
* fix allocation of threadvar parameter
2003-09-28 21:46:18 +00:00
peter
75cb52213f
* fix register leak in with debug
2003-09-28 21:45:52 +00:00
peter
2c4df4364e
* fix check that filedef needs var para
2003-09-28 21:44:55 +00:00
peter
99bb20747e
* parent framepointer changed to hidden parameter
...
* tloadparentfpnode added
2003-09-28 17:55:03 +00:00
peter
a561878746
* removed a_call_ref
2003-09-28 13:54:43 +00:00
peter
dea558b5c7
* return reg 255 when allowdupreg is defined
2003-09-28 13:41:12 +00:00
peter
b3ef859971
* default calling convention changed to stdcall
2003-09-28 13:39:58 +00:00
peter
d77cf79d3b
* optimized releasing of registers
2003-09-28 13:39:38 +00:00
peter
e732233993
* invalid register message
2003-09-28 13:38:11 +00:00
peter
e248f1b570
* a_call_ref removed
2003-09-28 13:37:19 +00:00
peter
36c2bb1e1a
* give error for wrong register number
2003-09-28 13:37:07 +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
f6868f8d48
* fix reported file position for not matched forwards
2003-09-27 13:29:43 +00:00
peter
b6a0492c9c
* remove sp_fixup
2003-09-25 21:29:23 +00:00
peter
1c11c95b3c
* change push/pop in getreg/ungetreg
2003-09-25 21:29:16 +00:00
peter
2392f28675
* parameter fixes
2003-09-25 21:28:00 +00:00
peter
ab3d323e5b
* rearranged threadvar code so the result register is the same
...
for the relocated and address loaded variables
2003-09-25 21:27:31 +00:00
peter
e7a50f0ee0
* remove obsolete tparalocation.sp_fixup
2003-09-25 21:26:24 +00:00
peter
349fceb4fc
* has_local_copy gdb fix
2003-09-25 21:25:37 +00:00
peter
56c14885bb
* remove allocate_intterupt_parameter, allocation is platform
...
dependent and needs to be done in create_paraloc_info
2003-09-25 21:25:13 +00:00
peter
eee2002780
* don't include vo_has_local_copy for open array/array of const
2003-09-25 21:24:09 +00:00
peter
bf66a6e4ab
* fix filepositions
...
* insert spill temp allocations at the start of the proc
2003-09-25 16:19:32 +00:00
peter
545f437740
* fixed stabs for globals,static
2003-09-25 16:18:54 +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
peter
0805c4e535
* fix different expectloc
2003-09-25 14:57:51 +00:00
peter
cc823ff893
* fix check for unreachable locals
2003-09-25 14:57:36 +00:00
florian
0493cd3d2e
* more x86-64 fixes
2003-09-25 13:13:32 +00:00
florian
f6e456268f
* fixed make cycle
2003-09-24 21:15:49 +00:00
florian
cedff1a593
+ processor type intialization for x86-64 added
2003-09-24 17:13:22 +00:00
florian
0b48a6a3ec
* x86-64 adaptions
2003-09-24 17:12:36 +00:00
florian
8edd479391
* several fixes for new reg allocator
2003-09-24 17:12:02 +00:00
florian
88a3541c80
* x86_64 support; turn on by passing x86_64
2003-09-24 17:11:33 +00:00
marco
88e866dcb7
* (Peter) patch to fix snapshot
2003-09-24 13:02:10 +00:00
peter
420c1cdfe1
* don't call firstpass in resulttypepass
2003-09-23 21:10:11 +00:00
peter
72b8932713
* check for refs>0 in init/final local data
2003-09-23 21:03:59 +00:00
peter
d3063f722c
* connect parasym to paraitem
2003-09-23 21:03:35 +00:00
peter
72761249f1
* fix global var+offset
2003-09-23 20:37:53 +00:00
peter
56ece89fe5
* fpc_check_object(_ext) has saveregisters and doesn't need
...
saving of registers
2003-09-23 20:37:16 +00:00
peter
06071e3d31
* remove obsolete code
2003-09-23 20:36:47 +00:00
peter
ddc50a91ca
* add missing release of main_proc
2003-09-23 18:03:08 +00:00
peter
9ef935b8a7
* recordminalign for sparc 0
2003-09-23 17:58:38 +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
marco
a2f5d5f579
* adapted to unixutil
2003-09-18 15:48:22 +00:00
marco
86cdc8f4d1
* BSD 1.0.x still uses st_ prefixes.
2003-09-18 15:38:17 +00:00
marco
4b6df870be
* fix for snapshot building.
2003-09-18 08:50:48 +00:00
olle
6f78eac09f
+ support for a different set of compiler directives under $MODE MAC
...
+ added mac directives $SETC $IFC $ELSEC $ENDC
2003-09-17 22:30:19 +00:00
olle
f891435ca0
+ added command line option for language mode -M<x>
...
+ helpinfo powerpc targets
2003-09-17 21:38:54 +00:00
olle
41fda4ee40
+ added command line option for language mode -M<x>
2003-09-17 21:37:07 +00:00
peter
76a53a375d
* varspez in calls to push_addr_param
2003-09-16 16:17:01 +00:00
peter
369fe529be
* obsolete
2003-09-16 15:14:49 +00:00
marco
cc3c6c7f4a
* Had a useless dependancy on unit unix in 1_1 mode
2003-09-16 13:42:39 +00:00
marco
fd800a1de8
* now for all platforms
2003-09-16 07:07:29 +00:00
marco
cf0c2af370
* fixed
2003-09-15 20:11:06 +00:00
daniel
505f97b75a
* Removed m68k from fullcycle
2003-09-15 16:30:41 +00:00
Jonas Maebe
5677b3c274
* fixed release_reg_left_right for fpu registers
2003-09-14 21:57:08 +00:00
Jonas Maebe
0bc32cbcd1
+ implemented volatile register queries
2003-09-14 21:56:41 +00:00
peter
94b2de254f
* remove ppc code
2003-09-14 21:36:01 +00:00
peter
dfd282aac6
* flags2reg fixed
...
* fixed 64bit not
2003-09-14 21:35:52 +00:00
peter
46e1925e11
* new volatile registers proc
2003-09-14 21:35:15 +00:00
peter
3ccd30efde
* fix setelementn support
...
* fix loading of flags
2003-09-14 21:34:16 +00:00
peter
c8bc89720c
* location_force_reg gives IE when size=OS_NO
2003-09-14 21:33:37 +00:00
peter
1fcc82e61a
* don't check exepath when linking on target
2003-09-14 21:33:11 +00:00
marco
4144f93ce5
* Unix reform
2003-09-14 20:26:18 +00:00
daniel
62e1074d1f
* Fixed endian problem in Tregisterrec record
2003-09-14 19:30:58 +00:00
peter
d76dc1047e
* updates for new ra
2003-09-14 19:19:04 +00:00
peter
f8bb9785e0
* remove obsolete code already in comments
2003-09-14 19:18:10 +00:00
peter
bf0d3c730f
* don't use a_call_ref because it can use a parameter register
...
as temp
2003-09-14 19:17:39 +00:00
Jonas Maebe
5a5b42e927
- removed initialization code
2003-09-14 17:27:56 +00:00
Jonas Maebe
c8863b920b
* fixed some ppc problems
2003-09-14 16:37:20 +00:00
daniel
1e02028986
* Fixed incorrect movzx spilling
2003-09-14 14:22:51 +00:00
peter
90f37cbcda
* obsolete
2003-09-14 13:20:24 +00:00
peter
aca99d30e8
* fix previous commit, also include objectsymtable
2003-09-14 13:20:12 +00:00
peter
836dc5f062
* give IE when st is not assigned in deref
2003-09-14 12:58:29 +00:00
peter
8dd0a4027a
* support mulitple overloads in implementation, this is delphi
...
compatible
* procsym only stores the overloads available in the interface
2003-09-14 12:58:00 +00:00
peter
9311d0803d
* save destroyed registers when calling threadvar helper
2003-09-14 12:57:10 +00:00
Jonas Maebe
d6fead1277
* fixed compilation for non-x86
2003-09-14 12:55:06 +00:00
daniel
c82243df4d
* Add BTR to destination memory location check in spilling
2003-09-12 20:25:17 +00:00
daniel
90e1ca64f3
* Fixed fast spilling functionality by re-adding the code that initializes
...
precoloured nodes to degree 255. I would like to play hangman on the one
who removed that code.
2003-09-12 19:07:42 +00:00
olle
e313062d0b
* max lenght of symbols increased to 255
...
* emitted strings can now contain backslashes
2003-09-12 12:30:27 +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
daniel
079751b894
* Failed attempt to restore broken fastspill functionality
2003-09-10 19:14:31 +00:00
marco
305226dd23
* fix from peter for bts reg32,mem32 problem
2003-09-10 11:23:09 +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
05a15df3c2
* use register with least interferences in spillregister
2003-09-09 15:55:44 +00:00
peter
6b06f9e985
* winapi doesn't like pushing 8 byte record
2003-09-09 15:55:05 +00:00
peter
0a8bddc756
* calling convention fix
2003-09-09 15:54:10 +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
florian
df906eda61
* some assembling problems fixed
...
* improved loadaddr_ref_reg
2003-09-09 12:53:39 +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
61c2b19b5c
* proper error recovering from invalid published fields
2003-09-07 14:14:51 +00:00
olle
dea663850a
* reverted last change, linux on powerpc still uses aix abi
2003-09-07 09:08:26 +00:00
florian
f3e9e7a24f
* fixed web bug #2669
...
* cosmetic fix in printnode
* tobjectdef.gettypename implemented
2003-09-06 22:27:08 +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
e78dd95d0b
* fixed exit code (no preindexed addressing mode in LDM)
2003-09-06 16:45:51 +00:00
florian
bd6bf8ac94
* fixed stm and ldm to be usable with preindex operand
2003-09-06 11:21:49 +00:00
olle
ce46a4fe31
* linux on powerpc now uses sysv abi
2003-09-06 10:46:56 +00:00
olle
82e40f6506
+ compiler now define abi macros for powerpc FPC_ABI_AIX or FPC_ABI_SYSV
2003-09-06 10:41:54 +00:00
florian
a13ce1dfb4
+ added *_watcom units
2003-09-06 10:01:11 +00:00
florian
1a95384ec1
* arm is working again as before the new register naming scheme was implemented
2003-09-05 23:57:01 +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
olle
4471dd1d26
+ bugfix, put token UNIMPLEMENTED in right order
2003-09-04 21:58:16 +00:00
olle
30938b72a7
+ added new lagnuage mode: MAC
2003-09-04 21:37:29 +00:00
florian
024d08e05a
* ARM compiler compiles again
2003-09-04 21:07:03 +00:00
peter
dfd60cb507
* released useparatemp
2003-09-04 15:39:58 +00:00
peter
059908d399
* abort with IE when spilling requires > 20 loops
2003-09-04 14:46:12 +00:00
peter
01a1f7d063
* return 0 instead of $ff when no reg is found
2003-09-04 14:42:44 +00:00
florian
0d3832776f
* first bunch of adaptions of arm compiler for new register type
2003-09-04 00:15:28 +00:00
peter
610cbec252
* fixes for FPU register allocation
2003-09-03 21:06:45 +00:00
peter
adeae3a00b
* write INVALID as register name instead of IE
2003-09-03 21:06:19 +00:00
peter
b4d54b1889
* powerpc needs software int64 to double
2003-09-03 21:06:05 +00:00
peter
98d153815c
* some fixes for ppc
2003-09-03 21:04:14 +00:00
peter
ded08a12a9
* regenerated
2003-09-03 20:35:57 +00:00
peter
36bb27dab3
* fixed number sorting
2003-09-03 20:35:06 +00:00
peter
386027ffb5
* fixed sorting of register number
2003-09-03 20:33:28 +00:00
peter
c05cf49b35
* removed empty cga unit
2003-09-03 19:39:16 +00:00
peter
ef23ab2c78
* powerpc reg update
2003-09-03 19:37:07 +00:00
peter
601160a0e3
* powerpc compiles again
2003-09-03 19:35:24 +00:00
florian
91533b5d5a
* initial revision of new register naming
2003-09-03 19:10:30 +00:00
florian
100cec5cee
* inital revision derived from sparc
2003-09-03 19:09:35 +00:00
peter
3a3bdd95a7
* superregisters also from .dat file
2003-09-03 16:29:37 +00:00
peter
b66e477dd8
* also generate superregisters
2003-09-03 16:28:16 +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
florian
6264028af1
* fixed reference handling
...
* fixed operand postfix for floating point instructions
* fixed wrong shifter constant handling
2003-09-01 15:11:16 +00:00
florian
e36c23db74
* results of work on arm port last weekend
2003-09-01 09:54:57 +00:00
florian
301df6dab9
* fixed procedure entry/exit code
...
* started to fix reference handling
2003-08-29 21:36:28 +00:00
florian
04501b6fff
* another couple of arm fixes
2003-08-28 13:26:10 +00:00
florian
dc7d8ba847
* today's arm patches
2003-08-28 00:05:29 +00:00
florian
dd9e5cf591
+ same procedure as very day: today's work on arm
2003-08-27 00:27:56 +00:00
peter
15958fec9f
* methodpointer fixes
2003-08-26 12:43:02 +00:00
peter
d5a6a5b7f9
* fix wrong registers in reference
2003-08-26 12:42:45 +00:00
florian
f3266351dc
+ started to implement FPU support for the ARM
...
* fixed a lot of other things
2003-08-25 23:20:38 +00:00
olle
0458038ee5
* minor adjustment
2003-08-24 21:40:12 +00:00
olle
d69418fe36
* made FPC_RAISEEXCEPTION compatible with MacOS
2003-08-24 21:38:43 +00:00
florian
9edd2b0401
* continued to work on the arm port
2003-08-24 12:27:26 +00:00
peter
284d18b7ca
* reload also caller module when it is already compiled
2003-08-23 22:31:42 +00:00
peter
375820ccae
* unchain operators before adding to overloaded list
2003-08-23 22:31:08 +00:00
peter
cb16846e3b
* fixed static class check for properties
2003-08-23 22:29:51 +00:00
peter
90782badfe
* reload flagged units when interface is loaded
2003-08-23 22:29:24 +00:00
peter
0526b6fd9b
* don't check size for open array in valid_for_assign
2003-08-23 18:52:18 +00:00
peter
f86df421ce
* only check for size matches when parameter is enum,ord,float
2003-08-23 18:42:57 +00:00
peter
17d7fb5a03
* allow typeof(self) in class methods
2003-08-23 18:41:52 +00:00
daniel
889bd81bdb
* Register allocator bugfix for h2pas
2003-08-23 10:46:21 +00:00
olle
399fac564f
+ added xxx_regname stuff
...
* made the mpw asm writer work again
2003-08-22 12:30:43 +00:00
florian
dc22fe7863
* continued to work on the arm skeleton
2003-08-21 23:23:59 +00:00
olle
b9394fd616
- removed parameter from fpc_iocheck
2003-08-21 22:14:16 +00:00
peter
6b12cc11e5
* first spill the registers of top_ref before spilling top_reg
2003-08-21 17:20:19 +00:00
peter
4b44f9b557
* fixed copy support for array of char,pchar in $H+ mode
...
* fixed copy support for pwidechar,array of widechar
2003-08-21 15:10:51 +00:00
peter
b9afdc6a36
* fix reg-supreg range check error
2003-08-21 14:48:36 +00:00
peter
8cf0c122f4
* remove convert_registers
2003-08-21 14:47:41 +00:00
florian
20b5945be0
* arm compiler can be compiled; far from being working
2003-08-21 03:14:00 +00:00
daniel
ff2c9d870b
* convert_registers call removed from t_win32.pas
2003-08-20 20:50:18 +00:00
daniel
cdb8a15f4a
* Some more R_NO changes
...
* Preventive code to loadref added
2003-08-20 20:29:06 +00:00
daniel
81d4cc15c7
* Fixed the fixed trouble
2003-08-20 20:13:08 +00:00
daniel
78ee625c7e
* Fixed some R_NO trouble
2003-08-20 20:11:24 +00:00
daniel
2b0cd432ca
* Small NOTARGETWIN32 conditional tweak
2003-08-20 19:28:21 +00:00
peter
d113495cf1
* fixed stackalloc to not allocate localst.datasize twice
...
* order of stackalloc code fixed for implicit init/final
2003-08-20 17:48:49 +00:00
daniel
2ce08bd157
* Some old register convention code removed
...
* A few changes to eliminate a few lines of code
2003-08-20 16:52:01 +00:00
peter
2a5f30418e
* define NOOPT until optimizer is fixed
2003-08-20 15:50:35 +00:00
florian
abf9504b0e
* more arm stuff
2003-08-20 15:50:12 +00:00
daniel
7203890d79
* Fixed PowerPC compilation
2003-08-20 14:28:52 +00:00
daniel
ebb1f3a361
* New register coding now mandatory, some more convert_registers calls
...
removed.
2003-08-20 09:07:00 +00:00
daniel
82b0cf41a6
* Made internal assembler use new register coding
2003-08-20 07:48:03 +00:00
daniel
41211715ff
* Corrected a comment.
2003-08-19 13:58:33 +00:00
mazen
aded38f845
+ implemented gas_regname based on convert_register_to_enum std_Reg2str
2003-08-19 13:22:51 +00:00
mazen
412188e68f
- No more used in sources.
2003-08-19 11:54:48 +00:00
daniel
8cb289e65f
* Fixed PowerPC compilation
2003-08-19 11:53:03 +00:00
Jonas Maebe
11e98e7d73
* some newra optimizations (eliminate lots of moves between registers)
2003-08-18 21:27:00 +00:00
daniel
86fde70d18
* Improved -sr on PowerPC ATT asm writer
2003-08-18 11:58:14 +00:00
marco
4c571efdda
* fix for 2592, pushw imm
2003-08-18 11:52:57 +00:00
olle
c6f4df63e6
+ cleaning up in proc entry and exit, now calc_stack_frame always is used.
2003-08-18 11:50:55 +00:00
daniel
787fcc5797
* Made ATT asm writer work with -sr
2003-08-18 11:49:47 +00:00
olle
4c5827fbee
+ added asm directive ALIGNING OFF to avoid unexpected aligning by the assembler
2003-08-18 11:47:15 +00:00
daniel
0263254289
* Now -sr works...
2003-08-17 21:11:00 +00:00
daniel
63e1b70931
* Notranslation changed into -sr functionality
2003-08-17 20:47:47 +00:00
Jonas Maebe
4f8c390198
* fixed regvars so they work with newra (at least for ppc)
...
* fixed some volatile register bugs
+ -dnotranslation option for -dnewra, which causes the registers not to
be translated from virtual to normal registers. Requires support in
the assembler writer as well, which is only implemented in aggas/
agppcgas currently
2003-08-17 16:59:20 +00:00
Jonas Maebe
48bc5d09e0
* fixed compilation of ppc compiler with -dnewra
2003-08-17 16:53:19 +00:00
daniel
7d3bfaaed4
* Precoloured nodes now have an infinite degree approached with 255,
...
like they should.
2003-08-17 14:32:48 +00:00
daniel
45f9851e87
* Another register allocator bug fixed.
...
* cpu_registers set to 6 for i386
2003-08-17 08:48:02 +00:00
marco
c461204cdc
* fix from Jonas.
2003-08-16 18:56:40 +00:00
Jonas Maebe
ddcab79323
* set correct localsymtable fixup already in handle_body_start instead
...
of in after_pass1, as it's necessary to get the correct offsets for
the calleeside paralocs (and those are now setup in the generic
handle_body_start)
2003-08-16 14:26:44 +00:00
florian
2b83637905
* several arm related stuff fixed
2003-08-16 13:23:01 +00:00
daniel
878498029f
* Fixed newra compilation
2003-08-15 14:44:20 +00:00
peter
52c73e80d1
* start of sparc support for newra
2003-08-11 21:18:20 +00:00
mazen
f8be2992fd
- dupplicated code removed
2003-08-11 14:22:06 +00:00
mazen
3f76298b6b
+ added support of NewRA in compilation of ppcsparc
2003-08-11 13:21:01 +00:00
mazen
a18dbbb2e6
- removed uncommon file header!
2003-08-11 09:15:53 +00:00
mazen
4df534c5e2
- Code cleaning : removed unused commentd units which equivalent were already added.
2003-08-11 09:05:09 +00:00
peter
6731abb0db
* fixed some reported bugs
2003-08-10 17:25:23 +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
Jonas Maebe
2a3c6e0de5
* fixed conversion from signed value to floats if the compiler is
...
compiled with a 1.0.x compiler
2003-08-09 15:28:29 +00:00
Jonas Maebe
b1a903fd4d
* fixed bug in load_fpu_location found by Olle
2003-08-08 19:01:02 +00:00
olle
c2fe8dbd99
* merged macos entry/exit code generation into the general one.
2003-08-08 15:49:24 +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
daniel
557ac8b02e
* Fixed a register allocator bug
...
* Figured out why -dnewra generates superfluous "mov reg1,reg2"
statements: changes in location_force. These moves are now no longer
constrained so they are optimized away.
2003-08-03 14:09:50 +00:00
florian
612a8cbbb1
* basic stuff fixed
2003-07-26 00:55:57 +00:00
Jonas Maebe
a783aea0b9
* fixed bogus abstract method warnings
2003-07-25 09:54:57 +00:00
Jonas Maebe
3c5d94dc64
* fixed nil pointer access
2003-07-24 10:45:40 +00:00
Jonas Maebe
177d57f22c
* split en_exit_code into a part that may allocate a register and a part
...
that doesn't, so the former can be done before the register colouring
has been performed
2003-07-23 11:04:15 +00:00
Jonas Maebe
af784cfb1e
* final (?) fix to in-code
2003-07-23 11:02:53 +00:00
Jonas Maebe
a3cb0d2002
* don't use rg.getregisterint() anymore in g_stackframe_entry_*, because
...
the register colouring has already occurred then, use a hard-coded
register instead
2003-07-23 11:02:23 +00:00
Jonas Maebe
355f84758e
* several rg.allocexplicitregistersint/rg.deallocexplicitregistersint
...
pairs round calls to helpers
2003-07-23 11:01:14 +00:00
Jonas Maebe
356ee447ba
* "lastsaveintreg" is RS_R31 instead of RS_R27 with -dnewra, because
...
there are no scratch regs anymore
2003-07-23 11:00:09 +00:00
Jonas Maebe
5ab3ea0af5
- disabled some debugging code
2003-07-23 10:58:06 +00:00
florian
5aba45edbf
* very basic stuff for the arm
2003-07-21 16:35:30 +00:00
Jonas Maebe
d191387d5a
* fixed 64bit int results with -dnewra (you can't free both registers and
...
then allocate two new ones, because then the registers could be reversed
afterwards -> you get something like "movl %eax, %edx; movl %edx,%eax")
2003-07-21 13:51:50 +00:00
Jonas Maebe
7bc1557f5c
* add_edges_used() is now also called for registers allocated with
...
getexplicitregisterint()
* writing the intereference graph is now only done with -dradebug2 and
the created files are now called "igraph.<module_name>"
2003-07-21 13:32:39 +00:00
florian
d2035fd6b4
* very basic stuff for the arm
2003-07-21 11:52:57 +00:00
Jonas Maebe
d73acd12f6
* fixed newra bug due to the fact that we sometimes need a temp reg
...
when loading/storing to memory (base+index+offset is not possible)
and because a reference is often freed before it is last used, this
temp register was soemtimes the same as one of the reference regs
2003-07-20 20:39:20 +00:00
Jonas Maebe
db3bd69a18
* fixed bug in tcginnode.pass_2
2003-07-20 18:03:27 +00:00
Jonas Maebe
66fcf33869
* fix for threadvars with -dnewra
2003-07-20 16:26:43 +00:00
Jonas Maebe
af61f830d0
* fixed bug in g_concatcopy with -dnewra
2003-07-20 16:15:58 +00:00
peter
1b633246b9
* sparc fixes
2003-07-08 21:23:24 +00:00
peter
09ed47cba6
* don't allow add/assignments for formaldef
...
* formaldef size changed to 0
2003-07-08 15:20:56 +00:00
peter
3d85d9c2bd
* Fix halt() call
2003-07-07 19:59:41 +00:00
peter
6cd9e5efc7
* big endian first allocates high
2003-07-06 22:10:56 +00:00
peter
d03fd8f7e0
* operand order of cmp fixed
2003-07-06 22:10:13 +00:00
peter
d0e4a452e4
* signed compare fixed
2003-07-06 22:09:50 +00:00
peter
3f97c26b4b
* shr and div fixed
2003-07-06 22:09:32 +00:00
Jonas Maebe
f909d6a620
* fixed ppc compilation problems and changed VOLATILE_REGISTERS for x86
...
so that it doesn't include ebp and esp anymore
2003-07-06 21:50:33 +00:00
Jonas Maebe
d514f33ce4
* committed wrong file previously :(
2003-07-06 21:26:06 +00:00
Jonas Maebe
1846337739
* fixed ppc compiler
2003-07-06 20:25:03 +00:00
peter
32d076480b
* framepointer fixes for sparc
...
* parent framepointer code more generic
2003-07-06 17:58:22 +00:00
peter
ae8e74b45b
* cleanup and first sparc implementation
2003-07-06 17:44:12 +00:00
daniel
268bfcf784
* Fixed register allocator. *Lots* of fixes.
2003-07-06 15:31:20 +00:00
Jonas Maebe
117d6934a1
+ first spill_registers implementation, most likely still very buggy
2003-07-06 15:29:06 +00:00
Jonas Maebe
2763f461ce
* VOLATILE_REGISTERS was wrong (it was more or less the inverted set
...
of what it had to be :/ )
2003-07-06 15:28:24 +00:00
Jonas Maebe
cc6a8fbe91
* make sure all registers except r0 are handled by the register
...
allocator for -dnewra
2003-07-06 15:27:44 +00:00
Jonas Maebe
acb3078279
* newra fix for threadvars
2003-07-06 15:25:54 +00:00
Jonas Maebe
80d6905b7b
* fixed my previous completely broken commit. It's not perfect though,
...
registers > last_supreg and < max_intreg may still be "translated"
2003-07-06 15:00:47 +00:00
Jonas Maebe
b1917a614b
* support integer registers that are not managed by newra (ie. don't
...
translate register numbers that fall outside the range
first_supreg..last_supreg)
2003-07-06 14:45:05 +00:00