Patch for fixing infinite rec. within PMTopLevelManager::schedulePass

Hello Developers,

I figured, that trying to load two passes that require each other results in an infinite recursion of PMTopLevelManager::schedulePass
So I added tracing if schedulePass processes a pass that an outer invocation of schedulePass is already processing.
If so, it aborts with an error message and outputs the cycle.

Would be nice if someone could review the patch and apply if suitable and/or give me feedback.

Thank you.
Philipp

Index: include/llvm/PassManagers.h

Hello Developers,

I figured, that trying to load two passes that require each other results in an infinite recursion of PMTopLevelManager::schedulePass
So I added tracing if schedulePass processes a pass that an outer invocation of schedulePass is already processing.
If so, it aborts with an error message and outputs the cycle.

Would be nice if someone could review the patch and apply if suitable and/or give me feedback.

Hi Phillipp, this would probably be best if directed to the llvmdev mailing list, since it’s about the LLVM passmanager,

-Chris

Hi,

I'm trying to debug the clang cpp compiler because I suspect a bug in the creation of the debug meta data for some cpp source. Is there an easy way to stop clang from spawning a new clang process (which does the compilation) and have the original instance of clang just do it so I can debug into the compilation process??

Thx,
Alex

When you try to compile your file, add the '-v' argument. Clang will output the full invocation of the spawned process.
Then, you can just copy this line and launch clang using it.

-- Jean-Daniel

Ok, that helps.

Is there a way to make gdb pretty print all the llvm::SmallVector thingies so that one can actually read a string and the like while debugging?

Thx,
Alex

Hi,

I'm toying with the debug info from a cpp class def. Aparently the access modifiers for member variables and inheritance (private, protected, public) are maintained (DIType::isPrivate() , ...). Is there a way to figure out whether a subprogram is private or not??

Thx,
Alex