- Aug 07, 2008
-
-
Evan Cheng authored
Factor code that finalize PHI nodes, jump tables, etc. out of SelectBasicBlock. No functionality changes. llvm-svn: 54438
-
Owen Anderson authored
SDISel's constant branch folding can fold away self-loops, which doesn't result in any dead blocks, but rather an incorrect phi input. Add code to UnreachableMachineBlockElim to get rid of these entries. llvm-svn: 54432
-
Owen Anderson authored
Correct handle cases where two phis are coalesced together, and correct break up the case where two different phis want to coalesce with the same vreg. llvm-svn: 54426
-
- Aug 06, 2008
-
-
Owen Anderson authored
llvm-svn: 54425
-
Owen Anderson authored
llvm-svn: 54422
-
Owen Anderson authored
llvm-svn: 54421
-
Owen Anderson authored
llvm-svn: 54420
-
Owen Anderson authored
llvm-svn: 54378
-
- Aug 05, 2008
-
-
Evan Cheng authored
llvm-svn: 54375
-
Owen Anderson authored
llvm-svn: 54374
-
Owen Anderson authored
llvm-svn: 54371
-
Owen Anderson authored
llvm-svn: 54369
-
Owen Anderson authored
llvm-svn: 54361
-
Dan Gohman authored
llvm-svn: 54349
-
Evan Cheng authored
llvm-svn: 54347
-
Evan Cheng authored
Fix PR2568: Fix bug that cause redudant kill marker after its live interval has been extended due to coalescing. llvm-svn: 54346
-
Owen Anderson authored
llvm-svn: 54337
-
Owen Anderson authored
llvm-svn: 54336
-
Owen Anderson authored
- Add a basic machine-level dead block eliminator. These two have to go together, since many other parts of the code generator are unable to handle the unreachable blocks otherwise created. llvm-svn: 54333
-
Dan Gohman authored
This allows it to work correctly on aggregate values. This fixes PR2623. llvm-svn: 54331
-
Dan Gohman authored
This allows it to work correctly on nested aggregate values. This fixes PR2625. llvm-svn: 54330
-
- Jul 31, 2008
-
-
Dale Johannesen authored
switches use the binary search algorithm) for environments that don't support it. PPC64 JIT is such an environment; turn the flag on for that. llvm-svn: 54248
-
Dan Gohman authored
llvm-svn: 54239
-
- Jul 30, 2008
-
-
Dan Gohman authored
it isn't always visible to gdb. llvm-svn: 54228
-
Dan Gohman authored
empty structs. This fixes PR2612. llvm-svn: 54226
-
Owen Anderson authored
Use existing LiveInterval methods to simplify live interval merging. Thanks to Evan for pointing these out. llvm-svn: 54225
-
Owen Anderson authored
llvm-svn: 54218
-
Owen Anderson authored
llvm-svn: 54186
-
Owen Anderson authored
When merging live intervals, we also need to merge in any live ranges that are inputs to two-address instructions that themselves define a range we already care about. llvm-svn: 54185
-
- Jul 29, 2008
-
-
Owen Anderson authored
When merging a PHI operand's live interval into the PHI's live interval, we need to merge over all liveranges in the operand's interval that share the relevant value number, not just the range that immediately precedes the PHI. llvm-svn: 54174
-
Owen Anderson authored
llvm-svn: 54173
-
Duncan Sands authored
to be marked invalid regardless of whether it is a debug, an exception handling or (hopefully) a GC label. llvm-svn: 54172
-
Nate Begeman authored
llvm-svn: 54168
-
Nate Begeman authored
The CellSPU codegen is broken, but needs to be fixed before we can put this back in. llvm-svn: 54164
-
Nate Begeman authored
CodeGen & Clang work coming next. llvm-svn: 54161
-
- Jul 28, 2008
-
-
Dan Gohman authored
a new ilist_node class, and remove them. Unlike alist_node, ilist_node doesn't attempt to manage storage itself, so it avoids the associated problems, including being opaque in gdb. Adjust the Recycler class so that it doesn't depend on alist_node. Also, change it to use explicit Size and Align parameters, allowing it to work when the largest-sized node doesn't have the greatest alignment requirement. Change MachineInstr's MachineMemOperand list from a pool-backed alist to a std::list for now. llvm-svn: 54146
-
Dan Gohman authored
llvm-svn: 54136
-
Dan Gohman authored
the SelectionDAG's. llvm-svn: 54129
-
- Jul 27, 2008
-
-
Dan Gohman authored
llvm-svn: 54128
-
Dan Gohman authored
parallel its analogue, Value::value_use_iterator. The operator* method now returns the user, rather than the use. llvm-svn: 54127
-