History log of /llvm-project/llvm/lib/CodeGen/InterferenceCache.cpp (Results 26 – 36 of 36)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 024d7ae1 10-Feb-2012 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add a static MachineOperand::clobbersPhysReg().

It can be necessary to detach a register mask pointer from its
MachineOperand. This method is convenient for checking clobbered
physregs on a detached

Add a static MachineOperand::clobbersPhysReg().

It can be necessary to detach a register mask pointer from its
MachineOperand. This method is convenient for checking clobbered
physregs on a detached bitmask pointer.

llvm-svn: 150261

show more ...


# a16ae597 10-Feb-2012 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add register mask support to InterferenceCache.

This makes global live range splitting behave identically with and
without register mask operands.

This is not necessarily the best way of using regi

Add register mask support to InterferenceCache.

This makes global live range splitting behave identically with and
without register mask operands.

This is not necessarily the best way of using register masks for live
range splitting. It would be more efficient to first split global live
ranges around calls (i.e., register masks), and reserve the fine grained
per-physreg interference guidance for global live ranges that do not
cross calls.

For now the goal is to produce identical assembly when enabling register
masks.

llvm-svn: 150259

show more ...


# f35c8403 13-Jan-2012 Andrew Trick <atrick@apple.com>

Remove pointless mode line in .cpp file.

llvm-svn: 148143


# 4d4fef23 13-Jan-2012 Andrew Trick <atrick@apple.com>

wrong filename

llvm-svn: 148103


Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1
# cacefc7d 23-Jul-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Allow null interference cursors to be queried.

They always report 'no interference'.

llvm-svn: 135843


# a153ca58 14-Jul-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Reapply r135121 with a fixed copy constructor.

Original commit message:

Count references to interference cache entries.

Each InterferenceCache::Cursor instance references a cache entry. A
non-zero

Reapply r135121 with a fixed copy constructor.

Original commit message:

Count references to interference cache entries.

Each InterferenceCache::Cursor instance references a cache entry. A
non-zero reference count guarantees that the entry won't be reused for a
new register.

This makes it possible to have multiple live cursors examining
interference for different physregs.

The total number of live cursors into a cache must be kept below
InterferenceCache::getMaxCursors().

Code generation should be unaffected by this change, and it doesn't seem
to affect the cache replacement strategy either.

llvm-svn: 135130

show more ...


# 1d4badae 14-Jul-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Revert r135121 which broke a gcc-4.2 builder.

llvm-svn: 135122


# c270cb6e 14-Jul-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Count references to interference cache entries.

Each InterferenceCache::Cursor instance references a cache entry. A
non-zero reference count guarantees that the entry won't be reused for a
new regis

Count references to interference cache entries.

Each InterferenceCache::Cursor instance references a cache entry. A
non-zero reference count guarantees that the entry won't be reused for a
new register.

This makes it possible to have multiple live cursors examining
interference for different physregs.

The total number of live cursors into a cache must be kept below
InterferenceCache::getMaxCursors().

Code generation should be unaffected by this change, and it doesn't seem
to affect the cache replacement strategy either.

llvm-svn: 135121

show more ...


# 4ad6c160 09-Apr-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Precompute interference for neighbor blocks as long as there is no interference.

This doesn't require seeking in the live interval union, so it is very cheap.

llvm-svn: 129187


# 994c1683 07-Apr-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Avoid moving iterators when the previous block was just visited.

llvm-svn: 129081


Revision tags: llvmorg-2.9.0
# 91cbcaf9 02-Apr-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add an InterferenceCache class for caching per-block interference ranges.

When the greedy register allocator is splitting multiple global live ranges, it
tends to look at the same interference data

Add an InterferenceCache class for caching per-block interference ranges.

When the greedy register allocator is splitting multiple global live ranges, it
tends to look at the same interference data many times. The InterferenceCache
class caches queries for unaltered LiveIntervalUnions.

llvm-svn: 128764

show more ...


12