Skip to content
  1. May 23, 2013
  2. Feb 05, 2013
  3. Dec 21, 2012
  4. 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
  5. Nov 29, 2012
  6. Oct 16, 2012
  7. Jun 06, 2012
  8. Jun 02, 2012
    • Jakob Stoklund Olesen's avatar
      Switch all register list clients to the new MC*Iterator interface. · 54038d79
      Jakob Stoklund Olesen authored
      No functional change intended.
      
      Sorry for the churn. The iterator classes are supposed to help avoid
      giant commits like this one in the future. The TableGen-produced
      register lists are getting quite large, and it may be necessary to
      change the table representation.
      
      This makes it possible to do so without changing all clients (again).
      
      llvm-svn: 157854
      54038d79
  9. May 08, 2012
    • Jakob Stoklund Olesen's avatar
      Add an MF argument to TRI::getPointerRegClass() and TII::getRegClass(). · 3c52f028
      Jakob Stoklund Olesen authored
      The getPointerRegClass() hook can return register classes that depend on
      the calling convention of the current function (ptr_rc_tailcall).
      
      So far, we have been able to infer the calling convention from the
      subtarget alone, but as we add support for multiple calling conventions
      per target, that no longer works.
      
      Patch by Yiannis Tsiouris!
      
      llvm-svn: 156328
      3c52f028
  10. Mar 05, 2012
  11. Mar 04, 2012
  12. Jan 16, 2012
  13. Jan 07, 2012
    • Evan Cheng's avatar
      Added a late machine instruction copy propagation pass. This catches · 00b1a3cd
      Evan Cheng authored
      opportunities that only present themselves after late optimizations
      such as tail duplication .e.g.
      ## BB#1:
              movl    %eax, %ecx
              movl    %ecx, %eax
              ret
      
      The register allocator also leaves some of them around (due to false
      dep between copies from phi-elimination, etc.)
      
      This required some changes in codegen passes. Post-ra scheduler and the
      pseudo-instruction expansion passes have been moved after branch folding
      and tail merging. They were before branch folding before because it did
      not always update block livein's. That's fixed now. The pass change makes
      independently since we want to properly schedule instructions after
      branch folding / tail duplication.
      
      rdar://10428165
      rdar://10640363
      
      llvm-svn: 147716
      00b1a3cd
  14. 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
  15. Jul 01, 2011
  16. Jun 27, 2011
  17. Jun 16, 2011
  18. Jun 02, 2011
  19. Apr 15, 2011
  20. Dec 15, 2010
  21. Sep 02, 2010
  22. Jul 15, 2010
  23. Jul 12, 2010
    • Rafael Espindola's avatar
      Convert the last use of getPhysicalRegisterRegClass and remove it. · 871c7247
      Rafael Espindola authored
      AggressiveAntiDepBreaker should not be using getPhysicalRegisterRegClass. An
      instruction might be using a register that can only be replaced with one from
      a subclass of getPhysicalRegisterRegClass.
      
      With this patch we use getMinimalPhysRegClass. This is correct, but
      conservative. We should check the uses of the register and select the
      largest register class that can be used in all of them.
      
      llvm-svn: 108122
      871c7247
  24. Jun 16, 2010
  25. Jun 02, 2010
  26. Apr 20, 2010
  27. Apr 09, 2010
  28. Feb 09, 2010
  29. Jan 06, 2010
  30. Dec 24, 2009
    • David Greene's avatar
      · 75a2efb0
      David Greene authored
      Change errs() to dbgs().
      
      llvm-svn: 92093
      75a2efb0
  31. Dec 09, 2009
  32. Nov 24, 2009
  33. Nov 21, 2009
Loading