History log of /external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7b79b9862c9e6fc31ec072acb09171fd6ec7b0e0 20-Dec-2012 Jakob Stoklund Olesen <stoklund@2pi.dk> Use MachineInstrBuilder in a few CodeGen passes.

This automatically passes a context pointer to MI->addOperand().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
37a942cd52725b1d390989a8267a764b42fcb5d3 19-Dec-2012 Jakob Stoklund Olesen <stoklund@2pi.dk> Remove the explicit MachineInstrBuilder(MI) constructor.

Use the version that also takes an MF reference instead.

It would technically be possible to extract an MF reference from the MI
as MI->getParent()->getParent(), but that would not work for MIs that
are not inserted into any basic block.

Given the reasonably small number of places this constructor was used at
all, I preferred the compile time check to a run time assertion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
bb57febe3cbc2e968abee728b615918fc734ff7a 14-Aug-2012 Richard Smith <richard-llvm@metafoo.co.uk> Fix undefined behavior: binding null pointer to reference. No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161853 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
fdc2d0faf321224393f1a5dbf05c3e3f88bb6e3e 20-Jun-2012 Chandler Carruth <chandlerc@gmail.com> Fix two rather subtle internal vs. external linker issues.

I'll admit I'm not entirely satisfied with this change, but it seemed
the cleanest option. Other suggestions quite welcome

The issue is that the traits specializations have static methods which
return the typedef'ed PHI_iterator type. In both the IR and MI layers
this is typedef'ed to a custom iterator class defined in an anonymous
namespace giving the types and the functions returning them internal
linkage. However, because the traits specialization is defined in the
'llvm' namespace (where it has to be, specialized template lives there),
and is in turn used in the templated implementation of the SSAUpdater.
This led to the linkage conflict that Clang now warns about.

The simplest solution to me was just to define the PHI_iterator as
a nested class inside the trait specialization. That way it still
doesn't get scoped widely, it can't be accidentally reused somewhere,
etc. This is a little gross just because nested class definitions are
a little gross, but the alternatives seem more ad-hoc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158799 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 20-Jan-2012 David Blaikie <dblaikie@gmail.com> More dead code removal (using -Wunreachable-code)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
89dae971b18a86c7191f85bee8afcf385af5ce92 06-Dec-2011 Evan Cheng <evan.cheng@apple.com> Mix some minor misuse of MachineBasicBlock iterator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
fde18e5eff86b5055d7ed541fa87cde5aa1ab31c 10-May-2010 Bob Wilson <bob.wilson@apple.com> Fix PR7096. When a block containing multiple defs is tail duplicated, the
SSAUpdater for the value from the first def may see uses of undefined values,
because the later defs will not have been updated yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103407 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
4aad88d1fd88413029dd05255306b07cb19396ee 05-May-2010 Bob Wilson <bob.wilson@apple.com> Combine the implementations of the core part of the SSAUpdater and
MachineSSAUpdater to avoid duplicating all the code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103060 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
211678a0d761942578970fc78a72c56d69ed36db 26-Apr-2010 Bob Wilson <bob.wilson@apple.com> Update MachineSSAUpdater with the same changes I made for the IR-level
SSAUpdater. I'm going to try to refactor this to share most of the code
between them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
a4f2bb08de92ccec21cbb3d0a9518384b0173660 02-Apr-2010 Chris Lattner <sabre@nondot.org> stop using DebugLoc::getUnknownLoc()


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100215 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
3143e90ca89b808e98ad7354a9e7dd6bf42fef00 10-Feb-2010 Chris Lattner <sabre@nondot.org> fix missing #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
518bb53485df640d7b7e3f6b0544099020c42aa7 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 using them throughout the
codebase.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
6bb93ef3bed24aaedfc281fe12b575be53ca5480 05-Jan-2010 David Greene <greened@obbligato.org> Change errs() to dbgs().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
3a41ddb1b98ba6f8ea8b2b65e9d9d0e53d3d4419 08-Dec-2009 Evan Cheng <evan.cheng@apple.com> Watch out for duplicated PHI instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
75eb53584367098a5625028e22f1ff8e169d0efd 07-Dec-2009 Evan Cheng <evan.cheng@apple.com> Pre-regalloc tale duplication. Work in progress.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
7e572eb37f1ddb4c9c165354f48692d4cd66affa 07-Dec-2009 Evan Cheng <evan.cheng@apple.com> If BB is empty, insert PHI before end() instead of front().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
9d0f8bba17201cb26f5d642340eed66dedaec695 04-Dec-2009 Evan Cheng <evan.cheng@apple.com> Don't try to be cute with undef optimization here. Let ProcessImplicitDefs handle it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
2e65c29ac64e7b36603d1a1de3d01cdfd2e61e23 04-Dec-2009 Evan Cheng <evan.cheng@apple.com> - If the reaching definition is an undef and the use is a PHI, add the implicit_def to the end of the source block.
- When reaching value is replaced with another, update the cache as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
01306cad01978823716944cd7517446755a6c72d 03-Dec-2009 Evan Cheng <evan.cheng@apple.com> Handle undef values properly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
229694f0ee630ceabe96a8bd48952f6740f928b2 03-Dec-2009 Evan Cheng <evan.cheng@apple.com> Fill out codegen SSA updater. It's not yet tested.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp
651ea5376c57c061ebe183375974e7333d2e0ec3 02-Dec-2009 Evan Cheng <evan.cheng@apple.com> Skeleton for MachineInstr level SSA updater.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/MachineSSAUpdater.cpp