Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
'maximum recursion depth exceeded' while finalizing a large function #74
I'm generating a fairly large function using PeachPy (compiling from another language). When the function has a large number of labels it seems that the finalization invoked when
Part of the stack trace:
FWIW I'm not even using the register allocation features, all my registers are managed manually. A silly reproducer below:
PeachPy wasn't designed as a backend for other languages, and it doesn't scale to large number of instructions/branches/labels. In particular, most analysis passes are implemented as recursive functions, where recursion depth can be as high as the number of basic blocks. Rewriting these recursive functions as while loops would likely solve your problem, but its not a high-priority task for me.