| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 115996
|
| |
|
|
| |
llvm-svn: 115963
|
| |
|
|
|
|
|
| |
initialization functions that initialize the set of passes implemented in
that library. Add C bindings for these functions as well.
llvm-svn: 115927
|
| |
|
|
|
|
|
|
|
|
| |
INITIALIZE_PASS AND INITIALIZE_AG_PASS
expand to an initializeMyPass() function (in additional to the extant static ctors). Eventually, these will be called
from a big InitializeAllPasses() function, and the PassInfo's they create (which would be leaked if this code were used
at the moment) will be handed off to a PassRegistry for ownership.
llvm-svn: 115703
|
| |
|
|
|
|
|
|
|
| |
it in with the SSSE3 instructions.
Steward! Could you place this chair by the aft sun deck? I'm trying to get away
from the Astors. They are such boors!
llvm-svn: 115552
|
| |
|
|
| |
llvm-svn: 115453
|
| |
|
|
| |
llvm-svn: 115251
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The x86_mmx type is used for MMX intrinsics, parameters and
return values where these use MMX registers, and is also
supported in load, store, and bitcast.
Only the above operations generate MMX instructions, and optimizations
do not operate on or produce MMX intrinsics.
MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into
smaller pieces. Optimizations may occur on these forms and the
result casted back to x86_mmx, provided the result feeds into a
previous existing x86_mmx operation.
The point of all this is prevent optimizations from introducing
MMX operations, which is unsafe due to the EMMS problem.
llvm-svn: 115243
|
| |
|
|
| |
llvm-svn: 115198
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 114828
|
| |
|
|
| |
llvm-svn: 114788
|
| |
|
|
|
|
| |
global namespace at the same time.
llvm-svn: 114131
|
| |
|
|
|
|
| |
synchronize any method that might lazily initialize the pImpl.
llvm-svn: 114130
|
| |
|
|
|
|
|
|
|
| |
AttrListImpl's. It might
be possible to implement this very carefully to allow a lock-free implementation while still
avoiding illegal interleavings, but I haven't been able to figure one out.
llvm-svn: 114046
|
| |
|
|
|
|
|
|
|
| |
While it might intuitively seem
that all the setup of this class currently happens at static initialization time, this misses the fact
that some later events can cause mutation of the PassRegistrationListeners list, and thus cause race issues.
llvm-svn: 114036
|
| |
|
|
| |
llvm-svn: 113914
|
| |
|
|
|
|
|
|
|
|
|
| |
isn't a good level of abstraction for memdep. Instead, generalize
AliasAnalysis::alias and related interfaces with a new Location
class for describing a memory location. For now, this is the same
Pointer and Size as before, plus an additional field for a TBAA tag.
Also, introduce a fixed MD_tbaa metadata tag kind.
llvm-svn: 113858
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 113772
|
| |
|
|
| |
llvm-svn: 113767
|
| |
|
|
| |
llvm-svn: 113766
|
| |
|
|
|
|
|
| |
(The Ada bindings probably need it too, but all the
obvious places to change say "do not edit this file".)
llvm-svn: 113618
|
| |
|
|
|
|
| |
string.
llvm-svn: 113615
|
| |
|
|
| |
llvm-svn: 113603
|
| |
|
|
|
|
| |
"llvm.eh.catch.all.value". Only the name needs to be changed.
llvm-svn: 113600
|
| |
|
|
| |
llvm-svn: 113539
|
| |
|
|
|
|
| |
regular value references.
llvm-svn: 113538
|
| |
|
|
|
|
|
| |
modules are instantiated in them. If the context is deleted, all of its owned
modules are also deleted.
llvm-svn: 113374
|
| |
|
|
|
|
|
| |
switch to using a ManagedStatic for the global PassRegistry instead of a
ManagedCleanup, and fix a destruction ordering bug this exposed.
llvm-svn: 113283
|
| |
|
|
| |
llvm-svn: 113261
|
| |
|
|
|
|
|
|
| |
#include clutter
and exposing internal details.
llvm-svn: 113252
|
| |
|
|
|
|
|
|
| |
vabd intrinsic and add and/or zext operations. In the case of vaba, this
also avoids the need for a DAG combine pattern to combine vabd with add.
Update tests. Auto-upgrade the old intrinsics.
llvm-svn: 112941
|
| |
|
|
|
|
| |
not a scrunched version of it.
llvm-svn: 112904
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove #uses comments from functions: they we're padded out to column 50
and were potentially confusing for externally visible functions.
going further, remove the "<i8**> [#uses=3]" comments entirely. They
add a lot of noise, confuse people about what the IR is, and don't add
any particular value. When the types are long it makes it really really
hard to read IR.
If someone is interested in this sort of thing, the right way to do this
is to implement an AsmAnnotationWriter that produces the same output, and
add a flag to llvm-dis (only) to produce this output.
llvm-svn: 112899
|
| |
|
|
| |
llvm-svn: 112895
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and were potentially confusing for externally visible functions.
going further, remove the "<i8**> [#uses=3]" comments entirely. They
add a lot of noise, confuse people about what the IR is, and don't add
any particular value. When the types are long it makes it really really
hard to read IR.
If someone is interested in this sort of thing, the right way to do this
is to implement an AsmAnnotationWriter that produces the same output, and
add a flag to llvm-dis (only) to produce this output.
llvm-svn: 112894
|
| |
|
|
|
|
| |
and there seems to be no reason not to.
llvm-svn: 112812
|
| |
|
|
|
|
|
| |
add, and subtract operations with zero-extended or sign-extended vectors.
Update tests. Add auto-upgrade support for the old intrinsics.
llvm-svn: 112773
|
| |
|
|
|
|
| |
is-function-local flag in metadata uniquing bits.
llvm-svn: 112528
|
| |
|
|
|
|
| |
Auto-upgrade the old intrinsic and update tests.
llvm-svn: 112507
|
| |
|
|
|
|
|
| |
IR add/sub operations with one or both operands sign- or zero-extended.
Auto-upgrade the old intrinsics.
llvm-svn: 112416
|
| |
|
|
|
|
| |
being actively maintained, improved, or extended.
llvm-svn: 112356
|
| |
|
|
| |
llvm-svn: 112349
|
| |
|
|
|
|
|
| |
Update all the tests using those intrinsics and add support for
auto-upgrading bitcode files with the old versions of the intrinsics.
llvm-svn: 112271
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
passes over to the new registration API.
llvm-svn: 111815
|
| |
|
|
| |
llvm-svn: 111787
|