llvm-6502/test
Michael Gottesman e7ce2b3f75 Properly model precise lifetime when given an incomplete dataflow sequence.
The normal dataflow sequence in the ARC optimizer consists of the following
states:

    Retain -> CanRelease -> Use -> Release

The optimizer before this patch stored the uses that determine the lifetime of
the retainable object pointer when it bottom up hits a retain or when top down
it hits a release. This is correct for an imprecise lifetime scenario since what
we are trying to do is remove retains/releases while making sure that no
``CanRelease'' (which is usually a call) deallocates the given pointer before we
get to the ``Use'' (since that would cause a segfault).

If we are considering the precise lifetime scenario though, this is not
correct. In such a situation, we *DO* care about the previous sequence, but
additionally, we wish to track the uses resulting from the following incomplete
sequences:

  Retain -> CanRelease -> Release   (TopDown)
  Retain <- Use <- Release          (BottomUp)

*NOTE* This patch looks large but the most of it consists of updating
test cases. Additionally this fix exposed an additional bug. I removed
the test case that expressed said bug and will recommit it with the fix
in a little bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178921 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-05 22:54:28 +00:00
..
Analysis X86 cost model: Differentiate cost for vector shifts of constants 2013-04-04 23:26:24 +00:00
Archive
Assembler Correct invalid debug info metadata 2013-03-12 19:04:24 +00:00
Bindings/Ocaml Use the attribute group reference instead of the attribute directly. 2013-02-20 07:48:23 +00:00
Bitcode Unify clang/llvm attributes for asan/tsan/msan (LLVM part) 2013-02-26 06:58:09 +00:00
BugPoint
CodeGen Make the test/CodeGen/X86/win32_sret.ll reliable on any CPU by explicitly specifying the -mcpu 2013-04-05 17:05:56 +00:00
DebugInfo llvm-symbolizer: correctly parse filenames given in quotes 2013-04-05 09:22:24 +00:00
ExecutionEngine [mips] XFAIL test-interp-vec-loadstore.ll in an attempt to turn builder 2013-04-05 20:54:46 +00:00
Feature Modify the LLVM assembly output so that it uses references to represent function attributes. 2013-02-20 07:21:42 +00:00
FileCheck Canonicalize line endings to Linux style also when the --strict-whitespace flag is in use. This flag is supposed to affect horizontal whitespaces only. 2013-02-06 20:40:38 +00:00
Instrumentation [tsan] make sure memset/memcpy/memmove are not inlined in tsan mode 2013-03-28 11:21:13 +00:00
Integer
JitListener Add support for source and line information to IntelJITEventListener for object emitted by MCJIT. 2013-01-28 19:52:37 +00:00
Linker Linker: correctly link in dbg.declare 2013-01-31 21:19:18 +00:00
MC [ms-inline asm] Add support for numeric displacement expressions in bracketed 2013-04-05 16:28:55 +00:00
Object Add a test for obj2yaml in preparation for refactoring it. 2013-04-05 02:02:05 +00:00
Other Check isDiscardableIfUnused, rather than hasLocalLinkage, when bumping 2013-03-04 22:40:44 +00:00
Scripts Set the +x bit on two batch scripts 2013-01-25 22:12:50 +00:00
TableGen Allow TableGen DAG arguments to be just a name. 2013-03-24 19:36:51 +00:00
tools Don't fetch pointers from a InMemoryStruct. 2013-04-05 15:15:22 +00:00
Transforms Properly model precise lifetime when given an incomplete dataflow sequence. 2013-04-05 22:54:28 +00:00
Unit Propagate path to ASan/MSan symbolizer into test environment to produce useful reports on errors. 2013-04-04 07:41:00 +00:00
Verifier [IR] Add 'Append' and 'AppendUnique' module flag behaviors. 2013-01-16 21:38:56 +00:00
YAMLParser
CMakeLists.txt Add obj2yaml to test dependencies 2013-04-05 07:26:37 +00:00
lit.cfg Propagate path to ASan/MSan symbolizer into test environment to produce useful reports on errors. 2013-04-04 07:41:00 +00:00
lit.site.cfg.in Add asan/msan to the list of available features in LIT test runner 2013-03-26 08:27:39 +00:00
Makefile Reverted r176374. In some cases the lit.site.cfg file does not get generated in tools/clang/tools/extra. 2013-03-22 18:54:14 +00:00
Makefile.tests
TestRunner.sh