1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 04:52:54 +02:00
Commit Graph

64 Commits

Author SHA1 Message Date
David Greene
76a2654db8 Add Name Init Record Constructor
Add a Record constructor that takes the Record name as an Init.  This
is more work toward paste functionality.

llvm-svn: 142508
2011-10-19 13:03:15 +00:00
David Greene
2c6b483c06 Fix 80-col Violation
Split up the initializer list for Record to avoid 80-col issues.

llvm-svn: 142507
2011-10-19 13:03:10 +00:00
David Greene
07316ea195 Fix Name Check
Avoid a potential assert by asking for record names as strings explicitly.

llvm-svn: 142503
2011-10-19 13:02:48 +00:00
David Greene
188f077e31 Fix Name Check
Record names may not be fully resolved at this point so ask for the
record name as a string explicitly.  This avoids a potential assert.

llvm-svn: 142502
2011-10-19 13:02:47 +00:00
David Greene
237d471a3b Add Record Init
Add an init function to be shared among Record constructors.

llvm-svn: 142501
2011-10-19 13:02:45 +00:00
David Greene
19302d2140 Make Template Arg Names Inits
Allow template arg names to be Inits.  This is further work to
implement paste as it allows template names to participate in paste
operations.

llvm-svn: 142500
2011-10-19 13:02:42 +00:00
David Greene
91eb76c04d Add Utility to Scope Names
Add a couple of utility functions to take a variable name and qualify
it with the namespace of the enclosing class and/or multiclass.  This
is inpreparation for making template arg names first-class Inits.

llvm-svn: 142498
2011-10-19 13:02:36 +00:00
David Greene
60ceab4b63 Make VarInit Name an Init
Make the VarInit name an Init itself.  We need this to implement paste
functionality so we can reference variables whose names are not yet
completely resolved.

llvm-svn: 142497
2011-10-19 13:02:33 +00:00
David Greene
1c66ed43c1 Add Value Accessors
Add accessors to get Record values by Init name.  This lets us look up
Record values whose names are not yet fully resolved.  More work
toward paste.

llvm-svn: 142496
2011-10-19 13:02:29 +00:00
David Greene
557cd75d47 Add Name Init Accessors
Add a utility to get the name init and get the string representation
of the name.  This will be used for paste functionality.

llvm-svn: 142495
2011-10-19 13:02:28 +00:00
David Greene
f6a28e6e87 Add Init Accessors
Add a couple of utility functions to get at the name init and return
the name init as a string.  This will be used for paste functionality.

llvm-svn: 142494
2011-10-19 13:02:22 +00:00
David Greene
ae3329d597 Remove Multidefs
Multidefs are a bit unwieldy and incomplete.  Remove them in favor of
another mechanism, probably for loops.

Revert "Make Test More Thorough"
Revert "Fix a typo."
Revert "Vim Support for Multidefs"
Revert "Emacs Support for Multidefs"
Revert "Document Multidefs"
Revert "Add a Multidef Test"
Revert "Update Test for Multidefs"
Revert "Process Multidefs"
Revert "Parser Multidef Support"
Revert "Lexer Support for Multidefs"
Revert "Add Multidef Data Structures"

llvm-svn: 141378
2011-10-07 18:25:05 +00:00
David Greene
7d008a61a5 Add Multidef Data Structures
Add a set of data structures and members analogous to those used for
multiclass defs.  These will represent a new kind of multiclass def: a
multidef.  The idea behind the multidef is to process a list of items
and create a def record for each one inside the enclosing multiclass.
This allows the user to dynamically create a set of defs based on the
contents of a list.

llvm-svn: 141230
2011-10-05 22:42:17 +00:00
Peter Collingbourne
01246536d9 Move TableGen's parser and entry point into a library
This is the first step towards splitting LLVM and Clang's tblgen executables.

llvm-svn: 140951
2011-10-01 16:41:13 +00:00