[llvm-commits] [PATCH] Add a ValueMap type, whose keys act like WeakVHs

jyasskin at gmail.com jyasskin at gmail.com
Sat Oct 17 00:42:54 PDT 2009


Reviewers: ,

Message:
This breaks check-lit with the following error:

********************
UNRESOLVED: LLVM-Unit::ADT/Debug/ADTTests/ValueMapTest/1.NoFollowRAUW
(103 of 4819)
******************** TEST
'LLVM-Unit::ADT/Debug/ADTTests/ValueMapTest/1.NoFollowRAUW' FAILED
********************
Exception during script execution:
Traceback (most recent call last):
   File "/Users/jyasskin/src/llvm/jit_del/src/utils/lit/lit.py", line
118, in runTest
     self.litConfig)
   File "/Users/jyasskin/src/llvm/jit_del/src/utils/lit/TestFormats.py",
line 58, in execute
     out, err, exitCode = TestRunner.executeCommand(cmd)
   File "/Users/jyasskin/src/llvm/jit_del/src/utils/lit/TestRunner.py",
line 23, in executeCommand
     env=env)
   File
"/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py",
line 595, in __init__
     errread, errwrite)
   File
"/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py",
line 1092, in _execute_child
     raise child_exception
OSError: [Errno 20] Not a directory



I guess I'll have to figure out how to fix it before submitting.

Description:
ValueMap<Value*, T> is safe to use even when keys get RAUWed and deleted
during its lifetime. By default the keys act like WeakVHs, but users can
pass a third template parameter to configure how updates work and
whether to do anything beyond updating the map on each action.

This type should make http://codereview.appspot.com/133043/diff/1/2
quite a bit simpler, but I haven't yet updated it so I could have missed
something.

Please review this at http://codereview.appspot.com/132055

Affected files:
   M docs/ProgrammersManual.html
   A include/llvm/ADT/ValueMap.h
   M include/llvm/Support/type_traits.h
   A unittests/ADT/ValueMapTest.cpp





More information about the llvm-commits mailing list