- Oct 26, 2010
-
-
Andrew Trick authored
llvm-svn: 117384
-
Devang Patel authored
s/endScope/endInstruction/g llvm-svn: 117376
-
Jakob Stoklund Olesen authored
Magic is happening that we don't understand. llvm-svn: 117370
-
Evan Cheng authored
llvm-svn: 117348
-
Nick Lewycky authored
declarations in !NDEBUG to avoid -Wunused-variable warnings. Patch by Matt Beaumont-Gay! llvm-svn: 117345
-
Jakob Stoklund Olesen authored
llvm-svn: 117338
-
Jakob Stoklund Olesen authored
llvm-svn: 117337
-
Bob Wilson authored
do not double-count the duplicate instructions by counting once from the beginning and again from the end. Keep track of where the duplicates from the beginning ended and don't go past that point when counting duplicates at the end. Radar 8589805. This change causes one of the MC/ARM/simple-fp-encoding tests to produce different (better!) code without the vmovne instruction being tested. I changed the test to produce vmovne and vmoveq instructions but moving between register files in the opposite direction. That's not quite the same but predicated versions of those instructions weren't being tested before, so at least the test coverage is not any worse, just different. llvm-svn: 117333
-
Bob Wilson authored
instructions separately from the count of non-predicated instructions. The instruction count is used in places to determine how many instructions to copy, predicate, etc. and things get confused if that count includes the extra cost for microcoded ops. llvm-svn: 117332
-
Evan Cheng authored
llvm-svn: 117329
-
- Oct 25, 2010
-
-
Devang Patel authored
Do not count use of sdisel for single call instruction. llvm-svn: 117316
-
Devang Patel authored
Add counters to count how many basic blocks are entirely selected by fastisel. llvm-svn: 117310
-
Devang Patel authored
Add simple counter to count no. of basic blocks without any line number information. At -O0, these basic block coule cause less than optimial debugging experience. llvm-svn: 117307
-
Jakob Stoklund Olesen authored
llvm-svn: 117272
-
- Oct 23, 2010
-
-
Chandler Carruth authored
name and prefixed with 'LLVM_'. llvm-svn: 117203
-
Chandler Carruth authored
was found by a GCC warning. ;] llvm-svn: 117199
-
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
-
Jakob Stoklund Olesen authored
of all predecessors. llvm-svn: 117191
-
Andrew Trick authored
llvm-svn: 117180
-
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
-
- Oct 22, 2010
-
-
Evan Cheng authored
llvm-svn: 117155
-
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
-
- Oct 21, 2010
-
-
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
-
Jakob Stoklund Olesen authored
Parent - union(Y, ...). Doh. llvm-svn: 117042
-
Jakob Stoklund Olesen authored
unconditional branch. llvm-svn: 117041
-
Duncan Sands authored
(gcc-4.6 warning). llvm-svn: 117022
-
Duncan Sands authored
(gcc-4.6 warns about these). llvm-svn: 117021
-
Michael J. Spencer authored
This should be the minimum set of functions that could possibly need it. llvm-svn: 116978
-
Jakob Stoklund Olesen authored
llvm-svn: 116962
-
Evan Cheng authored
- Initial register pressure in the loop should be all the live defs into the loop. Not just those from loop preheader which is often empty. - When an instruction is hoisted, update register pressure from loop preheader to the original BB. - Treat only use of a virtual register as kill since the code is still SSA. llvm-svn: 116956
-
Jakob Stoklund Olesen authored
llvm-svn: 116951
-
- Oct 20, 2010
-
-
Dale Johannesen authored
types are no longer Legal on X86, we don't need it. No functional change. 8499854. llvm-svn: 116947
-
Jakob Stoklund Olesen authored
operand, also check if subregisters are killed. Add <imp-def> operands for subregisters that remain alive after a super register is killed. I don't have a testcase for this that reproduces on trunk. <rdar://problem/8441758> llvm-svn: 116940
-
Dan Gohman authored
llvm-svn: 116890
-
Jim Grosbach authored
setup they require. Use this for ARM/Darwin to rematerialize the base pointer from the frame pointer when required. rdar://8564268 llvm-svn: 116879
-
- Oct 19, 2010
-
-
Jakob Stoklund Olesen authored
Pull an unsigned out of the Contents union such that it has the same size as two pointers and no padding. Arrange members such that the Contents union and all pointers can be 8-byte aligned without padding. This speeds up code generation by 0.8% on a 64-bit host. 32-bit hosts should be unaffected. llvm-svn: 116857
-