- Oct 23, 2010
-
-
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
-
Evan Cheng authored
llvm-svn: 117119
-
Owen Anderson authored
llvm-svn: 117115
-
Jim Grosbach authored
definitions. llvm-svn: 117114
-