Skip to content
  1. May 03, 2012
  2. May 01, 2012
  3. Apr 23, 2012
    • Preston Gurd's avatar
      This patch fixes a problem which arose when using the Post-RA scheduler · 9a091475
      Preston Gurd authored
      on X86 Atom. Some of our tests failed because the tail merging part of
      the BranchFolding pass was creating new basic blocks which did not
      contain live-in information. When the anti-dependency code in the Post-RA
      scheduler ran, it would sometimes rename the register containing
      the function return value because the fact that the return value was
      live-in to the subsequent block had been lost. To fix this, it is necessary
      to run the RegisterScavenging code in the BranchFolding pass.
      
      This patch makes sure that the register scavenging code is invoked
      in the X86 subtarget only when post-RA scheduling is being done.
      Post RA scheduling in the X86 subtarget is only done for Atom.
      
      This patch adds a new function to the TargetRegisterClass to control
      whether or not live-ins should be preserved during branch folding.
      This is necessary in order for the anti-dependency optimizations done
      during the PostRASchedulerList pass to work properly when doing
      Post-RA scheduling for the X86 in general and for the Intel Atom in particular.
      
      The patch adds and invokes the new function trackLivenessAfterRegAlloc()
      instead of using the existing requiresRegisterScavenging().
      It changes BranchFolding.cpp to call trackLivenessAfterRegAlloc() instead of
      requiresRegisterScavenging(). It changes the all the targets that
      implemented requiresRegisterScavenging() to also implement
      trackLivenessAfterRegAlloc().  
      
      It adds an assertion in the Post RA scheduler to make sure that post RA
      liveness information is available when it is needed.
      
      It changes the X86 break-anti-dependencies test to use –mcpu=atom, in order
      to avoid running into the added assertion.
      
      Finally, this patch restores the use of anti-dependency checking
      (which was turned off temporarily for the 3.1 release) for
      Intel Atom in the Post RA scheduler.
      
      Patch by Andy Zhang!
      
      Thanks to Jakob and Anton for their reviews.
      
      llvm-svn: 155395
      9a091475
    • Chandler Carruth's avatar
      Revert r155365, r155366, and r155367. All three of these have regression · 3c3bb55a
      Chandler Carruth authored
      test suite failures. The failures occur at each stage, and only get
      worse, so I'm reverting all of them.
      
      Please resubmit these patches, one at a time, after verifying that the
      regression test suite passes. Never submit a patch without running the
      regression test suite.
      
      llvm-svn: 155372
      3c3bb55a
    • Sirish Pande's avatar
      Hexagon V5 (floating point) support. · a3f8ba24
      Sirish Pande authored
      llvm-svn: 155367
      a3f8ba24
    • Sirish Pande's avatar
      Support for Hexagon architectural feature, new value jump. · 2c7bf00f
      Sirish Pande authored
      llvm-svn: 155366
      2c7bf00f
    • Sirish Pande's avatar
      Support for Hexagon VLIW Packetizer. · 6cd22515
      Sirish Pande authored
      llvm-svn: 155365
      6cd22515
  4. Apr 21, 2012
  5. Apr 20, 2012
  6. Apr 18, 2012
    • Chandler Carruth's avatar
      This reverts a long string of commits to the Hexagon backend. These · b415bf98
      Chandler Carruth authored
      commits have had several major issues pointed out in review, and those
      issues are not being addressed in a timely fashion. Furthermore, this
      was all committed leading up to the v3.1 branch, and we don't need piles
      of code with outstanding issues in the branch.
      
      It is possible that not all of these commits were necessary to revert to
      get us back to a green state, but I'm going to let the Hexagon
      maintainer sort that out. They can recommit, in order, after addressing
      the feedback.
      
      Reverted commits, with some notes:
      
      Primary commit r154616: HexagonPacketizer
        - There are lots of review comments here. This is the primary reason
          for reverting. In particular, it introduced large amount of warnings
          due to a bad construct in tablegen.
        - Follow-up commits that should be folded back into this when
          reposting:
          - r154622: CMake fixes
          - r154660: Fix numerous build warnings in release builds.
        - Please don't resubmit this until the three commits above are
          included, and the issues in review addressed.
      
      Primary commit r154695: Pass to replace transfer/copy ...
        - Reverted to minimize merge conflicts. I'm not aware of specific
          issues with this patch.
      
      Primary commit r154703: New Value Jump.
        - Primarily reverted due to merge conflicts.
        - Follow-up commits that should be folded back into this when
          reposting:
          - r154703: Remove iostream usage
          - r154758: Fix CMake builds
          - r154759: Fix build warnings in release builds
        - Please incorporate these fixes and and review feedback before
          resubmitting.
      
      Primary commit r154829: Hexagon V5 (floating point) support.
        - Primarily reverted due to merge conflicts.
        - Follow-up commits that should be folded back into this when
          reposting:
          - r154841: Remove unused variable (fixing build warnings)
      
      There are also accompanying Clang commits that will be reverted for
      consistency.
      
      llvm-svn: 155047
      b415bf98
  7. Apr 16, 2012
  8. Apr 15, 2012
  9. Apr 13, 2012
  10. Apr 12, 2012
  11. Mar 27, 2012
  12. Mar 22, 2012
  13. Mar 17, 2012
  14. Mar 11, 2012
  15. Mar 05, 2012
  16. Mar 04, 2012
  17. Feb 28, 2012
  18. Feb 27, 2012
  19. Feb 24, 2012
Loading