102 Commits

Author SHA1 Message Date
Reid Spencer
693dcc2f89 Fix for bug 348.
The SymbolTable changes caused this one too.

llvm-svn: 13859
2004-05-27 21:58:13 +00:00
Reid Spencer
e6cf613d2a Convert to SymbolTable's new iteration interface. Remove tabs.
llvm-svn: 13753
2004-05-25 08:53:29 +00:00
Chris Lattner
5f65590915 Recognize and verify the new GC intrinsics.
llvm-svn: 13687
2004-05-23 21:16:51 +00:00
Chris Lattner
30cc4edfc3 Fix for PR340: Verifier misses malformed switch instruction
llvm-svn: 13618
2004-05-21 16:47:21 +00:00
Brian Gaeke
5d639ac9f3 Fold two assertions with backwards error messages into one with a
correct error message.

llvm-svn: 13590
2004-05-17 21:15:18 +00:00
John Criswell
b51e979c2c Fixed inconsistent indentation.
llvm-svn: 13363
2004-05-04 21:46:05 +00:00
Chris Lattner
644ad23b21 Make sure to check for a very bad class of errors: an instruction
that does not dominate all of its users, but is in the same basic block as
its users.  This class of error is what caused the mysterious CBE only
failures last night.

llvm-svn: 12979
2004-04-16 05:51:47 +00:00
John Criswell
bed6463449 Remove the return type check for llvm.readio. This check is done for all
functions and is not needed here.
Simplify the pointer type check per Chris's suggestions.

llvm-svn: 12945
2004-04-14 15:06:48 +00:00
John Criswell
e00ecd7e84 Added code to verify that llvm.readio's pointer argument returns something
that matches its return type.

llvm-svn: 12944
2004-04-14 14:49:36 +00:00
John Criswell
11f7f60028 Finish adding the llvm.readio and llvm.writeio intrinsics.
Sorry these didn't get in yesterday.

llvm-svn: 12942
2004-04-14 13:46:52 +00:00
John Criswell
c9c191c41b Reversed the order of the llvm.writeport() operands so that the value
is listed first and the address is listed second.

llvm-svn: 12795
2004-04-09 19:09:14 +00:00
John Criswell
07c581695d Added the llvm.readport and llvm.writeport intrinsics.
The Verifier ensures that their parameters are of integral types and have
the correct sign, but it does not enforce any size restrictions because
such restrictions are platform dependent.

llvm-svn: 12781
2004-04-08 20:27:38 +00:00
Chris Lattner
0d20ff2e86 Make the verifier API more complete and useful.
Patch contributed by Reid Spencer

llvm-svn: 12609
2004-04-02 15:45:08 +00:00
Chris Lattner
27cbe8d690 Add another check
llvm-svn: 12525
2004-03-29 00:29:36 +00:00
Chris Lattner
f943b487c5 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.

llvm-svn: 12379
2004-03-14 03:23:54 +00:00
Chris Lattner
17042ee9ad verifyFunction has been broken for a long time now. Fix it.
llvm-svn: 12377
2004-03-14 03:16:15 +00:00
Chris Lattner
f7bc6fd913 Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* to
Intrinsic::va*.  This avoid conflicting with macros in the stdlib.h file.

llvm-svn: 12356
2004-03-13 00:24:00 +00:00
Chris Lattner
b53ea9f895 Add support for checking the select instruction
llvm-svn: 12325
2004-03-12 05:54:31 +00:00
Misha Brukman
754f11778f Doxygenify comments.
llvm-svn: 12071
2004-03-02 00:22:19 +00:00
Chris Lattner
644af802c9 Fix Regression/Assembler/2004-02-27-SelfUseAssertError.ll
llvm-svn: 11913
2004-02-27 17:28:25 +00:00
Chris Lattner
57ee51ae0b Make the verifier a little more explicit about this problem.
llvm-svn: 11811
2004-02-24 22:06:07 +00:00
Chris Lattner
cdfcb976c7 Add llvm.memset/frameaddress/returnaddress intrinsics.
llvm-svn: 11431
2004-02-14 02:47:17 +00:00
Chris Lattner
c908f6b738 Add support for the llvm.memmove intrinsic
Patch graciously contributed by Reid Spencer!

llvm-svn: 11355
2004-02-12 18:11:20 +00:00
Chris Lattner
0d988a0d14 Implement the llvm.memcpy intrinsic
llvm-svn: 11349
2004-02-12 17:01:09 +00:00
Chris Lattner
13a3f4eaeb Fix check. PHI nodes must be handled specially, of course.
llvm-svn: 10842
2004-01-14 05:42:52 +00:00
Chris Lattner
e12d9fd9a7 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)

llvm-svn: 10841
2004-01-14 04:25:59 +00:00
Chris Lattner
8b4be63e6e Add support for new intrinsic
llvm-svn: 10701
2004-01-06 05:33:02 +00:00
Chris Lattner
6093fdd5e3 Add VMCore and code generator support for debugging intrinsics. By default
code generators completely ignore them.

llvm-svn: 10691
2004-01-05 05:36:30 +00:00
Chris Lattner
f987c67a53 Check return types of functions
llvm-svn: 10146
2003-11-21 22:32:23 +00:00
Chris Lattner
1901b23d5d Fix problem Reid was having with external globals and nonexternal linkage
llvm-svn: 10133
2003-11-21 20:33:27 +00:00
Chris Lattner
a1da49a55c Finegrainify namespacification
llvm-svn: 10131
2003-11-21 20:23:48 +00:00
Chris Lattner
797e88aee9 Fix some problems with assertions printing
llvm-svn: 10129
2003-11-21 17:35:51 +00:00
Chris Lattner
acd028d92a improve error message
llvm-svn: 10128
2003-11-21 17:06:29 +00:00
Brian Gaeke
5db96ead48 When failing a Verifier assertion, use WriteAsOperand to print out the
offending types and/or values.

llvm-svn: 10041
2003-11-16 23:07:42 +00:00
Chris Lattner
34b44fd809 Expose the verifier to opt
llvm-svn: 9984
2003-11-13 19:47:29 +00:00
Chris Lattner
e72202b5b8 Detect problems with PHI node operands!
llvm-svn: 9916
2003-11-12 07:13:37 +00:00
Brian Gaeke
d25f86d683 Put all LLVM code into the llvm namespace, as per bug 109.
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
John Criswell
b402729b30 Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.

llvm-svn: 9298
2003-10-20 19:43:21 +00:00
Chris Lattner
29825508f0 Add support for the new varargs intrinsics and instructions
llvm-svn: 9226
2003-10-18 05:57:43 +00:00
Misha Brukman
c59161ff84 Fix spelling/grammar.
llvm-svn: 9023
2003-10-10 17:54:14 +00:00
Chris Lattner
e2a7875d26 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

llvm-svn: 8866
2003-10-05 17:44:18 +00:00
Chris Lattner
d4de2760aa Rename Function::getEntryNode -> getEntryBlock
llvm-svn: 8625
2003-09-20 14:39:18 +00:00
Brian Gaeke
7eaecc239a Make createVerifierPass return a FunctionPass *.
llvm-svn: 8449
2003-09-10 19:37:04 +00:00
Chris Lattner
e8ae7bf114 Eliminate support for the llvm.unwind intrinisic, using the Unwind instruction instead
llvm-svn: 8411
2003-09-08 19:44:26 +00:00
Chris Lattner
e7a3a51c77 As it turns out, things will be simpler than I first expected. We no longer
need any exception handling intrinsics beyond llvm.unwind. (yaay)

llvm-svn: 8145
2003-08-25 22:35:01 +00:00
Chris Lattner
376a94de26 rethrow is really the language independent primitive here. "throw" can be written
in terms of it and llvm.exc.setcurrent.

Rework the intrinsics.

llvm-svn: 8110
2003-08-24 12:24:08 +00:00
Chris Lattner
6fe728600d Initial support for recognizing LLVM exception handling intrinsics
llvm-svn: 8102
2003-08-24 05:30:29 +00:00
Chris Lattner
2c6666efc6 Add intrinsics for the llvm.sig(set|long)jmp functions
llvm-svn: 7949
2003-08-18 15:41:24 +00:00
Misha Brukman
56f7db4178 Spell `necessary' correctly.
llvm-svn: 7944
2003-08-18 14:43:39 +00:00
Chris Lattner
9d58af6fcf Add a bunch of new Alpha Intrinsics for Rahul Joshi
llvm-svn: 7646
2003-08-06 20:08:25 +00:00