inst,ir: cancelling inputs (#92)
Adds support for a `CancellingInputs` instruction flag, to indicate cases like `XORQ R10, R10` where the instruction actually does not depend on the value of `R10` at all. Closes #89
This commit is contained in:
committed by
GitHub
parent
8f97788836
commit
d43efabdbe
@@ -97,6 +97,11 @@ func construct(i inst.Instruction, f inst.Form, s signature) string {
|
||||
fmt.Fprintf(buf, "\tIsConditional: %#v,\n", i.IsConditionalBranch())
|
||||
}
|
||||
|
||||
// Cancelling inputs.
|
||||
if f.CancellingInputs {
|
||||
fmt.Fprintf(buf, "\tCancellingInputs: true,\n")
|
||||
}
|
||||
|
||||
fmt.Fprintf(buf, "}")
|
||||
return buf.String()
|
||||
}
|
||||
|
||||
@@ -57,6 +57,10 @@ func (g *godata) Generate(is []inst.Instruction) ([]byte, error) {
|
||||
g.Printf("},\n")
|
||||
}
|
||||
|
||||
if f.CancellingInputs {
|
||||
g.Printf("CancellingInputs: true,\n")
|
||||
}
|
||||
|
||||
g.Printf("},\n")
|
||||
}
|
||||
g.Printf("},\n")
|
||||
|
||||
Reference in New Issue
Block a user