mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 03:11:39 +01:00 
			
		
		
		
	* fixed errors found with new -CR code from Peter when cycling with -O2p3r
This commit is contained in:
		
							parent
							
								
									9319168ca4
								
							
						
					
					
						commit
						09de3f8d5b
					
				| @ -1477,7 +1477,7 @@ var | |||||||
| Begin {checks whether two Taicpu instructions are equal} | Begin {checks whether two Taicpu instructions are equal} | ||||||
|   If Assigned(p1) And Assigned(p2) And |   If Assigned(p1) And Assigned(p2) And | ||||||
|      (Tai(p1).typ = ait_instruction) And |      (Tai(p1).typ = ait_instruction) And | ||||||
|      (Tai(p1).typ = ait_instruction) And |      (Tai(p2).typ = ait_instruction) And | ||||||
|      opscompatible(Taicpu(p1),Taicpu(p2)) and |      opscompatible(Taicpu(p1),Taicpu(p2)) and | ||||||
|      (Taicpu(p1).oper[0].typ = Taicpu(p2).oper[0].typ) And |      (Taicpu(p1).oper[0].typ = Taicpu(p2).oper[0].typ) And | ||||||
|      (Taicpu(p1).oper[1].typ = Taicpu(p2).oper[1].typ) And |      (Taicpu(p1).oper[1].typ = Taicpu(p2).oper[1].typ) And | ||||||
| @ -2591,7 +2591,10 @@ End. | |||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   $Log$ |   $Log$ | ||||||
|   Revision 1.39  2002-06-09 12:56:04  jonas |   Revision 1.40  2002-06-24 12:43:00  jonas | ||||||
|  |     * fixed errors found with new -CR code from Peter when cycling with -O2p3r | ||||||
|  | 
 | ||||||
|  |   Revision 1.39  2002/06/09 12:56:04  jonas | ||||||
|     * IDIV reads edx too (but now the div/mod optimization fails :/ ) |     * IDIV reads edx too (but now the div/mod optimization fails :/ ) | ||||||
| 
 | 
 | ||||||
|   Revision 1.38  2002/05/18 13:34:22  peter |   Revision 1.38  2002/05/18 13:34:22  peter | ||||||
|  | |||||||
| @ -347,7 +347,7 @@ implementation | |||||||
|                              right.free; |                              right.free; | ||||||
|                              right:=t; |                              right:=t; | ||||||
|                           end |                           end | ||||||
|                         else if tordconstnode(taddnode(right).left).nodetype=ordconstn then |                         else if taddnode(right).left.nodetype=ordconstn then | ||||||
|                           begin |                           begin | ||||||
|                              extraoffset:=tordconstnode(taddnode(right).left).value; |                              extraoffset:=tordconstnode(taddnode(right).left).value; | ||||||
|                              t:=taddnode(right).right; |                              t:=taddnode(right).right; | ||||||
| @ -519,7 +519,10 @@ begin | |||||||
| end. | end. | ||||||
| { | { | ||||||
|   $Log$ |   $Log$ | ||||||
|   Revision 1.33  2002-05-18 13:34:25  peter |   Revision 1.34  2002-06-24 12:43:01  jonas | ||||||
|  |     * fixed errors found with new -CR code from Peter when cycling with -O2p3r | ||||||
|  | 
 | ||||||
|  |   Revision 1.33  2002/05/18 13:34:25  peter | ||||||
|     * readded missing revisions |     * readded missing revisions | ||||||
| 
 | 
 | ||||||
|   Revision 1.32  2002/05/16 19:46:51  carl |   Revision 1.32  2002/05/16 19:46:51  carl | ||||||
|  | |||||||
| @ -160,7 +160,7 @@ implementation | |||||||
|       verbose,globals,globtype,systems, |       verbose,globals,globtype,systems, | ||||||
|       symconst,symdef,symsym,types, |       symconst,symdef,symsym,types, | ||||||
|       pass_1, |       pass_1, | ||||||
|       ncal,nflw,rgobj,cgbase |       nld,ncal,nflw,rgobj,cgbase | ||||||
|       ; |       ; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -380,8 +380,8 @@ implementation | |||||||
|                            CGMessage(cg_n_inefficient_code) |                            CGMessage(cg_n_inefficient_code) | ||||||
|                          else |                          else | ||||||
|                            begin |                            begin | ||||||
|                               texitnode(tstatementnode(hp.left).right).left:=tstatementnode(hp.right).right; |                               texitnode(tstatementnode(hp.left).right).left:=tassignmentnode(hp.right).right; | ||||||
|                               tstatementnode(hp.right).right:=nil; |                               tassignmentnode(hp.right).right:=nil; | ||||||
|                               hp.right.free; |                               hp.right.free; | ||||||
|                               hp.right:=nil; |                               hp.right:=nil; | ||||||
|                            end; |                            end; | ||||||
| @ -675,7 +675,10 @@ begin | |||||||
| end. | end. | ||||||
| { | { | ||||||
|   $Log$ |   $Log$ | ||||||
|   Revision 1.25  2002-05-18 13:34:09  peter |   Revision 1.26  2002-06-24 12:43:00  jonas | ||||||
|  |     * fixed errors found with new -CR code from Peter when cycling with -O2p3r | ||||||
|  | 
 | ||||||
|  |   Revision 1.25  2002/05/18 13:34:09  peter | ||||||
|     * readded missing revisions |     * readded missing revisions | ||||||
| 
 | 
 | ||||||
|   Revision 1.24  2002/05/16 19:46:37  carl |   Revision 1.24  2002/05/16 19:46:37  carl | ||||||
|  | |||||||
| @ -184,13 +184,13 @@ implementation | |||||||
|                         end |                         end | ||||||
|                       else |                       else | ||||||
|                        if (regvarinfo^.regvars[i].vartype.def.deftype in [orddef,enumdef]) and |                        if (regvarinfo^.regvars[i].vartype.def.deftype in [orddef,enumdef]) and | ||||||
|                           (torddef(regvarinfo^.regvars[i].vartype.def).size=1) then |                           (regvarinfo^.regvars[i].vartype.def.size=1) then | ||||||
|                         begin |                         begin | ||||||
|                           regvarinfo^.regvars[i].reg:=rg.makeregsize(varregs[i],OS_8); |                           regvarinfo^.regvars[i].reg:=rg.makeregsize(varregs[i],OS_8); | ||||||
|                         end |                         end | ||||||
|                       else |                       else | ||||||
|                        if (regvarinfo^.regvars[i].vartype.def.deftype in [orddef,enumdef]) and |                        if (regvarinfo^.regvars[i].vartype.def.deftype in [orddef,enumdef]) and | ||||||
|                           (torddef(regvarinfo^.regvars[i].vartype.def).size=2) then |                           (regvarinfo^.regvars[i].vartype.def.size=2) then | ||||||
|                          begin |                          begin | ||||||
|                            regvarinfo^.regvars[i].reg:=rg.makeregsize(varregs[i],OS_16); |                            regvarinfo^.regvars[i].reg:=rg.makeregsize(varregs[i],OS_16); | ||||||
|                          end |                          end | ||||||
| @ -464,7 +464,10 @@ end. | |||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   $Log$ |   $Log$ | ||||||
|   Revision 1.33  2002-05-18 13:34:17  peter |   Revision 1.34  2002-06-24 12:43:00  jonas | ||||||
|  |     * fixed errors found with new -CR code from Peter when cycling with -O2p3r | ||||||
|  | 
 | ||||||
|  |   Revision 1.33  2002/05/18 13:34:17  peter | ||||||
|     * readded missing revisions |     * readded missing revisions | ||||||
| 
 | 
 | ||||||
|   Revision 1.32  2002/05/16 19:46:44  carl |   Revision 1.32  2002/05/16 19:46:44  carl | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Jonas Maebe
						Jonas Maebe