Commit Graph

22 Commits

Author SHA1 Message Date
Andreas Bolka 31d9fa2ad1 Equal SCEVs of a subscript give rise to dependence.
llvm-svn: 77570
2009-07-30 02:26:01 +00:00
Andreas Bolka 43797d15fa Skeleton for pairwise subscript testing.
llvm-svn: 77437
2009-07-29 05:35:53 +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
Andreas Bolka 8377af0296 Convert DOUT to DEBUG.
llvm-svn: 77065
2009-07-25 12:19:58 +00:00
Dan Gohman 43d19d61d4 Make AliasAnalysis and related classes use
getAnalysisIfAvailable<TargetData>().

llvm-svn: 77028
2009-07-25 00:48:42 +00:00
Andreas Bolka c76c723e25 Forward-declare raw_ostream.
llvm-svn: 77014
2009-07-24 23:19:28 +00:00
Andreas Bolka c8cd3f6959 Cache dependence computation using FoldingSet.
This introduces an LDA-internal DependencePair class. The intention is,
that this is a place where dependence testers can store various results
such as SCEVs describing conflicting iterations, breaking conditions,
distance/direction vectors, etc.

llvm-svn: 76877
2009-07-23 14:32:46 +00:00
Andreas Bolka 897e68c660 Minor cosmetics: indentation, formatting, naming.
llvm-svn: 76839
2009-07-23 01:57:06 +00:00
Torok Edwin fbcc663cbf llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").

llvm-svn: 75640
2009-07-14 16:55:14 +00:00
Torok Edwin 56d0659726 assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.

llvm-svn: 75379
2009-07-11 20:10:48 +00:00
Andreas Bolka 1cd3fd6336 Minor improvement to the LDA debug output.
llvm-svn: 74754
2009-07-03 01:42:52 +00:00
Andreas Bolka 394b4156cf Use AA to check objects before LDA.
llvm-svn: 74647
2009-07-01 21:45:23 +00:00
Andreas Bolka 9541801105 Array accesses are independent if the underlying arrays differ.
llvm-svn: 74499
2009-06-30 02:12:10 +00:00
Andreas Bolka 6037bc9e60 Relax LDA memory instruction checks.
llvm-svn: 74439
2009-06-29 18:51:11 +00:00
Andreas Bolka 3a09c8bd5e Missed one.
llvm-svn: 74416
2009-06-29 00:53:49 +00:00
Andreas Bolka c5558a83f4 Fix case in LDA util function names.
llvm-svn: 74415
2009-06-29 00:50:26 +00:00
Andreas Bolka 9d09e20142 Print pairwise dependence results, add testcases.
llvm-svn: 74402
2009-06-28 00:35:22 +00:00
Andreas Bolka 9fee7f86ad Minimal LDA interface, maximally conservative tester.
llvm-svn: 74401
2009-06-28 00:21:21 +00:00
Andreas Bolka 8976d3bc7e LDA analysis output scaffolding.
llvm-svn: 74400
2009-06-28 00:16:08 +00:00
Andreas Bolka 8c7e299270 Scaffolding for LDA pass.
llvm-svn: 74120
2009-06-24 21:29:13 +00:00