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)) | ||||
| 			"add $$$2,%(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 | | | ||||
| 			INDSTORE | ||||
| 			"inc *%(regvar($1)%)"		|	| | | ||||
|  | @ -1173,6 +1176,9 @@ lol adp stl $1==$3 | | | |||
| 			remove(locals, %[ind] <= $1 && %[ind]+%[size] > $1) | ||||
| 			"add $$$2,$1(r5)" | ||||
| 			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 | | | ||||
| 			INDSTORE | ||||
| 			"inc *$1(r5)" | ||||
|  | @ -1201,6 +1207,9 @@ loe adp ste $1==$3 | | | |||
| 			remove(posextern) | ||||
| 			"add $$$2,$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 | | | ||||
| 			INDSTORE | ||||
| 			"inc *$1" | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue