#
3d1f1ccc |
| 10-Feb-2010 |
Dale Johannesen <dalej@apple.com> |
Fix comments to reflect renaming elsewhere.
llvm-svn: 95730
|
#
b06015aa |
| 09-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
move target-independent opcodes out of TargetInstrInfo into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start u
move target-independent opcodes out of TargetInstrInfo into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase.
llvm-svn: 95687
show more ...
|
#
d051af75 |
| 26-Jan-2010 |
Chris Lattner <sabre@nondot.org> |
add a new MachineBasicBlock::getSymbol method, replacing the AsmPrinter::GetMBBSymbol.
llvm-svn: 94515
|
#
c5db5998 |
| 20-Jan-2010 |
Dale Johannesen <dalej@apple.com> |
make findDebugLoc a class method
llvm-svn: 94032
|
#
91970b4e |
| 20-Jan-2010 |
Dale Johannesen <dalej@apple.com> |
Move findDebugLoc somewhere more central. Fix more cases where debug declarations affect debug line info.
llvm-svn: 93953
|
#
834d70d3 |
| 15-Jan-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Don't make changes to the MBB in MachineBasicBlock::canFallThrough().
This fixes the regression for -pre-regalloc-taildup in MultiSource/Applications/lambda-0.1.3.
llvm-svn: 93541
|
#
6c56cefe |
| 04-Jan-2010 |
David Greene <greened@obbligato.org> |
Change errs() to dbgs().
llvm-svn: 92542
|
#
2d5967d0 |
| 16-Dec-2009 |
Bill Wendling <isanbard@gmail.com> |
Helpful comment added. Some code cleanup. No functional change.
llvm-svn: 91479
|
#
e8a525a1 |
| 15-Dec-2009 |
Bill Wendling <isanbard@gmail.com> |
Revert these. They may have been causing 483_xalancbmk to fail:
$ svn merge -c -91161 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91161 into '.': U lib/CodeGen/BranchFolding
Revert these. They may have been causing 483_xalancbmk to fail:
$ svn merge -c -91161 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91161 into '.': U lib/CodeGen/BranchFolding.cpp U lib/CodeGen/MachineBasicBlock.cpp $ svn merge -c -91113 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91113 into '.': G lib/CodeGen/MachineBasicBlock.cpp $ svn merge -c -91101 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91101 into '.': U include/llvm/CodeGen/MachineBasicBlock.h G lib/CodeGen/MachineBasicBlock.cpp $ svn merge -c -91092 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91092 into '.': G include/llvm/CodeGen/MachineBasicBlock.h G lib/CodeGen/MachineBasicBlock.cpp
llvm-svn: 91376
show more ...
|
#
277381f6 |
| 14-Dec-2009 |
Bill Wendling <isanbard@gmail.com> |
Whitespace changes, comment clarification. No functional changes.
llvm-svn: 91274
|
#
b87b9925 |
| 11-Dec-2009 |
Bill Wendling <isanbard@gmail.com> |
Don't try to move a MBB into the fall-through position if it's a landing pad or branches only to a landing pad. Without this check, the compiler would go into an infinite loop because the branch to a
Don't try to move a MBB into the fall-through position if it's a landing pad or branches only to a landing pad. Without this check, the compiler would go into an infinite loop because the branch to a landing pad is an "abnormal" edge which wasn't being taken into account.
This is the meat of that fix:
if (!PrevBB.canFallThrough() && !MBB->BranchesToLandingPad(MBB)) {
The other stuff is simplification of the "branches to a landing pad" code.
llvm-svn: 91161
show more ...
|
#
9f13fc7d |
| 11-Dec-2009 |
Bill Wendling <isanbard@gmail.com> |
Revert part of r91101 which was causing an infinite loop in the self-hosting build bots.
llvm-svn: 91113
|
#
a1bce0c4 |
| 11-Dec-2009 |
Bill Wendling <isanbard@gmail.com> |
Address comments on last patch:
- Loosen the restrictions when checking of it branches to a landing pad. - Make the loop more efficient by checking the '.insert' return value. - Do cheaper checks fi
Address comments on last patch:
- Loosen the restrictions when checking of it branches to a landing pad. - Make the loop more efficient by checking the '.insert' return value. - Do cheaper checks first.
llvm-svn: 91101
show more ...
|
#
a581aacd |
| 11-Dec-2009 |
Bill Wendling <isanbard@gmail.com> |
A machine basic block may end in an unconditional branch, however it may have more than one successor. Normally, these extra successors are dead. However, some of them may branch to exception handlin
A machine basic block may end in an unconditional branch, however it may have more than one successor. Normally, these extra successors are dead. However, some of them may branch to exception handling landing pads. If we remove those successors, then the landing pads could go away if all predecessors to it are removed. Before, it was checking if the direct successor was the landing pad. But it could be the result of jumping through multiple basic blocks to get to it. If we were to only check for the existence of an EH_LABEL in the basic block and not remove successors if it's in there, then it could stop actually dead basic blocks from being removed.
llvm-svn: 91092
show more ...
|
#
0b44cb0d |
| 05-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Simplify this code: don't call AnalyzeBranch before doing simpler checks.
llvm-svn: 90633
|
#
a48f44d9 |
| 03-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
improve portability to avoid conflicting with std::next in c++'0x. Patch by Howard Hinnant!
llvm-svn: 90365
|
#
2d4ff12d |
| 26-Nov-2009 |
Bob Wilson <bob.wilson@apple.com> |
Split tail duplication into a separate pass. This is needed to avoid running tail duplication when doing branch folding for if-conversion, and we also want to be able to run tail duplication earlier
Split tail duplication into a separate pass. This is needed to avoid running tail duplication when doing branch folding for if-conversion, and we also want to be able to run tail duplication earlier to fix some reg alloc problems. Move the CanFallThrough function from BranchFolding to MachineBasicBlock so that it can be shared by TailDuplication.
llvm-svn: 89904
show more ...
|
#
8a3fdae0 |
| 22-Nov-2009 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Teach MachineBasicBlock::updateTerminator() to handle a failing TII->ReverseBranchCondition(Cond) call.
This fixes the MallocBench/cfrac test case regression.
llvm-svn: 89608
|
#
2bbeaa87 |
| 20-Nov-2009 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Add MachineBasicBlock::getName, and use it in place of getBasicBlock()->getName.
Fix debug code that assumes getBasicBlock never returns NULL.
llvm-svn: 89428
|
#
57be2f2c |
| 17-Nov-2009 |
Evan Cheng <evan.cheng@apple.com> |
Add a WriteAsOperand for MachineBasicBlock so MachineLoopInfo dump looks sane.
llvm-svn: 89130
|
#
801b33b1 |
| 12-Nov-2009 |
Jim Grosbach <grosbach@apple.com> |
Move the utility function UpdateTerminator() from CodePlacementOpt() into MachineBasicBlock so other passes can utilize it.
llvm-svn: 86947
|
#
64b5d0f4 |
| 11-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Add support for tail duplication to BranchFolding, and extend tail merging support to handle more cases. - Recognize several cases where tail merging is beneficial even when the tail size is smal
Add support for tail duplication to BranchFolding, and extend tail merging support to handle more cases. - Recognize several cases where tail merging is beneficial even when the tail size is smaller than the generic threshold. - Make use of MachineInstrDesc::isBarrier to help detect non-fallthrough blocks. - Check for and avoid disrupting fall-through edges in more cases.
llvm-svn: 86871
show more ...
|
#
34341e69 |
| 31-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Make -print-machineinstrs more readable. - Be consistent when referring to MachineBasicBlocks: BB#0. - Be consistent when referring to virtual registers: %reg1024. - Be consistent when referring t
Make -print-machineinstrs more readable. - Be consistent when referring to MachineBasicBlocks: BB#0. - Be consistent when referring to virtual registers: %reg1024. - Be consistent when referring to unknown physical registers: %physreg10. - Be consistent when referring to known physical registers: %RAX - Be consistent when referring to register 0: %reg0 - Be consistent when printing alignments: align=16 - Print jump table contents. - Don't print host addresses, in general. - and various other cleanups.
llvm-svn: 85682
show more ...
|
#
e0a8b8fc |
| 30-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Mention if a block has its address taken in debug output.
llvm-svn: 85571
|
#
6c938801 |
| 30-Oct-2009 |
Dan Gohman <gohman@apple.com> |
Initial target-independent CodeGen support for BlockAddresses.
llvm-svn: 85556
|