mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/internal/obj/arm: remove CASE and BCASE
Update #10994 CASE and BCASE were used by 5c in switch statements, cmd/compile does not use them. Change-Id: I7a578c461b52b94690e35460926849b28971b770 Reviewed-on: https://go-review.googlesource.com/14009 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Minux Ma <minux@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
a088f1b76c
commit
8d478e845c
7 changed files with 22 additions and 114 deletions
|
|
@ -156,17 +156,6 @@ const (
|
|||
LEAF = 1 << 2
|
||||
)
|
||||
|
||||
func linkcase(casep *obj.Prog) {
|
||||
for p := casep; p != nil; p = p.Link {
|
||||
if p.As == ABCASE {
|
||||
for ; p != nil && p.As == ABCASE; p = p.Link {
|
||||
p.Rel = casep
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
|
||||
autosize := int32(0)
|
||||
|
||||
|
|
@ -196,11 +185,6 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
|
|||
var q *obj.Prog
|
||||
for p := cursym.Text; p != nil; p = p.Link {
|
||||
switch p.As {
|
||||
case ACASE:
|
||||
if ctxt.Flag_shared != 0 {
|
||||
linkcase(p)
|
||||
}
|
||||
|
||||
case obj.ATEXT:
|
||||
p.Mark |= LEAF
|
||||
|
||||
|
|
@ -230,8 +214,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
|
|||
cursym.Text.Mark &^= LEAF
|
||||
fallthrough
|
||||
|
||||
case ABCASE,
|
||||
AB,
|
||||
case AB,
|
||||
ABEQ,
|
||||
ABNE,
|
||||
ABCS,
|
||||
|
|
@ -914,7 +897,7 @@ loop:
|
|||
if p.Pcond != nil {
|
||||
if a != ABL && a != ABX && p.Link != nil {
|
||||
q = obj.Brchain(ctxt, p.Link)
|
||||
if a != obj.ATEXT && a != ABCASE {
|
||||
if a != obj.ATEXT {
|
||||
if q != nil && (q.Mark&FOLL != 0) {
|
||||
p.As = int16(relinv(a))
|
||||
p.Link = p.Pcond
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue