History log of /external/llvm/lib/CodeGen/DFAPacketizer.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
d2763f6ce62eaa497e944331668414e35f3712f3 23-Aug-2013 Andrew Trick <atrick@apple.com> mi-sched: Don't call MBB.size() in initSUnits. The driver already has instr count.

This fixes a pathological compile time problem with very large blocks
and lots of scheduling boundaries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

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. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
b460a3382961c5be9952a75d46228f624edbd39f 22-Jun-2012 Hal Finkel <hfinkel@anl.gov> Revert r158679 - use case is unclear (and it increases the memory footprint).

Original commit message:
Allow up to 64 functional units per processor itinerary.

This patch changes the type used to hold the FU bitset from unsigned to uint64_t.
This will be needed for some upcoming PowerPC itineraries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
e877c4f9c7b4e4142f33a29e6cd1a07262525a12 18-Jun-2012 Hal Finkel <hfinkel@anl.gov> Allow up to 64 functional units per processor itinerary.

This patch changes the type used to hold the FU bitset from unsigned to uint64_t.
This will be needed for some upcoming PowerPC itineraries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
902337092fef14ce2519b4c93c37d72bf66ce768 01-May-2012 Sirish Pande <spande@codeaurora.org> Target independent Hexagon Packetizer fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
e3fd2a36d93ed65fabe9cd8e1c98edd8d4f7ec62 23-Apr-2012 Chandler Carruth <chandlerc@gmail.com> Temporarily revert r155364 until the upstream review can complete, per
the stated developer policy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155373 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
9f6852dcc292882845876ecc1181710a5c35fb1f 23-Apr-2012 Sirish Pande <spande@codeaurora.org> Hexagon Packetizer's target independent fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155364 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
37097623bbde5420f81ab8d1d056700f8f258025 18-Apr-2012 Chandler Carruth <chandlerc@gmail.com> This reverts a long string of commits to the Hexagon backend. These
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
d1a87a68064e0b9af3b71b681286954f861bb1b3 12-Apr-2012 Sirish Pande <spande@codeaurora.org> HexagonPacketizer patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
7afcda0c582f57a46de32e88ad6c6d5b25d513ce 08-Mar-2012 Andrew Trick <atrick@apple.com> Cleanup VLIWPacketizer to use the updated ScheduleDAGInstrs interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
ed395c8c475692f5a43eb4b5c5562503d67616d0 08-Mar-2012 Andrew Trick <atrick@apple.com> misched prep: Expose the ScheduleDAGInstrs interface so targets may
implement their own MachineScheduler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152261 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
953be893e8cffa0ef9bf410036cd96aeb526e98a 08-Mar-2012 Andrew Trick <atrick@apple.com> misched preparation: rename core scheduler methods for consistency.

We had half the API with one convention, half with another. Now was a
good time to clean it up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152255 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
47c144505b9be28ed22c626b3a407c11dba2fec5 07-Mar-2012 Andrew Trick <atrick@apple.com> misched preparation: clarify ScheduleDAG and ScheduleDAGInstrs roles.

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
92fc97afa742000aeb81d862abbaaba50b27a000 23-Feb-2012 Benjamin Kramer <benny.kra@googlemail.com> Strip a layer of boilerplate from the VLIWPacketizer by storing the scheduler as an opaque pointer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
e746186ed4f61bf5eba13112cb8419c95cf58e52 16-Feb-2012 Andrew Trick <atrick@apple.com> Fix library visibility problems with VLIWPacketizer.

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
68c36e0c26d6abc6e19ac66a24061d8c4a187767 15-Feb-2012 Andrew Trick <atrick@apple.com> Don't expose DefaultVLIWScheduler

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
ebafa0c61170682ec0d7025f46f187a164b0db7e 15-Feb-2012 Andrew Trick <atrick@apple.com> Generic "VLIW" packetizer based on a DFA generated from target itinerary.

Patch by Sundeep!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
464f3a332f81364ee09794f9502f0b25671149c6 06-Dec-2011 Sebastian Pop <spop@codeaurora.org> use space star instead of star space

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
f6f77e90a18142e196cbc2a6ee87cdf7461b17df 06-Dec-2011 Sebastian Pop <spop@codeaurora.org> add missing point at the end of sentences

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp
dc81e5da271ed394e2029c83458773c4ae2fc5f4 01-Dec-2011 Anshuman Dasgupta <adasgupt@codeaurora.org> Add a deterministic finite automaton based packetizer for VLIW architectures


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/DFAPacketizer.cpp