History log of /llvm-project-15.0.7/llvm/lib/CodeGen/InterferenceCache.cpp (Results 26 – 32 of 32)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 <[email protected]>

Allow null interference cursors to be queried.

They always report 'no interference'.

llvm-svn: 135843


# a153ca58 14-Jul-2011 Jakob Stoklund Olesen <[email protected]>

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 <[email protected]>

Revert r135121 which broke a gcc-4.2 builder.

llvm-svn: 135122


# c270cb6e 14-Jul-2011 Jakob Stoklund Olesen <[email protected]>

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 <[email protected]>

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 <[email protected]>

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 <[email protected]>

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