History log of /llvm-project/llvm/lib/CodeGen/MachineScheduler.cpp (Results 351 – 375 of 480)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# e2ff575b 15-Jun-2013 Andrew Trick <atrick@apple.com>

MI-Sched: Rename IssueCount to CurrMOps.

"Counts" refer to scaled resource counts within a region. CurrMOps is
simply the number of micro-ops to be issue in the current cycle.

llvm-svn: 184031


# 0cd8afc5 15-Jun-2013 Andrew Trick <atrick@apple.com>

MI-Sched: Remove the temporary EnableCopyConstrain flag.

llvm-svn: 184030


# f5b8ef26 15-Jun-2013 Andrew Trick <atrick@apple.com>

MI-Sched: added tracking of dependent latency for better heuristics.

Heuristics compare the critical path in the scheduled code, called
ExpectedLatency, with the latency of instructions remaining to

MI-Sched: added tracking of dependent latency for better heuristics.

Heuristics compare the critical path in the scheduled code, called
ExpectedLatency, with the latency of instructions remaining to be
scheduled. There are two ways to look at remaining latency:

(1) Dependent latency includes the latency between unscheduled and
scheduled instructions.

(2) Independent latency is simply the height (bottom-up) or depth
(top-down) of instructions currently in the ready Q.

llvm-svn: 184029

show more ...


# 5580e5ca 15-Jun-2013 Andrew Trick <atrick@apple.com>

MI-Sched: DEBUG: print critical resource.

llvm-svn: 184028


# 80df8b83 14-Jun-2013 Jakub Staszak <kubastaszak@gmail.com>

Move #include from .h to .cpp file.

llvm-svn: 183960


Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1
# dd77014a 30-Apr-2013 Andrew Trick <atrick@apple.com>

MI Sched: revert a minor heuristic that snuck in with -misched-vcopy.

I'll fix the heuristic in a general way in a follow-up commit.

llvm-svn: 180815


# 2e875171 24-Apr-2013 Andrew Trick <atrick@apple.com>

Fix for r180193 - MI Sched: eliminate local vreg.

Fixes PR15838. Need to check for blocks with nothing but dbg.value.

I'm not sure how to force this situation with a unit test. I tried to
reduce th

Fix for r180193 - MI Sched: eliminate local vreg.

Fixes PR15838. Need to check for blocks with nothing but dbg.value.

I'm not sure how to force this situation with a unit test. I tried to
reduce the test case in PR15838 (1k lines of metadata) but gave up.

llvm-svn: 180227

show more ...


# 85a1d4cb 24-Apr-2013 Andrew Trick <atrick@apple.com>

MI Sched: eliminate local vreg copies.

For now, we just reschedule instructions that use the copied vregs and
let regalloc elliminate it. I would really like to eliminate the
copies on-the-fly durin

MI Sched: eliminate local vreg copies.

For now, we just reschedule instructions that use the copied vregs and
let regalloc elliminate it. I would really like to eliminate the
copies on-the-fly during scheduling, but we need a complete
implementation of repairIntervalsInRange() first.

The general strategy is for the register coalescer to eliminate as
many global copies as possible and shrink live ranges to be
extended-basic-block local. The coalescer should not have to worry
about resolving local copies (e.g. it shouldn't attemp to reorder
instructions). The scheduler is a much better place to deal with local
interference. The coalescer side of this equation needs work.

llvm-svn: 180193

show more ...


# 7c791a3d 24-Apr-2013 Andrew Trick <atrick@apple.com>

MI Sched: regpressure tracing.

llvm-svn: 180191


# 1f0bb69b 13-Apr-2013 Andrew Trick <atrick@apple.com>

MI-Sched: DEBUG formatting.

llvm-svn: 179452


# e833e1cd 13-Apr-2013 Andrew Trick <atrick@apple.com>

MI-Sched: schedule physreg copies.

The register allocator expects minimal physreg live ranges. Schedule
physreg copies accordingly. This is slightly tricky when they occur in
the middle of the sched

MI-Sched: schedule physreg copies.

The register allocator expects minimal physreg live ranges. Schedule
physreg copies accordingly. This is slightly tricky when they occur in
the middle of the scheduling region. For now, this is handled by
rescheduling the copy when its associated instruction is
scheduled. Eventually we may instead bundle them, but only if we can
preserve the bundles as parallel copies during regalloc.

llvm-svn: 179449

show more ...


# 80e66ce0 05-Apr-2013 Andrew Trick <atrick@apple.com>

RegisterPressure heuristics currently require signed comparisons.

llvm-svn: 178823


# 96ce3848 05-Apr-2013 Andrew Trick <atrick@apple.com>

Disable DFSResult for ConvergingScheduler.

For now, just save the compile time since the ConvergingScheduler
heuristics don't use this analysis. We'll probably enable it later
after compile-time inv

Disable DFSResult for ConvergingScheduler.

For now, just save the compile time since the ConvergingScheduler
heuristics don't use this analysis. We'll probably enable it later
after compile-time investigation.

llvm-svn: 178822

show more ...


# 419d4917 05-Apr-2013 Andrew Trick <atrick@apple.com>

MachineScheduler: format DEBUG output.

I'm getting more serious about tuning and enabling on x86/ARM. Start
by making the trace readable.

llvm-svn: 178821


# 4ab769f4 21-Mar-2013 Matt Arsenault <Matthew.Arsenault@amd.com>

Fix missing std::. Not sure how this compiles for anyone else.

llvm-svn: 177620


# df17ddd5 10-Mar-2013 Jakub Staszak <kubastaszak@gmail.com>

Cleanup #includes.

llvm-svn: 176787


# 48f2a724 08-Mar-2013 Andrew Trick <atrick@apple.com>

Add -verify-misched option.

This verifies live intervals both before and after scheduling. It's
useful for anyone hacking on live interval update.

Note that we don't yet pass verification all the t

Add -verify-misched option.

This verifies live intervals both before and after scheduling. It's
useful for anyone hacking on live interval update.

Note that we don't yet pass verification all the time. We don't yet
handle updating nonallocatable live intervals perfectly.

llvm-svn: 176685

show more ...


# 87609f5a 16-Feb-2013 Jakub Staszak <kubastaszak@gmail.com>

Use const reference instead of vector object when passing an argument to
updateScheduledPressure method.

llvm-svn: 175362


# 553e0fe3 13-Feb-2013 Andrew Trick <atrick@apple.com>

MIsched: HazardRecognizers are created for each DAG. Free them.

llvm-svn: 175067


# 399c9bfc 29-Jan-2013 Andrew Trick <atrick@apple.com>

MIsched: cleanup code. Use isBoundaryNode().

llvm-svn: 173775


# c641adae 25-Jan-2013 Jakub Staszak <kubastaszak@gmail.com>

Use const reference instead of vector copying.

llvm-svn: 173497


# 54b2ce38 25-Jan-2013 Andrew Trick <atrick@apple.com>

MIsched: Print block name. No functionality.

llvm-svn: 173433


# ea9fd951 25-Jan-2013 Andrew Trick <atrick@apple.com>

MachineScheduler support for viewGraph.

llvm-svn: 173432


# e2c3f5c9 25-Jan-2013 Andrew Trick <atrick@apple.com>

MIsched: Improve the interface to SchedDFS analysis (subtrees).

Allow the strategy to select SchedDFS. Allow the results of SchedDFS
to affect initialization of the scheduler state.

llvm-svn: 173425


# 44f750a3 25-Jan-2013 Andrew Trick <atrick@apple.com>

MISched: Add SchedDFSResult to ScheduleDAGMI to formalize the
interface and allow other strategies to select it.

llvm-svn: 173413


1...<<11121314151617181920