Create FunctionType::isValidArgumentType to go along with isValidReturnType.
authorNick Lewycky <nicholas@mxc.ca>
Sun, 7 Jun 2009 07:26:46 +0000 (07:26 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Sun, 7 Jun 2009 07:26:46 +0000 (07:26 +0000)
commita5f54a06b09acf5c4ed3571039f262128226145b
treeab84893b4576a23dcc4e8798e494e099e87fa43c
parent9dcc26b6a0413b042142017c22d847676b41bac5
Create FunctionType::isValidArgumentType to go along with isValidReturnType.
Also create isValidElementType for ArrayType, PointerType, StructType and
VectorType.

Make LLParser use them. This closes up some holes like an assertion failure on:

  %x = type {label}

but largely doesn't change any semantics. The only thing we accept now which
we didn't before is vectors of opaque type such as "<4 x opaque>". The opaque
can be resolved to an int or float when linking.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73016 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/DerivedTypes.h
include/llvm/Type.h
lib/AsmParser/LLParser.cpp
lib/VMCore/Type.cpp