History log of /llvm-project/llvm/lib/CodeGen/LiveInterval.cpp (Results 226 – 250 of 277)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# a5b10b33 28-Aug-2007 Evan Cheng <evan.cheng@apple.com>

Recover most of the compile time regression due to recent live interval changes.
1. Eliminate the costly live interval "swapping".
2. Change ValueNumberInfo container from SmallVector to std::vector.

Recover most of the compile time regression due to recent live interval changes.
1. Eliminate the costly live interval "swapping".
2. Change ValueNumberInfo container from SmallVector to std::vector. The former
performs slowly when the vector size is very large.

llvm-svn: 41536

show more ...


# 74c69f75 14-Aug-2007 Evan Cheng <evan.cheng@apple.com>

Kill info update bugs.

llvm-svn: 41064


# 5ca98c65 13-Aug-2007 Evan Cheng <evan.cheng@apple.com>

Kill info update bugs.

llvm-svn: 41043


# 05cc486c 11-Aug-2007 Evan Cheng <evan.cheng@apple.com>

Code to maintain kill information during register coalescing.

llvm-svn: 41016


# 10394712 08-Aug-2007 Evan Cheng <evan.cheng@apple.com>

Clean up and bug fix.

llvm-svn: 40921


# a8c2f386 08-Aug-2007 Evan Cheng <evan.cheng@apple.com>

- Each val# can have multiple kills.
- Fix some minor bugs related to special markers on val# def. ~0U means
undefined, ~1U means dead val#.

llvm-svn: 40916


# c236617e 08-Aug-2007 Evan Cheng <evan.cheng@apple.com>

Remove a dead assertion.

llvm-svn: 40914


# 0d0fee26 07-Aug-2007 Evan Cheng <evan.cheng@apple.com>

- LiveInterval value#'s now have 3 components: def instruction #,
kill instruction #, and source register number (iff the value# is defined by a
copy).
- Now def instruction # is set for every value#

- LiveInterval value#'s now have 3 components: def instruction #,
kill instruction #, and source register number (iff the value# is defined by a
copy).
- Now def instruction # is set for every value#, not just for copy defined ones.
- Update some outdated code related inactive live ranges.
- Kill info not yet set. That's next patch.

llvm-svn: 40913

show more ...


Revision tags: llvmorg-2.0.0
# 57b5214d 17-Apr-2007 Evan Cheng <evan.cheng@apple.com>

Add a register allocation preference field; add a method to compute size of a live interval.

llvm-svn: 36216


# a77f1426 17-Dec-2006 Bill Wendling <isanbard@gmail.com>

Added an automatic cast to "std::ostream*" etc. from OStream. We then can
rework the hacks that had us passing OStream in. We pass in std::ostream*
instead, check for null, and then dispatch to the c

Added an automatic cast to "std::ostream*" etc. from OStream. We then can
rework the hacks that had us passing OStream in. We pass in std::ostream*
instead, check for null, and then dispatch to the correct print() method.

llvm-svn: 32636

show more ...


# 29192e62 16-Dec-2006 Jeff Cohen <jeffc@jolt-lang.org>

The best unbreakage yet, addressing Bill's concerns.

llvm-svn: 32622


# b82309f1 15-Dec-2006 Jeff Cohen <jeffc@jolt-lang.org>

An even better unbreakage...

llvm-svn: 32617


# f3baad3e 07-Dec-2006 Bill Wendling <isanbard@gmail.com>

Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.

llvm-svn: 32298


# 5c3966aa 29-Nov-2006 Bill Wendling <isanbard@gmail.com>

Converted to using llvm streams instead of <iostream>s

llvm-svn: 31992


# bc0d5f8b 28-Nov-2006 Bill Wendling <isanbard@gmail.com>

Put the #include for a module first.

llvm-svn: 31958


# 3f6f0fd0 28-Nov-2006 Bill Wendling <isanbard@gmail.com>

Changed to using llvm streams.

llvm-svn: 31954


Revision tags: llvmorg-1.9.0
# de46e484 02-Nov-2006 Reid Spencer <rspencer@reidspencer.com>

For PR786:
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to dele

For PR786:
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.

llvm-svn: 31380

show more ...


# 5a56d309 02-Sep-2006 Chris Lattner <sabre@nondot.org>

When joining two intervals where the RHS is really simple, use a light-weight
method for joining the live ranges instead of the fully-general one.

llvm-svn: 30049


# aa36808f 31-Aug-2006 Chris Lattner <sabre@nondot.org>

avoid calling the virtual isMoveInstr method endlessly by caching its results.

llvm-svn: 29994


# 34434e97 29-Aug-2006 Chris Lattner <sabre@nondot.org>

Teach the coallescer to coallesce live intervals joined by an arbitrary
number of copies, potentially defining live ranges that appear to have
differing value numbers that become identical when coall

Teach the coallescer to coallesce live intervals joined by an arbitrary
number of copies, potentially defining live ranges that appear to have
differing value numbers that become identical when coallsced. Among other
things, this fixes CodeGen/X86/shift-coalesce.ll and PR687.

llvm-svn: 29968

show more ...


# 122f2bcd 26-Aug-2006 Chris Lattner <sabre@nondot.org>

Simplifications to liveinterval analysis, no functionality change.

llvm-svn: 29896


# f4f0b199 25-Aug-2006 Chris Lattner <sabre@nondot.org>

Completely change the way that joining with physregs is implemented. This
paves the way for future changes, increases coallescing opportunities (in
theory, not witnessed in practice), and eliminates

Completely change the way that joining with physregs is implemented. This
paves the way for future changes, increases coallescing opportunities (in
theory, not witnessed in practice), and eliminates the really expensive
LiveIntervals::overlapsAliases method.

llvm-svn: 29890

show more ...


# 24d4208c 24-Aug-2006 Chris Lattner <sabre@nondot.org>

When replacing value numbers, make sure to compactify the value # space.

llvm-svn: 29865


# bdf12106 24-Aug-2006 Chris Lattner <sabre@nondot.org>

Take advantage of the recent improvements to the liveintervals set (tracking
instructions which define each value#) to simplify and improve the coallescer.
In particular, this patch:

1. Implements i

Take advantage of the recent improvements to the liveintervals set (tracking
instructions which define each value#) to simplify and improve the coallescer.
In particular, this patch:

1. Implements iterative coallescing.
2. Reverts an unsafe hack from handlePhysRegDef, superceeding it with a
better solution.
3. Implements PR865, "coallescing" away the second copy in code like:

A = B
...
B = A

This also includes changes to symbolically print registers in intervals
when possible.

llvm-svn: 29862

show more ...


# 2e9f1bc0 22-Aug-2006 Chris Lattner <sabre@nondot.org>

Improve the LiveInterval class to keep track of which machine instruction
defines each value# tracked by the interval. This will be used to improve
coallescing.

llvm-svn: 29830


12345678910>>...12