Chris Lattner
59c3569b14
Catch some more cases of broken code. The loop extractor seems to be creating
...
situations where there is a branch that goes to a block in another function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12379 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 03:23:54 +00:00
Chris Lattner
2eff85941f
verifyFunction has been broken for a long time now. Fix it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12377 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 03:16:15 +00:00
Chris Lattner
317201d773
Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* to
...
Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12356 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13 00:24:00 +00:00
Chris Lattner
230c1a7222
Add support for checking the select instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12325 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:54:31 +00:00
Misha Brukman
ab5c6003d2
Doxygenify comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12071 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-02 00:22:19 +00:00
Chris Lattner
08092533b1
Fix Regression/Assembler/2004-02-27-SelfUseAssertError.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11913 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-27 17:28:25 +00:00
Chris Lattner
2a11653fa9
Make the verifier a little more explicit about this problem.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11811 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 22:06:07 +00:00
Chris Lattner
cf89908381
Add llvm.memset/frameaddress/returnaddress intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11431 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14 02:47:17 +00:00
Chris Lattner
2751e76a70
Add support for the llvm.memmove intrinsic
...
Patch graciously contributed by Reid Spencer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11355 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-12 18:11:20 +00:00
Chris Lattner
5fe51cc2c4
Implement the llvm.memcpy intrinsic
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11349 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-12 17:01:09 +00:00
Chris Lattner
c9b0702a89
Fix check. PHI nodes must be handled specially, of course.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10842 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-14 05:42:52 +00:00
Chris Lattner
30768ac3c2
Tighten up verifier checks. The result of an invoke instruction only
...
dominates the normal destination, not the exceptional dest (ie, the result
of a call is undefined on an exception)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10841 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-14 04:25:59 +00:00
Chris Lattner
90ab32f9f0
Add support for new intrinsic
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10701 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-06 05:33:02 +00:00
Chris Lattner
77b1330ece
Add VMCore and code generator support for debugging intrinsics. By default
...
code generators completely ignore them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10691 91177308-0d34-0410-b5e6-96231b3b80d8
2004-01-05 05:36:30 +00:00
Chris Lattner
c282f5a380
Check return types of functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10146 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-21 22:32:23 +00:00
Chris Lattner
afd0b4b24a
Fix problem Reid was having with external globals and nonexternal linkage
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10133 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-21 20:33:27 +00:00
Chris Lattner
31f8499e83
Finegrainify namespacification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10131 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-21 20:23:48 +00:00
Chris Lattner
15e8752e8f
Fix some problems with assertions printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10129 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-21 17:35:51 +00:00
Chris Lattner
7334f2e3da
improve error message
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10128 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-21 17:06:29 +00:00
Brian Gaeke
9cebe2d83b
When failing a Verifier assertion, use WriteAsOperand to print out the
...
offending types and/or values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10041 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16 23:07:42 +00:00
Chris Lattner
5158aaf20e
Expose the verifier to opt
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9984 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13 19:47:29 +00:00
Chris Lattner
579de71d08
Detect problems with PHI node operands!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9916 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-12 07:13:37 +00:00
Brian Gaeke
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
John Criswell
b576c94c15
Added LLVM project notice to the top of every C++ source file.
...
Header files will be on the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 19:43:21 +00:00
Chris Lattner
4d45bd007d
Add support for the new varargs intrinsics and instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9226 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-18 05:57:43 +00:00
Misha Brukman
6b63452c3a
Fix spelling/grammar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9023 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 17:54:14 +00:00
Chris Lattner
bede31ff3a
Be more careful handling PHI nodes, which might be of potentially high degree.
...
This reduces the time to verify a function from eon with a large number of
large PHI nodes from 22996s (6.38 hours) to 10.5499s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8866 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-05 17:44:18 +00:00
Chris Lattner
02a3be020a
Rename Function::getEntryNode -> getEntryBlock
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8625 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-20 14:39:18 +00:00
Brian Gaeke
053134a1ee
Make createVerifierPass return a FunctionPass *.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8449 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-10 19:37:04 +00:00
Chris Lattner
ee5457cbe8
Eliminate support for the llvm.unwind intrinisic, using the Unwind instruction instead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8411 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-08 19:44:26 +00:00
Chris Lattner
bfa964699f
As it turns out, things will be simpler than I first expected. We no longer
...
need any exception handling intrinsics beyond llvm.unwind. (yaay)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8145 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-25 22:35:01 +00:00
Chris Lattner
101d40060c
rethrow is really the language independent primitive here. "throw" can be written
...
in terms of it and llvm.exc.setcurrent.
Rework the intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8110 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 12:24:08 +00:00
Chris Lattner
9dd7d1c8eb
Initial support for recognizing LLVM exception handling intrinsics
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8102 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 05:30:29 +00:00
Chris Lattner
8169cf810c
Add intrinsics for the llvm.sig(set|long)jmp functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7949 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 15:41:24 +00:00
Misha Brukman
5560c9d49c
Spell `necessary' correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 14:43:39 +00:00
Chris Lattner
c232818432
Add a bunch of new Alpha Intrinsics for Rahul Joshi
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7646 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 20:08:25 +00:00
Chris Lattner
2418b117ba
Add support for Alpha intrinsics, contributed by Rahul Joshi
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7373 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 21:20:57 +00:00
Chris Lattner
9783301b9d
Fix (bogus) possibly uninitialized warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6634 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-05 21:01:26 +00:00
Chris Lattner
c436b37262
Add support for setjmp/longjmp primitives
...
Patch checked in for Bill Wendling :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6241 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-17 22:26:33 +00:00
Chris Lattner
27aa094f57
llvm.va_start only takes on argument now
...
Verify that va_start doesn't occur in functions with no varargs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6038 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 15:55:31 +00:00
Chris Lattner
dd035d188a
Add more support for intrinsic functions and for varargs stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6035 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 03:47:33 +00:00
Chris Lattner
8f77daef04
Add support for the new va_arg instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6029 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 02:44:12 +00:00
Chris Lattner
14e8e29105
Remove arbitrary limitation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5818 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-19 00:50:37 +00:00
Chris Lattner
5399741622
Add code to verify correctly linkages
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5788 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:42:40 +00:00
Chris Lattner
6d57086129
Fix bug Regression/Verifier/2002-11-05-GetelementptrPointers.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5273 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:19:44 +00:00
Chris Lattner
627079d42a
User defined operators are not supposed to live beyond the lifetime of the
...
pass. Detect and flag them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4801 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-21 16:54:22 +00:00
Chris Lattner
6e6026b465
- Eliminated the deferred symbol table stuff in Module & Function, it really
...
wasn't an optimization and it was causing lots of bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-20 18:36:02 +00:00
Chris Lattner
69da5cf261
- Change Function's so that their argument list is populated when they are
...
constructed. Before, external functions would have an empty argument list,
now a Function ALWAYS has a populated argument list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4149 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 20:57:00 +00:00
Chris Lattner
61b91bc156
Check that we don't have external varaibles with internal linkage
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4051 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 22:47:32 +00:00
Chris Lattner
f6ffcb6b71
PHI nodes are not allowed to exist with zero incoming values, check that
...
there aren't any like this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4044 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 21:00:31 +00:00