History log of /llvm-project/llvm/lib/CodeGen/MachineBasicBlock.cpp (Results 326 – 350 of 457)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 35f4ae26 13-Jan-2011 Devang Patel <dpatel@apple.com>

Speculatively revert r123384 to make llvm-gcc-i386-linux-selfhost buildbot happy.

llvm-svn: 123389


# 0e233ae1 13-Jan-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Teach MachineBasicBlock::getFirstTerminator to ignore debug values.

It will still return an iterator that points to the first terminator or end(),
but there may be DBG_VALUE instructions following t

Teach MachineBasicBlock::getFirstTerminator to ignore debug values.

It will still return an iterator that points to the first terminator or end(),
but there may be DBG_VALUE instructions following the first terminator.

llvm-svn: 123384

show more ...


# 9472847b 13-Jan-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add missing space in debug output

llvm-svn: 123351


# 1331a15b 09-Jan-2011 Jakob Stoklund Olesen <stoklund@2pi.dk>

Replace TargetRegisterInfo::printReg with a PrintReg class that also works without a TRI instance.

Print virtual registers numbered from 0 instead of the arbitrary
FirstVirtualRegister. The first vi

Replace TargetRegisterInfo::printReg with a PrintReg class that also works without a TRI instance.

Print virtual registers numbered from 0 instead of the arbitrary
FirstVirtualRegister. The first virtual register is printed as %vreg0.
TRI::NoRegister is printed as %noreg.

llvm-svn: 123107

show more ...


# ea263191 02-Nov-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Don't try to split weird critical edges that really aren't:

BB#1: derived from LLVM BB %bb.nph28
Live Ins: %AL
Predecessors according to CFG: BB#0
TEST8rr %reg16384<kill>, %reg16384, %EFLAG

Don't try to split weird critical edges that really aren't:

BB#1: derived from LLVM BB %bb.nph28
Live Ins: %AL
Predecessors according to CFG: BB#0
TEST8rr %reg16384<kill>, %reg16384, %EFLAGS<imp-def>; GR8:%reg16384
JNE_4 <BB#2>, %EFLAGS<imp-use,kill>
JMP_4 <BB#2>
Successors according to CFG: BB#2 BB#2

These double CFG edges only ever occur in bugpoint-generated code, so there is
no need to attempt something clever.

llvm-svn: 117992

show more ...


# ef541857 30-Oct-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add SkipPHIsAndLabels from PHIElimination to MachineBasicBlock. It is needed
elsewhere.

llvm-svn: 117763


# b7050233 26-Oct-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Teach MachineBasicBlock::print() to annotate instructions and blocks with
SlotIndexes when available.

llvm-svn: 117392


Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3, llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0
# 63a86845 19-Aug-2010 Evan Cheng <evan.cheng@apple.com>

Properly update MachineDominators when splitting critical edge.

llvm-svn: 111574


# 647c5591 17-Aug-2010 Evan Cheng <evan.cheng@apple.com>

Move the decision logic whether it's a good idea to split a critical edge to clients. Also fixed an erroneous check. An edge is only a back edge when the from and to blocks are in the same loop.

llv

Move the decision logic whether it's a good idea to split a critical edge to clients. Also fixed an erroneous check. An edge is only a back edge when the from and to blocks are in the same loop.

llvm-svn: 111256

show more ...


# a6848249 17-Aug-2010 Evan Cheng <evan.cheng@apple.com>

Fix debug message.

llvm-svn: 111250


# f259efde 17-Aug-2010 Evan Cheng <evan.cheng@apple.com>

PHI elimination should not break back edge. It can cause some significant code placement issues. rdar://8263994

good:
LBB0_2:
mov r2, r0
. . .
mov r1, r2
bne LBB0_2

bad:
LBB0_2:

PHI elimination should not break back edge. It can cause some significant code placement issues. rdar://8263994

good:
LBB0_2:
mov r2, r0
. . .
mov r1, r2
bne LBB0_2

bad:
LBB0_2:
mov r2, r0
. . .
@ BB#3:
mov r1, r2
b LBB0_2

llvm-svn: 111221

show more ...


# 88c547ed 07-Jul-2010 Dan Gohman <gohman@apple.com>

Add a getFirstNonPHI utility function.

llvm-svn: 107778


# 34396292 06-Jul-2010 Dan Gohman <gohman@apple.com>

Reapply r107655 with fixes; insert the pseudo instruction into
the block before calling the expansion hook. And don't
put EFLAGS in a mbb's live-in list twice.

llvm-svn: 107691


# f4f04107 06-Jul-2010 Dan Gohman <gohman@apple.com>

Revert r107655.

llvm-svn: 107668


# 12205645 06-Jul-2010 Dan Gohman <gohman@apple.com>

Fix a bunch of custom-inserter functions to handle the case where
the pseudo instruction is not at the end of the block.

llvm-svn: 107655


# 3570f81b 22-Jun-2010 Dan Gohman <gohman@apple.com>

Move PHIElimination's SplitCriticalEdge for MachineBasicBlocks out
into a utility routine, teach it how to update MachineLoopInfo, and
make use of it in MachineLICM to split critical edges on demand.

Move PHIElimination's SplitCriticalEdge for MachineBasicBlocks out
into a utility routine, teach it how to update MachineLoopInfo, and
make use of it in MachineLICM to split critical edges on demand.

llvm-svn: 106555

show more ...


# 0125b641 17-Jun-2010 Stuart Hastings <stuart@apple.com>

Add a DebugLoc parameter to TargetInstrInfo::InsertBranch(). This
addresses a longstanding deficiency noted in many FIXMEs scattered
across all the targets.

This effectively moves the problem up on

Add a DebugLoc parameter to TargetInstrInfo::InsertBranch(). This
addresses a longstanding deficiency noted in many FIXMEs scattered
across all the targets.

This effectively moves the problem up one level, replacing eleven
FIXMEs in the targets with eight FIXMEs in CodeGen, plus one path
through FastISel where we actually supply a DebugLoc, fixing Radar
7421831.

llvm-svn: 106243

show more ...


Revision tags: llvmorg-2.7.0
# 9d2d053e 13-Apr-2010 Dan Gohman <gohman@apple.com>

Eliminate MachineBasicBlock::const_livein_iterator and make
MachineBasicBlock::livein_iterator a const_iterator, because
clients shouldn't ever be using the iterator interface to
mutate the livein se

Eliminate MachineBasicBlock::const_livein_iterator and make
MachineBasicBlock::livein_iterator a const_iterator, because
clients shouldn't ever be using the iterator interface to
mutate the livein set.

llvm-svn: 101147

show more ...


# 95643404 01-Apr-2010 Bill Wendling <isanbard@gmail.com>

Reapply r100056. It doesn't look like it's the one that's causing a failure.

llvm-svn: 100065


# fa9810de 31-Mar-2010 Bill Wendling <isanbard@gmail.com>

Revert r100056. It was causing a failure on MSVC.

llvm-svn: 100062


# 506b3047 31-Mar-2010 Bill Wendling <isanbard@gmail.com>

Rewrite CorrectExtraCFGEdges() to make it more understandable.

* Set the "DestA" and "DestB" according to how they're understood by the
method. I.e., if one or both of them should point to the "fa

Rewrite CorrectExtraCFGEdges() to make it more understandable.

* Set the "DestA" and "DestB" according to how they're understood by the
method. I.e., if one or both of them should point to the "fall through" block,
then point to the fall through block.

* Improve the loop that removes superfluous edges to be more understandable.

llvm-svn: 100056

show more ...


# 98970439 30-Mar-2010 Chris Lattner <sabre@nondot.org>

Rip out the 'is temporary' nonsense from the MCContext interface to
create symbols. It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.

This fixe

Rip out the 'is temporary' nonsense from the MCContext interface to
create symbols. It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.

This fixes rdar://7807601.

llvm-svn: 99902

show more ...


# 29bdac49 13-Mar-2010 Chris Lattner <sabre@nondot.org>

eliminate the now-unneeded context argument of MBB::getSymbol()

llvm-svn: 98451


# ac2361a9 10-Mar-2010 Chris Lattner <sabre@nondot.org>

set the temporary bit on MCSymbols correctly.

llvm-svn: 98124


# 1fa9c2cc 17-Feb-2010 Chris Lattner <sabre@nondot.org>

move isOnlyReachableByFallthrough out of MachineBasicBlock into AsmPrinter,
and add a sparc implementation that knows about delay slots. Patch by
Nathan Keynes!

llvm-svn: 96492


1...<<111213141516171819