2375 Commits

Author SHA1 Message Date
Andreas Bolka
7a5c8db6b5 Fix copy-pasto.
llvm-svn: 78426
2009-08-07 22:55:26 +00:00
Andreas Bolka
2f7562c83e SIV/MIV classification for LDA.
LoopDependenceAnalysis::getLoops is currently O(N*M) for a loop-nest of
depth N and a compound SCEV of M atomic SCEVs. As both N and M will
typically be very small, this should not be a problem. If it turns out
to be one, rewriting getLoops as SCEVVisitor will reduce complexity to
O(M).

llvm-svn: 78394
2009-08-07 18:23:41 +00:00
Daniel Dunbar
6310426a55 Remove unused function.
llvm-svn: 78366
2009-08-07 03:52:07 +00:00
Dan Gohman
a6d0afcb74 Fix a bunch of namespace pollution.
llvm-svn: 78363
2009-08-07 01:32:21 +00:00
Devang Patel
c0422b7b5a Remove dead code.
llvm-svn: 78335
2009-08-06 20:57:44 +00:00
Andreas Bolka
3c7b95d9aa Simplify the ZIV tester to the max.
As suggested by Nick Lewycky.

llvm-svn: 78277
2009-08-06 03:10:33 +00:00
Owen Anderson
03cb69fbd1 Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs.
llvm-svn: 78258
2009-08-05 23:16:16 +00:00
Daniel Dunbar
4f6f6d080f Make block and function count available via ProfileInfo.
- Part of optimal static profiling patch sequence by Andreas Neustifter.

llvm-svn: 78247
2009-08-05 21:51:16 +00:00
Daniel Dunbar
b6fec38426 Remove unnecessary ProfileInfoLoader methods.
- Part of optimal static profiling patch sequence by Andreas Neustifter.

llvm-svn: 78199
2009-08-05 15:55:56 +00:00
Andreas Bolka
13b860992a ZIV tester for LDA.
llvm-svn: 78157
2009-08-05 04:26:05 +00:00
Andreas Bolka
d3a44b52c6 Restrict LDA to GEPs with the same pointer offset.
We can not simply apply ZIV testing to the pointer offsets, as this
would incorrectly return independence for e.g. (GEP x,0,i; GEP x,1,-i).

llvm-svn: 78155
2009-08-05 04:13:41 +00:00
Andreas Bolka
c833d017c7 Restrict LDA to affine subscripts.
llvm-svn: 77932
2009-08-03 01:03:48 +00:00
Dan Gohman
e8c035df6f LibCallAliasAnalysis doesn't use TargetData.
llvm-svn: 77729
2009-07-31 20:56:29 +00:00
Dan Gohman
1ee6057b21 Make TargetData optional in MemoryDependenceAnalysis.
llvm-svn: 77727
2009-07-31 20:53:12 +00:00
Dan Gohman
f3ee7eaac3 Remove an unnecessary header.
llvm-svn: 77725
2009-07-31 20:47:45 +00:00
Owen Anderson
5a1acd9912 Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.

llvm-svn: 77721
2009-07-31 20:28:14 +00:00
Dan Gohman
dc2b1b0a1c Fix some problems with ASTCallbackVH in its use as a DenseMap key.
llvm-svn: 77696
2009-07-31 18:21:48 +00:00
Devang Patel
9d7de2a155 Process DbgDeclareInst.
llvm-svn: 77694
2009-07-31 18:18:52 +00:00
Owen Anderson
23a204d91b Move getTrue() and getFalse() to 2.5-like APIs.
llvm-svn: 77685
2009-07-31 17:39:07 +00:00
Owen Anderson
b292b8ce70 Move more code back to 2.5 APIs.
llvm-svn: 77635
2009-07-30 23:03:37 +00:00
Dan Gohman
f4362da1b7 Use CallbackVH in AliasSetTracker to avoid getting stuck with
dangling Value*s.

llvm-svn: 77623
2009-07-30 20:21:41 +00:00
Devang Patel
3b4e827f2b s/DebugInfoEnumerator/DebugInfoFinder/g
llvm-svn: 77615
2009-07-30 18:25:15 +00:00
Devang Patel
5262314b8d walk DbgRegionStartInst and DbgRegionEndInst
llvm-svn: 77604
2009-07-30 17:30:23 +00:00
Andreas Bolka
31d9fa2ad1 Equal SCEVs of a subscript give rise to dependence.
llvm-svn: 77570
2009-07-30 02:26:01 +00:00
Douglas Gregor
47d02732e0 Eliminate a few unused-variable warnings
llvm-svn: 77519
2009-07-29 22:41:10 +00:00
Owen Anderson
4056ca9568 Move types back to the 2.5 API.
llvm-svn: 77516
2009-07-29 22:17:13 +00:00
Owen Anderson
487375e9a2 Move ConstantExpr to 2.5 API.
llvm-svn: 77494
2009-07-29 18:55:55 +00:00
Andreas Bolka
43797d15fa Skeleton for pairwise subscript testing.
llvm-svn: 77437
2009-07-29 05:35:53 +00:00
Owen Anderson
4aa3295a65 Return ConstantVector to 2.5 API.
llvm-svn: 77366
2009-07-28 21:19:26 +00:00
Devang Patel
1da7555a28 Add DebugInfoEnumerator to collect debug info.
llvm-svn: 77360
2009-07-28 19:55:13 +00:00
Andreas Bolka
f1bd1edc11 Simplify LDA-internal interface.
llvm-svn: 77359
2009-07-28 19:50:13 +00:00
Andreas Bolka
44623bb9b2 Add LDA statistics.
llvm-svn: 77358
2009-07-28 19:49:49 +00:00
Andreas Bolka
0e263ce8af Minor factoring, naming and formatting cleanups.
llvm-svn: 77357
2009-07-28 19:49:25 +00:00
Owen Anderson
c2c7932c64 Change ConstantArray to 2.5 API.
llvm-svn: 77347
2009-07-28 18:32:17 +00:00
Dan Gohman
31a9b9880b Teach instcombine to respect and preserve inbounds. Add inbounds
to a few tests where it is required for the expected transformation.

llvm-svn: 77290
2009-07-28 01:40:03 +00:00
Owen Anderson
45308b578b Move ConstantStruct back to 2.5 API.
llvm-svn: 77266
2009-07-27 22:29:26 +00:00
Owen Anderson
69c464dec4 Move ConstantFP construction back to the 2.5-ish API.
llvm-svn: 77247
2009-07-27 20:59:43 +00:00
Dan Gohman
169ef138e8 Fix wording in comments.
llvm-svn: 77193
2009-07-27 16:09:48 +00:00
Daniel Dunbar
6115b39ffd Remove Value::getName{Start,End}, the last of the old Name APIs.
llvm-svn: 77152
2009-07-26 09:48:23 +00:00
Daniel Dunbar
ca414c7cae Remove Value::getNameLen
llvm-svn: 77148
2009-07-26 08:34:35 +00:00
Dan Gohman
ef2ae2c8ee SCEV objects are no longer reference-counted.
llvm-svn: 77080
2009-07-25 16:18:07 +00:00
Dan Gohman
534d66a426 When attempting to sign-extend an addrec by interpreting
the step value as unsigned, the start value and the addrec
itself still need to be treated as signed.

llvm-svn: 77078
2009-07-25 16:03:30 +00:00
Andreas Bolka
8377af0296 Convert DOUT to DEBUG.
llvm-svn: 77065
2009-07-25 12:19:58 +00:00
Dan Gohman
62ef6a7f1c Teach ScalarEvolution to make use of no-overflow flags when
analyzing add recurrences.

llvm-svn: 77034
2009-07-25 01:22:26 +00:00
Dan Gohman
0b89dff37d Instead of eagerly creating new SCEVs to replace all SCEVs that are
affected after a PHI node has been analyzed, just remove affected
SCEVs from the Scalars map, so that they'll be (lazily) recreated as
needed. This avoids creating SCEV objects that aren't actually needed.

Also, rewrite the associated def-use walking code to be non-recursive
and to continue traversing past Instructions that don't have an
entry in the Scalars map.

llvm-svn: 77032
2009-07-25 01:13:03 +00:00
Dan Gohman
43d19d61d4 Make AliasAnalysis and related classes use
getAnalysisIfAvailable<TargetData>().

llvm-svn: 77028
2009-07-25 00:48:42 +00:00
Daniel Dunbar
0dd5e1ed39 More migration to raw_ostream, the water has dried up around the iostream hole.
- Some clients which used DOUT have moved to DEBUG. We are deprecating the
   "magic" DOUT behavior which avoided calling printing functions when the
   statement was disabled. In addition to being unnecessary magic, it had the
   downside of leaving code in -Asserts builds, and of hiding potentially
   unnecessary computations.

llvm-svn: 77019
2009-07-25 00:23:56 +00:00
Andreas Bolka
c76c723e25 Forward-declare raw_ostream.
llvm-svn: 77014
2009-07-24 23:19:28 +00:00
Owen Anderson
edb4a70325 Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come.
llvm-svn: 77011
2009-07-24 23:12:02 +00:00
Daniel Dunbar
8ef0735dd5 Move to raw_ostream.
llvm-svn: 76963
2009-07-24 09:53:24 +00:00