[LLVMdev] How to Obtain a DataLayout Reference Given a Function & F

Peter Finn peterdfinn at icloud.com
Mon Jun 22 12:29:57 PDT 2015


I’ve been debugging SAFECode source code files, and line 170 in ArrayBoundCheckLocal.cpp has been causing the following compilation error:

In file included from /Users/peterfinn/Desktop/llvm_trunk_2/projects/safecode/lib/ArrayBoundChecks/ArrayBoundCheckLocal.cpp:18:
In file included from /Users/peterfinn/Desktop/build/projects/safecode/../../../llvm_trunk_2/projects/safecode/include/safecode/ArrayBoundsCheck.h:17:
In file included from /Users/peterfinn/Desktop/build/projects/safecode/../../../llvm_trunk_2/projects/safecode/include/safecode/AllocatorInfo.h:21:
In file included from /Users/peterfinn/Desktop/llvm_trunk_2/include/llvm/IR/Module.h:20:
In file included from /Users/peterfinn/Desktop/llvm_trunk_2/include/llvm/IR/DataLayout.h:27:
In file included from /Users/peterfinn/Desktop/llvm_trunk_2/include/llvm/Pass.h:378:
/Users/peterfinn/Desktop/llvm_trunk_2/include/llvm/PassAnalysisSupport.h:201:53: error: no member named 'ID' in 'llvm::DataLayout'
  return getAnalysisID<AnalysisType>(&AnalysisType::ID);
                                      ~~~~~~~~~~~~~~^
/Users/peterfinn/Desktop/llvm_trunk_2/projects/safecode/lib/ArrayBoundChecks/ArrayBoundCheckLocal.cpp:170:9: note: in instantiation of function template specialization
      'llvm::Pass::getAnalysis<llvm::DataLayout>' requested here
  TD = &getAnalysis<DataLayout>();
        ^
1 error generated.
make[2]: *** [/Users/peterfinn/Desktop/build/projects/safecode/lib/ArrayBoundChecks/Debug+Asserts/ArrayBoundCheckLocal.o] Error 1
make[1]: *** [ArrayBoundChecks/.makeall] Error 2
make: *** [all] Error 1

I assume I need to obtain a DataLayout reference from the argument of the function “runOnFunction”.  Is this correct?  If so, how do I do this?  If not, what is supposed to be done instead?

Thanks,
Peter Finn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150622/772f81d6/attachment.html>


More information about the llvm-dev mailing list