forked from OSchip/llvm-project
Generalize an IR verifier check to work with non-zero program address spaces
This commit modifies an existing IR verifier check that assumes all functions will be located in the default address space 0. Rather than using the default paramater value getPointerTo(AddrSpace=0), explicitly specify the program memory address space from the data layout. This only affects targets that specify a nonzero address space in their data layouts. The only in-tree target that does this is AVR. llvm-svn: 344243
This commit is contained in:
parent
8e5328b6f0
commit
e48f27a0b1
|
@ -632,7 +632,8 @@ void Verifier::visitGlobalVariable(const GlobalVariable &GV) {
|
|||
if (ArrayType *ATy = dyn_cast<ArrayType>(GV.getValueType())) {
|
||||
StructType *STy = dyn_cast<StructType>(ATy->getElementType());
|
||||
PointerType *FuncPtrTy =
|
||||
FunctionType::get(Type::getVoidTy(Context), false)->getPointerTo();
|
||||
FunctionType::get(Type::getVoidTy(Context), false)->
|
||||
getPointerTo(DL.getProgramAddressSpace());
|
||||
// FIXME: Reject the 2-field form in LLVM 4.0.
|
||||
Assert(STy &&
|
||||
(STy->getNumElements() == 2 || STy->getNumElements() == 3) &&
|
||||
|
|
Loading…
Reference in New Issue