I write a pass,it works ok on bc file.but when I translate bc file to ll file by llvm-dis, and run the pass
it can’t works. error here:
SyntaxError(‘invalid syntax’, (‘’, 1, 411, ‘b'clang: llvm/clang/lib/Basic/SourceManager.cpp:586: clang::FileID clang::SourceManager::createFileID(const clang::SrcMgr::ContentCache*, llvm::StringRef, clang::SourceLocation, clang::SrcMgr::CharacteristicKind, int, unsigned int): Assertion `NextLocalOffset + FileSize + 1 > NextLocalOffset && NextLocalOffset + FileSize + 1 <= CurrentLoadedOffset && “Ran out of source locations!”' failed.'’))
I am confused with it ,please help me
by the way ,ll file has size more than 2G
Clang has a 2GB file limit on a preprocessed source size. Not sure why it triggers for .ll, perhaps some issue with your old LLVM version (try 17), but you don’t need to run clang anyway. Just use
opt if you need to test your pass.