Skip to content
  1. Apr 04, 2013
  2. Apr 03, 2013
    • Greg Clayton's avatar
      <rdar://problem/12789467> · de3d01e2
      Greg Clayton authored
      Fixed an attach case for ARM that was imporperly detecting an application bundle when there wasn't one.
      
      llvm-svn: 178704
      de3d01e2
    • Arnold Schwaighofer's avatar
      X86 cost model: Vector shifts are expensive in most cases · e9b50164
      Arnold Schwaighofer authored
      The default logic does not correctly identify costs of casts because they are
      marked as custom on x86.
      
      For some cases, where the shift amount is a scalar we would be able to generate
      better code. Unfortunately, when this is the case the value (the splat) will get
      hoisted out of the loop, thereby making it invisible to ISel.
      
      radar://13130673
      radar://13537826
      
      llvm-svn: 178703
      e9b50164
    • Greg Clayton's avatar
      <rdar://problem/13384801> · bc43cab5
      Greg Clayton authored
      Make lldb_private::RegularExpression thread safe everywhere. This was done by removing the m_matches array from the lldb_private::RegularExpression class and putting it into the new lldb_private::RegularExpression::Match class. When executing a regular expression you now have the option to create a lldb_private::RegularExpression::Match object and pass a pointer in if you want to get parenthesized matching. If you don't want any matching, you pass in NULL. The lldb_private::RegularExpression::Match object is initialized with the number of matches you desire. Any matching strings are now extracted from the lldb_private::RegularExpression::Match objects. This makes the regular expression objects thread safe and as a result many more regex objects were turned into static objects that end up using a local lldb_private::RegularExpression::Match object when executing.
      
      llvm-svn: 178702
      bc43cab5
    • Anna Zaks's avatar
      [analyzer] Allow tracknullOrUndef look through the ternary operator even when condition is unknown · d3254b44
      Anna Zaks authored
      Improvement of r178684 and r178685.
      
      Jordan has pointed out that I should not rely on the value of the condition to know which expression branch
      has been taken. It will not work in cases the branch condition is an unknown value (ex: we do not track the constraints for floats).
      The better way of doing this would be to find out if the current node is the right or left successor of the node
      that has the ternary operator as a terminator (which is how this is done in other places, like ConditionBRVisitor).
      
      llvm-svn: 178701
      d3254b44
    • Rafael Espindola's avatar
      Fix build. · f24933f6
      Rafael Espindola authored
      This should fix the build breakage caused by the api change in 178663.
      
      llvm-svn: 178700
      f24933f6
    • Argyrios Kyrtzidis's avatar
      [preprocessor] Minor optimization following r178671. · f0eaa64c
      Argyrios Kyrtzidis authored
      Don't bother looking for parameter index of 'B' token if 'A' is not a parameter.
      
      llvm-svn: 178699
      f0eaa64c
    • John McCall's avatar
      Complain about attempts to befriend declarations via a using · c70fca60
      John McCall authored
      declaration.  Patch by Stephen Lin!
      
      llvm-svn: 178698
      c70fca60
    • Jordan Rose's avatar
      [analyzer] Correctly handle destructors for lifetime-extended temporaries. · 8647ffcd
      Jordan Rose authored
      The lifetime of a temporary can be extended when it is immediately bound
      to a local reference:
      
        const Value &MyVal = Value("temporary");
      
      In this case, the temporary object's lifetime is extended for the entire
      scope of the reference; at the end of the scope it is destroyed.
      
      The analyzer was modeling this improperly in two ways:
      - Since we don't model temporary constructors just yet, we create a fake
        temporary region when it comes time to "materialize" a temporary into
        a real object (lvalue). This wasn't taking base casts into account when
        the bindings being materialized was Unknown; now it always respects base
        casts except when the temporary region is itself a pointer.
      - When actually destroying the region, the analyzer did not actually load
        from the reference variable -- it was basically destroying the reference
        instead of its referent. Now it does do the load.
      
      This will be more useful whenever we finally start modeling temporaries,
      or at least those that get bound to local reference variables.
      
      <rdar://problem/13552274>
      
      llvm-svn: 178697
      8647ffcd
    • Greg Clayton's avatar
      <rdar://problem/13561911> · a75f0ca3
      Greg Clayton authored
      Modify LLDB to handle DW_FORM_ref_addr attributes for DWARF3 and DWARF4.
      
      llvm-svn: 178696
      a75f0ca3
    • Rafael Espindola's avatar
      Update for API change for handling mips64el. · 26cf0b51
      Rafael Espindola authored
      llvm-svn: 178695
      26cf0b51
Loading