- Oct 23, 2010
-
-
Evan Cheng authored
2) live-outs. Previously the post-RA schedulers completely ignore these dependencies since returns, branches, etc. are all scheduling barriers. This patch model the latencies between instructions being scheduled and the barriers. It also handle calls by marking their register uses. llvm-svn: 117193
-
Evan Cheng authored
llvm-svn: 117192
-
Jakob Stoklund Olesen authored
of all predecessors. llvm-svn: 117191
-
Owen Anderson authored
llvm-svn: 117189
-
Jim Grosbach authored
llvm-svn: 117188
-
Jim Grosbach authored
llvm-svn: 117187
-
Owen Anderson authored
llvm-svn: 117186
-
Jim Grosbach authored
llvm-svn: 117185
-
Owen Anderson authored
llvm-svn: 117183
-
Andrew Trick authored
llvm-svn: 117180
-
Owen Anderson authored
llvm-svn: 117177
-
Gabor Greif authored
llvm-svn: 117176
-
Andrew Trick authored
framework. It's purpose is not to improve register allocation per se, but to make it easier to develop powerful live range splitting. I call it the basic allocator because it is as simple as a global allocator can be but provides the building blocks for sophisticated register allocation with live range splitting. A minimal implementation is provided that trivially spills whenever it runs out of registers. I'm checking in now to get high-level design and style feedback. I've only done minimal testing. The next step is implementing a "greedy" allocation algorithm that does some register reassignment and makes better splitting decisions. llvm-svn: 117174
-
Owen Anderson authored
llvm-svn: 117173
-
Bob Wilson authored
llvm-svn: 117172
-
Owen Anderson authored
llvm-svn: 117171
-
Jakob Stoklund Olesen authored
llvm-svn: 117170
-
Jakob Stoklund Olesen authored
When a block has exactly two uses and the register is both live-in and live-out, don't isolate the block. We would be inserting two copies, so we haven't really made any progress. If the live-in and live-out values separate into disconnected components after splitting, we would be making progress. We can't detect that for now. llvm-svn: 117169
-
Jim Grosbach authored
llvm-svn: 117166
-
Jim Grosbach authored
llvm-svn: 117165
-
Bob Wilson authored
Apple builds. Radar 8585383. llvm-svn: 117164
-
Jim Grosbach authored
llvm-svn: 117158
-
Jim Grosbach authored
llvm-svn: 117157
-
- Oct 22, 2010
-
-
Jim Grosbach authored
llvm-svn: 117156
-
Evan Cheng authored
llvm-svn: 117155
-
Bob Wilson authored
llvm-svn: 117154
-
Evan Cheng authored
llvm-svn: 117151
-
Owen Anderson authored
llvm-svn: 117145
-
Jakob Stoklund Olesen authored
An exit block with a critical edge must only have predecessors in the loop, or just before the loop. This guarantees that the inserted copies in the loop predecessors dominate the exit block. llvm-svn: 117144
-
Jakob Stoklund Olesen authored
llvm-svn: 117143
-
Owen Anderson authored
llvm-svn: 117134
-
Jim Grosbach authored
llvm-svn: 117133
-
Michael J. Spencer authored
llvm-svn: 117132
-
Owen Anderson authored
llvm-svn: 117131
-
Oscar Fuentes authored
llvm-svn: 117130
-
Evan Cheng authored
llvm-svn: 117128
-
Owen Anderson authored
llvm-svn: 117126
-
Michael J. Spencer authored
llvm-svn: 117124
-
Stuart Hastings authored
llvm-svn: 117122
-
Jim Grosbach authored
llvm-svn: 117121
-