Skip to content
  1. Nov 20, 2011
  2. Nov 19, 2011
  3. Nov 18, 2011
    • Abramo Bagnara's avatar
      Fixed implicit instantiations source range. · 12dcbf3e
      Abramo Bagnara authored
      llvm-svn: 144977
      12dcbf3e
    • Greg Clayton's avatar
      Added optional calls to lldb_private::Process for getting memory region info · 46fb558d
      Greg Clayton authored
      from a process and hooked it up to the new packet that was recently added
      to our GDB remote executable named debugserver. Now Process has the following
      new calls:
      
      virtual Error
      Process::GetMemoryRegionInfo (lldb::addr_t load_addr, MemoryRegionInfo &range_info);
      
      virtual uint32_t
      GetLoadAddressPermissions (lldb::addr_t load_addr);
      
      Only the first one needs to be implemented by subclasses that can add this
      support.
      
      Cleaned up the way the new packet was implemented in debugserver to be more
      useful as an API inside debugserver. Also found an error where finding a region
      for an address actually will pick up the next region that follows the address
      in the query so we also need ot make sure that the address we requested the
      region for falls into the region that gets returned.
      
      llvm-svn: 144976
      46fb558d
    • Greg Clayton's avatar
      Looking at our memory usage with Instruments when debugging a large application · 7ba18027
      Greg Clayton authored
      we say that the vectors of DWARFDebugInfoEntry objects were the highest on the
      the list. 
      
      With these changes we cut our memory usage by 40%!!! I did this by reducing
      the size of the DWARFDebugInfoEntry from a previous:
      
      uint32_t offset
      uint32_t parent_idx
      uint32_t sibling_idx
      Abbrev * abbrev_ptr
      
      which was 20 bytes, but rounded up to 24 bytes due to alignment. Now we have:
      
      uint32_t offset
      uint32_t parent_idx
      uint32_t sibling_idx
      uint32_t abbr_idx:15,       // 32767 possible abbreviation codes
               has_children:1,    // 0 = no children, 1 = has children
               tag:16;            // DW_TAG_XXX value
      
      This gets us down to 16 bytes per DIE. I tested some VERY large DWARF files
      (900MB) and found there were only ~700 unique abbreviations, so 32767 should
      be enough for any sane compiler. If it isn't there are built in assertions
      that will fire off and tell us.
      
      llvm-svn: 144975
      7ba18027
    • Ted Kremenek's avatar
      Refine placement of LangOptions object in CompilerInvocation by adding a new... · 2acedbd4
      Ted Kremenek authored
      Refine placement of LangOptions object in CompilerInvocation by adding a new baseclass CompilerInvocationBase with a custom copy constructor.  This ensures that whenever the CompilerInvocation object's copy constructor is used we always clone the LangOptions object.
      
      llvm-svn: 144973
      2acedbd4
    • Eli Friedman's avatar
      Finish r144971, which was an incomplete commit. · f22fa9ea
      Eli Friedman authored
      llvm-svn: 144972
      f22fa9ea
    • Eli Friedman's avatar
      Fix the meaning of an "empty" record for the case of a zero-length array. Use... · 0b3f201b
      Eli Friedman authored
      Fix the meaning of an "empty" record for the case of a zero-length array.  Use isEmptyRecord for arguments on x86-32; there are structs of size 0 which don't count as empty.
      
      llvm-svn: 144971
      0b3f201b
    • Andrew Trick's avatar
      Fix a corner case in updating LoopInfo after fully unrolling an outer loop. · 6b4d578f
      Andrew Trick authored
      The loop tree's inclusive block lists are painful and expensive to
      update. (I have no idea why they're inclusive). The design was
      supposed to handle this case but the implementation missed it and my
      unit tests weren't thorough enough.
      
      Fixes PR11335: loop unroll update.
      
      llvm-svn: 144970
      6b4d578f
    • Sean Callanan's avatar
      This commit completes the rearchitecting of ClangASTSource · 00f43622
      Sean Callanan authored
      to allow variables in the persistent variable store to know
      how to complete themselves from debug information.  That
      fixes a variety of bugs during dematerialization of 
      expression results and also makes persistent variable and
      result variables ($foo, $4, ...) more useful.
      
      I have also added logging improvements that make it much
      easier to figure out how types are moving from place to 
      place, and made some checking a little more aggressive.
      
      The commit includes patches to Clang which are currently being
      integrated into Clang proper; once these fixes are in Clang
      top-of-tree, these patches will be removed.  The patches don't
      fix API; rather, they fix some internal bugs in Clang's 
      ASTImporter that were exposed when LLDB was moving types from
      place to place multiple times.
      
      llvm-svn: 144969
      00f43622
    • Nadav Rotem's avatar
      Add AVX2 vpbroadcast support · 1ec141d0
      Nadav Rotem authored
      llvm-svn: 144967
      1ec141d0
Loading