| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 243798
|
|
|
|
|
|
| |
This variable is unused as of r243572.
llvm-svn: 243796
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 243780
|
|
|
|
| |
llvm-svn: 243696
|
|
|
|
| |
llvm-svn: 243695
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 243659
|
|
|
|
|
|
|
| |
This commit serializes the save and restore machine basic block references from
the machine frame information class.
llvm-svn: 243575
|
|
|
|
|
|
|
| |
This commit extracts the code that's used by the class 'MIRParserImpl' to parse
the machine basic block references into a new method named 'parseMBBReference'.
llvm-svn: 243572
|
|
|
|
| |
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 moves the function 'lexName' to the start of the file so it can
be reused by the function which will lex the named LLVM IR block references.
llvm-svn: 243449
|
|
|
|
|
|
|
|
|
| |
This commit removes the redundant parameters from the two methods
'initializeRegisterInfo' and 'initializeFrameInfo'. The removed parameters are
redundant as we are already passing in the 'MachineFunction' to those methods,
and those parameters can be derived from the machine function parameter.
llvm-svn: 243445
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
This commit serializes the callee saved information from the class
'MachineFrameInfo'. This commit extends the YAML mappings for the fixed and
the ordinary stack objects and adds an optional 'callee-saved-register'
attribute. This attribute is used to serialize the callee save information.
llvm-svn: 243173
|
|
|
|
|
|
|
| |
This commit serializes the virtual register allocations hints of type 0.
These hints specify the preferred physical registers for allocations.
llvm-svn: 243156
|
|
|
|
| |
llvm-svn: 243128
|
|
|
|
| |
llvm-svn: 243081
|
|
|
|
| |
llvm-svn: 243080
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This commit refactors the function 'maybeLexGlobalValue' so that now it reuses
the function 'lexName' when lexing a named global value token.
llvm-svn: 242837
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
This commit modifies the machine instruction lexer so that it now accepts the
'$' characters in identifier tokens.
This change makes the syntax for unquoted global value tokens consistent with
the syntax for the global idenfitier tokens in the LLVM's assembly language.
llvm-svn: 242584
|
|
|
|
| |
llvm-svn: 242491
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 242487
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 242358
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The jump table info is serialized using a YAML mapping that contains its kind
and a YAML sequence of jump table entries. A jump table entry is a YAML mapping
that has an ID and an inline YAML sequence of machine basic block references.
The testcase 'CodeGen/MIR/X86/jump-table-info.mir' doesn't have any instructions
because one of them contains a jump table index operand. The jump table index
operands will be serialized in a follow up patch, and the appropriate
instructions will be added to this testcase.
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 242357
|
|
|
|
|
|
|
|
|
| |
This commit serializes the references to the named LLVM alloca instructions from
the stack objects in the machine frame info. This commit adds a field 'Name' to
the struct 'yaml::MachineStackObject'. This new field is used to store the name
of the alloca instruction when the alloca is present and when it has a name.
llvm-svn: 242339
|
|
|
|
| |
llvm-svn: 242204
|
|
|
|
| |
llvm-svn: 242095
|
|
|
|
|
|
|
|
| |
This commit serializes the sub register indices from the register machine
operands.
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 242084
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit serializes the fixed stack objects, including fixed spill slots.
The fixed stack objects are serialized using a YAML sequence of YAML inline
mappings. Each mapping has the object's ID, type, size, offset, and alignment.
The objects that aren't spill slots also serialize the isImmutable and isAliased
flags.
The fixed stack objects are a part of the machine function's YAML mapping.
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 242045
|
|
|
|
|
|
|
|
| |
Reviewers: Duncan P. N. Exon Smith
Differential Revision: http://reviews.llvm.org/D11005
llvm-svn: 241959
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit implements the initial serialization of stack objects from the
MachineFrameInfo class. It can only serialize the ordinary stack objects
(including ordinary spill slots), but it doesn't serialize variable sized or
fixed stack objects yet.
The stack objects are serialized using a YAML sequence of YAML inline mappings.
Each mapping has the object's ID, type, size, offset and alignment. The stack
objects are a part of machine function's YAML mapping.
Reviewers: Duncan P. N. Exon Smith
llvm-svn: 241922
|
|
|
|
|
|
|
|
|
|
|
|
| |
The virtual registers are serialized using a YAML sequence of YAML inline
mappings. Each mapping has the id of the virtual register and the register
class.
Reviewers: Duncan P. N. Exon Smith
Differential Revision: http://reviews.llvm.org/D10981
llvm-svn: 241868
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a new error which is reported when the MIR Parser encounters
a machine function without any machine basic blocks. The machine verifier
expects that the machine functions have at least one MBB, and this error will
prevent machine functions without MBBs from reaching the machine verifier and
crashing with an assertion.
llvm-svn: 241862
|