History log of /llvm-project/llvm/lib/CodeGen/ProcessImplicitDefs.cpp (Results 51 – 64 of 64)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# e2d3067f 06-Jul-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Remove references to INSERT_SUBREG after de-SSA

llvm-svn: 107732


# 70ee3ecd 06-Jul-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Convert INSERT_SUBREG to COPY in TwoAddressInstructionPass.

INSERT_SUBREG will now only appear in SSA machine instructions.

Fix the handling of partial redefs in ProcessImplicitDefs. This is now re

Convert INSERT_SUBREG to COPY in TwoAddressInstructionPass.

INSERT_SUBREG will now only appear in SSA machine instructions.

Fix the handling of partial redefs in ProcessImplicitDefs. This is now relevant
since partial redef COPY instructions appear.

llvm-svn: 107726

show more ...


# 4c82a9e7 03-Jul-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Detect and handle COPY in many places.

This code is transitional, it will soon be possible to eliminate
isExtractSubreg, isInsertSubreg, and isMoveInstr in most places.

llvm-svn: 107547


# 1ef06608 11-May-2010 Evan Cheng <evan.cheng@apple.com>

It's not safe eliminate copies where src and dst have different sub-register indices.

llvm-svn: 103450


# d6908dc4 10-May-2010 Evan Cheng <evan.cheng@apple.com>

It's not safe to propagate implicit_def that defines part of a register.

llvm-svn: 103436


Revision tags: llvmorg-2.7.0
# 2988d573 15-Feb-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Fix PR6300.

A virtual register can be used before it is defined in the same MBB if the MBB
is part of a loop. Teach the implicit-def pass about this case.

llvm-svn: 96279


# 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 ...


# c7c89b83 04-Feb-2010 Jakob Stoklund Olesen <stoklund@2pi.dk>

Fix small bug in handling instructions with more than one implicitly defined operand.

ProcessImplicitDefs would only mark one operand per instruction with <undef>.
This fixed PR6086.

llvm-svn: 95319


# d7c266bb 05-Jan-2010 David Greene <greened@obbligato.org>

Change errs() to dbgs().

llvm-svn: 92567


# 595a1630 26-Nov-2009 Evan Cheng <evan.cheng@apple.com>

When all defs of a vr are implicit_def, delete all of the defs.

llvm-svn: 89905


# 44df27e9 25-Nov-2009 Evan Cheng <evan.cheng@apple.com>

ProcessImplicitDefs should watch out for invalidated iterator and extra implicit operands on copies.

llvm-svn: 89880


# 11bf4493 16-Nov-2009 Evan Cheng <evan.cheng@apple.com>

For some targets, a copy can use a register multiple times, e.g. ppc.

llvm-svn: 88895


# 01f31c0a 16-Nov-2009 Lang Hames <lhames@gmail.com>

Fixes the bug exposed by Anton's test case in PR 5495:
Make sure when ProcessImplicitDefs removes a copy which kills its source reg that it
removes the copy from said reg's Kills list.

llvm-svn: 888

Fixes the bug exposed by Anton's test case in PR 5495:
Make sure when ProcessImplicitDefs removes a copy which kills its source reg that it
removes the copy from said reg's Kills list.

llvm-svn: 88881

show more ...


# 05fb9637 03-Nov-2009 Lang Hames <lhames@gmail.com>

The Indexes Patch.

This introduces a new pass, SlotIndexes, which is responsible for numbering
instructions for register allocation (and other clients). SlotIndexes numbering
is designed to match th

The Indexes Patch.

This introduces a new pass, SlotIndexes, which is responsible for numbering
instructions for register allocation (and other clients). SlotIndexes numbering
is designed to match the existing scheme, so this patch should not cause any
changes in the generated code.

For consistency, and to avoid naming confusion, LiveIndex has been renamed
SlotIndex.

The processImplicitDefs method of the LiveIntervals analysis has been moved
into its own pass so that it can be run prior to SlotIndexes. This was
necessary to match the existing numbering scheme.

llvm-svn: 85979

show more ...


123