- Oct 28, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 117602
-
Jakob Stoklund Olesen authored
in SSAUpdaterImpl.h Verifying live intervals revealed that the old method was completely wrong, and we need an iterative approach to calculating PHI placemant. Fortunately, we have MachineDominators available, so we don't have to compute that over and over like SSAUpdaterImpl.h must. Live-out values are cached between calls to mapValue() and computed in a greedy way, so most calls will be working with very small block sets. Thanks to Bob for explaining how this should work. llvm-svn: 117599
-
Jakob Stoklund Olesen authored
proper SSA updating. This doesn't cause MachineDominators to be recomputed since we are already requiring MachineLoopInfo which uses dominators as well. llvm-svn: 117598
-
Jakob Stoklund Olesen authored
split. llvm-svn: 117597
-
Devang Patel authored
llvm-svn: 117588
-
Devang Patel authored
llvm-svn: 117563
-
Bob Wilson authored
Also do some minor refactoring to reduce indentation. llvm-svn: 117558
-
Evan Cheng authored
llvm-svn: 117531
-
Evan Cheng authored
llvm-svn: 117520
-
Evan Cheng authored
by the number of defs first for it to match the instruction itinerary. llvm-svn: 117518
-
Evan Cheng authored
Putting r117193 back except for the compile time cost. Rather than assuming fallthroughs uses all registers, just gather the union of all successor liveins. llvm-svn: 117506
-
- Oct 27, 2010
-
-
Michael J. Spencer authored
There are currently 100 references to COFF::IMAGE_SCN in 6 files and 11 different functions. Section to attribute mapping really needs to happen in one place to avoid problems like this. llvm-svn: 117473
-
Michael J. Spencer authored
llvm-svn: 117472
-
Jim Grosbach authored
llvm-svn: 117453
-
Jakob Stoklund Olesen authored
live out. This doesn't prevent us from inserting a loop preheader later on, if that is better. llvm-svn: 117424
-
Jakob Stoklund Olesen authored
Critical edges going into a loop are not as bad as critical exits. We can handle them by splitting the critical edge, or by having both inside and outside registers live out of the predecessor. llvm-svn: 117423
-
Jakob Stoklund Olesen authored
Only virtuals should be requires to be connected. llvm-svn: 117422
-
Dale Johannesen authored
memory, so a MachineMemOperand is useful (not propagated into the MachineInstr yet). No functional change except for dump output. llvm-svn: 117413
-
Andrew Trick authored
them, but hopefully we won't. And this is not the right data structure to do it anyway. llvm-svn: 117412
-
Jakob Stoklund Olesen authored
the remainder register. Example: bb0: x = 1 bb1: use(x) ... x = 2 jump bb1 When x is isolated in bb1, the inner part breaks into two components, x1 and x2: bb0: x0 = 1 bb1: x1 = x0 use(x1) ... x2 = 2 x0 = x2 jump bb1 llvm-svn: 117408
-
Jakob Stoklund Olesen authored
components, each should get its own virtual register. llvm-svn: 117407
-
Jakob Stoklund Olesen authored
necessary to get correct hasPHIKill flags. llvm-svn: 117406
-
Jakob Stoklund Olesen authored
llvm-svn: 117405
-
Devang Patel authored
llvm-svn: 117404
-
- Oct 26, 2010
-
-
Jakob Stoklund Olesen authored
SlotIndexes when available. llvm-svn: 117392
-
Jakob Stoklund Olesen authored
llvm-svn: 117391
-
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
-