llvm-6502/lib
Lang Hames 944520f38c Add functions 'hasPredecessor' and 'hasPredecessorHelper' to SDNode. The
hasPredecessorHelper function allows predecessors to be cached to speed up
repeated invocations. This fixes PR10186.

X.isPredecessorOf(Y) now just calls Y.hasPredecessor(X)

Y.hasPredecessor(X) calls Y.hasPredecessorHelper(X, Visited, Worklist) with
empty Visited and Worklist sets (i.e. no caching over invocations).

Y.hasPredecessorHelper(X, Visited, Worklist) caches search state in Visited
and Worklist to speed up repeated calls. The Visited set is searched for X
before going to the worklist to further search the DAG if necessary.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134592 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-07 04:31:51 +00:00
..
Analysis Preserve debug loc. 2011-07-05 21:48:22 +00:00
Archive Revert PathV2 changes, as sys::fs::unique_file is not finished yet. 2011-03-01 19:50:55 +00:00
AsmParser Replace the existing forms of ConstantArray::get() with a single form 2011-06-22 09:24:39 +00:00
Bitcode Replace the existing forms of ConstantArray::get() with a single form 2011-06-22 09:24:39 +00:00
CodeGen Add functions 'hasPredecessor' and 'hasPredecessorHelper' to SDNode. The 2011-07-07 04:31:51 +00:00
CompilerDriver Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
ExecutionEngine Fix the ridiculous SubtargetFeatures API where it implicitly expects CPU name to 2011-06-30 01:53:36 +00:00
Linker Set the unnamed_addr only when we're creating a new GV in the dest module. 2011-03-29 23:31:06 +00:00
MC Add a target hook to encode the compact unwind information. 2011-07-07 00:54:13 +00:00
Object Use memcmp. 2011-07-05 20:28:00 +00:00
Support Fix missing triple support for RTEMS target. 2011-07-06 20:56:26 +00:00
Target Change some ARM subtarget features to be single bit yes/no in order to sink them down to MC layer. Also fix tests. 2011-07-07 03:55:05 +00:00
Transforms Use DBG_VALUE location while inserting DBG_VALUE during alloca promotion. 2011-07-07 00:05:58 +00:00
VMCore Introduce "expect" intrinsic instructions. 2011-07-06 18:22:43 +00:00
CMakeLists.txt Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00