Skip to content
  1. Jul 11, 2012
    • Jakob Stoklund Olesen's avatar
      Run early if-conversion in domtree post-order. · 02638392
      Jakob Stoklund Olesen authored
      This ordering allows nested if-conversion without using a work list, and
      it makes it possible to update the dominator tree on the fly as well.
      
      Any erased basic blocks will always be dominated by the current
      post-order position, so the domtree can be pruned without invalidating
      the iterator.
      
      llvm-svn: 160025
      02638392
    • Richard Smith's avatar
      Fix crash when constant-evaluating a CXXConstructExpr representing · 9fce7bc7
      Richard Smith authored
      value-initialization for an array of class type with a trivial default
      constructor.
      
      llvm-svn: 160024
      9fce7bc7
    • Jordan Rose's avatar
      [analyzer] Construct stack variables directly in their VarDecl. · eab627b9
      Jordan Rose authored
      Also contains a number of tweaks to inlining that are necessary
      for constructors and destructors. (I have this enabled on a private
      branch, but it is very much unstable.)
      
      llvm-svn: 160023
      eab627b9
    • Jordan Rose's avatar
      [analyzer] Use CallEvent for building inlined stack frames. · d1d54aa1
      Jordan Rose authored
      In order to accomplish this, we now build the callee's stack frame
      as part of the CallEnter node, rather than the subsequent BlockEdge node.
      This should not have any effect on perceived behavior or diagnostics.
      
      This makes it safe to re-enable inlining of member overloaded operators.
      
      llvm-svn: 160022
      d1d54aa1
    • Jordan Rose's avatar
      [analyzer] Make CallEnter, CallExitBegin, and CallExitEnd not be StmtPoints · fbe6dba1
      Jordan Rose authored
      These ProgramPoints are used in inlining calls,
      and not all calls have associated statements anymore.
      
      llvm-svn: 160021
      fbe6dba1
    • Jordan Rose's avatar
      [analyzer] Add a CXXDestructorCall CallEvent. · 4ee71b8a
      Jordan Rose authored
      While this work is still fairly tentative (destructors are still left out of
      the CFG by default), we now handle destructors in the same way as any other
      calls, instead of just automatically trying to inline them.
      
      llvm-svn: 160020
      4ee71b8a
    • Jordan Rose's avatar
      [analyzer] Add new PreImplicitCall and PostImplicitCall ProgramPoints. · 681cce99
      Jordan Rose authored
      These are currently unused, but are intended to be used in lieu of PreStmt
      and PostStmt when the call is implicit (e.g. an automatic object destructor).
      
      This also modifies the Data1 field of ProgramPoints to allow storing any
      pointer-sized value, as opposed to only aligned pointers. This is necessary
      to store SourceLocations.
      
      There is currently no BugReporter support for these; they should be skipped
      over in any diagnostic output.
      
      This commit also tags checkers that currently rely on function calls only
      occurring at StmtPoints.
      
      llvm-svn: 160019
      681cce99
  2. Jul 10, 2012
Loading