History log of /external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
2a6cbba2db261d2ee29a1373e195f95fd232e61b 14-Oct-2013 Chris Lattner <sabre@nondot.org> Basic blocks typically have few predecessors. Use a SmallDenseMap to
avoid a heap allocation when this is the case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
064a68682d7fff603dfb53e21cad951943e62905 29-Jul-2013 Chandler Carruth <chandlerc@gmail.com> Update comments for SSAUpdater to use the modern doxygen comment
standards for LLVM. Remove duplicated comments on the interface from the
implementation file (implementation comments are left there of course).
Also clean up, re-word, and fix a few typos and errors in the commenst
spotted along the way.

This is in preparation for changes to these files and to keep the
uninteresting tidying in a separate commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
0b8c9a80f20772c3793201ab5b251d3520b9cea3 02-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Move all of the header files which are involved in modelling the LLVM IR
into their new header subdirectory: include/llvm/IR. This matches the
directory structure of lib, and begins to correct a long standing point
of file layout clutter in LLVM.

There are still more header files to move here, but I wanted to handle
them in separate commits to make tracking what files make sense at each
layer easier.

The only really questionable files here are the target intrinsic
tablegen files. But that's a battle I'd rather not fight today.

I've updated both CMake and Makefile build systems (I think, and my
tests think, but I may have missed something).

I've also re-sorted the includes throughout the project. I'll be
committing updates to Clang, DragonEgg, and Polly momentarily.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.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/Transforms/Utils/SSAUpdater.cpp
1cec7a05ee41725ec97b41608fe16d58c8c5b103 17-Aug-2012 Richard Smith <richard-llvm@metafoo.co.uk> Fix undefined behavior (binding a reference to a dereferenced null pointer) if
SSAUpdater was created and destroyed without being initialized.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
7b6783a03f16376e8e2d0d9791f090ef32727c8f 14-Aug-2012 Nadav Rotem <nrotem@apple.com> LICM uses AliasSet information to hoist and sink instructions. However, other passes, such as LoopRotate
may invalidate its AliasSet because SSAUpdater does not update the AliasSet properly.
This patch teaches SSAUpdater to notify AliasSet that it made changes.
The testcase in PR12901 is too big to be useful and I could not reduce it to a normal size.

rdar://11872059 PR12901



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161803 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
ccaddf47086742f62fb7fbf97f6509395f31b957 25-Jun-2012 Eli Bendersky <eli.bendersky@intel.com> The name (and comment describing) of llvm::GetFirstDebuigLocInBasicBlock no longer represents what the function does. Therefore, the function is removed and its functionality is folded into the only place in the code-base where it was being used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.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/Transforms/Utils/SSAUpdater.cpp
aa5354c3ba93032dcc76e8c105575f31196084f1 14-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Make headers standalone, move a virtual method out of line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e 18-Jul-2011 Chris Lattner <sabre@nondot.org> land David Blaikie's patch to de-constify Type, with a few tweaks.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
840635741f132a9a10f052cbf3b21e14bc74835a 18-Jul-2011 Chris Lattner <sabre@nondot.org> fix a warning in TinyPtrVector, adopt it in SSAUpdater, saving some
mallocs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
231a5ab746ca12000aa57208869a98f78781aa6b 06-Jul-2011 Devang Patel <dpatel@apple.com> Simplify. Consolidate dbg.declare handling in AllocaPromoter.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
13a16083abcdacf2ee44ae95b084f87937ea9ace 24-May-2011 Cameron Zwarich <zwarich@apple.com> Clean up the lazy initialization of DIBuilder a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
c827939046670a9800659b83e2048f1d3a79a531 24-May-2011 Cameron Zwarich <zwarich@apple.com> Make LoadAndStorePromoter preserve debug info and create llvm.dbg.values when
promoting allocas to SSA variables. Fixes <rdar://problem/9479036>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
40348e8d1ff564a23101d4fd37fe4dd03d9018ab 30-Apr-2011 Devang Patel <dpatel@apple.com> Assing line number info to new PHIs created by SSA updater.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
562b84b3aea359d1f918184e355da82bf05eb290 11-Apr-2011 Jay Foad <jay.foad@gmail.com> Don't include Operator.h from InstrTypes.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
3ecfc861b4365f341c5c969b40e1afccde676e6f 30-Mar-2011 Jay Foad <jay.foad@gmail.com> Remove PHINode::reserveOperandSpace(). Instead, add a parameter to
PHINode::Create() giving the (known or expected) number of operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
867be59684afef29f058385c6618ec7753596ffc 24-Jan-2011 Chris Lattner <sabre@nondot.org> fix PR9017, a bug where we'd assert when promoting in unreachable
code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
deaf55f69865bbc997a569c2a689ec5b0fbdefef 15-Jan-2011 Chris Lattner <sabre@nondot.org> Generalize LoadAndStorePromoter a bit and switch LICM
to use it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
a2d845a3ff0b11ca7de6dd0485aa23edef7d149a 14-Jan-2011 Chris Lattner <sabre@nondot.org> Add a new LoadAndStorePromoter class, which implements the general
"promote a bunch of load and stores" logic, allowing the code to
be shared and reused.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123456 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
cdbd99262286e96729007ac535cd430ecb3d38ac 16-Nov-2010 Duncan Sands <baldrick@free.fr> Have a few places that want to simplify phi nodes use SimplifyInstruction
rather than calling hasConstantValue. No intended functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119352 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
fc6e29d4ab52b7d3efd83846ed495a9ca7e51e49 02-Sep-2010 Duncan Sands <baldrick@free.fr> Reapply commit 112699, speculatively reverted by echristo, since
I'm sure it is harmless. Original commit message:
If PrototypeValue is erased in the middle of using the SSAUpdator
then the SSAUpdator may access freed memory. Instead, simply pass
in the type and name explicitly, which is all that was used anyway.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
adc581f5cb6bdb929b1c6a155c330151ebd3bf72 01-Sep-2010 Eric Christopher <echristo@apple.com> Speculatively revert 112699 and 112702, they seem to be causing
self host errors on clang-x86-64.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
4d588bceb035589ade874f432d70a41bb7ec6273 01-Sep-2010 Duncan Sands <baldrick@free.fr> If PrototypeValue is erased in the middle of using the SSAUpdator
then the SSAUpdator may access freed memory. Instead, simply pass
in the type and name explicitly, which is all that was used anyway.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
ffd9beefb8d1fc854fc2863ad443a557be2b4196 29-Aug-2010 Chris Lattner <sabre@nondot.org> implement SSAUpdater::RewriteUseAfterInsertions, a helpful form of RewriteUse.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112409 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.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/Transforms/Utils/SSAUpdater.cpp
b913863a95a70fcfe2c5b144c574307dc3d29d88 21-Apr-2010 Bob Wilson <bob.wilson@apple.com> Fix a performance problem with the new SSAUpdater. This showed up in the
GCCAS time for MultiSource/Benchmarks/ASCI_Purple/SMG2000.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
84bd6b0c31f41cdd1d859dab54b6bc1177c4c6bb 17-Apr-2010 Bob Wilson <bob.wilson@apple.com> Re-commit my previous SSAUpdater changes. The previous version naively tried
to determine where to place PHIs by iteratively comparing reaching definitions
at each block. That was just plain wrong. This version now computes the
dominator tree within the subset of the CFG where PHIs may need to be placed,
and then places the PHIs in the iterated dominance frontier of each definition.
The rest of the patch is mostly the same, with a few more performance
improvements added in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
49c283fd3f8f81e04b84dc848981b4bf17b2d706 03-Apr-2010 Bob Wilson <bob.wilson@apple.com> Revert all my SSAUpdater patches. The PHI placement algorithm is not correct
(what was I thinking?) and there's also a problem with LCSSA. I'll try again
later with fixes.

--- Reverse-merging r100263 into '.':
U lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100177 into '.':
G lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100148 into '.':
G lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100147 into '.':
U include/llvm/Transforms/Utils/SSAUpdater.h
G lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100131 into '.':
G include/llvm/Transforms/Utils/SSAUpdater.h
G lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100130 into '.':
G lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100126 into '.':
G include/llvm/Transforms/Utils/SSAUpdater.h
G lib/Transforms/Utils/SSAUpdater.cpp
--- Reverse-merging r100050 into '.':
D test/Transforms/GVN/2010-03-31-RedundantPHIs.ll
--- Reverse-merging r100047 into '.':
G include/llvm/Transforms/Utils/SSAUpdater.h
G lib/Transforms/Utils/SSAUpdater.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
4cc3c26834892dd7541a09759da4d31052f8a9f3 03-Apr-2010 Bob Wilson <bob.wilson@apple.com> Add a DEBUG_TYPE for the SSAUpdater.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100263 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
66820482062b9d4a0042172dbae300a0c571af80 02-Apr-2010 Bob Wilson <bob.wilson@apple.com> Recommit 100158 now that the buildbots are happy again.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
5ea6352fcd221e208529f58f88b856bbc4e19e55 02-Apr-2010 Bob Wilson <bob.wilson@apple.com> Revert 100158 in case it is causing some of the buildbot problems.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
ec54d6ab84ea314f2a8ac0fd996d8d28cbbc76db 02-Apr-2010 Bob Wilson <bob.wilson@apple.com> Check for terminating conditions before adding PHIs to the worklists.
This is more efficient than adding them to the worklist and then ignoring them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100158 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
7272b9200989be868f784210fb27f1935cc38036 02-Apr-2010 Bob Wilson <bob.wilson@apple.com> Remove trailing whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
6f69035970fa24380f94c668b3e549cc83c4db4b 02-Apr-2010 Bob Wilson <bob.wilson@apple.com> Rewrite another SSAUpdater function to avoid recursion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
33f22e8c661d11226036d67dcaf00a1ca41095e3 01-Apr-2010 Bob Wilson <bob.wilson@apple.com> Change another SSAUpdater function to avoid recursion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
9bdb8f0717c7dc58ac7da56b28390f2d56961e0f 01-Apr-2010 Bob Wilson <bob.wilson@apple.com> Simplify the code to check for existing PHIs, now that it is only used in
one place. This removes the template function added in svn 94690.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
e8b64281ce79b804df613acc673f49f364631a63 01-Apr-2010 Bob Wilson <bob.wilson@apple.com> The SSAUpdater should avoid recursive traversals of the CFG, since that may
blow out the stack for really big functions. Start by fixing an easy case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
a0c6057061be055faa542d05b2213f2bd779e160 31-Mar-2010 Bob Wilson <bob.wilson@apple.com> Rewrite part of the SSAUpdater to be more careful about inserting redundant
PHIs. The previous algorithm was unable to reliably detect when existing
PHIs in a cycle can be reused. I'm still working on reducing a testcase.
Radar 7711900.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
e98585eb36eff3b8c7da1cf7b044da6a05973074 27-Jan-2010 Bob Wilson <bob.wilson@apple.com> Avoid creating redundant PHIs in SSAUpdater::GetValueInMiddleOfBlock.
This was already being done in SSAUpdater::GetValueAtEndOfBlock so I've
just changed SSAUpdater to check for existing PHIs in both places.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
1af40cacd4d162ffe9dfbafa1230e502e059be65 05-Jan-2010 David Greene <greened@obbligato.org> Change errs() to dbgs().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
25bceead500389c36d29651a34ff841893bcb734 21-Dec-2009 Chris Lattner <sabre@nondot.org> improve indentation avoid a pointless conversion from weakvh to trackingvh,
no functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
4c1e3da0cdd2fd0df5188dea1988beb8bf6a0dc6 21-Dec-2009 Chris Lattner <sabre@nondot.org> fix PR5837 by having SSAUpdate reuse phi nodes for the
'GetValueInMiddleOfBlock' case, instead of inserting
duplicates.

A similar fix is almost certainly needed by the machine-level
SSAUpdate implementation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
45305d4ff6bff8dfe62228c68b3cb61bb2d7254f 04-Dec-2009 Chris Lattner <sabre@nondot.org> add an assert to make it really clear what this is doing. Return singularval as
a compile time perf optimization to avoid a load.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90507 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
88a8624f8e104e1ba1ca21efa6ae23680b528a3e 20-Oct-2009 Chris Lattner <sabre@nondot.org> alternate fix for PR5258 which avoids worklist problems, with reduced testcase.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
f993327e71d826dcb852929a78881569ef83374d 20-Oct-2009 Torok Edwin <edwintorok@gmail.com> Fix PR5258, jump-threading creating invalid PHIs.
When an incoming value for a PHI is updated, we must also updated all other
incoming values for the same BB to match, otherwise we create invalid PHIs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84638 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
ed90342d8ae0756305219e0f01e03e77599ebb41 16-Oct-2009 Duncan Sands <baldrick@free.fr> Strip trailing white space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84256 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
0bef562ea253878ee92a1eaf6db05b0c2edfa74c 11-Oct-2009 Chris Lattner <sabre@nondot.org> add a simple helper method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
f5a1fb6b247611b92d9dec9476202b477661dbe8 11-Oct-2009 Chris Lattner <sabre@nondot.org> add ability for clients of SSAUpdater to find out about the
PHI nodes inserted.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
1a8d4de397c360a76f1389d15e862eba265d71fd 11-Oct-2009 Chris Lattner <sabre@nondot.org> add the ability to get a rewritten value from the middle of a block,
not just at the end. Add a big comment explaining when this could
be useful (which never happens for jump threading).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
5fb107287fd8d35b8fc39aa3e6b084fb2871a8ff 11-Oct-2009 Chris Lattner <sabre@nondot.org> rename GetValueInBlock -> GetValueAtEndOfBlock to better reflect
what it does.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
f9920fabac126d52d6b7443b676a64e032b970bf 10-Oct-2009 Chris Lattner <sabre@nondot.org> use a typedef instead of spelling out an insane type. Yay for auto someday.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83707 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp
93f3bcf7f323069e40d9abb950da73d437b6f7da 10-Oct-2009 Chris Lattner <sabre@nondot.org> Implement an efficient and fully general SSA update mechanism that
works on unstructured CFGs. This implements PR217, our oldest open PR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/Utils/SSAUpdater.cpp