Skip to content
  1. Jul 18, 2011
  2. May 21, 2011
  3. Apr 15, 2011
  4. Jan 21, 2011
  5. Jan 16, 2011
  6. Nov 30, 2010
  7. Oct 19, 2010
    • Owen Anderson's avatar
      Get rid of static constructors for pass registration. Instead, every pass... · 6c18d1aa
      Owen Anderson authored
      Get rid of static constructors for pass registration.  Instead, every pass exposes an initializeMyPassFunction(), which
      must be called in the pass's constructor.  This function uses static dependency declarations to recursively initialize
      the pass's dependencies.
      
      Clients that only create passes through the createFooPass() APIs will require no changes.  Clients that want to use the
      CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
      before parsing commandline arguments.
      
      I have tested this with all standard configurations of clang and llvm-gcc on Darwin.  It is possible that there are problems
      with the static dependencies that will only be visible with non-standard options.  If you encounter any crash in pass
      registration/creation, please send the testcase to me directly.
      
      llvm-svn: 116820
      6c18d1aa
  8. Oct 08, 2010
  9. Aug 18, 2010
  10. Aug 13, 2010
  11. Aug 06, 2010
  12. Jul 29, 2010
  13. Jul 22, 2010
  14. Apr 26, 2010
  15. Apr 09, 2010
  16. Apr 06, 2010
    • Chris Lattner's avatar
      fix a really nasty bug that Evan was tracking in SCCP. When resolving · adca6082
      Chris Lattner authored
      undefs in branches/switches, we have two cases: a branch on a literal
      undef or a branch on a symbolic value which is undef.  If we have a
      literal undef, the code was correct: forcing it to a constant is the
      right thing to do.
      
      If we have a branch on a symbolic value that is undef, we should force
      the symbolic value to a constant, which then makes the successor block
      live.  Forcing the condition of the branch to being a constant isn't 
      safe if later paths become live and the value becomes overdefined.  This
      is the case that 'forcedconstant' is designed to handle, so just use it.
      
      This fixes rdar://7765019 but there is no good testcase for this, the
      one I have is too insane to be useful in the future.
      
      llvm-svn: 100478
      adca6082
  17. Apr 01, 2010
  18. Mar 26, 2010
  19. Mar 24, 2010
  20. Feb 27, 2010
  21. Feb 16, 2010
  22. Jan 05, 2010
  23. Nov 23, 2009
  24. Nov 20, 2009
  25. Nov 10, 2009
  26. Nov 05, 2009
  27. Nov 04, 2009
  28. Nov 03, 2009
  29. Nov 02, 2009
Loading