Heikki Kultala
2011-Jan-12 16:24 UTC
[LLVMdev] opt, loopidiom pass and compiling system libraries
It seems LoopIdiomRecognizer pass recognizes one loop inside memSet as memset and replaces it with memset intrinsic, which might then be converted into memset call, resulting in infinite recursion. There is parameter -fno-builtins to prevent this, BUT when executing opt as "standalone", this parameter cannot be given to it, with default optimizations it executes the LoopIdiomRecognizer, which causes this problem. So it would seem opt would need either of the following parameters: -fno-builtins (do all the same things -fno-builtins does when given to clang) -disable-loop-idiom (disables loop idiom pass, runs all other default passes)
Reasonably Related Threads
- [LLVMdev] [llvm-commits] [llvm] r166875 - in /llvm/trunk: lib/Transforms/Scalar/LoopIdiomRecognize.cpp test/Transforms/LoopIdiom/basic.ll
- [LLVMdev] how to turn off conversion of add's into or's (in address calculations)
- [LLVMdev] Adding option to LLVM opt to disable a specific pass from command line
- LoopIdiomRegognize vs Preserved
- LoopIdiomRegognize vs Preserved