History log of /external/llvm/lib/VMCore/Use.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5dc805566712d9627068647dba3bcd5980911b6c 26-Mar-2012 Douglas Gregor <dgregor@apple.com> Add missing include of <new>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp
b68f7aea33fd8510e441a1a9a38f3920a9e5db0c 19-Jul-2010 Gabor Greif <ggreif@gmail.com> precompute 20 tags

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Use.cpp
aa7e8b27ade264d9c08b781cc49de74431253609 17-Jul-2010 Gabor Greif <ggreif@gmail.com> fullStopTag cannot happen here, it is handled above

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Use.cpp
345ce549a9f79cb4c8f513564bb710a61cc8483f 16-Jul-2010 Gabor Greif <ggreif@gmail.com> get the first few tags from a precomputed table (count can be increased if desired)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Use.cpp
59bf4fcc0680e75b408579064d1205a132361196 06-Sep-2009 Duncan Sands <baldrick@free.fr> Public and private corrections, warned about by icc (#304).
Patch by Erick Tryzelaar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp
9add869ee2e8f70a96794025f50cf784a6a8d459 05-Jan-2009 Gabor Greif <ggreif@gmail.com> another fix to my previous commit:
* some picky <g> compilers get insulted by const-incorrectness
* respect 80-char limit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp
b1dbcd886a4b5597a839f299054b78b33fb2d6df 15-May-2008 Gabor Greif <ggreif@gmail.com> Fix a bunch of 80col violations that arose from the Create API change. Tweak makefile targets to find these better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp
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/lib/VMCore/Use.cpp