- Oct 25, 2010
-
-
Dan Gohman authored
llvm-svn: 117268
-
Dan Gohman authored
llvm-svn: 117266
-
Dan Gohman authored
from stores when folding in bitcasts. llvm-svn: 117265
-
Charles Davis authored
instruction at the beginning of each function that has the attribute, allowing the function to be easily hooked and/or patched. llvm-svn: 117264
-
Duncan Sands authored
Rather than rename this instance, use the cast-to-void idiom instead. This will hopefully fix the windows buildbots. llvm-svn: 117262
-
- Oct 24, 2010
-
-
Rafael Espindola authored
we check for _GLOBAL_OFFSET_TABLE_. llvm-svn: 117241
-
Duncan Sands authored
it isn't unreachable and should not be zapped. The check for the entry block was missing in one case: a block containing a unwind instruction. While there, do some small cleanups: "M" is not a great name for a Function* (it would be more appropriate for a Module*), change it to "Fn"; use Fn in more places. llvm-svn: 117224
-
- Oct 23, 2010
-
-
Benjamin Kramer authored
llvm-svn: 117213
-
Eric Christopher authored
note that we can actually handle some f64 arguments. llvm-svn: 117209
-
Benjamin Kramer authored
llvm-svn: 117206
-
Michael J. Spencer authored
llvm-svn: 117205
-
Chandler Carruth authored
name and prefixed with 'LLVM_'. llvm-svn: 117203
-
Chandler Carruth authored
llvm-svn: 117202
-
Chandler Carruth authored
until other LLVM projects using these are cleaned up. llvm-svn: 117200
-
Chandler Carruth authored
was found by a GCC warning. ;] llvm-svn: 117199
-
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
-