Skip to content
  1. Nov 14, 2010
  2. Nov 13, 2010
    • Greg Clayton's avatar
      Fixed an issue where we might not find global variables by name when we have · ba2d22d8
      Greg Clayton authored
      a debug map with DWARF in the .o files due to the attemted shortcut that was
      being taken where the global variables were being searched for by looking in
      the symbol table. The problem with the symbols in the symbol table is we don't
      break apart the symbol names for symbols when they are mangled into basename
      and the fully mangled name since this would take a lot of CPU time to chop up
      the mangled names and try and find the basenames. The DWARF info typically has
      this broken up for us where the basename of the variable is in a the DW_AT_name
      attribute, and the mangled name is in the DW_AT_MIPS_linkage_name attribute.
      Now we correctly find globals by searching all OSO's for the information so we
      can take advantage of this split information. 
      
      llvm-svn: 119012
      ba2d22d8
    • Fariborz Jahanian's avatar
      Block API patch to do copy ctor of copied-in cxx objects in · e988bdac
      Fariborz Jahanian authored
      copy helper function and dtor of copied cxx objects
      in dispose helper functions. __block variables
      TBD next.
      
      llvm-svn: 119011
      e988bdac
    • Duncan Sands's avatar
      Testcase to go along with commit 118923 ("Have GVN simplify instructions · 8c58ba41
      Duncan Sands authored
      as it goes").  Before -std-compile-opts only got it down to
        %a = tail call i32 @foo(i32 0) readnone
        %x = tail call i32 @foo(i32 %a) readnone
        %y = tail call i32 @foo(i32 %a) readnone
        %z = icmp eq i32 %x, %y
        ret i1 %z
      while now -basicaa -gvn alone reduce it to
        %a = call i32 @foo(i32 0) readnone
        %x = call i32 @foo(i32 %a) readnone
        ret i1 true
      
      llvm-svn: 119009
      8c58ba41
Loading