- Oct 23, 2010
-
-
Evan Cheng authored
llvm-svn: 117194
-
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
-
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
-