llvm-mirror/lib/VMCore
Duncan Sands b7b28dc6d0 As the number of parameter attributes increases,
Verifier::visitFunction is suffering a combinatorial
explosion due to the number of mutually incompatible
attributes.  This patch tidies the whole thing up
using attribute masks.  While there I fixed some
small bugs: (1) the ByVal attribute tests cast a
type to a pointer type, which can fail.  Yes, the
fact it is of a pointer type is checked before,
but a failing check does not cause the program
to exit, it continues on outputting further errors;
(2) Nothing was checking that an sret attribute is
on the first parameter; (3) nothing was checking that
a function for which isStructReturn() is true has a
parameter with the sret attribute and vice-versa (I
don't think it is possible for this to go wrong, but
it seems right to check it).

llvm-svn: 40553
2007-07-27 15:09:54 +00:00
..
AsmWriter.cpp Reinstate the patch for escaping non-printing characters and allow for 2007-05-22 19:27:35 +00:00
BasicBlock.cpp DummyInst's member functions don't need to be virtual. 2007-07-26 15:25:08 +00:00
ConstantFold.cpp zext(undef) = 0 and sext(undef) = 0, not undef. 2007-07-20 22:09:02 +00:00
ConstantFold.h ConstantFolding.cpp/h -> ConstantFold.cpp/h to avoid confusion with 2007-02-27 03:05:06 +00:00
Constants.cpp add a Constant::getAllOnesValue helper function, which works on integers 2007-06-15 06:10:53 +00:00
Dominators.cpp Remove ETForest. 2007-06-27 20:53:52 +00:00
Function.cpp Support for trampolines, except for X86 codegen which is 2007-07-27 12:58:54 +00:00
Globals.cpp handle gep aliasee 2007-05-05 23:49:02 +00:00
InlineAsm.cpp represent indirect operands explicitly in inline asm strings. 2007-04-28 01:02:58 +00:00
Instruction.cpp Move the GET_SIDE_EFFECT_INFO logic from isInstructionTriviallyDead 2007-07-26 16:06:08 +00:00
Instructions.cpp Add constructor overloads for LoadInst and StoreInst that insert at the 2007-07-18 20:51:11 +00:00
IntrinsicInst.cpp Change the MachineDebugInfo to MachineModuleInfo to better reflect usage 2007-01-26 21:22:28 +00:00
LeakDetector.cpp Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are 2006-12-07 01:30:32 +00:00
Makefile Make the makefile tell us when Intrinsics.gen is being updated. 2006-10-26 01:42:23 +00:00
Mangler.cpp For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid 2007-01-30 20:08:39 +00:00
Module.cpp Implement review feedback. Aliasees can be either GlobalValue's or 2007-04-28 13:45:00 +00:00
ModuleProvider.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Pass.cpp Re-install patch to enable use of PassID. 2007-05-02 20:38:25 +00:00
PassManager.cpp Use SmallVector instead of std::vector. 2007-07-20 18:04:54 +00:00
SymbolTableListTraitsImpl.h The (negative) offset from a SymbolTableListTraits-using ilist to its container 2007-04-17 04:04:14 +00:00
Type.cpp This enum is dead 2007-07-05 17:28:01 +00:00
TypeSymbolTable.cpp shrink vmcore by moving symbol table stripping support out of VMCore into 2007-02-07 06:22:45 +00:00
Value.cpp Fix a nasty memory leak, caused by my revamp of the value symbol table. 2007-03-20 00:18:10 +00:00
ValueSymbolTable.cpp disable some noisy debug output 2007-02-25 20:42:59 +00:00
ValueTypes.cpp Add support for 3 element 32-bit vector ValueTypes. 2007-07-26 01:46:52 +00:00
Verifier.cpp As the number of parameter attributes increases, 2007-07-27 15:09:54 +00:00