Skip to content
  1. Feb 02, 2011
    • Nick Lewycky's avatar
      Turn on -momit-leaf-frame-pointer by default on all non-Darwin platforms. · 75033770
      Nick Lewycky authored
      Fixes PR9121!
      
      llvm-svn: 124718
      75033770
    • Nick Lewycky's avatar
      Remove wasteful caching. This isn't needed for correctness because any function · a46c8983
      Nick Lewycky authored
      that might have changed been affected by a merge elsewhere will have been
      removed from the function set, and it isn't needed for performance because we
      call grow() ahead of time to prevent reallocations.
      
      llvm-svn: 124717
      a46c8983
    • Greg Clayton's avatar
      Modified the PluginManager to be ready for loading plug-ins from a system · 4272cc7d
      Greg Clayton authored
      LLDB plugin directory and a user LLDB plugin directory. We currently still
      need to work out at what layer the plug-ins will be, but at least we are 
      prepared for plug-ins. Plug-ins will attempt to be loaded from the 
      "/Developer/Library/PrivateFrameworks/LLDB.framework/Resources/Plugins" 
      folder, and from the "~/Library/Application Support/LLDB/Plugins" folder on
      MacOSX. Each plugin will be scanned for:
      
      extern "C" bool LLDBPluginInitialize(void);
      extern "C" void LLDBPluginTerminate(void);
      
      If at least LLDBPluginInitialize is found, the plug-in will be loaded. The
      LLDBPluginInitialize function returns a bool that indicates if the plug-in
      should stay loaded or not (plug-ins might check the current OS, current
      hardware, or anything else and determine they don't want to run on the current
      host). The plug-in is uniqued by path and added to a static loaded plug-in
      map. The plug-in scanning happens during "lldb_private::Initialize()" which
      calls to the PluginManager::Initialize() function. Likewise with termination
      lldb_private::Terminate() calls PluginManager::Terminate(). The paths for the
      plug-in directories is fetched through new Host calls:
      
          bool Host::GetLLDBPath (ePathTypeLLDBSystemPlugins, dir_spec);
          bool Host::GetLLDBPath (ePathTypeLLDBUserPlugins, dir_spec);
      
      This way linux and other systems can define their own appropriate locations
      for plug-ins to be loaded.
      
      To allow dynamic shared library loading, the Host layer has also been modified
      to include shared library open, close and get symbol:
      
          static void *
          Host::DynamicLibraryOpen (const FileSpec &file_spec, 
                                    Error &error);
      
          static Error
          Host::DynamicLibraryClose (void *dynamic_library_handle);
      
          static void *
          Host::DynamicLibraryGetSymbol (void *dynamic_library_handle, 
                                        const char *symbol_name, 
                                        Error &error);
      
      lldb_private::FileSpec also has been modified to support directory enumeration
      in an attempt to abstract the directory enumeration into one spot in the code.
      The directory enumertion function is static and takes a callback:
      
      
          typedef enum EnumerateDirectoryResult
          {
              eEnumerateDirectoryResultNext,  // Enumerate next entry in the current directory
              eEnumerateDirectoryResultEnter, // Recurse into the current entry if it is a directory or symlink, or next if not
              eEnumerateDirectoryResultExit,  // Exit from the current directory at the current level.
              eEnumerateDirectoryResultQuit   // Stop directory enumerations at any level
          };
      
          typedef FileSpec::EnumerateDirectoryResult (*EnumerateDirectoryCallbackType) (void *baton,
                                                                                        FileSpec::FileType file_type,
                                                                                        const FileSpec &spec);
      
          static FileSpec::EnumerateDirectoryResult
          FileSpec::EnumerateDirectory (const char *dir_path,
                                        bool find_directories,
                                        bool find_files,
                                        bool find_other,
                                        EnumerateDirectoryCallbackType callback,
                                        void *callback_baton);
      
      This allow clients to specify the directory to search, and specifies if only
      files, directories or other (pipe, symlink, fifo, etc) files will cause the
      callback to be called. The callback also gets to return with the action that
      should be performed after this directory entry. eEnumerateDirectoryResultNext
      specifies to continue enumerating through a directory with the next entry.
      eEnumerateDirectoryResultEnter specifies to recurse down into a directory
      entry, or if the file is not a directory or symlink/alias to a directory, then
      just iterate to the next entry. eEnumerateDirectoryResultExit specifies to 
      exit the current directory and skip any entries that might be remaining, yet
      continue enumerating to the next entry in the parent directory. And finally
      eEnumerateDirectoryResultQuit means to abort all directory enumerations at 
      all levels.
      
      Modified the Declaration class to not include column information currently
      since we don't have any compilers that currently support column based 
      declaration information. Columns support can be re-enabled with the
      additions of a #define.
      
      Added the ability to find an EmulateInstruction plug-in given a target triple
      and optional plug-in name in the plug-in manager.
      
      Fixed a few cases where opendir/readdir was being used, but yet not closedir
      was being used. Soon these will be deprecated in favor of the new directory
      enumeration call that was added to the FileSpec class.
      
      llvm-svn: 124716
      4272cc7d
    • Dan Gohman's avatar
      Update this test following recent optimizer changes. · b93f5819
      Dan Gohman authored
      llvm-svn: 124715
      b93f5819
    • Ted Kremenek's avatar
      Remove redundant check to not warn for warn_equality_with_extra_parens if we... · ae022096
      Ted Kremenek authored
      Remove redundant check to not warn for warn_equality_with_extra_parens if we are in a macro.  This is checked twice.
      
      llvm-svn: 124714
      ae022096
    • Dan Gohman's avatar
      Conservatively, clear optional flags, such as nsw, when performing · c6f0bda8
      Dan Gohman authored
      reassociation. No testcase, because I wasn't able to create a testcase
      which actually demonstrates a problem.
      
      llvm-svn: 124713
      c6f0bda8
    • Dan Gohman's avatar
      Fix reassociate to clear optional flags, such as nsw. · 08d2c98c
      Dan Gohman authored
      llvm-svn: 124712
      08d2c98c
    • Caroline Tice's avatar
    • Johnny Chen's avatar
      Add EmulateBLXImmediate() and EmulateBLXRm() to the g_arm_opcodes and g_thumb_opcodes tables, · d07a57f2
      Johnny Chen authored
      which represent "bl <label>", "blx <label>", and "blx <Rm>" instructions.
      
      llvm-svn: 124710
      d07a57f2
    • Sean Callanan's avatar
      Fixed a bug in the disassembler where the mandatory 0x66 · 26fc7858
      Sean Callanan authored
      prefix would be misinterpreted in some cases on 32-bit
      x86 platforms.  Thanks to Olivier Meurant for identifying
      the bug.
      
      llvm-svn: 124709
      26fc7858
    • Evan Cheng's avatar
      Given a pair of floating point load and store, if there are no other uses of · d42641c6
      Evan Cheng authored
      the load, then it may be legal to transform the load and store to integer
      load and store of the same width.
      
      This is done if the target specified the transformation as profitable. e.g.
      On arm, this can transform:
      vldr.32 s0, []
      vstr.32 s0, []
      
      to
      
      ldr r12, []
      str r12, []
      
      rdar://8944252
      
      llvm-svn: 124708
      d42641c6
    • Johnny Chen's avatar
      Fix test function breakpoint_command_script_parameters()'s expect-pattern so that · ab62873b
      Johnny Chen authored
      it passes when using clang as the compiler to build the inferior.
      
      llvm-svn: 124707
      ab62873b
    • Greg Clayton's avatar
      Added missing return statement (patch from Kirk Beitz). · 03dbf2e2
      Greg Clayton authored
      llvm-svn: 124706
      03dbf2e2
    • Bob Wilson's avatar
      Fix comment typo. · e68f70fa
      Bob Wilson authored
      llvm-svn: 124705
      e68f70fa
    • Douglas Gregor's avatar
      Unique code-completion strings. On Cocoa.h, this costs us about 4% in · 801acff4
      Douglas Gregor authored
      speed but saves us about 25% of the memory usage for strings.
      
      llvm-svn: 124704
      801acff4
    • Sean Callanan's avatar
      Added a new class, ASTDumper, that provides verbose · 0917d6e5
      Sean Callanan authored
      diagnostics of Clang AST classes for the purpose of
      debugging the types LLDB produces for DWARF objects.
      
      The ASTDumper is currently only used in log output
      if you enable verbose mode in the expression log:
      
      log enable -v lldb expr
      
      Its output then appears in the log for external
      variables used by the expr command.
      
      llvm-svn: 124703
      0917d6e5
    • John McCall's avatar
      71de91cc
    • Fariborz Jahanian's avatar
      -fapple-kext support for indirect call to virtuals dtors - wip. · 265c325e
      Fariborz Jahanian authored
      llvm-svn: 124701
      265c325e
    • Douglas Gregor's avatar
      Fix name lookup issue · 6c7cb188
      Douglas Gregor authored
      llvm-svn: 124700
      6c7cb188
    • Nick Lewycky's avatar
      Add support for x86-64 Mandriva 2010.2. Reported by 'rindolf' on IRC! · 22197c13
      Nick Lewycky authored
      llvm-svn: 124699
      22197c13
  2. Feb 01, 2011
Loading