File tree Expand file tree Collapse file tree 1 file changed +3
-2
lines changed
Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -3968,7 +3968,7 @@ OptimizePeepholes(IRList *irl)
39683968 } else if (previr && isMaskingOp (previr ,& tmp ) && (tmp & 0xFFFF )== 0xFFFF ) {
39693969 DeleteIR (irl ,previr );
39703970 changed = 1 ;
3971- } else if (previr && previr -> opc == OPC_GETWORD ) {
3971+ } else if (previr && previr -> opc == OPC_GETWORD && previr -> src2 -> kind == IMM_INT && previr -> src2 -> val == 0 ) {
39723972 ReplaceOpcode (previr ,OPC_MOV );
39733973 previr -> src2 = NULL ;
39743974 changed = 1 ;
@@ -3982,8 +3982,9 @@ OptimizePeepholes(IRList *irl)
39823982 } else if (previr && isMaskingOp (previr ,& tmp ) && (tmp & 0xFFFF )== 0xFFFF ) {
39833983 DeleteIR (irl ,previr );
39843984 changed = 1 ;
3985- } else if (previr && previr -> opc == OPC_GETWORD ) {
3985+ } else if (previr && previr -> opc == OPC_GETWORD && previr -> src2 -> kind == IMM_INT && previr -> src2 -> val == 0 ) {
39863986 ReplaceOpcode (previr ,OPC_MOV );
3987+ previr -> src2 = NULL ;
39873988 changed = 1 ;
39883989 }
39893990 }
You can’t perform that action at this time.
0 commit comments