mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-29 12:50:37 +01:00
* several bugs regarding -Or fixed
This commit is contained in:
parent
32195301c8
commit
8836c26503
@ -768,7 +768,7 @@ begin
|
||||
InsOffset:=Offset;
|
||||
{ Things which may only be done once, not when a second pass is done to
|
||||
optimize }
|
||||
if not assigned(Insentry) then
|
||||
if Insentry=nil then
|
||||
begin
|
||||
{ Check if error last time then InsSize=-1 }
|
||||
if InsSize=-1 then
|
||||
@ -852,7 +852,7 @@ var
|
||||
c : longint;
|
||||
begin
|
||||
{ error in pass1 ? }
|
||||
if not assigned(insentry) then
|
||||
if insentry=nil then
|
||||
exit;
|
||||
aktfilepos:=fileinfo;
|
||||
{ Segment override }
|
||||
@ -1569,7 +1569,10 @@ end;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 1999-05-01 13:24:23 peter
|
||||
Revision 1.2 1999-05-02 21:33:52 florian
|
||||
* several bugs regarding -Or fixed
|
||||
|
||||
Revision 1.1 1999/05/01 13:24:23 peter
|
||||
* merged nasm compiler
|
||||
* old asm moved to oldasm/
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
ppc386 -OG2p2 -Ch8000000 -dI386 -dGDB -a -Sg pp.pas %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
ppc386 -OG2p2 -Ch8000000 -dI386 -dGDB -dBROWSERLOG -a -Sg pp.pas %1 %2 %3 %4 %5 %6 %7 %8 %9
|
||||
if errorlevel 0 goto success
|
||||
goto failed
|
||||
:success
|
||||
|
||||
@ -518,15 +518,21 @@ implementation
|
||||
{ dummy }
|
||||
regsize:=S_W;
|
||||
end;
|
||||
if (status.verbosity and v_debug)=v_debug then
|
||||
for i:=1 to maxvarregs do
|
||||
begin
|
||||
for i:=1 to maxvarregs do
|
||||
if assigned(regvars[i]) then
|
||||
begin
|
||||
if assigned(regvars[i]) then
|
||||
Message3(cg_d_register_weight,reg2str(regvars[i]^.reg),
|
||||
tostr(regvars[i]^.refs),regvars[i]^.name);
|
||||
if cs_asm_source in aktglobalswitches then
|
||||
procinfo.aktentrycode^.insert(new(pai_asm_comment,init(strpnew(regvars[i]^.name+
|
||||
' with weight '+tostr(regvars[i]^.refs)+' assigned to register '+
|
||||
reg2str(regvars[i]^.reg)))));
|
||||
if (status.verbosity and v_debug)=v_debug then
|
||||
Message3(cg_d_register_weight,reg2str(regvars[i]^.reg),
|
||||
tostr(regvars[i]^.refs),regvars[i]^.name);
|
||||
end;
|
||||
end;
|
||||
if cs_asm_source in aktglobalswitches then
|
||||
procinfo.aktentrycode^.insert(new(pai_asm_comment,init(strpnew('Register variable assignment:'))));
|
||||
end;
|
||||
end;
|
||||
if assigned(aktprocsym) and
|
||||
@ -547,7 +553,10 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.19 1999-05-01 13:24:28 peter
|
||||
Revision 1.20 1999-05-02 21:33:54 florian
|
||||
* several bugs regarding -Or fixed
|
||||
|
||||
Revision 1.19 1999/05/01 13:24:28 peter
|
||||
* merged nasm compiler
|
||||
* old asm moved to oldasm/
|
||||
|
||||
|
||||
@ -1033,6 +1033,9 @@ Begin
|
||||
End
|
||||
Else
|
||||
Begin
|
||||
{ change it to a two op operation }
|
||||
Pai386(p)^.oper[1].typ:=top_none;
|
||||
Pai386(p)^.ops:=2;
|
||||
Pai386(p)^.opcode := A_MOV;
|
||||
Pai386(p)^.Loadoper(1,Pai386(p)^.oper[0]);
|
||||
New(TmpRef);
|
||||
@ -1508,7 +1511,10 @@ End.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.49 1999-05-02 14:26:31 peter
|
||||
Revision 1.50 1999-05-02 21:33:55 florian
|
||||
* several bugs regarding -Or fixed
|
||||
|
||||
Revision 1.49 1999/05/02 14:26:31 peter
|
||||
* fixed dec -> sub $1 opt which didn't set ops=2
|
||||
|
||||
Revision 1.48 1999/05/01 13:24:34 peter
|
||||
|
||||
@ -933,6 +933,10 @@ implementation
|
||||
end;
|
||||
{ calc registers }
|
||||
left_right_max(p);
|
||||
|
||||
{ val doesn't calculate the registers really }
|
||||
{ correct, we need one register extra (FK) }
|
||||
inc(p^.registers32,2);
|
||||
end;
|
||||
{$EndIf OLDVAL}
|
||||
|
||||
@ -1100,7 +1104,10 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.30 1999-05-01 13:24:53 peter
|
||||
Revision 1.31 1999-05-02 21:33:57 florian
|
||||
* several bugs regarding -Or fixed
|
||||
|
||||
Revision 1.30 1999/05/01 13:24:53 peter
|
||||
* merged nasm compiler
|
||||
* old asm moved to oldasm/
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user