History log of /external/llvm/include/llvm/Use.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd35e09a4a3c640b9da0b1dfe3548a605c929ae5 21-Jun-2011 Jay Foad <jay.foad@gmail.com> Reinstate r133435 and r133449 (reverted in r133499) now that the clang
self-hosted build failure has been fixed (r133512).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133513 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
a88a0ca8082006b37d14d8aee4a644b20bae8bc9 21-Jun-2011 Chad Rosier <mcrosier@apple.com> Revert r133435 and r133449 to appease buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
72f5f313d87558958696ce69593d82efcdfa9128 20-Jun-2011 Jay Foad <jay.foad@gmail.com> Change how PHINodes store their operands.

Change PHINodes to store simple pointers to their incoming basic blocks,
instead of full-blown Uses.

Note that this loses an optimization in SplitCriticalEdge(), because we
can no longer walk the use list of a BasicBlock to find phi nodes. See
the comment I removed starting "However, the foreach loop is slow for
blocks with lots of predecessors".

Extend replaceAllUsesWith() on a BasicBlock to also update any phi
nodes in the block's successors. This mimics what would have happened
when PHINodes were proper Users of their incoming blocks. (Note that
this only works if OldBB->replaceAllUsesWith(NewBB) is called when
OldBB still has a terminator instruction, so it still has some
successors.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
691c05bb29d3e2ec9c2ed6b1c082ce5d484b75da 20-Jun-2011 Jay Foad <jay.foad@gmail.com> Remove the AugmentedUse struct.

I don't think the AugmentedUse struct buys us much, either in
correctness or in ease of use. Ditch it, and simplify Use::getUser() and
User::allocHungoffUses().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
ae479aa13ed344876680f7d4dc08e3cf4b512da9 28-Jan-2011 Nick Lewycky <nicholas@mxc.ca> Add missing include for ptrdiff_t. Patch by Joerg Sonnenberger!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124470 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
afde5188f2a97bd776e1349fe78801d67e187136 25-Jan-2011 Jay Foad <jay.foad@gmail.com> Avoid compiler errors when this header file is included first, by adding
a forward declaration of simplify_type<>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
0d1941a46fecefc1bbb83dc358a7092f49eb1890 17-Jan-2011 Jay Foad <jay.foad@gmail.com> Remove useless Tag enumeration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
1ed26acc58a13f125bc9e1d5e5aa22fd479654ff 16-Jan-2011 Jay Foad <jay.foad@gmail.com> Simplify the construction and destruction of Uses. Simplify
User::dropHungOffUses().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
bdbe342e8602e38c7eadb4f0c2664e7e30bff768 16-Jan-2011 Jay Foad <jay.foad@gmail.com> Move the implementation of the User class into a new source file,
User.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
8e3914d12e939d7c686bd121b0e2b2d39ed126d2 07-Jan-2011 Jay Foad <jay.foad@gmail.com> Simplify the allocation and freeing of Users' operand lists, now that
every BranchInst has a fixed number of operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
05006e2813e3219a508d5261f3782ef47c08f762 26-Jul-2010 Gabor Greif <ggreif@gmail.com> re-commit r109220, the compile error has already been fixed

Simplifying use_iterators by dereferencing
is not a good idea. The codebase does not depend
in this any more, and it may introduce hidden
runtime cost. If you get compile errors, please
dereference your iterator before passing to cast<>
(and friends).

Also: please consider caching the result of
operator* and reusing that instead of dereferencing
many times.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
6252f6ea11a05d6e4c340e7dd26e37daa29c5cc1 23-Jul-2010 Eric Christopher <echristo@apple.com> Revert 109220.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
4a3bb24179b3f0c0daa6a8f10a3f43721895c499 23-Jul-2010 Gabor Greif <ggreif@gmail.com> Simplifying use_iterators by dereferencing
is not a good idea. The codebase does not depend
in this any more, and it may introduce hidden
runtime cost. If you get compile errors, please
dereference your iterator before passing to cast<>
(and friends).

Also: please consider caching the result of
operator* and reusing that instead of dereferencing
many times.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109220 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
345b378309eabd74a7a43f095dca9a4894bc371e 10-Jun-2010 Duncan Sands <baldrick@free.fr> Add includes to get ptrdiff_t. This is needed by gcc-4.6 which has
done some more header trimming, resulting in cstdef being included
by less header files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
7362ce08cb2c1f0b544b18dbc21630fb4baebcfc 28-Aug-2009 Gabor Greif <ggreif@gmail.com> eliminate all 80-col violations that I have introduced in my recent checkins (and some others more)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
f0891be8bdbeeadb39da5575273b6645755fa383 27-Aug-2009 Gabor Greif <ggreif@gmail.com> Clean up the minor mess I caused with removing iterator.h. I shall take care of 80-col violations and the FIXME later. (Thanks goodness that I live in another continent, so the monkeypox did not strike me :-)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
c26672a2d2b4c0a5be329d95870965d883a2ef34 01-May-2009 Stefanus Du Toit <stefanus.dutoit@rapidmind.com> Add a comment to refer to the section of the programmer's manual that explains what the pointer tagging in Use is for.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
b7a00daa1165576dd2bb9d17970c249d536f4a82 03-Apr-2009 Chris Lattner <sabre@nondot.org> Work around an apparent GCC miscompilation by specializing different,
this fixes a regression on some compilers from r68147.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
f385167b85abf9cb63a0bec94732d7185ee74e36 31-Mar-2009 Chris Lattner <sabre@nondot.org> teach PointerLikeTypeTraits that all pointers to pointers may only be 4-byte aligned.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
e30173ac3396510bd0bb26a66fd615ff9083436d 29-Mar-2009 Chris Lattner <sabre@nondot.org> Replace the PointerLikeTypeTraits::getNumLowBitsAvailable
function with a new NumLowBitsAvailable enum, which makes the
value available as an integer constant expression.

Add PointerLikeTypeTraits specializations for Instruction* and
Use** since they are only guaranteed 4-byte aligned.

Enhance PointerIntPair to know about (and enforce) the alignment
specified by PointerLikeTypeTraits. This should allow things
like PointerIntPair<PointerIntPair<void*, 1,bool>, 1, bool>
because the inner one knows that 2 low bits are free.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
ae5a20a9177650525b40ed88c8326a398e6caa8a 12-Mar-2009 Gabor Greif <ggreif@gmail.com> Rearrange operands of the BranchInst, to be able to
access each with a fixed negative index from op_end().

This has two important implications:
- getUser() will work faster, because there are less iterations
for the waymarking algorithm to perform. This is important
when running various analyses that want to determine callers
of basic blocks.
- getSuccessor() now runs faster, because the indirection via OperandList
is not necessary: Uses corresponding to the successors are at fixed
offset to "this".

The price we pay is the slightly more complicated logic in the operator
User::delete, as it has to pick up the information whether it has to free
the memory of an original unconditional BranchInst or a BranchInst that
was originally conditional, but has been shortened to unconditional.
I was not able to come up with a nicer solution to this problem. (And
rest assured, I tried *a lot*).

Similar reorderings will follow for InvokeInst and CallInst. After that
some optimizations to pred_iterator and CallSite will fall out naturally.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
84fb959489a07f032208deb8bf32776867aaeab2 05-Jan-2009 Gabor Greif <ggreif@gmail.com> eliminate tabs from my previous commit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
fd095b6389ec7c794e094f2a5dc8851bdc108999 05-Jan-2009 Gabor Greif <ggreif@gmail.com> Get rid of the tagging functions and use PointerIntPair.
This means that we have to include an additional header.

This patch should be functionally equivalent. I cannot outrule any performance
degradation, though I do not expect any.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
4fbed982fb09cb67c0d19ae553a06eb9321b3913 17-Oct-2008 Gabor Greif <ggreif@gmail.com> Add comment on how tagged pointers are
distinguished from normal (untagged) ones
as per review comment.

I am sufficiently unaquainted with doxygen to
defer the markup to someone with more experience.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
023f84ecafa08a67101937ac80f0dfd9f5e69dfb 16-Oct-2008 Gabor Greif <ggreif@gmail.com> Introduce a typing refinenement on tagged data
using the 'volatile' qualifier. This should not have any operational consequences
on code, because tags should always be stripped off (giving a non-volatile pointer)
before dereferencing. The new qualification is there to catch some attempts to use
tagged pointers in a context where an untagged pointer is appropriate.

Notably this approach does not catch dereferencing of tagged pointers, but helps
in separating the two concepts a bit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
a870039277d26d3d8f3ff774345db90096b544ad 15-Oct-2008 Chris Lattner <sabre@nondot.org> Fix PR2115 by doxygenating Use more, and make some more methods private.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
c9f7ef7e7a95ff95a779a057297e0973d21aca02 13-Oct-2008 Gabor Greif <ggreif@gmail.com> remove a deprecated internal interface

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
6f4266506bca785828bacda55bd5db9172f990c6 19-Sep-2008 Gabor Greif <ggreif@gmail.com> backing out my last commit, it was not intended to go on the trunk

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
6c2c95d0acd867add034d93d4b909ddd75d61b14 19-Sep-2008 Gabor Greif <ggreif@gmail.com> first shot at removing Use::Val
untested, Use::swap() is definitely not done yet

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
8968450305c28444edc3c272d8752a8db0c2f34a 27-Jul-2008 Dan Gohman <gohman@apple.com> Tidy SDNode::use_iterator, and complete the transition to have it
parallel its analogue, Value::value_use_iterator. The operator* method
now returns the user, rather than the use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
43d1fd449f1a0ac9d9dafa0b9569bb6b2e976198 29-May-2008 Anton Korobeynikov <asl@math.spbu.ru> For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
1b9e1672fb68c399fc277a33f959be018c6796fd 27-May-2008 Gabor Greif <ggreif@gmail.com> Make Use::init() private, it breaks invariants, clients should assign or use set().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51615 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
94fb68ba217975d2d99ae86d15993402158ac655 14-May-2008 Gabor Greif <ggreif@gmail.com> Merge of r51073-51074 from use-diet branch.

Do not rely on std::swap<Use>, provide a (faster) member function instead.
This change is primarily necessitated by MSVC++'s incompatibility with
declaring std::swap<Use> to be a friend of Use.

Also contains some minor tweaks to Use inline functions,
to undo pointless changes that sneaked in with the last merge.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
efe65369a74871c3140a540a6c95ce5d1f080954 10-May-2008 Gabor Greif <ggreif@gmail.com> merge of use-diet branch to trunk

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50943 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
7e4d5b60020ec778bfcd4f98c86ffcb82b97439b 16-Apr-2008 Dan Gohman <gohman@apple.com> Fix a copy+paste error in a comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
f4290266e9e1b7b4d7df9eda39e83ab59cbc372b 31-Mar-2008 Torok Edwin <edwintorok@gmail.com> test commit


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48984 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
950a4c40b823cd4f09dc71be635229246dfd6cac 25-Mar-2008 Dan Gohman <gohman@apple.com> Add explicit keywords.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
59dc98de2f79c027eb6860443daee260710b1405 14-Mar-2008 Gabor Greif <ggreif@gmail.com> move the Use destructor where it belongs to

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
7ed47a13356daed2a34cd2209a31f92552e3bdd8 29-Dec-2007 Chris Lattner <sabre@nondot.org> Don't attribute in file headers anymore. See llvmdev for the
discussion of this change. Boy are my fingers tired. ;-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
3ef437d137afe7409b93310a2092a2f8a8dbfcca 11-Oct-2007 Chris Lattner <sabre@nondot.org> Add a new use_iterator::atEnd() method, which allows us to shrink
pred_iterator down to a single ivar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
023cfb6871c3a302387ea3e228dc000e45639b5b 08-May-2006 Chris Lattner <sabre@nondot.org> Move the definition of value_use_iterator::getOperandNo to User.h where the
definition of the User class is available, this fixes the build with some
compiler versions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
71fe0f4a4325d9e8a1e244b0db43b9731defeedd 05-May-2006 Chris Lattner <sabre@nondot.org> Add a helper method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
5dc8050ca3797d7001d05ade44bae199bbe324cf 28-Mar-2006 Chris Lattner <sabre@nondot.org> Add some missing template specializations for autodereferencing User.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
9769ab22265b313171d201b5928688524a01bd87 21-Apr-2005 Misha Brukman <brukman+llvm@gmail.com> Remove trailing whitespace


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
a26619748932b146a09773d51465d7b7dcdb7dd2 01-Feb-2005 Chris Lattner <sabre@nondot.org> Switch from using an ilist for uses to using a custom doubly linked list.
This list does not provide the ability to go backwards in the list (its
more of an unordered collection, stored in the shape of a list).

This change means that use iterators are now only forward iterators, not
bidirectional.

This improves the memory usage of use lists from '5 + 4*#use' per value to
'1 + 4*#use'. While it would be better to reduce the multiplied factor,
I'm not smart enough to do so. This list also has slightly more efficient
operators for manipulating list nodes (a few less loads/stores), due to not
needing to be able to iterate backwards through the list.

This change reduces the memory footprint required to hold 176.gcc from
66.025M -> 57.687M, a 14% reduction. It also speeds up the compiler,
7.73% in the case of bytecode loading alone (release build loading 176.gcc).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
bca81448ac8e19c588c9a4ad16fc70732b76327c 30-Jan-2005 Chris Lattner <sabre@nondot.org> Improve conformance with the Misha spelling benchmark suite


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
02accaeb172fbe179fe20eafa6172606d0c9eae1 29-Jan-2005 Chris Lattner <sabre@nondot.org> Adjust to ilist changes.

Based on the ilist changes avoid allocating an entire Use object for the
end of the Use chain. This saves 8 bytes of memory for each Value allocated
in the program. For 176.gcc, this reduces us from 69.5M -> 66.0M, a 5.3%
memory savings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
b8d5b1211f982d65546d855130d99c42780a76a0 29-Jan-2005 Chris Lattner <sabre@nondot.org> Adjust to User.h changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
1fca5ff62bb2ecb5bfc8974f4dbfc56e9d3ca721 27-Oct-2004 Chris Lattner <sabre@nondot.org> Convert 'struct' to 'class' in various places to adhere to the coding standards
and work better with VC++. Patch contributed by Morten Ofstad!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
551ccae044b0ff658fe629dd67edd5ffe75d10e8 02-Sep-2004 Reid Spencer <rspencer@reidspencer.com> Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
8b70b78ba489b090d9866e6a4084ab1e8613b527 16-Nov-2003 Chris Lattner <sabre@nondot.org> Fixes for PR114: Thanks to Reid Spencer!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
60e9742e8270c44f5fd83dd269633681bee42cb5 14-Nov-2003 Chris Lattner <sabre@nondot.org> This is obviously illegal C++ code, but was apparently accepted by 3.3

bork


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
d0fde30ce850b78371fd1386338350591f9ff494 11-Nov-2003 Brian Gaeke <gaeke@uiuc.edu> Put all LLVM code into the llvm namespace, as per bug 109.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
6fbcc26f1460eaee4e0eb8b426fc1ff0c7af11be 20-Oct-2003 John Criswell <criswell@uiuc.edu> Added LLVM copyright header (for lack of a better term).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h
202884fd9b575396f7ca220755cc4e3dac9b5a97 16-Oct-2003 Chris Lattner <sabre@nondot.org> Completely rewrite support for the Value::use_* list. Now, all operations on
this list (except use_size()) are constant time. Before the killUse method
(used whenever something stopped using a value) was linear time, and thus
very very slow for large programs.

This speeds GCCAS up _substantially_ on large programs: almost 2x for 176.gcc:

176.gcc: 77.07s -> 37.38s
177.mesa: 7.59s -> 5.57s
252.eon: 21.02s -> 19.52s (*)
253.perlbmk: 11.40s -> 13.05s
254.gap: 7.25s -> 7.42s

252.eon would speed up a whole lot more, but optimization time is being
dominated by the inlining pass, which needs to be fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Use.h