added patterns to prevent stacking in *p++ cases
This commit is contained in:
		
							parent
							
								
									d1b3479a55
								
							
						
					
					
						commit
						ce098c78cb
					
				
					 1 changed files with 9 additions and 0 deletions
				
			
		|  | @ -1105,6 +1105,9 @@ lol adp stl $1==$3 && inreg($1)==2 | | | ||||||
| 			remove(regvar($1)) | 			remove(regvar($1)) | ||||||
| 			"add $$$2,%(regvar($1)%)" | 			"add $$$2,%(regvar($1)%)" | ||||||
| 			erase(regvar($1))		|	| | | 			erase(regvar($1))		|	| | | ||||||
|  | lil lil adp sil $2==$4 && inreg($1)==2 | | | ||||||
|  | 			allocate(REG={regdef2, regvar($1)})  | ||||||
|  | 						| %[a] | lil $2 adp $3 sil $2 | | ||||||
| lil adp sil $1==$3 && $2==1 && inreg($1)==2 | | | lil adp sil $1==$3 && $2==1 && inreg($1)==2 | | | ||||||
| 			INDSTORE | 			INDSTORE | ||||||
| 			"inc *%(regvar($1)%)"		|	| | | 			"inc *%(regvar($1)%)"		|	| | | ||||||
|  | @ -1173,6 +1176,9 @@ lol adp stl $1==$3 | | | ||||||
| 			remove(locals, %[ind] <= $1 && %[ind]+%[size] > $1) | 			remove(locals, %[ind] <= $1 && %[ind]+%[size] > $1) | ||||||
| 			"add $$$2,$1(r5)" | 			"add $$$2,$1(r5)" | ||||||
| 			setcc({LOCAL2,$1,2})		|	| | | 			setcc({LOCAL2,$1,2})		|	| | | ||||||
|  | lil lil adp sil $2==$4 | | | ||||||
|  | 			allocate(REG={reginddef2, lb, tostring($1)})  | ||||||
|  | 						| %[a] | lil $2 adp $3 sil $2 | | ||||||
| lil adp sil $1==$3 && $2==1 | | | lil adp sil $1==$3 && $2==1 | | | ||||||
| 			INDSTORE | 			INDSTORE | ||||||
| 			"inc *$1(r5)" | 			"inc *$1(r5)" | ||||||
|  | @ -1201,6 +1207,9 @@ loe adp ste $1==$3 | | | ||||||
| 			remove(posextern) | 			remove(posextern) | ||||||
| 			"add $$$2,$1" | 			"add $$$2,$1" | ||||||
| 			setcc({relative2,$1})		|	| | | 			setcc({relative2,$1})		|	| | | ||||||
|  | loe loi loe loi adp loe sti $3==$6 && $2==2 && $4==2 && $7==2 | | | ||||||
|  | 			allocate(REG={reldef2, $1}) | ||||||
|  | 				| %[a] | loe $3 loi $4 adp $5 loe $6 sti $7 | | ||||||
| loe loi adp loe sti $1==$4 && $2==2 && $5==2 && $3==1 | | | loe loi adp loe sti $1==$4 && $2==2 && $5==2 && $3==1 | | | ||||||
| 			INDSTORE | 			INDSTORE | ||||||
| 			"inc *$1" | 			"inc *$1" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue