mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 15:19:54 +01:00 
			
		
		
		
	* apply cse to all non-regable variables if possible
git-svn-id: trunk@26579 -
This commit is contained in:
		
							parent
							
								
									03b859947f
								
							
						
					
					
						commit
						1b355ce1e4
					
				@ -180,8 +180,10 @@ unit optcse;
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            (not(actualtargetnode(@n)^.nodetype=loadn) or
 | 
					            (not(actualtargetnode(@n)^.nodetype=loadn) or
 | 
				
			||||||
             not(tloadnode(actualtargetnode(@n)^).symtableentry.typ in [paravarsym,localvarsym,staticvarsym]) or
 | 
					             not(tloadnode(actualtargetnode(@n)^).symtableentry.typ in [paravarsym,localvarsym,staticvarsym]) or
 | 
				
			||||||
             { apply cse on non-regable static variables }
 | 
					             { apply cse on non-regable variables }
 | 
				
			||||||
             ((tloadnode(actualtargetnode(@n)^).symtableentry.typ=staticvarsym) and (tstaticvarsym(tloadnode(actualtargetnode(@n)^).symtableentry).varregable=vr_none)) or
 | 
					             ((tloadnode(actualtargetnode(@n)^).symtableentry.typ in [paravarsym,localvarsym,staticvarsym]) and
 | 
				
			||||||
 | 
					               not(tabstractvarsym(tloadnode(actualtargetnode(@n)^).symtableentry).is_regvar(false)) and
 | 
				
			||||||
 | 
					               not(vo_volatile in tabstractvarsym(tloadnode(actualtargetnode(@n)^).symtableentry).varoptions)) or
 | 
				
			||||||
             (node_complexity(n)>1)
 | 
					             (node_complexity(n)>1)
 | 
				
			||||||
            ) and
 | 
					            ) and
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user