llvm/test/Analysis
Nick Lewycky b48a18903a Change CaptureTracking to pass a Use* instead of a Value* when a value is
captured. This allows the tracker to look at the specific use, which may be
especially interesting for function calls.

Use this to fix 'nocapture' deduction in FunctionAttrs. The existing one does
not iterate until a fixpoint and does not guarantee that it produces the same
result regardless of iteration order. The new implementation builds up a graph
of how arguments are passed from function to function, and uses a bottom-up walk
on the argument-SCCs to assign nocapture. This gets us nocapture more often, and
does so rather efficiently and independent of iteration order.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147327 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-28 23:24:21 +00:00
..
BasicAA Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
BlockFrequencyInfo Generalize the reading of probability metadata to work for both branches 2011-10-19 10:32:19 +00:00
BranchProbabilityInfo Make the unreachable probability much much heavier. The previous 2011-12-22 09:26:37 +00:00
CallGraph Test case for r132797. 2011-06-14 03:02:05 +00:00
Dominators
GlobalsModRef manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
LoopDependenceAnalysis
LoopInfo
PostDominators
Profiling
RegionInfo Make tests more useful. 2011-04-25 10:12:01 +00:00
ScalarEvolution SCEV fix. In general, Add/Mul expressions should not inherit NSW/NUW. 2011-11-29 02:16:38 +00:00
TypeBasedAliasAnalysis Change CaptureTracking to pass a Use* instead of a Value* when a value is 2011-12-28 23:24:21 +00:00