Skip to content
  1. Oct 19, 2011
    • Greg Clayton's avatar
      Moved lldb::user_id_t values to be 64 bit. This was going to be needed for · 81c22f61
      Greg Clayton authored
      process IDs, and thread IDs, but was mainly needed for for the UserID's for
      Types so that DWARF with debug map can work flawlessly. With DWARF in .o files
      the type ID was the DIE offset in the DWARF for the .o file which is not
      unique across all .o files, so now the SymbolFileDWARFDebugMap class will
      make the .o file index part (the high 32 bits) of the unique type identifier
      so it can uniquely identify the types.
      
      llvm-svn: 142534
      81c22f61
    • Richard Smith's avatar
      -Wc++98-compat: diagnose if a reference is bound to a prvalue which does not · c620f554
      Richard Smith authored
      have an unambiguous accessible copying constructor; this is ill-formed in C++98.
      
      llvm-svn: 142533
      c620f554
    • Johnny Chen's avatar
      Modify lldbtest.Base.runHooks() to now take the following keyword arguments: · 2a808589
      Johnny Chen authored
          child=None, child_prompt=None, use_cmd_api=False
      
      By default, expect a pexpect spawned child and child prompt to be
      supplied (use_cmd_api=False).  If use_cmd_api is true, ignore the child
      and child prompt and use self.runCmd() to run the hooks one by one.
      
      Modify existing client to reflect the change.
      
      llvm-svn: 142532
      2a808589
    • Rafael Espindola's avatar
      Fix the signatures of vfork, __sigsetjmp and sigsetjmp. · 5450f218
      Rafael Espindola authored
      Patch by Dimitry Andric.
      
      llvm-svn: 142531
      5450f218
    • James Molloy's avatar
      Use literal pool loads instead of MOVW/MOVT for materializing global addresses... · 2d768fd3
      James Molloy authored
      Use literal pool loads instead of MOVW/MOVT for materializing global addresses when optimizing for size.
      
      On spec/gcc, this caused a codesize improvement of ~1.9% for ARM mode and ~4.9% for Thumb(2) mode. This is
      codesize including literal pools.
      
      The pools themselves doubled in size for ARM mode and quintupled for Thumb mode, leaving suggestion that there
      is still perhaps redundancy in LLVM's use of constant pools that could be decreased by sharing entries.
      
      Fixes PR11087.
      
      llvm-svn: 142530
      2d768fd3
    • David Greene's avatar
      Document Paste · fba251f2
      David Greene authored
      Document paste as a shorthand for !strconcat.
      
      llvm-svn: 142528
      fba251f2
    • David Greene's avatar
      Document NAME · e7c3ea97
      David Greene authored
      Document NAME as a special member of def records that should
      not be defined anywhere else.
      
      llvm-svn: 142527
      e7c3ea97
    • David Greene's avatar
      Add Paste Test · 13c8360c
      David Greene authored
      This tests TableGen's paste functionality.
      
      llvm-svn: 142526
      13c8360c
    • David Greene's avatar
      Implement Paste · 8e85b480
      David Greene authored
      Add a paste operator '#' to take two identifier-like strings and joint
      them.  Internally paste gets represented as a !strconcat() with any
      necessary casts to string added.
      
      This will be used to implement basic for loop functionality as in:
      
      for i = [0, 1, 2, 3, 4, 5, 6, 7] {
        def R#i : Register<...>
      }
      
      llvm-svn: 142525
      8e85b480
    • David Greene's avatar
      Process NAME · 8bf0d72f
      David Greene authored
      During multiclass def instantiation, replace NAME in any expressions
      with the value of the def or defm ID.
      
      llvm-svn: 142524
      8bf0d72f
    • David Greene's avatar
      Process Defm Prefix as Init · 5d5d88cc
      David Greene authored
      Parse and process a defm prefix as an Init expression.  This allows
      paste operations to create defm prefixes.
      
      llvm-svn: 142523
      5d5d88cc
    • David Greene's avatar
      Parse Def ID as Value · 2affd67b
      David Greene authored
      Allow def and defm IDs to be general values.  We need this for paste
      functionality.
      
      llvm-svn: 142522
      2affd67b
    • David Greene's avatar
      Don't Parse Object Body as a Name · b8a7c9d0
      David Greene authored
      Stop parsing a value if we are in name parsing mode and we see a left
      brace.  A left brace indicates the start of an object body when we are
      parsing a name.
      
      llvm-svn: 142521
      b8a7c9d0
    • David Greene's avatar
      Use Parse Mode · 232bd601
      David Greene authored
      Augment the value parser to respect the parse mode and not error if an
      ID doesn't map to an object and we are in name parsing mode.
      
      llvm-svn: 142520
      232bd601
    • David Greene's avatar
      Make ID Parsing More Flexible · d4263a6a
      David Greene authored
      Add a mode control to value and ID parsers.  The two modes are:
      
      - Parse a value.  Expect the parsed ID to map to an existing object.
      
      - Parse a name.  Expect the parsed ID to not map to any existing object.
      
      The first is used when parsing an identifier to be looked up, for
      example a record field or template argument.  The second is used for
      parsing declarations.  Paste functionality implies that declarations
      can contain arbitrary expressions so we need to be able to call into
      the general value parser to parse declarations with paste operators.
      So we need a way to parse a value-like thing without expecting that
      the result will map to some existing object.  This parse mode provides
      that.
      
      llvm-svn: 142519
      d4263a6a
    • David Greene's avatar
      Add NAME Member · d699161a
      David Greene authored
      Add a Value named "NAME" to each Record.  This will be set to the def or defm
      name when instantiating multiclasses.  This will replace the #NAME# processing
      hack once paste functionality is in place.
      
      llvm-svn: 142518
      d699161a
    • David Greene's avatar
      Fix Name Access · 7b6e6411
      David Greene authored
      Get the Record name as a string explicitly to avoid asserts.
      
      llvm-svn: 142517
      7b6e6411
    • David Greene's avatar
      Fix Name Access · 8eed9988
      David Greene authored
      Get the Record name as a string explicitly to avoid asserts.
      
      llvm-svn: 142516
      8eed9988
    • David Greene's avatar
      Fix Name Access · 07e055f9
      David Greene authored
      Get the Record name as a string explicitly to avoid asserts.
      
      llvm-svn: 142515
      07e055f9
    • David Greene's avatar
      Fix Name Access · 3a20f5a6
      David Greene authored
      Get the Record name by string explicitly to avoid potential asserts.
      
      llvm-svn: 142514
      3a20f5a6
    • David Greene's avatar
      Disambiguate Numbers and Identifiers · 5c9fa026
      David Greene authored
      Use lookahead to determine whether a number is really a number or is
      part of something forming an identifier.  This won't come into play
      until the paste operator is recognized as a unique token.
      
      llvm-svn: 142513
      5c9fa026
    • David Greene's avatar
      Add Peek · 9ba42085
      David Greene authored
      Add a peek function to let the Lexer look at a character arbitrarily
      far ahead in the stream without consuming anything.  We need this to
      disambiguate numbers and operands of a paste operation.  For example:
      
      def foo#8i
      
      Without lookahead the lexer will treat '8' as a number rather than as
      part of a string to be pasted to form an identifier.
      
      llvm-svn: 142512
      9ba42085
    • David Greene's avatar
      Resolve Record Names · 9effff28
      David Greene authored
      When resolving Record values, be sure to update the Record name as it
      may contain references to the value.
      
      llvm-svn: 142511
      9effff28
    • David Greene's avatar
      Allow Names Changes on Unregistered Records · f651a2a5
      David Greene authored
      Add Record names to be changed even on Records that aren't yet
      registered.  We need to be able to do this for paste functionality
      because we do not want to register def names before they are unique
      and that can only happen once all paste operations are done.  This
      change lets us update Record names formed by paste operations and
      register the result later.
      
      llvm-svn: 142510
      f651a2a5
    • David Greene's avatar
      Call Record Initializer · 212f6a9e
      David Greene authored
      Call the common Record initializer code from constructors.
      
      llvm-svn: 142509
      212f6a9e
    • David Greene's avatar
      Add Name Init Record Constructor · 38fe0082
      David Greene authored
      Add a Record constructor that takes the Record name as an Init.  This
      is more work toward paste functionality.
      
      llvm-svn: 142508
      38fe0082
    • David Greene's avatar
      Fix 80-col Violation · d3a45f07
      David Greene authored
      Split up the initializer list for Record to avoid 80-col issues.
      
      llvm-svn: 142507
      d3a45f07
    • David Greene's avatar
      Fix Name Access · 077d84e6
      David Greene authored
      Ask for the Record name as a string explicitly to avoid a possible assert.
      
      llvm-svn: 142506
      077d84e6
    • David Greene's avatar
      Fix Name Access · 98be78ae
      David Greene authored
      Ask for the Record name as a string explicitly to avoid a possible
      assert.
      
      llvm-svn: 142505
      98be78ae
    • David Greene's avatar
      Fix Name Access · 658a4b71
      David Greene authored
      Ask for the record name as a string explicitly to avoid a potential
      assert.
      
      llvm-svn: 142504
      658a4b71
    • David Greene's avatar
      Fix Name Check · b94b18e4
      David Greene authored
      Avoid a potential assert by asking for record names as strings explicitly.
      
      llvm-svn: 142503
      b94b18e4
    • David Greene's avatar
      Fix Name Check · 894774db
      David Greene authored
      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
      894774db
    • David Greene's avatar
      Add Record Init · b77fc0d9
      David Greene authored
      Add an init function to be shared among Record constructors.
      
      llvm-svn: 142501
      b77fc0d9
    • David Greene's avatar
      Make Template Arg Names Inits · db10e691
      David Greene authored
      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
      db10e691
    • David Greene's avatar
      Let SetValue Take and Init Name · 3ca42126
      David Greene authored
      Convert SetValue to take the value name as an Init.  This allows us to
      set values for variables whose names are not yet fully resolved.
      
      llvm-svn: 142499
      3ca42126
    • David Greene's avatar
      Add Utility to Scope Names · e714512c
      David Greene authored
      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
      e714512c
    • David Greene's avatar
      Make VarInit Name an Init · 914adf0e
      David Greene authored
      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
      914adf0e
    • David Greene's avatar
      Add Value Accessors · 28438acd
      David Greene authored
      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
      28438acd
    • David Greene's avatar
      Add Name Init Accessors · 00caf09b
      David Greene authored
      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
      00caf09b
    • David Greene's avatar
      Add Init Accessors · f73296f5
      David Greene authored
      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
      f73296f5
Loading