Owen Anderson
081c34b725
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which
...
must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize
the pass's dependencies.
Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the
CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
before parsing commandline arguments.
I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems
with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass
registration/creation, please send the testcase to me directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116820 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19 17:21:58 +00:00
Dan Gohman
520163c98b
Move ValueMapTest from ADT to VMCore so that ADT doesn't need
...
to link in "core".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114831 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-27 15:50:08 +00:00
Owen Anderson
90c579de5a
Reapply r110396, with fixes to appease the Linux buildbot gods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-06 18:33:48 +00:00
Owen Anderson
1f74590e9d
Revert r110396 to fix buildbots.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-06 00:23:35 +00:00
Owen Anderson
9ccaf53ada
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static
...
ID member as the sole unique type identifier. Clean up APIs related to this change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-05 23:42:04 +00:00
Oscar Fuentes
ee56c42168
Prefix next' iterator operation with
llvm::'.
...
Fixes potential ambiguity problems on VS 2010.
Patch by nobled!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110029 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 06:00:15 +00:00
Dan Gohman
17aa92c92a
Make NamedMDNode not be a subclass of Value, and simplify the interface
...
for creating and populating NamedMDNodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109061 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-21 23:38:33 +00:00
Chris Lattner
e332553eae
unit test to go along with r108610
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108611 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-17 06:14:03 +00:00
Chandler Carruth
48b17fa5be
Switch from EXPECT_EQ({true,false, ...) to the more canonical
...
EXPECT_{TRUE,FALSE}(...) macros. This also prevents suprious warnings about
bool-to-pointer conversion that occurs withit EXPECT_EQ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108248 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-13 17:28:05 +00:00
Chris Lattner
2decb22222
introduce a new CallGraphSCC class, and pass it around
...
to CallGraphSCCPass's instead of passing around a
std::vector<CallGraphNode*>. No functionality change,
but now we have a much tidier interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101558 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 22:42:17 +00:00
Gabor Greif
fe7bb05ad1
another one
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98850 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18 18:59:08 +00:00
Gabor Greif
f5bf7c52eb
feedback from Nick
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98761 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-17 19:27:31 +00:00
Gabor Greif
abf657f7e6
more BranchInst tests
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98634 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16 15:53:58 +00:00
Gabor Greif
d165e1a711
add BranchInst tests
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98632 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16 15:26:09 +00:00
Gabor Greif
642c066906
appease valgrind testers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98628 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16 12:32:03 +00:00
Gabor Greif
22385eb852
add single return tests
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98625 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16 11:24:53 +00:00
Gabor Greif
138acfe353
fix PR6589
...
adjusted unittest
I have added some doxygen to OptionalOperandTraits,
so hopefully there will be no confusion in the future.
Incidentally OptionalOperandTraits is not used any more (IIUC),
but the obvious client would be BranchInstr, and I plan
to rearrange it that way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98624 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16 10:59:48 +00:00
Gabor Greif
5a7069a80f
begin humbly with a repro of PR6589
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98623 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16 09:55:46 +00:00
Jeffrey Yasskin
241611570a
Remove the last memory leak from the VMCore unit tests.
...
Tested: valgrind --leak-check=full unittests/VMCore/Debug/VMCoreTests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98414 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13 02:15:08 +00:00
Jeffrey Yasskin
9d0b3dda1e
Remove a memory leak from MetadataTest.
...
Tested: valgrind --leak-check=full unittests/VMCore/Debug/VMCoreTests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98412 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13 01:39:20 +00:00
Jeffrey Yasskin
645a86f5fb
Remove a memory leak from VerifierTest.
...
Tested: valgrind --leak-check=full unittests/VMCore/Debug/VMCoreTests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98411 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13 01:34:56 +00:00
Jeffrey Yasskin
e5790a432a
Stop leaking MDStrings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97763 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04 23:24:19 +00:00
Nick Lewycky
6a7cb63f6f
Teach the verifier to check the condition on a branch and ensure that it has
...
'i1' type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96282 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-15 22:09:09 +00:00
Jeffrey Yasskin
9233b15d01
Fix some of the memcheck errors found in the JIT unittests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95856 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-11 06:41:30 +00:00
Jeffrey Yasskin
9815582fad
Roll r94484 (avoiding RTTI problems in tests) forward again in a way that isn't
...
broken by setting CXXFLAGS on the command line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94619 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-26 23:30:46 +00:00
Bob Wilson
8dd0ab074a
Revert 94484. Re-disable unittests that need RTTI.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94569 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-26 19:04:37 +00:00
Jeffrey Yasskin
f5fe3beb3a
Re-enable unit tests disabled in r94164 by telling GTest about the
...
lack of RTTI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94484 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-26 01:26:46 +00:00
Chris Lattner
e73a31f667
Stop building RTTI information for *most* llvm libraries. Notable
...
missing ones are libsupport, libsystem and libvmcore. libvmcore is
currently blocked on bugpoint, which uses EH. Once it stops using
EH, we can switch it off.
This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94164 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22 06:49:46 +00:00
Devang Patel
3e30c2a3c5
NamedMDNode is a collection MDNodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92761 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-05 20:41:31 +00:00
Chris Lattner
ab2f2f1ace
don't unittest mdnode printing, we have disassembler tests for this.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92328 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-31 02:12:13 +00:00
Chris Lattner
5d0cacdbb6
rename "elements" of metadata to "operands". "Elements" are
...
things that occur in types. "operands" are things that occur
in values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92322 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-31 01:22:29 +00:00
Jeffrey Yasskin
ad715f86c9
This fixes a memory leak in OpaqueType found by Google's internal heapchecker.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91611 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-17 19:55:06 +00:00
Chris Lattner
f3523592b2
Type.h doesn't need to #include LLVMContext.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85254 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 17:08:31 +00:00
Daniel Dunbar
7b26b581cf
Update unittests for MDNode uniquing disable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81142 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-07 04:19:02 +00:00
Devang Patel
5f4ac848d9
Now Bitcode reader bug is fixed. Reapply 80839.
...
Use CallbackVH, instead of WeakVH, to hold MDNode elements.
Use FoldingSetNode to unique MDNodes in a context.
Use CallbackVH hooks to update context's MDNodeSet appropriately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80868 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-03 01:39:20 +00:00
Devang Patel
8fc5576413
Revert 80839 for now. It causes test failures.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80841 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-02 21:49:26 +00:00
Devang Patel
d9489cbb0c
Use CallbackVH, instead of WeakVH, to hold MDNode elements.
...
Use FoldingSetNode to unique MDNodes in a context.
Use CallbackVH hooks to update context's MDNodeSet appropriately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80839 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-02 21:22:09 +00:00
Devang Patel
d2a5cfe00d
Disable uniqueness test for now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80741 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-02 00:16:33 +00:00
Chris Lattner
5e794d40b8
update unit test for previous change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80528 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31 00:28:46 +00:00
Chris Lattner
0c47a41207
upgrade for removed functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79822 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 04:47:35 +00:00
Owen Anderson
1d0be15f89
Push LLVMContexts through the IntegerType APIs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 21:58:54 +00:00
Owen Anderson
5d0bf1bc6f
Fix unit tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77734 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-31 21:38:10 +00:00
Owen Anderson
9e9a0d5fc2
Move more code back to 2.5 APIs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77635 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30 23:03:37 +00:00
Benjamin Kramer
20cc4b8cd9
fix a unitialized pointer in NamedMDNode (and reenable unittest)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77597 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30 15:35:55 +00:00
Daniel Dunbar
bb916fbadd
Disable the NamedMDNodeTest, it is failing everywhere.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77569 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30 02:08:27 +00:00
Devang Patel
fa7c4dcef2
Add NamedMDNode test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77550 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-30 00:03:41 +00:00
Benjamin Kramer
9138b1909a
Update unittest for LLVM API change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77496 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-29 19:18:13 +00:00
Benjamin Kramer
f83264b423
fix unittest
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77375 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-28 22:03:24 +00:00
Daniel Dunbar
92ccf70ad4
Finish migrating VMCore to StringRef/Twine based APIs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77051 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-25 06:02:13 +00:00
Owen Anderson
eed707b1e6
Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77011 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-24 23:12:02 +00:00