Skip to content
  1. Dec 03, 2012
    • Chandler Carruth's avatar
      Use the new script to sort the includes of every file under lib. · ed0881b2
      Chandler Carruth authored
      Sooooo many of these had incorrect or strange main module includes.
      I have manually inspected all of these, and fixed the main module
      include to be the nearest plausible thing I could find. If you own or
      care about any of these source files, I encourage you to take some time
      and check that these edits were sensible. I can't have broken anything
      (I strictly added headers, and reordered them, never removed), but they
      may not be the headers you'd really like to identify as containing the
      API being implemented.
      
      Many forward declarations and missing includes were added to a header
      files to allow them to parse cleanly when included first. The main
      module rule does in fact have its merits. =]
      
      llvm-svn: 169131
      ed0881b2
  2. Nov 27, 2012
  3. Nov 26, 2012
  4. Nov 13, 2012
  5. Oct 16, 2012
  6. Oct 15, 2012
  7. Aug 11, 2012
  8. Aug 08, 2012
    • Manman Ren's avatar
      X86: enable CSE between CMP and SUB · 1be131ba
      Manman Ren authored
      We perform the following:
      1> Use SUB instead of CMP for i8,i16,i32 and i64 in ISel lowering.
      2> Modify MachineCSE to correctly handle implicit defs.
      3> Convert SUB back to CMP if possible at peephole.
      
      Removed pattern matching of (a>b) ? (a-b):0 and like, since they are handled
      by peephole now.
      
      rdar://11873276
      
      llvm-svn: 161462
      1be131ba
  9. Aug 07, 2012
  10. Jul 19, 2012
  11. Jul 05, 2012
  12. Jun 01, 2012
  13. Mar 04, 2012
  14. Feb 28, 2012
  15. Feb 17, 2012
  16. Feb 16, 2012
  17. Feb 08, 2012
    • Andrew Trick's avatar
      Codegen pass definition cleanup. No functionality. · 1fa5bcbe
      Andrew Trick authored
      Moving toward a uniform style of pass definition to allow easier target configuration.
      Globally declare Pass ID.
      Globally declare pass initializer.
      Use INITIALIZE_PASS consistently.
      Add a call to the initializer from CodeGen.cpp.
      Remove redundant "createPass" functions and "getPassName" methods.
      
      While cleaning up declarations, cleaned up comments (sorry for large diff).
      
      llvm-svn: 150100
      1fa5bcbe
    • Andrew Trick's avatar
      whitespace · 9e761997
      Andrew Trick authored
      llvm-svn: 150094
      9e761997
  18. Feb 05, 2012
  19. Jan 11, 2012
  20. Jan 10, 2012
  21. Dec 07, 2011
    • Evan Cheng's avatar
      Add bundle aware API for querying instruction properties and switch the code · 7f8e563a
      Evan Cheng authored
      generator to it. For non-bundle instructions, these behave exactly the same
      as the MC layer API.
      
      For properties like mayLoad / mayStore, look into the bundle and if any of the
      bundled instructions has the property it would return true.
      For properties like isPredicable, only return true if *all* of the bundled
      instructions have the property.
      For properties like canFoldAsLoad, isCompare, conservatively return false for
      bundles.
      
      llvm-svn: 146026
      7f8e563a
  22. Oct 13, 2011
  23. Jun 28, 2011
  24. May 06, 2011
  25. May 05, 2011
  26. May 04, 2011
  27. Apr 11, 2011
  28. Jan 10, 2011
  29. Jan 08, 2011
    • Evan Cheng's avatar
      Do not model all INLINEASM instructions as having unmodelled side effects. · 6eb516db
      Evan Cheng authored
      Instead encode llvm IR level property "HasSideEffects" in an operand (shared
      with IsAlignStack). Added MachineInstrs::hasUnmodeledSideEffects() to check
      the operand when the instruction is an INLINEASM.
      
      This allows memory instructions to be moved around INLINEASM instructions.
      
      llvm-svn: 123044
      6eb516db
  30. Jan 03, 2011
  31. Dec 15, 2010
  32. Oct 30, 2010
  33. 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
  34. Oct 12, 2010
Loading