| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 244240
|
|
|
|
| |
llvm-svn: 244230
|
|
|
|
| |
llvm-svn: 244228
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit implements the initial serialization of the machine operand target
flags. It extends the 'TargetInstrInfo' class to add two new methods that help
to provide text based serialization for the target flags.
This commit can serialize only the X86 target flags, and the target flags for
the other targets will be serialized in the follow-up commits.
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 244185
|
|
|
|
|
|
|
| |
This commit serializes the offset for the following operands: target index,
global address, external symbol, constant pool index, and block address.
llvm-svn: 244157
|
|
|
|
| |
llvm-svn: 244100
|
|
|
|
| |
llvm-svn: 244098
|
|
|
|
|
|
|
|
| |
This commit extracts the code that parses the IR constant values into a new
method named 'parseIRConstant' in the 'MIParser' class. The new method will
be reused by the code that parses the typed integer immediate machine operands.
llvm-svn: 244093
|
|
|
|
| |
llvm-svn: 244081
|
|
|
|
| |
llvm-svn: 244075
|
|
|
|
| |
llvm-svn: 244071
|
|
|
|
|
|
|
| |
The machine instructions lexer should not expose the difference between quoted
and unquoted tokens to the parser.
llvm-svn: 244068
|
|
|
|
| |
llvm-svn: 243923
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 243915
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 243780
|
|
|
|
| |
llvm-svn: 243554
|
|
|
|
| |
llvm-svn: 243553
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 243497
|
|
|
|
| |
llvm-svn: 243453
|
|
|
|
|
|
|
|
|
| |
This commit extracts the code that parses a global value from the method
'parseGlobalAddressOperand' into a new method 'parseGlobalValue', so that this
code can be reused by the method which will parse the block address machine
operands.
llvm-svn: 243450
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit serializes the references from the machine basic blocks to the
unnamed basic blocks.
This commit adds a new attribute to the machine basic block's YAML mapping
called 'ir-block'. This attribute contains the actual reference to the
basic block.
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 243340
|
|
|
|
| |
llvm-svn: 243322
|
|
|
|
|
|
|
|
| |
This commit renames the methods 'parseMBB' and 'parseNamedRegister' to
'parseStandaloneMBB' and 'parseStandaloneNamedRegister' in order for their
names to be consistent with the method 'parseStandaloneVirtualRegister'.
llvm-svn: 243319
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 243288
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 243062
|
|
|
|
| |
llvm-svn: 242938
|
|
|
|
|
|
|
| |
This change would allow the machine instruction parser to reuse this method when
parsing the metadata node for the machine instruction's debug location property.
llvm-svn: 242934
|
|
|
|
| |
llvm-svn: 242916
|
|
|
|
|
|
|
|
| |
This commit begins serialization of the CFI index machine operands by
serializing one kind of CFI instruction - the .cfi_def_cfa_offset instruction.
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 242845
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 242806
|
|
|
|
|
|
|
|
|
|
| |
This commit implements the initial serialization of machine constant pools and
the constant pool index machine operands. The constant pool is serialized using
a YAML sequence of YAML mappings that represent the constant values.
The target-specific constant pool items aren't serialized by this commit.
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 242707
|
|
|
|
|
|
|
|
|
|
| |
This commit extends the machine instruction lexer and implements support for
the quoted global value tokens. With this change the syntax for the global value
identifier tokens becomes identical to the syntax for the global identifier
tokens from the LLVM's assembly language.
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 242702
|
|
|
|
| |
llvm-svn: 242491
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 242487
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 242358
|
|
|
|
| |
llvm-svn: 242204
|
|
|
|
|
|
|
|
| |
This commit serializes the sub register indices from the register machine
operands.
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 242084
|
|
|
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
Differential Revision: http://reviews.llvm.org/D11005
llvm-svn: 241959
|
|
|
|
| |
llvm-svn: 241762
|
|
|
|
|
|
| |
This TODO comment has been redundant since r240474.
llvm-svn: 241737
|
|
|
|
| |
llvm-svn: 241734
|
|
|
|
| |
llvm-svn: 241624
|
|
|
|
|
|
|
|
|
|
|
| |
This commit modifies the interface for the machine instruction parsing
functions by wrapping the parameter 'MBBSlots' in a new structure called
'PerFunctionMIParsingState'. This change is useful as in the future I will be
able to pass new parameters to the machine instruction parser just by modifying
the 'PerFunctionMIParsingState' structure instead of adding a new parameter to
each function.
llvm-svn: 241607
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit verifies that the parsed machine instructions contain the implicit
register operands as specified by the MCInstrDesc. Variadic and call
instructions aren't verified.
Reviewers: Duncan P. N. Exon Smith
Differential Revision: http://reviews.llvm.org/D10781
llvm-svn: 241537
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit serializes the implicit flag for the register machine operands. It
introduces two new keywords into the machine instruction syntax: 'implicit' and
'implicit-def'. The 'implicit' keyword is used for the implicit register
operands, and the 'implicit-def' keyword is used for the register operands that
have both the implicit and the define flags set.
Reviewers: Duncan P. N. Exon Smith
Differential Revision: http://reviews.llvm.org/D10709
llvm-svn: 241519
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit implements serialization of the machine basic block successors. It
uses a YAML flow sequence that contains strings that have the MBB references.
The MBB references in those strings use the same syntax as the MBB machine
operands in the machine instruction strings.
Reviewers: Duncan P. N. Exon Smith
Differential Revision: http://reviews.llvm.org/D10699
llvm-svn: 241093
|
|
|
|
|
|
|
|
|
| |
This commit refactors the interface for machine instruction parser. It adopts
the pattern of returning a bool and passing in the result in the first argument
that is used by the other parsing methods for the the method 'parse' and the
function 'parseMachineInstr'.
llvm-svn: 241085
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit implements serialization of the register mask machine
operands. This commit serializes only the call preserved register
masks that are defined by a target, it doesn't serialize arbitrary
register masks.
This commit also extends the TargetRegisterInfo class and TableGen so that
the users of TRI can get the list of all the call preserved register masks and
their names.
Reviewers: Duncan P. N. Exon Smith
Differential Revision: http://reviews.llvm.org/D10673
llvm-svn: 240966
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit serializes the global address machine operands.
This commit doesn't serialize the operand's offset and target
flags, it serializes only the global value reference.
Reviewers: Duncan P. N. Exon Smith
Differential Revision: http://reviews.llvm.org/D10671
llvm-svn: 240851
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit serializes machine basic block operands. The
machine basic block operands use the following syntax:
%bb.<id>[.<name>]
This commit also modifies the YAML representation for the
machine basic blocks - a new, required field 'id' is added
to the MBB YAML mapping.
The id is used to resolve the MBB references to the
actual MBBs. And while the name of the MBB can be
included in a MBB reference, this name isn't used to
resolve MBB references - as it's possible that multiple
MBBs will reference the same BB and thus they will have the
same name. If the name is specified, the parser will verify
that it is equal to the name of the MBB with the specified id.
Reviewers: Duncan P. N. Exon Smith
Differential Revision: http://reviews.llvm.org/D10608
llvm-svn: 240792
|