Synchronize InstructionFormat and InstructionData.
These two enums must have identical variants. One is generated from the instruction formats in meta/cretonne/formats.py, the other defines the contents of an instruction. Emit a conversion from InstructionData to InstructionFormat which also serves to verify the correspondence. Rustc will error is the match is not complete.
This commit is contained in:
@@ -7,9 +7,11 @@ in this module.
|
||||
"""
|
||||
|
||||
|
||||
from . import InstructionFormat, value
|
||||
from . import InstructionFormat, value, args
|
||||
from immediates import imm64, ieee32, ieee64, immvector
|
||||
|
||||
Nullary = InstructionFormat()
|
||||
|
||||
Unary = InstructionFormat(value)
|
||||
UnaryImm = InstructionFormat(imm64)
|
||||
UnaryIeee32 = InstructionFormat(ieee32)
|
||||
@@ -20,6 +22,7 @@ Binary = InstructionFormat(value, value)
|
||||
BinaryImm = InstructionFormat(value, imm64)
|
||||
BinaryImmRev = InstructionFormat(imm64, value)
|
||||
|
||||
Call = InstructionFormat(args, multiple_results=True)
|
||||
|
||||
# Finally extract the names of global variables in this module.
|
||||
InstructionFormat.extract_names(globals())
|
||||
|
||||
Reference in New Issue
Block a user