| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
delete the MDNode that changed, rather than the other MDNode.
This is less work, because it doesn't require the changed node
to be re-inserted into the uniquing map and it doesn't require
the is-function-local flag to be recomputed. Also, it avoids
trouble when the existing node is part of a complicated
data structure.
llvm-svn: 114996
|
| |
|
|
|
|
| |
it's not used afterwards.
llvm-svn: 114986
|
| |
|
|
|
|
|
|
|
|
|
| |
non-function-local value, it may result in the metadata no longer needing to be
function-local. Check for this condition, and clear the isFunctionLocal flag, if
it's still in the uniquing map, since any node in the uniquing map needs to have
an accurate function-local flag.
Also, add an assert to help catch problematic cases.
llvm-svn: 113828
|
| |
|
|
|
|
| |
is-function-local flag in metadata uniquing bits.
llvm-svn: 112528
|
| |
|
|
|
|
|
|
| |
for MDNodes, since this information is effectively implied by
the operands. This allow allows the code to avoid doing a
recursive is-it-really-function-local check in some cases.
llvm-svn: 111995
|
| |
|
|
|
|
| |
MDNode::deleteTemporary.
llvm-svn: 111853
|
| |
|
|
| |
llvm-svn: 111739
|
| |
|
|
|
|
| |
is not non-temporary.
llvm-svn: 111713
|
| |
|
|
|
|
|
|
| |
not part of the IR, are not uniqued, and may be safely RAUW'd.
This replaces a variety of alternate mechanisms for achieving
the same effect.
llvm-svn: 111681
|
| |
|
|
|
|
| |
for creating and populating NamedMDNodes.
llvm-svn: 109061
|
| |
|
|
|
|
|
|
|
|
|
| |
Make MDNode::destroy private.
Fix the one thing that used MDNode::destroy, outside of MDNode itself.
One should never delete or destroy an MDNode explicitly. MDNodes
implicitly go away when there are no references to them (implementation
details aside).
llvm-svn: 109028
|
| |
|
|
|
|
| |
referenced by NamedMDNodes shouldn't be deleted.
llvm-svn: 109021
|
| |
|
|
| |
llvm-svn: 109020
|
| |
|
|
|
|
|
| |
it to just do the things that need to be done when an instruction
is deleted.
llvm-svn: 108948
|
| |
|
|
|
|
| |
replaced with setDebugLoc and getDebugLoc.
llvm-svn: 108914
|
| |
|
|
| |
llvm-svn: 108259
|
| |
|
|
| |
llvm-svn: 107697
|
| |
|
|
|
|
|
|
|
| |
buildbot: the debugging and non-debugging versions of getFunction were not
functionally equivalent: the non-debugging version wrongly assumed that if a
metadata operand was not metadata, then it had a non-null containing function.
This is not true, since the operand might be a global value, constant etc.
llvm-svn: 103008
|
| |
|
|
|
|
|
|
|
|
| |
RAUW of a global variable with a local variable in function F,
if function local metadata M in function G was using the global
then M would become function-local to both F and G, which is not
allowed. See the testcase for an example. Fixed by detecting
this situation and zapping the metadata operand when it occurs.
llvm-svn: 103007
|
| |
|
|
|
|
|
| |
metadata references in non-function-local MDNodes should drop to
null.
llvm-svn: 102519
|
| |
|
|
|
|
|
| |
This keeps around temporary typedef for clang/llvm-gcc so the
build won't break when I commit this :)
llvm-svn: 100218
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
being a TrackingVH<MDNode> to a NewDebugLoc, shrinking
sizeof(Instruction) a lot, and providing clients the ability
to deal with locations in terms of NewDebugLoc instead of
having to deal with Metadata. This is still fully compatible
with all clients that *do* use MDNodes for everything of
course.
No functionality change.
llvm-svn: 100088
|
| |
|
|
|
|
|
|
|
| |
instructions. In addition to being a convenience,
they are faster than the old apis, particularly when
not going from an MDKindID like people should be
doing.
llvm-svn: 99982
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
the storage of !dbg metadata kinds in the instruction themselves.
The on-the-side hash table works great for metadata that not-all
instructions get, or for metadata that only exists when optimizing.
But when compile-time is everything, it isn't great.
I'm not super thrilled with the fact that this plops a TrackingVH in
Instruction, because it grows it by 3 words. I'm investigating
alternatives, but this should be a step in the right direction in any
case.
llvm-svn: 99957
|
| |
|
|
| |
llvm-svn: 99927
|
| |
|
|
| |
llvm-svn: 99490
|
| |
|
|
| |
llvm-svn: 99484
|
| |
|
|
|
|
|
|
|
|
| |
r97788.
Tested: clang debug bootstrap, llvm-gcc bootstrap, `make check-lit`
after configuring with --with-llvmgccdir (and this did run the
FrontendC* tests this time)
llvm-svn: 98410
|
| |
|
|
| |
llvm-svn: 98156
|
| |
|
|
|
|
| |
the FrontendC* tests. :(
llvm-svn: 97921
|
| |
|
|
|
|
| |
bootstraps llvm-gcc this time.
llvm-svn: 97918
|
| |
|
|
| |
llvm-svn: 97792
|
| |
|
|
| |
llvm-svn: 97788
|
| |
|
|
| |
llvm-svn: 96609
|
| |
|
|
|
|
| |
by metadata (since metadata does not appear in a value's use list)
llvm-svn: 94492
|
| |
|
|
| |
llvm-svn: 94243
|
| |
|
|
| |
llvm-svn: 94100
|
| |
|
|
|
|
| |
values
llvm-svn: 93984
|
| |
|
|
|
|
|
| |
logic enforced in the test case as well, so hopefully it is correct. Please
review Victor.
llvm-svn: 93980
|
| |
|
|
|
|
| |
into getFunctionForValue()
llvm-svn: 93977
|
| |
|
|
|
|
| |
performance-critical code (currently only used by AsmWriter)
llvm-svn: 93802
|
| |
|
|
|
|
| |
Function* variable and smallptrset since function-local metadata cannot be cyclic
llvm-svn: 93762
|
| |
|
|
| |
llvm-svn: 93449
|
| |
|
|
|
|
| |
has function that it is local to.
llvm-svn: 93400
|
| |
|
|
|
|
|
| |
twine can be represented as a single StringRef. Use the new methode to simplify
some twine users.
llvm-svn: 93317
|
| |
|
|
| |
llvm-svn: 93249
|
| |
|
|
| |
llvm-svn: 93247
|
| |
|
|
|
| |
warning: suggest parentheses around ‘&&’ within ‘||’.
llvm-svn: 93121
|
| |
|
|
|
|
|
|
| |
getWhenValsUnresolved().
Document PFS argument to ParseValID() and ConvertGlobalOrMetadataValIDToValue().
llvm-svn: 93108
|
| |
|
|
| |
llvm-svn: 93032
|