Skip to content
  1. Dec 22, 2010
  2. Dec 17, 2010
  3. Dec 03, 2010
  4. Dec 02, 2010
  5. Dec 01, 2010
  6. Oct 10, 2010
  7. Sep 14, 2010
  8. Sep 10, 2010
  9. Sep 09, 2010
  10. Jul 28, 2010
  11. Jul 24, 2010
  12. Jul 19, 2010
  13. Jul 17, 2010
  14. Jul 07, 2010
  15. Jul 06, 2010
    • Tom Care's avatar
      Added a path-sensitive idempotent operation checker... · 3ff08a8e
      Tom Care authored
      Added a path-sensitive idempotent operation checker (-analyzer-idempotent-operation). Finds idempotent and/or tautological operations in a path sensitive context, flagging operations that have no effect or a predictable effect.
      
      Example:
      {
      int a = 1;
      int b = 5;
      int c = b / a; // a is 1 on all paths
      }
      
      - New IdempotentOperationChecker class
      - Moved recursive Stmt functions in r107675 to IdempotentOperationChecker
      - Minor refactoring of SVal to allow checking for any integer
      - Added command line option for check
      - Added basic test cases
      
      llvm-svn: 107706
      3ff08a8e
  16. Jun 17, 2010
  17. Jun 16, 2010
  18. Jun 15, 2010
    • Daniel Dunbar's avatar
      Break Frontend's dependency on Rewrite, Checker and CodeGen in shared library configuration · c1b1729b
      Daniel Dunbar authored
      Currently, all AST consumers are located in the Frontend library,
      meaning that in a shared library configuration, Frontend has a
      dependency on Rewrite, Checker and CodeGen.  This is suboptimal for
      clients which only wish to make use of the frontend.  CodeGen in
      particular introduces a large number of unwanted dependencies.
      
      This patch breaks the dependency by moving all AST consumers with
      dependencies on Rewrite, Checker and/or CodeGen to their respective
      libraries.  The patch therefore introduces dependencies in the other
      direction (i.e. from Rewrite, Checker and CodeGen to Frontend).
      
      After applying this patch, Clang builds correctly using CMake and
      shared libraries ("cmake -DBUILD_SHARED_LIBS=ON").
      
      N.B. This patch includes file renames which are indicated in the
      patch body.
      
      Changes in this revision of the patch:
       - Fixed some copy-paste mistakes in the header files
       - Modified certain aspects of the coding to comply with the LLVM
         Coding Standards
      
      llvm-svn: 106010
      c1b1729b
  19. Jun 09, 2010
  20. Jun 08, 2010
  21. May 30, 2010
    • Alexis Hunt's avatar
      Convert DeclNodes to use TableGen. · ed05325d
      Alexis Hunt authored
      The macros required for DeclNodes use have changed to match the use of
      StmtNodes. The FooFirst enumerator constants have been named firstFoo
      to match usage elsewhere.
      
      llvm-svn: 105165
      ed05325d
  22. May 25, 2010
  23. May 05, 2010
  24. Apr 19, 2010
  25. Mar 23, 2010
  26. Mar 22, 2010
  27. Feb 25, 2010
  28. Feb 16, 2010
  29. Feb 14, 2010
  30. Feb 04, 2010
  31. Feb 03, 2010
  32. Jan 27, 2010
  33. Jan 25, 2010
    • Ted Kremenek's avatar
      Split libAnalysis into two libraries: libAnalysis and libChecker. · d6b87086
      Ted Kremenek authored
      (1) libAnalysis is a generic analysis library that can be used by
          Sema.  It defines the CFG, basic dataflow analysis primitives, and
          inexpensive flow-sensitive analyses (e.g. LiveVariables).
      
      (2) libChecker contains the guts of the static analyzer, incuding the
          path-sensitive analysis engine and domain-specific checks.
      
      Now any clients that want to use the frontend to build their own tools
      don't need to link in the entire static analyzer.
      
      This change exposes various obvious cleanups that can be made to the
      layout of files and headers in libChecker.  More changes pending.  :)
      
      This change also exposed a layering violation between AnalysisContext
      and MemRegion.  BlockInvocationContext shouldn't explicitly know about
      BlockDataRegions.  For now I've removed the BlockDataRegion* from
      BlockInvocationContext (removing context-sensitivity; although this
      wasn't used yet).  We need to have a better way to extend
      BlockInvocationContext (and any LocationContext) to add
      context-sensitivty.
      
      llvm-svn: 94406
      d6b87086
Loading