Chris Lattner
9b493028df
rename "elements" of metadata to "operands". "Elements" are
...
things that occur in types. "operands" are things that occur
in values.
llvm-svn: 92322
2009-12-31 01:22:29 +00:00
Chris Lattner
8cb6c3476d
Optimize MDNode to coallocate the operand list immediately
...
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
2009-12-31 01:05:46 +00:00
Chris Lattner
8e805be369
remove a bunch of unneeded functions.
...
llvm-svn: 92263
2009-12-29 09:32:19 +00:00
Chris Lattner
047fd2fd97
major cleanups, much of this file was incorrectly indented.
...
llvm-svn: 92262
2009-12-29 09:22:47 +00:00
Chris Lattner
573f294c00
one pass of cleanup over DebugInfo.h. Much more is still needed.
...
llvm-svn: 92261
2009-12-29 09:15:46 +00:00
Chris Lattner
a0566979b7
Final step in the metadata API restructuring: move the
...
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
2009-12-29 09:01:33 +00:00
Chris Lattner
2f2aa2b067
This is a major cleanup of the instruction metadata interfaces that
...
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
2009-12-28 23:41:32 +00:00
Chris Lattner
7093946ab1
rename getMDKind -> getMDKindID, make it autoinsert if an MD Kind
...
doesn't exist already, eliminate registerMDKind. Tidy up a bunch
of random stuff.
llvm-svn: 92225
2009-12-28 20:45:51 +00:00
David Greene
1495b5f887
Change dbgs() back to errs() as Chris requested.
...
llvm-svn: 92086
2009-12-23 23:29:28 +00:00
David Greene
f790593e6e
Change dbgs() back to errs() as Chris requested.
...
llvm-svn: 92085
2009-12-23 23:27:15 +00:00
David Greene
91b6bcefc6
Change dbgs() back to errs() for assert messages as Chris requested.
...
llvm-svn: 92081
2009-12-23 23:14:41 +00:00
David Greene
3d64631fef
Change dbgs() back to errs() for assert messages as Chris requested.
...
llvm-svn: 92080
2009-12-23 23:09:39 +00:00
David Greene
3fe18e72b3
Change dbgs() back to errs() for assert messages as Chris requested.
...
llvm-svn: 92077
2009-12-23 23:00:50 +00:00
David Greene
d79102d6f2
Change dbgs() back to errs() for assert messages as Chris requested.
...
llvm-svn: 92076
2009-12-23 22:59:29 +00:00
David Greene
2330f78075
Remove dump routine and the associated Debug.h from a header. Patch up
...
other files to compensate.
llvm-svn: 92075
2009-12-23 22:58:38 +00:00
David Greene
0295ecfea0
Change dbgs() back to errs() as Chris requested.
...
llvm-svn: 92073
2009-12-23 22:49:57 +00:00
David Greene
452fc61a26
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92071
2009-12-23 22:35:10 +00:00
David Greene
faa00b7a7f
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92068
2009-12-23 22:28:01 +00:00
David Greene
df1c497c2f
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92067
2009-12-23 22:18:14 +00:00
David Greene
2e23db1156
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92066
2009-12-23 22:10:20 +00:00
David Greene
8135870f23
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92063
2009-12-23 21:58:29 +00:00
David Greene
cf1884c246
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92060
2009-12-23 21:48:18 +00:00
David Greene
1e4ea201d5
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92050
2009-12-23 21:27:29 +00:00
David Greene
047ac4aa79
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92048
2009-12-23 21:16:54 +00:00
David Greene
04e7ae6a57
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92046
2009-12-23 21:06:14 +00:00
David Greene
9507879bca
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92042
2009-12-23 20:52:41 +00:00
David Greene
37e9809294
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92040
2009-12-23 20:43:58 +00:00
David Greene
a7b92ee147
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92039
2009-12-23 20:34:27 +00:00
David Greene
069857ea31
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92037
2009-12-23 20:20:46 +00:00
David Greene
f8ed991e5a
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92035
2009-12-23 20:10:59 +00:00
David Greene
ba44b3ed59
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92034
2009-12-23 20:03:58 +00:00
David Greene
23e8c74d69
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92033
2009-12-23 19:51:44 +00:00
David Greene
83d478145d
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92032
2009-12-23 19:45:49 +00:00
David Greene
2ec90035e8
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92029
2009-12-23 19:27:59 +00:00
David Greene
2281998095
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92026
2009-12-23 19:21:19 +00:00
David Greene
a4375f1ffd
Convert debug messages to use dbgs(). Generally this means
...
s/errs/dbgs/g except for certain special cases.
llvm-svn: 92024
2009-12-23 19:15:13 +00:00
Chris Lattner
9b7d99eb76
The phi translated pointer can be computed when returning a partially cached result
...
instead of stored. This reduces memdep memory usage, and also eliminates a bunch of
weakvh's. This speeds up gvn on gcc.c-torture/20001226-1.c from 23.9s to 8.45s (2.8x)
on a different machine than earlier.
llvm-svn: 91885
2009-12-22 04:25:02 +00:00
Chris Lattner
2ee6787c1b
avoid calling extractMallocCall when it's obvious we don't have
...
a call. This speeds up memdep ~1.5%
llvm-svn: 91869
2009-12-22 01:00:32 +00:00
Chris Lattner
25bf6f8946
fix an overly conservative caching issue that caused memdep to
...
cache a pointer as being unavailable due to phi trans in the
wrong place. This would cause later queries to fail even when
they didn't involve phi trans.
llvm-svn: 91787
2009-12-19 21:29:22 +00:00
Dan Gohman
876f45d7d2
Fix a spello in a comment that Nick spotted.
...
llvm-svn: 91742
2009-12-19 01:46:34 +00:00
Dan Gohman
f902c8c1b5
Eliminate unnecessary LLVMContexts.
...
llvm-svn: 91729
2009-12-18 23:42:08 +00:00
Dan Gohman
7db230f5c9
Make this comment more precise.
...
llvm-svn: 91722
2009-12-18 23:18:03 +00:00
Dan Gohman
51f13056bd
Revert this use of NUW/NSW also. Overflow-undefined multiplication isn't
...
associative either.
llvm-svn: 91701
2009-12-18 18:45:31 +00:00
Dan Gohman
7a2dab8826
Revert this use of NSW; this one isn't actually safe. NSW addition
...
is not reassociative.
llvm-svn: 91667
2009-12-18 03:57:04 +00:00
Dan Gohman
916fec41fb
Delete an unused variable.
...
llvm-svn: 91659
2009-12-18 02:14:37 +00:00
Dan Gohman
b256ccfbe5
Preserve NSW information in more places.
...
llvm-svn: 91656
2009-12-18 02:09:29 +00:00
Dan Gohman
18fa5686f6
Add Loop contains utility methods for testing whether a loop
...
contains another loop, or an instruction. The loop form is
substantially more efficient on large loops than the typical
code it replaces.
llvm-svn: 91654
2009-12-18 01:24:09 +00:00
Dan Gohman
cb0efecd33
Whitespace cleanups.
...
llvm-svn: 91651
2009-12-18 01:14:11 +00:00
Dan Gohman
92c3696524
Reapply LoopStrengthReduce and IVUsers cleanups, excluding the part
...
of 91296 that caused trouble -- the Processed list needs to be
preserved for the livetime of the pass, as AddUsersIfInteresting
is called from other passes.
llvm-svn: 91641
2009-12-18 00:06:20 +00:00
Evan Cheng
090ac0865a
Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently introduced a non-deterministic behavior in the optimizer somewhere.
...
llvm-svn: 91598
2009-12-17 09:39:49 +00:00