- Oct 23, 2010
-
-
Evan Cheng authored
llvm-svn: 117192
-
Jakob Stoklund Olesen authored
of all predecessors. llvm-svn: 117191
-
Jim Grosbach authored
llvm-svn: 117188
-
Andrew Trick authored
llvm-svn: 117180
-
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
-
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: 117165
-
- Oct 22, 2010
-
-
Evan Cheng authored
llvm-svn: 117155
-
Bob Wilson authored
llvm-svn: 117154
-
Evan Cheng authored
llvm-svn: 117151
-
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
-
Owen Anderson authored
llvm-svn: 117131
-
Evan Cheng authored
llvm-svn: 117128
-
Owen Anderson authored
llvm-svn: 117126
-
Jim Grosbach authored
llvm-svn: 117121
-
Evan Cheng authored
llvm-svn: 117119
-
Jim Grosbach authored
definitions. llvm-svn: 117114
-
Benjamin Kramer authored
llvm-svn: 117111
-
Jim Grosbach authored
llvm-svn: 117108
-
Wesley Peck authored
llvm-svn: 117099
-
Andrew Trick authored
It doesn't look like anything is wrong with the checkin, but the new test cases expose a mem bug in AsmParser. llvm-svn: 117087
-
Eric Christopher authored
llvm-svn: 117085
-
Sean Callanan authored
weren't properly reflecting the OperandSize attribute of the instruction leading to improper decoding of certain instructions with the 66H prefix. Also added a test case for this. llvm-svn: 117084
-
NAKAMURA Takumi authored
It choked BugPoint on Mingw. llvm-svn: 117083
-
Jim Grosbach authored
llvm-svn: 117080
-
Jim Grosbach authored
llvm-svn: 117076
-
Jim Grosbach authored
llvm-svn: 117073
-
Jim Grosbach authored
llvm-svn: 117072
-
- Oct 21, 2010
-
-
Dan Gohman authored
llvm-svn: 117070
-
Eric Christopher authored
llvm-svn: 117068
-
Michael J. Spencer authored
llvm-svn: 117062
-
Michael J. Spencer authored
X86: Base _fltused on the FunctionType of the called value instead of the potentially null "CalledFunction". Thanks Duncan! This is needed for indirect calls. llvm-svn: 117061
-
Owen Anderson authored
llvm-svn: 117060
-
Mikhail Glushenkov authored
llvm-svn: 117058
-
Owen Anderson authored
half of the Q register), rather than with just regno. This allows us to unify the encodings for a lot of different NEON instrucitons that differ only in whether they have Q or D register operands. llvm-svn: 117056
-