[llvm-dev] GVN pass limitation.
xiuli pan via llvm-dev
llvm-dev at lists.llvm.org
Mon Apr 18 02:17:04 PDT 2016
Hello,
We are now facing a bug caused by the GVN pass, only part of the code was
optimized. I have found that the problem is cause by an Limit in
lib/Analysis/MemoryDependenceAnalysis.cpp
00055 static cl::opt<unsigned> BlockScanLimit(
00056 "memdep-block-scan-limit", cl::Hidden, cl::init(100),
00057 cl::desc("The number of instructions to scan in a block in memory
"
00058 "dependency analysis (default = 100)"));
The args can be changed using opt, but we are using libclang and libllvm and
running pass with llvm passmangers. I know that -mllvm can pass llvm args,
but the llvm::cl::ParseCommandLineOptions has some issues with mutlethread
and I have reported a bug in https://llvm.org/bugs/show_bug.cgi?id=25735,
and we could not use this for now.
So if there is another way to pass this memdep-block-scan-limit into the
pass manager or context? Or how could I set this memdep-block-scan-limit
right with libclang and libllvm?
Thanks
Xiuli
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160418/be15066f/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.ll
Type: application/octet-stream
Size: 10686 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160418/be15066f/attachment.obj>
More information about the llvm-dev
mailing list