cmd/compile: simplify less with non-negative number and constant 0 or 1

The most common cases:
len(s) > 0
len(s) < 1

and they can be simplified to:
len(s) != 0
len(s) == 0

Fixes #48054

Change-Id: I16e5b0cffcfab62a4acc2a09977a6cd3543dd000
Reviewed-on: https://go-review.googlesource.com/c/go/+/346050
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
This commit is contained in:
wdvxdr 2021-08-30 22:26:54 +08:00 committed by Cherry Mui
parent 6226020c2f
commit 21de6bc463
3 changed files with 194 additions and 0 deletions

View file

@ -0,0 +1,31 @@
// asmcheck
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package main
func a(n string) bool {
// arm64:"CBZ"
if len(n) > 0 {
return true
}
return false
}
func a2(n []int) bool {
// arm64:"CBZ"
if len(n) > 0 {
return true
}
return false
}
func a3(n []int) bool {
// amd64:"TESTQ"
if len(n) < 1 {
return true
}
return false
}