* moved skipinstr from daopt386 to aasm

* fixed crashing bug with -dreplacereg in csopt386.pas
This commit is contained in:
Jonas Maebe 2000-01-28 15:15:31 +00:00
parent 8ca2a07700
commit 38b993f7dc
3 changed files with 23 additions and 18 deletions

View File

@ -74,15 +74,17 @@ unit aasm;
tcpuflags = (cf_64bitaddr);
tcpuflagset = set of tcpuflags;
{$ifdef newcg}
{ ait_* types which don't result in executable code or which don't influence }
{ the way the program runs/behaves, but which may be encountered by the }
{ optimizer (= if it's sometimes added to the exprasm list). Update if you add }
{ a new ait type! }
const
SkipInstr = [ait_comment, ait_symbol
SkipInstr = [ait_comment, ait_symbol,ait_force_line,ait_section
{$ifdef GDB}
,ait_stabs, ait_stabn, ait_stab_function_name
{$endif GDB}
,ait_regalloc, ait_tempalloc
];
{$endif newcg}
{ asm symbol functions }
@ -1044,7 +1046,11 @@ uses
end.
{
$Log$
Revision 1.74 2000-01-23 16:31:38 peter
Revision 1.75 2000-01-28 15:15:31 jonas
* moved skipinstr from daopt386 to aasm
* fixed crashing bug with -dreplacereg in csopt386.pas
Revision 1.74 2000/01/23 16:31:38 peter
* fixed uninited asmsymbol.typ var
Revision 1.73 2000/01/19 22:53:57 florian
@ -1142,4 +1148,4 @@ end.
Revision 1.48 1999/05/28 09:11:39 peter
* also count ref when asmlabel^.name is used
}
}

View File

@ -691,7 +691,8 @@ begin
while tmpResult and not sequenceEnd do
begin
tmpResult :=
getNextInstruction(endP,endP);
getNextInstruction(endP,endP) and
(endP^.typ = ait_instruction);
if tmpresult and not assigned(endP^.optInfo) then
begin
hp := new(pai_asm_comment,init(strpnew('next no optinfo')));
@ -1170,7 +1171,11 @@ End.
{
$Log$
Revision 1.41 2000-01-23 11:11:37 michael
Revision 1.42 2000-01-28 15:15:31 jonas
* moved skipinstr from daopt386 to aasm
* fixed crashing bug with -dreplacereg in csopt386.pas
Revision 1.41 2000/01/23 11:11:37 michael
+ Fixes from Jonas.
Revision 1.40 2000/01/22 16:10:06 jonas

View File

@ -96,16 +96,6 @@ Function FindLabel(L: PasmLabel; Var hp: Pai): Boolean;
Const
{ait_* types which don't result in executable code or which don't influence
the way the program runs/behaves}
SkipInstr = [ait_comment, ait_symbol
{$ifdef GDB}
,ait_stabs, ait_stabn, ait_stab_function_name
{$endif GDB}
,ait_regalloc, ait_tempalloc
];
{Possible register content types}
con_Unknown = 0;
con_ref = 1;
@ -2131,7 +2121,11 @@ End.
{
$Log$
Revision 1.79 2000-01-22 16:08:06 jonas
Revision 1.80 2000-01-28 15:15:31 jonas
* moved skipinstr from daopt386 to aasm
* fixed crashing bug with -dreplacereg in csopt386.pas
Revision 1.79 2000/01/22 16:08:06 jonas
* better handling of exit(func_result) (no release of register that
holds the function result added)
* several other small improvements for reg allocation fixes