| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 92931
|
|
|
|
| |
llvm-svn: 92761
|
|
|
|
|
|
|
| |
things that occur in types. "operands" are things that occur
in values.
llvm-svn: 92322
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
after the MDNode in memory. This eliminates the operands
pointer and saves a new[] per node.
Note that the code in DIDerivedType::replaceAllUsesWith is wrong
and quite scary. A MDNode should not be RAUW'd with something
else: this changes all uses of the mdnode, which may not be debug
info related! Debug info should use something non-mdnode for
declarations.
llvm-svn: 92321
|
|
|
|
|
|
|
|
|
|
|
| |
so can be a huge performance issue when tearing down modules and mdnodes
are not guaranteed to be unique anyway. This speeds up:
$ time ~/llvm/Release/bin/clang gcc.c -w -S -g
from 72 to 35s, where gcc.c is from:
http://people.csail.mit.edu/smcc/projects/single-file-programs/
llvm-svn: 92315
|
|
|
|
|
|
|
|
| |
getMDKindID/getMDKindNames methods to LLVMContext (and add
convenience methods to Module), eliminating MetadataContext.
Move the state that it maintains out to LLVMContext.
llvm-svn: 92259
|
|
|
|
| |
llvm-svn: 92255
|
|
|
|
| |
llvm-svn: 92254
|
|
|
|
| |
llvm-svn: 92252
|
|
|
|
|
|
|
|
| |
why one was replaced with the other. Even in the specific case of
debug information, it doesn't make sense to transfer the location over,
this will just result in jumbled loc info.
llvm-svn: 92241
|
|
|
|
| |
llvm-svn: 92240
|
|
|
|
|
|
|
|
|
|
|
| |
a convention (shadowing the setter with private forwarding function) to
prevent subclasses from accidentally using it.
This exposed some bogosity in ConstantExprs, which was propaging the
opcode of the constant expr into the NUW/NSW/Exact field in the
getWithOperands/getWithOperandReplaced methods.
llvm-svn: 92239
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I asked Devang to do back on Sep 27. Instead of going through the
MetadataContext class with methods like getMD() and getMDs(), just
ask the instruction directly for its metadata with getMetadata()
and getAllMetadata().
This includes a variety of other fixes and improvements: previously
all Value*'s were bloated because the HasMetadata bit was thrown into
value, adding a 9th bit to a byte. Now this is properly sunk down to
the Instruction class (the only place where it makes sense) and it
will be folded away somewhere soon.
This also fixes some confusion in getMDs and its clients about
whether the returned list is indexed by the MDID or densely packed.
This is now returned sorted and densely packed and the comments make
this clear.
This introduces a number of fixme's which I'll follow up on.
llvm-svn: 92235
|
|
|
|
|
|
|
| |
doesn't exist already, eliminate registerMDKind. Tidy up a bunch
of random stuff.
llvm-svn: 92225
|
|
|
|
|
|
| |
and simplify all the clients that use it.
llvm-svn: 92224
|
|
|
|
| |
llvm-svn: 92223
|
|
|
|
| |
llvm-svn: 92221
|
|
|
|
|
|
|
| |
eliminate the temporary smallvector, and only do FindNodeOrInsertPos
twice if the first one succeeds and we delete a node.
llvm-svn: 92220
|
|
|
|
| |
llvm-svn: 92219
|
|
|
|
| |
llvm-svn: 92218
|
|
|
|
|
|
|
|
| |
Among other benefits, this doesn't leak the SmallPtrSet, has the verifier
code in the verifier pass, actually does the verification at the end,
and is considerably simpler.
llvm-svn: 92217
|
|
|
|
| |
llvm-svn: 92216
|
|
|
|
| |
llvm-svn: 92214
|
|
|
|
| |
llvm-svn: 92212
|
|
|
|
|
|
| |
irrelevant internal implementation details to clients.
llvm-svn: 92210
|
|
|
|
|
|
| |
of making it a declared part of the value.
llvm-svn: 92209
|
|
|
|
|
|
|
| |
other things, this avoids vtable and rtti data for it being splatted in
every translation unit that uses it.
llvm-svn: 92207
|
|
|
|
| |
llvm-svn: 91715
|
|
|
|
|
|
|
|
|
|
|
| |
- an MDNode is designated as function-local when created, and continues to be even if its operands are modified not to refer to function-local IR
- function-localness is designated via lowest bit in SubclassData
- getLocalFunction() descends MDNode tree to see if it is consistently function-local
Add verification of MDNodes to checks that MDNodes are consistently function-local.
Update AsmWriter to use isFunctionLocal().
llvm-svn: 91708
|
|
|
|
| |
llvm-svn: 91524
|
|
|
|
|
|
| |
explicitly keep track of the function they are local to
llvm-svn: 91497
|