Skip to content
  1. Apr 19, 2013
    • Argyrios Kyrtzidis's avatar
      [libclang] Introduce clang_Cursor_getObjCPropertyAttributes to query the... · 9adfd8aa
      Argyrios Kyrtzidis authored
      [libclang] Introduce clang_Cursor_getObjCPropertyAttributes to query the written attributes in a property declaration.
      
      rdar://13684512
      
      llvm-svn: 179803
      9adfd8aa
    • Hal Finkel's avatar
      Implement optimizeCompareInstr for PPC · 82656cb2
      Hal Finkel authored
      Many PPC instructions have a so-called 'record form' which stores to a specific
      condition register the result of comparing the result of the instruction with
      zero (always as a signed comparison). For integer operations on PPC64, this is
      always a 64-bit comparison.
      
      This implementation is derived from the implementation in the ARM backend;
      there are some differences because PPC condition registers are allocatable
      virtual registers (although the record forms always use a specific one), and we
      look for a matching subtraction instruction after the compare (but before the
      first use) in addition to before it.
      
      llvm-svn: 179802
      82656cb2
    • Sean Callanan's avatar
      This commit changes the way LLDB executes user · 1582ee68
      Sean Callanan authored
      expressions.  
      
      Previously, ClangUserExpression assumed that if
      there was a constant result for an expression 
      then it could be determined during parsing.  In
      particular, the IRInterpreter ran while parser
      state (in particular, ClangExpressionDeclMap) 
      was present.  This approach is flawed, because
      the IRInterpreter actually is capable of using
      external variables, and hence the result might
      be different each run.  Until now, we papered
      over this flaw by re-parsing the expression each
      time we ran it.
      
      I have rewritten the IRInterpreter to be 
      completely independent of the ClangExpressionDeclMap.
      Instead of special-casing external variable lookup,
      which ties the IRInterpreter closely to LLDB,
      we now interpret the exact same IR that the JIT
      would see.  This IR assumes that materialization
      has occurred; hence the recent implementation of the
      Materializer, which does not require parser state
      (in the form of ClangExpressionDeclMap) to be 
      present.
      
      Materialization, interpretation, and dematerialization
      are now all independent of parsing.  This means that
      in theory we can parse expressions once and run them
      many times.  I have three outstanding tasks before
      shutting this down:
      
          - First, I will ensure that all of this works with
            core files.  Core files have a Process but do not
            allow allocating memory, which currently confuses
            materialization.
      
          - Second, I will make expression breakpoint 
            conditions remember their ClangUserExpression and
            re-use it.
      
          - Third, I will tear out all the redundant code
            (for example, materialization logic in
            ClangExpressionDeclMap) that is no longer used.
      
      While implementing this fix, I also found a bug in
      IRForTarget's handling of floating-point constants.  
      This should be fixed.
      
      llvm-svn: 179801
      1582ee68
    • Jim Ingham's avatar
      Document how to get "info line" information from "image lookup -v". · 526560a5
      Jim Ingham authored
      llvm-svn: 179800
      526560a5
    • Greg Clayton's avatar
  2. Apr 18, 2013
Loading