- Aug 13, 2010
-
-
Jakob Stoklund Olesen authored
split intervals. THis means the analysis can be used for multiple splits as long as curli doesn't shrink. llvm-svn: 110975
-
- Aug 12, 2010
-
-
Jakob Stoklund Olesen authored
If a phi-def value were removed from the interval, the phi-kill flags are no longer valid. llvm-svn: 110949
-
Jakob Stoklund Olesen authored
llvm-svn: 110940
-
Jakob Stoklund Olesen authored
Before spilling a live range, we split it into a separate range for each basic block where it is used. That way we only get one reload per basic block if the new smaller ranges can allocate to a register. This type of splitting is already present in the standard spiller. llvm-svn: 110934
-
- Aug 10, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 110720
-
Jakob Stoklund Olesen authored
When splitting a live range, the new registers have fewer uses and the permissible register class may be less constrained. Recompute the register class constraint from the uses of new registers created for a split. This may let them be allocated from a larger set, possibly avoiding a spill. llvm-svn: 110703
-
Jakob Stoklund Olesen authored
during live range splitting. llvm-svn: 110686
-
- Aug 07, 2010
-
-
Jakob Stoklund Olesen authored
necessary. Sometimes, live range splitting doesn't shrink the current interval, but simply changes some instructions to use a new interval. That makes the original more suitable for spilling. In this case, we don't need to duplicate the original. llvm-svn: 110481
-
- Aug 06, 2010
-
-
Jakob Stoklund Olesen authored
After heavy editing of a live interval, it is much easier to simply renumber the live values instead of trying to keep track of the unused ones. llvm-svn: 110463
-
Jakob Stoklund Olesen authored
llvm-svn: 110453
-
- Aug 05, 2010
-
-
Jakob Stoklund Olesen authored
We are now at a point where we can split around simple single-entry, single-exit loops, although still with some bugs. llvm-svn: 110257
-
- Jul 27, 2010
-
-
Jakob Stoklund Olesen authored
rewrite instructions for live range splitting. Still work in progress. llvm-svn: 109469
-
- Jul 21, 2010
-
-
Jakob Stoklund Olesen authored
The spillers can pluck the analyses they need from the pass reference. Switch some never-null pointers to references. llvm-svn: 108969
-
- Jul 20, 2010
-
-
Jakob Stoklund Olesen authored
Determine which loop exit blocks need a 'pre-exit' block inserted. Recognize when this would be impossible. llvm-svn: 108941
-
Jakob Stoklund Olesen authored
llvm-svn: 108845
-
Jakob Stoklund Olesen authored
This is a work in progress. So far we have some basic loop analysis to help determine where it is useful to split a live range around a loop. The actual loop splitting code from Splitter.cpp is also going to move in here. llvm-svn: 108842
-