浏览代码

copy: consider identity element for more instructions

udiv %x, 1 == %x, and for each of sub, or, xor, sar, shr, and shl,
<op> %x, 0 == %x.
Michael Forney 4 年之前
父节点
当前提交
2bbfcf61b3
共有 1 个文件被更改,包括 7 次插入1 次删除
  1. 7 1
      copy.c

+ 7 - 1
copy.c

@@ -27,10 +27,16 @@ iscopy(Ins *i, Ref r, Fn *fn)
 	case Ocopy:
 		return 1;
 	case Omul:
-		return iscon(i->arg[1], 1, fn);
 	case Odiv:
+	case Oudiv:
 		return iscon(i->arg[1], 1, fn);
 	case Oadd:
+	case Osub:
+	case Oor:
+	case Oxor:
+	case Osar:
+	case Oshl:
+	case Oshr:
 		return iscon(i->arg[1], 0, fn);
 	default:
 		break;