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. Jun 22, 2012
  3. Jun 18, 2012
  4. May 01, 2012
  5. Apr 23, 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 12, 2012
  8. Mar 08, 2012
  9. Mar 07, 2012
    • Andrew Trick's avatar
      misched preparation: clarify ScheduleDAG and ScheduleDAGInstrs roles. · 60cf03e7
      Andrew Trick authored
      ScheduleDAG is responsible for the DAG: SUnits and SDeps. It provides target hooks for latency computation.
      
      ScheduleDAGInstrs extends ScheduleDAG and defines the current scheduling region in terms of MachineInstr iterators. It has access to the target's scheduling itinerary data. ScheduleDAGInstrs provides the logic for building the ScheduleDAG for the sequence of MachineInstrs in the current region. Target's can implement highly custom schedulers by extending this class.
      
      ScheduleDAGPostRATDList provides the driver and diagnostics for current postRA scheduling. It maintains a current Sequence of scheduled machine instructions and logic for splicing them into the block. During scheduling, it uses the ScheduleHazardRecognizer provided by the target.
      
      Specific changes:
      - Removed driver code from ScheduleDAG. clearDAG is the only interface needed.
      
      - Added enterRegion/exitRegion hooks to ScheduleDAGInstrs to delimit the scope of each scheduling region and associated DAG. They should be used to setup and cleanup any region-specific state in addition to the DAG itself. This is necessary because we reuse the same ScheduleDAG object for the entire function. The target may extend these hooks to do things at regions boundaries, like bundle terminators. The hooks are called even if we decide not to schedule the region. So all instructions in a block are "covered" by these calls.
      
      - Added ScheduleDAGInstrs::begin()/end() public API.
      
      - Moved Sequence into the driver layer, which is specific to the scheduling algorithm.
      
      llvm-svn: 152208
      60cf03e7
  10. Feb 23, 2012
  11. Feb 16, 2012
    • Andrew Trick's avatar
      Fix library visibility problems with VLIWPacketizer. · 20349b88
      Andrew Trick authored
      The existing framework for postra scheduling is library local. We want to keep it that way. Soon we will have a more general MachineScheduler interface. At that time, various bits will be exposed to targets. In the meantime, the VLIWPacketizer wants to use ScheduleDAGInstrs directly, so it needs to wrapped in a PIMPL to avoid exposing it to the target interface.
      
      llvm-svn: 150633
      20349b88
  12. Feb 15, 2012
  13. Dec 06, 2011
  14. Dec 01, 2011
Loading